:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light only;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}*,*:before,*:after{box-sizing:border-box}#root{max-width:1280px;margin:0 auto;padding:2rem;text-align:center;color-scheme:light only}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(prefers-reduced-motion:no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}.upload-buttons{display:flex;gap:.5rem;margin-top:1rem}.upload-btn{flex:1;padding:1rem;border:none;border-radius:8px;font-size:1rem;cursor:pointer;font-weight:700;transition:all .2s}.camera-btn{background:#00b894;color:#fff}.camera-btn:hover:not(:disabled){background:#00a383}.gallery-btn{background:#0984e3;color:#fff}.gallery-btn:hover:not(:disabled){background:#0770c4}.upload-btn:disabled{opacity:.6;cursor:not-allowed}.task-card.completed{background:#f0f9ff;border-left:4px solid #00b894}.task-status.done{background:#00b894;color:#fff}.completed-message{background:#d4edda;padding:1rem;border-radius:8px;text-align:center;font-size:1.1rem;margin-top:1rem;color:#155724}.admin-btn{background-color:#ff6b6b;color:#fff;border:none;padding:10px 20px;border-radius:8px;font-size:16px;cursor:pointer;margin-right:10px;font-weight:700}.admin-btn:hover{background-color:#ff5252}.back-btn{background-color:#007bff;color:#fff;border:none;padding:10px 20px;border-radius:8px;font-size:16px;cursor:pointer;margin-right:10px}.back-btn:hover{background-color:#0056b3}.admin-panel{max-width:1000px;margin:0 auto;padding:20px}.admin-tabs{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:30px}@media(min-width:768px){.admin-tabs{display:flex;flex-wrap:wrap}}.tab,.tab-active{padding:16px 20px;border:none;border-radius:8px;font-size:15px;cursor:pointer;transition:all .3s;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(max-width:768px){.tab,.tab-active{padding:14px 10px;font-size:13px}}.tab{background-color:#e0e0e0;color:#333;transition:all .3s}.tab:hover{background-color:#d0d0d0}.tab-active{background-color:#28a745;color:#fff;font-weight:700}.teams-overview h2{margin-bottom:20px}.team-card{background:#fff;border:2px solid #ddd;border-radius:12px;padding:20px;margin-bottom:20px}.team-card h3{margin-top:0;color:#2c5f2d}.task-status{margin-top:15px;padding-top:15px;border-top:1px solid #eee}.task-item{padding:5px 0;font-size:14px}.team-photos{margin-bottom:40px}.team-photos h3{color:#2c5f2d;margin-bottom:15px}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:15px}.photo-card{border:1px solid #ddd;border-radius:8px;overflow:hidden;background:#fff}.photo-card img{width:100%;height:200px;object-fit:cover}.photo-label{padding:10px;font-size:14px;text-align:center;background-color:#f8f9fa;margin:0}.no-photos{text-align:center;color:#666;font-size:18px;margin-top:50px}.completed-section{margin-top:15px}.uploaded-photo{width:100%;max-width:400px;border-radius:8px;margin:15px 0;display:block}.replace-buttons{display:flex;gap:10px;margin-top:10px}.replace-btn{flex:1;padding:10px 15px;border:none;border-radius:8px;font-size:14px;cursor:pointer;font-weight:700;transition:all .3s}.replace-btn.camera-btn{background-color:#ffc107;color:#333}.replace-btn.camera-btn:hover{background-color:#ffb300}.replace-btn.gallery-btn{background-color:#17a2b8;color:#fff}.replace-btn.gallery-btn:hover{background-color:#138496}.replace-btn:disabled{background-color:#ccc;cursor:not-allowed}.task-item-admin{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid #eee}.toggle-status-btn{padding:5px 10px;font-size:12px;background-color:#007bff;color:#fff;border:none;border-radius:5px;cursor:pointer;white-space:nowrap}.toggle-status-btn:hover{background-color:#0056b3}.toggle-status-btn:disabled{background-color:#ccc;cursor:not-allowed}.delete-photo-btn{width:100%;padding:8px;background-color:#dc3545;color:#fff;border:none;border-radius:5px;cursor:pointer;font-size:14px;margin-top:5px}.delete-photo-btn:hover{background-color:#c82333}.delete-photo-btn:disabled{background-color:#ccc;cursor:not-allowed}.manage-view{max-width:800px;margin:0 auto}.manage-card{background:#fff;border-radius:12px;padding:25px;margin-bottom:20px;border:2px solid #ddd}.danger-zone{border-color:#dc3545;background-color:#fff5f5}.info-zone{border-color:#007bff;background-color:#f0f8ff}.manage-card h3{margin-top:0;color:#333}.reset-btn{width:100%;padding:15px;background-color:#dc3545;color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:700;cursor:pointer;margin:15px 0}.reset-btn:hover{background-color:#c82333}.reset-btn:disabled{background-color:#ccc;cursor:not-allowed}.warning-text{color:#dc3545;font-weight:700;font-size:14px;margin-top:10px}.game-status-bar{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:15px 20px;text-align:center;font-size:18px;font-weight:700;border-radius:8px;margin-bottom:20px;box-shadow:0 4px 6px #0000001a}.status-view{max-width:900px;margin:0 auto}.status-card{background:#fff;border-radius:12px;padding:25px;margin-bottom:20px;border:2px solid #ddd}.current-status{background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff;border:none}.current-status h3{margin-top:0;color:#fff}.status-buttons{display:flex;gap:15px;margin-top:20px}.status-btn{flex:1;padding:15px;font-size:16px;font-weight:700;border:2px solid white;border-radius:8px;cursor:pointer;background:#fff3;color:#fff;transition:all .3s}.status-btn:hover:not(:disabled){background:#ffffff4d;transform:translateY(-2px)}.status-btn.active{background:#fff;color:#333}.status-btn:disabled{opacity:.5;cursor:not-allowed}.start-message-input{width:100%;padding:15px;font-size:16px;border:2px solid #ddd;border-radius:8px;font-family:inherit;resize:vertical;margin-bottom:15px}.save-message-btn{width:100%;padding:12px;background-color:#28a745;color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:700;cursor:pointer}.save-message-btn:hover{background-color:#218838}.save-message-btn:disabled{background-color:#ccc;cursor:not-allowed}.info-card{background-color:#e7f3ff;border-color:#007bff}.status-explanation p{margin:10px 0;padding:10px;background:#fff;border-radius:5px;border-left:4px solid #007bff}.start-screen{display:flex;justify-content:center;align-items:center;min-height:60vh;padding:20px;width:100%}.start-content{background:#fff;border-radius:20px;padding:40px;max-width:600px;width:100%;text-align:center;box-shadow:0 10px 30px #0003;margin:0 auto}@media(max-width:768px){.start-content{padding:30px 20px;max-width:100%}}.start-content h1{color:#0891b2;margin-bottom:30px;font-size:2.5em}.start-message{font-size:1.2em;line-height:1.6;color:#333;margin-bottom:40px}.start-message p{margin:15px 0}.waiting-indicator{margin-top:30px}.waiting-indicator p{color:#666;font-size:1.1em;margin-top:15px}.spinner{border:4px solid #f3f3f3;border-top:4px solid #2c5f2d;border-radius:50%;width:50px;height:50px;animation:spin 1s linear infinite;margin:0 auto}.go-to-tasks-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:20px 40px;font-size:1.3em;font-weight:700;border-radius:50px;cursor:pointer;box-shadow:0 6px 20px #667eea66;transition:all .3s;margin-top:30px}.go-to-tasks-btn:hover{transform:translateY(-3px);box-shadow:0 8px 25px #667eea99}.evaluation-notice{margin-top:20px;padding:15px;background-color:#fff3cd;color:#856404;border-radius:8px;font-weight:700}.info-text{color:#666;font-size:.9em;font-style:italic;margin-top:10px}.teams-management{max-width:1000px;margin:0 auto}.teams-list{display:flex;flex-direction:column;gap:20px}.team-management-card{background:#fff;border-radius:12px;padding:20px;border:2px solid #ddd;transition:all .3s}.team-management-card.inactive{background-color:#f8f9fa;border-color:#ccc;opacity:.7}.team-view-mode{display:flex;flex-direction:column;gap:15px}.team-header-info{display:flex;justify-content:space-between;align-items:center;padding-bottom:15px;border-bottom:2px solid #eee}.team-header-info h3{margin:0;color:#2c5f2d}.team-status-badge{padding:8px 16px;border-radius:20px;font-size:14px;font-weight:700}.team-status-badge.active{background-color:#d4edda;color:#155724}.team-status-badge.inactive{background-color:#f8d7da;color:#721c24}.team-info{display:flex;flex-direction:column;gap:8px}.team-info p{margin:0;color:#555}.team-actions{display:flex;gap:10px;margin-top:10px}.edit-team-btn,.toggle-active-btn{flex:1;padding:10px 15px;border:none;border-radius:8px;font-size:14px;font-weight:700;cursor:pointer;transition:all .3s}.edit-team-btn{background-color:#007bff;color:#fff}.edit-team-btn:hover{background-color:#0056b3}.toggle-active-btn.deactivate{background-color:#ffc107;color:#333}.toggle-active-btn.deactivate:hover{background-color:#e0a800}.toggle-active-btn.activate{background-color:#28a745;color:#fff}.toggle-active-btn.activate:hover{background-color:#218838}.edit-team-btn:disabled,.toggle-active-btn:disabled{background-color:#ccc;cursor:not-allowed}.team-edit-mode{display:flex;flex-direction:column;gap:15px}.team-edit-mode h3{margin:0;color:#2c5f2d;padding-bottom:10px;border-bottom:2px solid #eee}.edit-field{display:flex;flex-direction:column;gap:8px}.edit-field label{font-weight:700;color:#333}.team-input{padding:10px;font-size:16px;border:2px solid #ddd;border-radius:8px;font-family:inherit}.team-input:focus{outline:none;border-color:#007bff}.edit-buttons{display:flex;gap:10px;margin-top:10px}.save-team-btn,.cancel-edit-btn{flex:1;padding:12px;border:none;border-radius:8px;font-size:16px;font-weight:700;cursor:pointer;transition:all .3s}.save-team-btn{background-color:#28a745;color:#fff}.save-team-btn:hover{background-color:#218838}.cancel-edit-btn{background-color:#6c757d;color:#fff}.cancel-edit-btn:hover{background-color:#5a6268}.save-team-btn:disabled,.cancel-edit-btn:disabled{background-color:#ccc;cursor:not-allowed}.rating-view{max-width:1200px;margin:0 auto;padding:20px}.rating-header{background:#fff;border-radius:12px;padding:25px;margin-bottom:30px;box-shadow:0 2px 8px #0000001a}.rating-header h2{margin:0 0 15px;color:#2c5f2d}.rating-progress{display:flex;flex-direction:column;gap:10px}.rating-progress p{margin:0}.rating-warning{background-color:#fff3cd;color:#856404;padding:12px;border-radius:8px;font-weight:700}.rating-complete{background-color:#d4edda;color:#155724;padding:12px;border-radius:8px;font-weight:700}.teams-rating-list{display:flex;flex-direction:column;gap:25px}.team-rating-card{background:#fff;border-radius:12px;padding:25px;box-shadow:0 2px 8px #0000001a}.team-rating-card h3{margin:0 0 20px;color:#2c5f2d;font-size:1.5em}.team-photos-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-bottom:25px}.rating-photo-item{border:2px solid #ddd;border-radius:8px;overflow:hidden;background:#fff}.rating-photo-item img{width:100%;height:250px;object-fit:cover;display:block}.photo-task-info{padding:15px;background-color:#f8f9fa}.photo-task-title{font-size:15px;font-weight:700;color:#2c5f2d;margin:0 0 8px}.photo-task-description{font-size:13px;color:#666;margin:0;line-height:1.4}.no-photos-text{text-align:center;color:#666;font-style:italic;padding:40px}.star-rating{border-top:2px solid #eee;padding-top:20px}.star-rating>p{margin:0 0 10px;font-weight:700;color:#333}.stars{display:flex;gap:10px;margin-bottom:10px}.star-btn{background:none;border:none;font-size:2.5em;cursor:pointer;transition:transform .2s;padding:5px}.star-btn.active{filter:drop-shadow(0 0 8px rgba(255,215,0,.8))}.rating-text{color:#666;font-size:1.1em;margin:10px 0 0}.winner-view{max-width:1200px;margin:0 auto;padding:20px}.winner-banner{background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff;text-align:center;padding:40px 20px;border-radius:20px;margin-bottom:40px;box-shadow:0 10px 30px #0003;animation:winnerPulse 2s infinite}@keyframes winnerPulse{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}.winner-banner h1{margin:0 0 15px;font-size:2.5em;text-shadow:2px 2px 4px rgba(0,0,0,.3)}.winner-banner p{margin:0;font-size:1.3em}.winner-view h2{color:#2c5f2d;margin-bottom:25px;text-align:center}.winner-team-card{background:#fff;border-radius:12px;padding:25px;box-shadow:0 2px 8px #0000001a;border:2px solid #ddd}.winner-team-card.winner{border:4px solid gold;box-shadow:0 4px 20px #ffd70066;background:linear-gradient(to bottom,#fffbf0,#fff 50%)}.winner-team-card h3{margin:0 0 20px;color:#2c5f2d;font-size:1.8em}.winner-team-card.winner h3{color:#d4af37;text-shadow:1px 1px 2px rgba(0,0,0,.1)}.winner-photos-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px}.winner-photo-item{border:2px solid #ddd;border-radius:8px;overflow:hidden;background:#fff}.winner-photo-item img{width:100%;height:250px;object-fit:cover;display:block}.winner-management{max-width:1000px;margin:0 auto}.current-winner-box{background:linear-gradient(135deg,gold,#ffed4e);border-radius:12px;padding:25px;margin-bottom:30px;text-align:center;box-shadow:0 4px 12px #ffd7004d}.current-winner-box h3{margin:0 0 10px;color:#333}.winner-name{font-size:2em;font-weight:700;margin:10px 0;color:#2c5f2d}.winner-info{color:#666;font-style:italic;margin:0}.no-winner-box{background-color:#f8f9fa;border:2px dashed #ddd;border-radius:12px;padding:25px;margin-bottom:30px;text-align:center}.ranked-teams-list{display:flex;flex-direction:column;gap:15px;margin-bottom:40px}.ranked-team-card{background:#fff;border:2px solid #ddd;border-radius:12px;padding:20px;display:flex;justify-content:space-between;align-items:center;transition:all .3s}.ranked-team-card:hover{border-color:#007bff;box-shadow:0 4px 12px #007bff33}.rank-info{display:flex;align-items:center;gap:20px;flex:1}.rank-number{font-size:2em;font-weight:700;color:#007bff;min-width:60px;text-align:center}.team-rank-details h4{margin:0 0 8px;color:#2c5f2d;font-size:1.3em}.team-rank-details p{margin:0;color:#666}.set-winner-btn{padding:12px 24px;background-color:#28a745;color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:700;cursor:pointer;white-space:nowrap;transition:all .3s}.set-winner-btn:hover:not(:disabled){background-color:#218838;transform:translateY(-2px);box-shadow:0 4px 12px #28a7454d}.set-winner-btn:disabled{background-color:gold;color:#333;cursor:not-allowed}.no-eligible-teams{text-align:center;color:#856404;background-color:#fff3cd;padding:30px;border-radius:8px;line-height:1.6}.all-teams-rating-info{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;margin-top:20px}.team-rating-info-card{background:#fff;border:2px solid #ddd;border-radius:12px;padding:20px}.team-rating-info-card h4{margin:0 0 15px;color:#2c5f2d;font-size:1.2em}.rating-info-details{display:flex;flex-direction:column;gap:8px}.rating-info-details p{margin:0;padding:8px;background-color:#f8f9fa;border-radius:5px;font-size:14px}.eligible-yes{background-color:#d4edda!important;color:#155724;font-weight:700}.eligible-no{background-color:#f8d7da!important;color:#721c24}.admin-notice{background-color:#fff3cd!important;color:#856404;font-style:italic}@media(max-width:768px){.team-photos-grid,.winner-photos-grid{grid-template-columns:1fr}.ranked-team-card{flex-direction:column;align-items:stretch;gap:15px}.set-winner-btn{width:100%}.winner-banner h1{font-size:1.8em}.stars{justify-content:center}.all-teams-rating-info{grid-template-columns:1fr}}.app-header h1{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;font-size:2em}@media(max-width:768px){.app-header h1{font-size:1.8em}}@media(max-width:480px){.app-header h1{font-size:1.5em}}@media(max-width:768px){.admin-tabs{grid-template-columns:repeat(2,1fr);gap:8px}.tab,.tab-active{padding:10px 8px;font-size:12px;line-height:1.2}}@media(max-width:480px){.tab,.tab-active{padding:8px 5px;font-size:11px}}@media(max-width:768px){.status-card{padding:15px;margin-bottom:15px}.current-status h3{font-size:1.1em}.status-buttons{flex-direction:column;gap:10px}.status-btn,.start-message-input{padding:12px;font-size:14px}.status-explanation p{font-size:14px;padding:8px}}@media(max-width:768px){.game-status-bar{padding:12px 15px;font-size:16px}}@media(max-width:768px){.manage-card{padding:15px}.manage-card h3{font-size:1.1em}.reset-btn{padding:12px;font-size:14px}}.winner-banner h1{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;line-height:1.3}@media(max-width:768px){.winner-banner{padding:30px 15px}.winner-banner h1{font-size:1.8em;gap:6px}}@media(max-width:480px){.winner-banner h1{font-size:1.5em}}.login-box h1{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;line-height:1.3}.login-box h1 span{white-space:nowrap}@media(max-width:768px){.login-box h1{font-size:2em}}@media(max-width:480px){.login-box h1{font-size:1.6em;gap:8px}}input[type=text],input[type=password],input[type=email],input[type=number],textarea,select{font-size:16px!important;box-sizing:border-box}.code-input{font-size:16px!important;padding:15px;width:100%;max-width:100%;border:2px solid #ddd;border-radius:8px;text-align:center;text-transform:uppercase;box-sizing:border-box}.team-input,.start-message-input{font-size:16px!important;box-sizing:border-box}@media(max-width:480px){.code-input{font-size:17px;padding:14px}}.camera-test-section{margin-top:30px;padding:20px;background:#ffffff1a;border-radius:15px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.camera-test-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:15px 30px;border-radius:25px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #667eea4d;width:100%;max-width:300px}.camera-test-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.camera-test-btn:disabled{opacity:.6;cursor:not-allowed}.test-photo-preview{margin-top:20px;animation:fadeIn .5s ease}.test-photo{max-width:100%;max-height:300px;border-radius:15px;box-shadow:0 8px 25px #0000004d;object-fit:contain}.test-message{margin-top:20px;padding:15px;border-radius:10px;font-size:14px;line-height:1.6;animation:fadeIn .5s ease}.test-message.success{background:#4caf5033;border:2px solid #4caf50;color:#a5d6a7}.test-message.error{background:#f4433633;border:2px solid #f44336;color:#ef9a9a}.test-message p{margin:5px 0}@media(max-width:768px){.camera-test-section{padding:15px;margin-top:20px}.camera-test-btn{padding:12px 25px;font-size:14px}.test-photo{max-height:250px}.test-message{font-size:13px;padding:12px}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.upload-buttons{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}.upload-single-btn{flex:1;min-width:100%}.camera-btn,.gallery-btn{flex:1;min-width:140px}.replace-buttons{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:15px}.camera-test-section{display:flex;flex-direction:column;gap:10px;align-items:center}.camera-test-section .camera-btn,.camera-test-section .gallery-btn{width:100%;max-width:250px}@media(max-width:480px){.camera-btn,.gallery-btn{min-width:120px;font-size:14px;padding:12px 20px}}.camera-btn{background:linear-gradient(135deg,#667eea,#764ba2)}.gallery-btn{background:linear-gradient(135deg,#f093fb,#f5576c)}.camera-btn:hover:not(:disabled),.gallery-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.task-card{margin-bottom:25px;border-radius:10px}.task-card{margin-bottom:20px;border-radius:15px;padding:5px}.task-card button{width:auto!important;font-size:clamp(10.5px,1.8vw,16px);padding:10px clamp(15px,3vw,25px);color:#f0f8ff}.login-box button{background:linear-gradient(135deg,#0891b2,#1e3a8a)!important;color:#f0f8ff!important}.login-box{border-radius:15px}.teams-overview{max-width:900;margin:0 auto}*{box-sizing:border-box}html,body{margin:0;padding:0;width:100%;overflow-x:hidden;max-width:100vw}#root,.app{width:100%;max-width:100vw;overflow-x:hidden}:root{--midnight-deep: #0a1929;--midnight-navy: #1a237e;--midnight-card: rgba(30, 58, 138, .65);--midnight-card-hover: rgba(30, 58, 138, .85);--midnight-accent: #00d4ff;--midnight-accent-glow: #0891b2;--midnight-text: #e3f2fd;--midnight-text-dim: #90caf9;--midnight-border: rgba(0, 212, 255, .3);--midnight-glow: rgba(0, 212, 255, .5);--midnight-success: #4caf50;--midnight-warning: #ff9800;--midnight-error: #f44336}body{background:linear-gradient(135deg,var(--midnight-deep) 0%,var(--midnight-navy) 100%);background-attachment:fixed;color:var(--midnight-text);margin:0;padding:0}#root{background:transparent}.app{min-height:100vh}.app-header{background:#0a1929d9;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);border-bottom:1px solid var(--midnight-border);padding:15px 20px}.app-header h1{color:var(--midnight-accent);text-shadow:0 0 20px var(--midnight-glow);margin:0}.app-main{padding-top:max(20px,env(safe-area-inset-top));padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}.loading{text-align:center;padding:40px;color:var(--midnight-text);font-size:18px}.spinner{border:4px solid var(--midnight-card);border-top:4px solid var(--midnight-accent);border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite;margin:20px auto}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.go-to-tasks-btn,.upload-btn,.camera-btn,.gallery-btn,.admin-btn,.status-btn,.back-btn,.logout-btn,.instructions-btn,.login-btn,.save-message-btn,.save-team-btn,.set-winner-btn,.reset-btn,.edit-team-btn,.cancel-edit-btn,.delete-photo-btn,.toggle-status-btn,.toggle-active-btn,.replace-btn,.camera-test-btn,.snowfall-toggle-btn,.music-toggle-btn{background:linear-gradient(135deg,var(--midnight-accent) 0%,var(--midnight-accent-glow) 100%);border:none;color:var(--midnight-deep);font-weight:700;padding:8px clamp(8px,2vw,16px);font-size:clamp(12px,2vw,14px);white-space:nowrap;border-radius:8px;cursor:pointer;box-shadow:0 4px 15px var(--midnight-glow);transition:all .3s ease}.go-to-tasks-btn:hover,.upload-btn:hover:not(:disabled),.camera-btn:hover:not(:disabled),.gallery-btn:hover:not(:disabled),.admin-btn:hover,.back-btn:hover,.logout-btn:hover,.instructions-btn:hover,.login-btn:hover,.save-message-btn:hover,.save-team-btn:hover,.set-winner-btn:hover,.edit-team-btn:hover,.toggle-status-btn:hover:not(:disabled),.replace-btn:hover:not(:disabled),.camera-test-btn:hover:not(:disabled){box-shadow:0 6px 25px var(--midnight-accent);transform:translateY(-2px)}.upload-btn:disabled,.camera-btn:disabled,.gallery-btn:disabled,.toggle-status-btn:disabled,.replace-btn:disabled,.camera-test-btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.reset-btn,.delete-photo-btn,.cancel-edit-btn{background:linear-gradient(135deg,var(--midnight-error) 0%,#c62828 100%);color:#fff}.reset-btn:hover,.delete-photo-btn:hover,.cancel-edit-btn:hover{box-shadow:0 6px 25px #f4433699}.snowfall-toggle-btn.off,.music-toggle-btn.off{opacity:.6;background:linear-gradient(135deg,#555,#333)}.upload-btn.camera-btn,.upload-btn.gallery-btn,.upload-btn.upload-single-btn,.replace-btn.camera-btn,.replace-btn.gallery-btn,.camera-test-btn.camera-btn,.camera-test-btn.gallery-btn{margin:5px}.start-content,.task-card,.team-card,.status-card,.rating-card,.winner-team-card,.team-management-card,.team-rating-card,.login-box,.manage-card,.info-zone,.danger-zone,.photo-card,.rating-photo-item,.winner-photo-item,.ranked-team-card,.camera-test-section,.info-card,.current-winner-box,.no-winner-box,.team-rating-info-card{background:var(--midnight-card)!important;-webkit-backdrop-filter:blur(20px) saturate(180%);backdrop-filter:blur(20px) saturate(180%);border:1px solid var(--midnight-border);box-shadow:0 8px 32px #0006;border-radius:12px;padding:20px;margin-bottom:20px;color:var(--midnight-text)!important}.login-box h1{display:block!important;text-align:center;line-height:1.3;font-size:clamp(1.5rem,6vw,2rem)!important;white-space:nowrap}@media(max-width:768px){.start-screen{padding:2px!important}.start-content{max-width:95vw!important;width:100%!important;padding:30px 15px!important}}.task-card:hover,.team-card:hover,.photo-card:hover,.ranked-team-card:hover,.winner-team-card:hover{background:var(--midnight-card-hover)!important;border-color:var(--midnight-accent);box-shadow:0 8px 32px var(--midnight-glow);transform:translateY(-2px);transition:all .3s ease}.task-card.completed{border-left:4px solid var(--midnight-success);background:var(--midnight-card-hover)!important}.team-management-card.inactive{opacity:.6;border-color:#666}.winner-team-card.winner{border:3px solid var(--midnight-accent);box-shadow:0 0 30px var(--midnight-accent);background:var(--midnight-card-hover)!important}.danger-zone{border-color:var(--midnight-error);background:#f443361a!important}.admin-tabs{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:20px}.tab{background:var(--midnight-card);color:var(--midnight-text-dim);border:1px solid var(--midnight-border);padding:12px 20px;border-radius:8px;cursor:pointer;transition:all .3s ease;flex:1;text-align:center;min-width:120px}.tab:hover{background:var(--midnight-card-hover);color:var(--midnight-text);border-color:var(--midnight-accent)}.tab-active{background:linear-gradient(135deg,var(--midnight-accent) 0%,var(--midnight-accent-glow) 100%);color:var(--midnight-deep);font-weight:700;border:1px solid var(--midnight-accent);box-shadow:0 0 20px var(--midnight-glow)}.game-status-bar{background:linear-gradient(135deg,var(--midnight-accent) 0%,var(--midnight-accent-glow) 100%);color:var(--midnight-deep);font-weight:700;padding:15px;border-radius:8px;margin-bottom:20px;text-align:center}.status-buttons{display:flex;gap:10px;justify-content:center;margin-top:15px;flex-wrap:wrap}.status-btn{background:var(--midnight-card);color:var(--midnight-text);border:2px solid var(--midnight-border)}.status-btn.active{background:linear-gradient(135deg,var(--midnight-success) 0%,#388e3c 100%);color:#fff;border-color:var(--midnight-success)}.current-status{background:linear-gradient(135deg,var(--midnight-accent) 0%,var(--midnight-accent-glow) 100%)!important;color:var(--midnight-deep)!important;font-weight:700;font-size:18px;text-align:center;padding:20px}.status-text,.status-explanation{color:var(--midnight-text);text-align:center}input[type=text],input[type=password],textarea,.code-input,.team-input,.start-message-input,.edit-field{background:#0a1929cc;border:2px solid var(--midnight-border);color:var(--midnight-text);padding:12px;border-radius:8px;font-size:16px;width:100%;box-sizing:border-box;margin-bottom:10px}input[type=text]::placeholder,input[type=password]::placeholder,textarea::placeholder{color:var(--midnight-text-dim);opacity:.7}input[type=text]:focus,input[type=password]:focus,textarea:focus,.code-input:focus,.team-input:focus,.start-message-input:focus,.edit-field:focus{border-color:var(--midnight-accent);box-shadow:0 0 0 3px var(--midnight-glow);outline:none}.error{color:#ffcdd2;background:#f4433633;padding:10px;border-radius:8px;border:1px solid var(--midnight-error);margin:10px 0}h1,h2,h3,h4,h5,h6{color:var(--midnight-text);margin-top:0}p,span,div,label{color:var(--midnight-text-dim)}strong{color:var(--midnight-text);font-weight:700}.info-text,.start-message,.evaluation-notice,.completed-message,.waiting-indicator{color:var(--midnight-text);text-align:center;padding:15px;background:#00d4ff1a;border-radius:8px;border:1px solid var(--midnight-border);margin:15px 0}.task-list{max-width:800px;margin:0 auto}.task-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.task-status{background:linear-gradient(135deg,var(--midnight-accent) 0%,var(--midnight-accent-glow) 100%);color:var(--midnight-deep);padding:6px 12px;border-radius:20px;font-size:14px;font-weight:700}.task-status.done{background:linear-gradient(135deg,var(--midnight-success) 0%,#388e3c 100%);color:#fff}.task-description,.task-requirement,.task-optional{color:var(--midnight-text-dim);margin:10px 0}.upload-buttons,.replace-buttons{display:flex;gap:10px;flex-wrap:wrap;margin-top:15px}.uploaded-photo,.test-photo-preview{max-width:100%;border-radius:8px;margin-top:15px;border:2px solid var(--midnight-accent);box-shadow:0 4px 15px var(--midnight-glow)}.completed-section{margin-top:20px;padding-top:20px;border-top:2px solid var(--midnight-border)}.admin-panel{max-width:1200px;margin:0 auto}.status-view,.teams-overview,.photos-view,.teams-management,.winner-management,.manage-view{margin-top:20px}.teams-list{display:flex;flex-direction:column;gap:15px}.team-view-mode,.team-edit-mode{padding:15px}.team-header-info{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.team-info{background:#fffffff2;color:var(--midnight-deep);padding:12px;border-radius:8px;margin:10px 0;border:1px solid var(--midnight-accent)}.team-status-badge{padding:4px 12px;border-radius:20px;font-size:12px;font-weight:700}.team-status-badge.active{background:var(--midnight-success);color:#fff}.team-status-badge.inactive{background:#666;color:#fff}.team-actions,.edit-buttons{display:flex;gap:10px;margin-top:15px;flex-wrap:wrap}.task-item-admin{display:flex;justify-content:space-between;align-items:center;padding:10px;border-bottom:1px solid var(--midnight-border)}.task-item-admin:last-child{border-bottom:none}.photo-grid,.team-photos-grid,.winner-photos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:15px;margin-top:20px}.photo-card,.rating-photo-item,.winner-photo-item{overflow:hidden;cursor:pointer}.photo-card img,.rating-photo-item img,.winner-photo-item img,.test-photo{width:100%;height:200px;object-fit:cover;border-radius:8px 8px 0 0}.photo-label,.photo-task-label,.photo-task-info{background:#00d4ff33;border-top:1px solid var(--midnight-accent);padding:10px;color:var(--midnight-text);font-size:14px}.photo-task-title{font-weight:700;color:var(--midnight-text);margin-bottom:5px}.photo-task-description{font-size:13px;color:var(--midnight-text-dim)}.photo-date{font-size:12px;color:var(--midnight-text-dim);margin-top:5px}.no-photos,.no-photos-text{text-align:center;color:var(--midnight-text-dim);padding:40px;font-style:italic}.rating-view{max-width:1000px;margin:0 auto}.rating-header{text-align:center;margin-bottom:30px}.rating-progress{background:var(--midnight-card);padding:20px;border-radius:8px;border:1px solid var(--midnight-border);margin-top:15px}.rating-warning{background:#ff980033;border:2px solid var(--midnight-warning);color:#ffe0b2;padding:15px;border-radius:8px;margin:15px 0;text-align:center}.rating-complete{background:#4caf5033;border:2px solid var(--midnight-success);color:#c8e6c9;padding:15px;border-radius:8px;margin:15px 0;text-align:center}.teams-rating-list{display:flex;flex-direction:column;gap:20px;margin-top:30px}.star-rating{margin-top:15px;padding:15px;background:#00d4ff1a;border-radius:8px;text-align:center}.stars{display:flex;justify-content:center;gap:10px;margin:10px 0}.star-btn{background:none;border:none;font-size:32px;cursor:pointer;color:var(--midnight-text-dim);transition:all .3s ease;padding:5px}.star-btn:hover{transform:scale(1.2)}.star-btn.active{color:var(--midnight-accent);filter:drop-shadow(0 0 10px var(--midnight-accent))}.rating-text{color:var(--midnight-text);margin-top:10px;font-weight:700}.winner-view{max-width:1200px;margin:0 auto}.winner-banner{background:linear-gradient(135deg,var(--midnight-accent) 0%,var(--midnight-accent-glow) 100%);color:var(--midnight-deep);padding:40px;border-radius:12px;text-align:center;margin-bottom:40px;box-shadow:0 12px 40px var(--midnight-accent)}.winner-banner h1{margin:0;font-size:32px;color:var(--midnight-deep)}.winner-name{font-size:48px;font-weight:900;margin:20px 0}.all-teams-photos{display:flex;flex-direction:column;gap:30px}.ranked-teams-list{display:flex;flex-direction:column;gap:15px}.rank-number{font-size:24px;font-weight:900;color:var(--midnight-accent);margin-right:15px}.rank-info,.team-rank-details,.rating-info-details{background:#fffffff2;color:var(--midnight-deep)!important;padding:15px;border-radius:8px;margin:10px 0;border:1px solid var(--midnight-accent)}.winner-info{text-align:center;padding:20px;background:#00d4ff1a;border-radius:8px;border:1px solid var(--midnight-accent)}.all-teams-rating-info{margin-top:30px}.no-eligible-teams{background:#ff980033;border:2px solid var(--midnight-warning);color:#ffe0b2;padding:20px;border-radius:8px;text-align:center}.no-winner-box{text-align:center;padding:40px;background:#ff98001a;border:2px dashed var(--midnight-warning);border-radius:8px;color:#ffe0b2}.eligible-yes{background:#4caf5033;border:2px solid var(--midnight-success);color:#c8e6c9;padding:12px;border-radius:8px;text-align:center;margin:10px 0}.eligible-no{background:#f4433633;border:2px solid var(--midnight-error);color:#ffcdd2;padding:12px;border-radius:8px;text-align:center;margin:10px 0}.admin-notice{background:#ffc10733;border:2px solid #ffc107;color:#fff9c4;padding:12px;border-radius:8px;text-align:center;margin:10px 0}.warning-text{background:#ff980033;border:2px solid var(--midnight-warning);color:#ffe0b2;padding:15px;border-radius:8px;text-align:center;margin:15px 0;font-weight:700}.login-container{display:flex;justify-content:center;align-items:center;min-height:100vh;padding:20px}.login-box{max-width:400px;width:100%;-webkit-backdrop-filter:blur(30px);backdrop-filter:blur(30px);border:2px solid var(--midnight-accent);box-shadow:0 0 50px var(--midnight-glow);text-align:center}.login-box h1{color:var(--midnight-accent);text-shadow:0 0 20px var(--midnight-glow)}.start-content{max-width:600px!important;width:100%!important}.camera-test-section{margin-top:30px;padding:30px}.test-message{padding:15px;border-radius:8px;margin-top:15px;text-align:center;font-weight:700}.test-message.success{background:#4caf5033;border:2px solid var(--midnight-success);color:#c8e6c9}.test-message.error{background:#f4433633;border:2px solid var(--midnight-error);color:#ffcdd2}@media(max-width:768px){.app-header{margin-top:100px!important}}.app-header h1{font-size:20px;margin-bottom:10px}.admin-tabs{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.tab{min-width:100%}.photo-grid,.team-photos-grid,.winner-photos-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.upload-buttons,.replace-buttons,.team-actions,.edit-buttons{flex-direction:column}.start-content h1{margin-bottom:5px!important}.text-center{text-align:center}.mt-20{margin-top:20px}.mb-20{margin-bottom:20px}.team-info *,.rank-info *,.rating-info-details *,.team-rank-details *,.status-card strong.start-zeit-text{color:#000!important}.ice-cube,.countdown-digit,.countdown-number{min-width:55px!important;width:55px!important;height:60px!important;font-size:28px!important}.countdown-separator{font-size:28px!important;margin:0 8px!important}@media(min-width:400px){.ice-cube,.countdown-digit,.countdown-number{min-width:70px!important;width:70px!important;height:70px!important;font-size:28px!important}}.snowflake{position:fixed;color:#fff;opacity:.8;pointer-events:none;z-index:1000;-webkit-user-select:none;user-select:none;text-shadow:0 0 5px rgba(255,255,255,.5)}.snowflake.blue{color:#b3e5fc;text-shadow:0 0 5px rgba(179,229,252,.5)}@keyframes snowflakeFadeIn{0%{opacity:0}to{opacity:.8}}.snowflake{animation:snowflakeFadeIn .5s ease-in}.snowfall-toggle-btn,.music-toggle-btn{background-color:#0891b2e6;color:#fff;border:2px solid rgba(255,255,255,.3);padding:8px 16px;border-radius:8px;font-size:14px;cursor:pointer;transition:all .3s ease;margin-right:10px;font-weight:600;box-shadow:0 4px 8px #0000004d,0 2px 4px #0003;transform:translateY(0)}.snowfall-toggle-btn:hover,.music-toggle-btn:hover{background-color:#0891b2;transform:translateY(-1px);box-shadow:0 6px 12px #0006,0 3px 6px #0000004d}.snowfall-toggle-btn.off,.music-toggle-btn.off{background-color:#646464b3;box-shadow:inset 0 2px 4px #0006,inset 0 1px 2px #0000004d;transform:translateY(2px);opacity:.7;border-color:#fff3}.snowfall-toggle-btn.off:hover,.music-toggle-btn.off:hover{background-color:#646464d9;opacity:.8}
