:root{--bg-color: #0b0c10;--bg-card: rgba(31, 40, 51, .65);--bg-card-hover: rgba(40, 52, 68, .8);--text-primary: #f5f5f7;--text-secondary: #c5a880;--text-muted: #8b9bb4;--primary: #8b5cf6;--primary-glow: rgba(139, 92, 246, .4);--accent: #06b6d4;--accent-glow: rgba(6, 182, 212, .4);--danger: #ef4444;--success: #10b981;--warning: #f59e0b;--border-color: rgba(139, 92, 246, .25);--font-heading: "Outfit", sans-serif;--font-body: "Inter", sans-serif;--shadow-neon: 0 0 15px var(--primary-glow);--shadow-neon-cyan: 0 0 15px var(--accent-glow)}body[data-theme=dark]{--bg-color: #0b0c10;--bg-card: rgba(31, 40, 51, .65);--bg-card-hover: rgba(40, 52, 68, .8);--text-primary: #f5f5f7;--text-secondary: #c5a880;--text-muted: #8b9bb4;--primary: #8b5cf6;--primary-glow: rgba(139, 92, 246, .4);--accent: #06b6d4;--accent-glow: rgba(6, 182, 212, .4);--border-color: rgba(139, 92, 246, .25);--shadow-neon: 0 0 15px var(--primary-glow);--shadow-neon-cyan: 0 0 15px var(--accent-glow);background-image:radial-gradient(at 0% 0%,rgba(139,92,246,.12) 0px,transparent 50%),radial-gradient(at 100% 100%,rgba(6,182,212,.12) 0px,transparent 50%)}body[data-theme=light],.light-mode{--bg-color: #f3f4f6;--bg-card: rgba(255, 255, 255, .88);--bg-card-hover: rgba(255, 255, 255, .98);--text-primary: #111827;--text-secondary: #b45309;--text-muted: #4b5563;--primary: #6d28d9;--primary-glow: rgba(109, 40, 217, .25);--accent: #0891b2;--accent-glow: rgba(8, 145, 178, .25);--border-color: rgba(109, 40, 217, .18);--shadow-neon: 0 4px 12px rgba(109, 40, 217, .12);--shadow-neon-cyan: 0 4px 12px rgba(8, 145, 178, .12)}body[data-theme=light],body.light-mode{background-image:radial-gradient(at 0% 0%,rgba(109,40,217,.08) 0px,transparent 50%),radial-gradient(at 100% 100%,rgba(8,145,178,.08) 0px,transparent 50%)}body[data-theme=forest]{--bg-color: #0c0f0e;--bg-card: rgba(20, 28, 26, .75);--bg-card-hover: rgba(28, 38, 35, .9);--text-primary: #ecf3f0;--text-secondary: #34d399;--text-muted: #6b7f77;--primary: #10b981;--primary-glow: rgba(16, 185, 129, .4);--accent: #059669;--accent-glow: rgba(5, 150, 105, .4);--border-color: rgba(16, 185, 129, .25);--shadow-neon: 0 0 15px var(--primary-glow);--shadow-neon-cyan: 0 0 15px var(--accent-glow);background-image:radial-gradient(at 0% 0%,rgba(16,185,129,.12) 0px,transparent 50%),radial-gradient(at 100% 100%,rgba(52,211,153,.12) 0px,transparent 50%)}body[data-theme=ocean]{--bg-color: #030712;--bg-card: rgba(17, 24, 39, .7);--bg-card-hover: rgba(31, 41, 55, .85);--text-primary: #f3f4f6;--text-secondary: #67e8f9;--text-muted: #6b7280;--primary: #0284c7;--primary-glow: rgba(2, 132, 199, .4);--accent: #06b6d4;--accent-glow: rgba(6, 182, 212, .4);--border-color: rgba(2, 132, 199, .25);--shadow-neon: 0 0 15px var(--primary-glow);--shadow-neon-cyan: 0 0 15px var(--accent-glow);background-image:radial-gradient(at 0% 0%,rgba(2,132,199,.12) 0px,transparent 50%),radial-gradient(at 100% 100%,rgba(6,182,212,.12) 0px,transparent 50%)}body[data-theme=sunset]{--bg-color: #0f0a0a;--bg-card: rgba(26, 18, 18, .75);--bg-card-hover: rgba(36, 26, 26, .9);--text-primary: #fdf2f2;--text-secondary: #fca5a5;--text-muted: #8c7d7d;--primary: #f97316;--primary-glow: rgba(249, 115, 22, .4);--accent: #f43f5e;--accent-glow: rgba(244, 63, 94, .4);--border-color: rgba(249, 115, 22, .25);--shadow-neon: 0 0 15px var(--primary-glow);--shadow-neon-cyan: 0 0 15px var(--accent-glow);background-image:radial-gradient(at 0% 0%,rgba(249,115,22,.12) 0px,transparent 50%),radial-gradient(at 100% 100%,rgba(244,63,94,.12) 0px,transparent 50%)}.light-mode .app-header{background:#ffffffe6!important;border-bottom:1px solid rgba(0,0,0,.08)!important;box-shadow:0 2px 8px #0000000f}.light-mode .nav-btn:hover{background:#0000000d!important;color:var(--text-primary)!important}.light-mode #nav-game{color:#047857!important;background:#04785714!important;border-color:#04785733!important}.light-mode #nav-game:hover,.light-mode #nav-game.active{color:#065f46!important;background:#04785729!important;border-color:#0478574d!important}.light-mode #nav-chat{color:#1d4ed8!important;background:#1d4ed814!important;border-color:#1d4ed833!important}.light-mode #nav-chat:hover,.light-mode #nav-chat.active{color:#1e40af!important;background:#1d4ed829!important;border-color:#1d4ed84d!important}.light-mode input[type=text],.light-mode input[type=password],.light-mode input[type=number],.light-mode textarea,.light-mode select{background:#ffffffe6!important;border:1px solid rgba(0,0,0,.15)!important;color:#111827!important}.light-mode input:focus,.light-mode textarea:focus,.light-mode select:focus{background:#fff!important;box-shadow:0 0 0 3px #0891b226!important;color:#111827!important}.light-mode select option{background:#fff!important;color:#111827!important}*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}body{background-color:var(--bg-color);background-image:radial-gradient(at 0% 0%,rgba(139,92,246,.15) 0px,transparent 50%),radial-gradient(at 100% 100%,rgba(6,182,212,.15) 0px,transparent 50%);background-attachment:fixed;color:var(--text-primary);font-family:var(--font-body);line-height:1.6;font-size:16px;overflow-x:hidden;padding-bottom:2rem}h1,h2,h3,h4{font-family:var(--font-heading);font-weight:700;letter-spacing:-.02em}.app-header{background:#0b0c10d9;backdrop-filter:blur(10px);border-bottom:1px solid rgba(139,92,246,.15);position:sticky;top:0;z-index:1000}.header-container{display:flex;justify-content:space-between;align-items:center;max-width:600px;margin:0 auto;padding:.75rem 1rem;width:100%}@media(min-width:769px){.header-container{max-width:800px}}.logo{display:flex;align-items:center;gap:.5rem;font-family:var(--font-heading);font-weight:800;font-size:1.35rem;cursor:pointer}.city-badge{font-size:.75rem;padding:.2rem .5rem;border-radius:6px;background:#06b6d426;border:1px solid var(--accent);color:var(--accent);font-family:var(--font-heading);font-weight:700;text-transform:uppercase;margin-left:.5rem;letter-spacing:.05em;box-shadow:0 0 10px #06b6d433}.logo-icon{color:var(--accent);text-shadow:var(--shadow-neon-cyan)}.logo-text{letter-spacing:.05em}.accent-text{color:var(--primary);text-shadow:var(--shadow-neon)}.nav-links{display:flex;gap:.5rem}.nav-btn{background:transparent;border:1px solid transparent;color:var(--text-muted);font-family:var(--font-heading);font-weight:600;font-size:.9rem;padding:.4rem .8rem;border-radius:8px;cursor:pointer;display:flex;align-items:center;gap:.35rem;transition:all .3s ease}.nav-btn:hover{color:var(--text-primary);background:#ffffff0d}.nav-btn.active{color:var(--accent);background:#06b6d41a;border-color:#06b6d440;text-shadow:0 0 5px rgba(6,182,212,.5)}#nav-game{color:#10b981;background:#10b98114;border-color:#10b98133}#nav-game:hover,#nav-game.active{color:#34d399;background:#10b9812e;border-color:#10b98166;text-shadow:0 0 8px rgba(16,185,129,.5)}#nav-chat{color:#60a5fa;background:#60a5fa14;border-color:#60a5fa33}#nav-chat:hover,#nav-chat.active{color:#93c5fd;background:#60a5fa2e;border-color:#60a5fa66;text-shadow:0 0 8px rgba(96,165,250,.5)}#nav-leaderboard{color:#fbbf24;background:#fbbf2414;border-color:#fbbf2433}#nav-leaderboard:hover,#nav-leaderboard.active{color:#fcd34d;background:#fbbf242e;border-color:#fbbf2466;text-shadow:0 0 8px rgba(251,191,36,.5)}.logout-btn{color:var(--danger)!important}.logout-btn:hover{background:#ef44441a!important}.team-bar{background:linear-gradient(90deg,var(--primary) 0%,var(--accent) 100%);padding:.25rem 0;font-family:var(--font-heading);font-weight:600;font-size:.85rem;color:#000}.team-bar-container{display:flex;justify-content:space-between;align-items:center;max-width:600px;margin:0 auto;padding:0 1rem;width:100%}@media(min-width:769px){.team-bar-container{max-width:800px}}.team-bar span{display:flex;align-items:center;gap:.3rem}.team-players-bar{background:#00000026;border-bottom:1px solid rgba(255,255,255,.06);padding:.35rem 0;font-size:.8rem;width:100%}.players-bar-container{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;max-width:600px;margin:0 auto;padding:0 1rem;width:100%}@media(min-width:769px){.players-bar-container{max-width:800px}}.app-main{max-width:600px;margin:1.5rem auto 0;padding:0 1rem}@media(min-width:769px){.app-main{max-width:800px}}.view-panel{display:none;animation:fadeIn .4s ease-out forwards}.view-panel.active{display:block}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.fa-spin-slow{animation:spin 8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.welcome-hero{text-align:center;margin:2rem 0}.welcome-hero h1{font-size:2rem;background:linear-gradient(135deg,var(--text-primary) 30%,var(--text-secondary) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:.5rem}.welcome-hero p{color:var(--text-muted);font-size:.95rem}.auth-tabs{display:flex;background:#0003;border-radius:12px;padding:.3rem;margin-bottom:1.5rem;border:1px solid rgba(255,255,255,.05)}.auth-tab-btn{flex:1;background:transparent;border:none;color:var(--text-muted);font-family:var(--font-heading);font-weight:600;padding:.6rem 0;cursor:pointer;border-radius:8px;transition:all .25s ease}.auth-tab-btn.active{background:var(--bg-card);color:var(--text-primary);box-shadow:0 4px 12px #0003;border:1px solid rgba(255,255,255,.05)}.auth-card{display:none}.auth-card.active{display:block;animation:fadeIn .3s ease-out}.card{background:var(--bg-card);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-color);border-radius:16px;padding:1.25rem;margin-bottom:1.25rem;box-shadow:0 8px 32px #0000005e;transition:border-color .3s ease}.card:hover{border-color:#8b5cf666}.card-header{border-bottom:1px solid rgba(255,255,255,.08);padding-bottom:.75rem;margin-bottom:.75rem}.card-header h3{font-size:1.15rem;display:flex;align-items:center;gap:.5rem;color:var(--accent)}.form-group{margin-bottom:1.25rem}.form-group label{display:block;font-family:var(--font-heading);font-weight:500;font-size:.9rem;color:var(--text-secondary);margin-bottom:.4rem}input[type=text],input[type=password],input[type=number],textarea{width:100%;background:#0000004d;border:1px solid rgba(255,255,255,.12);border-radius:8px;color:var(--text-primary);font-family:var(--font-body);font-size:1rem;padding:.75rem 1rem;transition:all .3s ease}input:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #06b6d426;background:#00000073}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.player-input-row{margin-bottom:.5rem}.btn{display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-heading);font-weight:600;font-size:.95rem;padding:.75rem 1.5rem;border-radius:8px;border:none;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);gap:.5rem;text-decoration:none}.btn-primary{background:linear-gradient(135deg,var(--primary) 0%,#7c3aed 100%);color:#fff;box-shadow:var(--shadow-neon)}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 0 20px #8b5cf699}.btn-primary:active{transform:translateY(0)}.btn-secondary{background:#ffffff14;border:1px solid rgba(255,255,255,.1);color:var(--text-primary)}.btn-secondary:hover{background:#ffffff26}.btn-accent{background:linear-gradient(135deg,var(--accent) 0%,#0891b2 100%);color:#000;font-weight:700;box-shadow:var(--shadow-neon-cyan)}.btn-accent:hover{transform:translateY(-2px);box-shadow:0 0 20px #06b6d499}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover{background:#dc2626}.btn-block{display:flex;width:100%}.btn-small{padding:.4rem .8rem;font-size:.8rem;border-radius:6px}.check-group{display:flex;align-items:flex-start;gap:.5rem}.check-group input[type=checkbox]{width:1.25rem;height:1.25rem;accent-color:var(--primary);margin-top:.2rem}.check-group label{color:var(--text-primary);font-size:.9rem}.welcome-info-card{background:#ffffff08;border-radius:12px;padding:1.25rem;border:1px solid rgba(255,255,255,.05);margin-top:1.5rem}.welcome-info-card h3{font-size:1rem;color:var(--text-secondary);margin-bottom:.75rem}.welcome-info-card ul{list-style:none}.welcome-info-card li{font-size:.85rem;color:var(--text-muted);margin-bottom:.6rem;display:flex;align-items:center;gap:.6rem}.step-num{background:#8b5cf626;color:var(--primary);width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.75rem;border:1px solid rgba(139,92,246,.3)}.badge{display:inline-flex;align-items:center;gap:.25rem;padding:.2rem .5rem;border-radius:6px;font-family:var(--font-heading);font-weight:600;font-size:.75rem}.badge-primary{background:#8b5cf633;color:var(--primary);border:1px solid rgba(139,92,246,.3)}.progress-container{padding:1rem 1.25rem}.progress-text-row{display:flex;justify-content:space-between;font-family:var(--font-heading);font-weight:600;font-size:.9rem;color:var(--text-primary);margin-bottom:.5rem}.progress-pct{color:var(--accent)}.progress-bar-track{height:6px;background:#ffffff1a;border-radius:3px;overflow:hidden;margin-bottom:1rem}.progress-bar-fill{height:100%;background:linear-gradient(90deg,var(--primary) 0%,var(--accent) 100%);border-radius:3px;transition:width .4s cubic-bezier(.4,0,.2,1)}.checkpoint-dots{display:flex;justify-content:space-between;position:relative;margin:0 .5rem}.checkpoint-dot{width:20px;height:20px;border-radius:50%;background:var(--bg-card);border:2px solid var(--text-muted);display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:700;color:var(--text-primary);z-index:2;transition:all .3s ease}.checkpoint-dot.completed{background:var(--success);border-color:var(--success);color:#fff}.checkpoint-dot.active{background:var(--primary);border-color:var(--primary);color:#fff;box-shadow:var(--shadow-neon)}.quest-header{display:flex;flex-direction:column;gap:.4rem}.quest-header h2{font-size:1.4rem;color:var(--text-primary)}.quest-clue{font-size:1rem;color:var(--text-primary);font-style:italic;line-height:1.6}.leaflet-map-container{height:200px;border-radius:12px;border:1px solid rgba(255,255,255,.1);margin-bottom:1rem;background:#000;z-index:5}@media(min-width:769px){.leaflet-map-container{height:300px}}@keyframes ants-marching{to{stroke-dashoffset:-40}}.marching-ants-line{animation:ants-marching 1.5s linear infinite;filter:drop-shadow(0 0 3px rgba(6,182,212,.65))}.marching-ants-line-fallback{animation:ants-marching 1.5s linear infinite;filter:drop-shadow(0 0 3px rgba(37,99,235,.65))}.geo-status-box{background:#0003;padding:.75rem;border-radius:8px;font-size:.85rem;border:1px solid rgba(255,255,255,.05);margin-bottom:1rem}.geo-status-loading{color:var(--accent);display:flex;align-items:center;gap:.5rem}.geo-status-ready{display:flex;flex-direction:column;gap:.2rem;color:var(--text-muted)}.geo-status-ready span{display:flex;align-items:center;gap:.4rem}.geo-status-error{color:var(--danger)}.map-actions-row{display:grid;grid-template-columns:1fr 1.2fr;gap:.75rem}.question-card{position:relative;overflow:hidden}.question-lock-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:#0b0c10e6;z-index:10;display:flex;align-items:center;justify-content:center;text-align:center;padding:1.5rem;backdrop-filter:blur(8px)}.lock-content{display:flex;flex-direction:column;align-items:center;gap:.75rem}.lock-content i{color:var(--primary);text-shadow:var(--shadow-neon);margin-bottom:.5rem}.lock-content p{font-size:.85rem;color:var(--text-muted);max-width:300px}.question-text{font-size:1.1rem;font-weight:500;color:var(--text-secondary);background:#ffffff08;padding:1rem;border-radius:8px;border-left:4px solid var(--accent);margin-bottom:1.25rem}.answer-actions{display:grid;grid-template-columns:1fr 1.5fr;gap:.75rem}.hint-box{background:#f59e0b1a;border:1px dashed var(--warning);color:#fff;border-radius:8px;padding:.75rem;margin-top:1rem;font-size:.9rem;animation:fadeIn .3s ease-out}.finish-card{text-align:center;padding:3rem 1.5rem}.finish-icon{font-size:4rem;color:var(--warning);margin-bottom:1rem}.finish-card h2{font-size:2rem;color:var(--accent);margin-bottom:.5rem}.finish-stats-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.75rem;margin:2rem 0}.stat-card{background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:.75rem .5rem}.stat-val{display:block;font-size:1.2rem;font-weight:700;font-family:var(--font-heading);color:var(--text-secondary)}.stat-lbl{font-size:.75rem;color:var(--text-muted)}.finish-congrats{font-size:.95rem;color:var(--text-muted);margin-bottom:1.5rem}.section-title{text-align:center;margin-bottom:1.5rem}.section-title h2{font-size:1.75rem;color:#fff}.section-title p{color:var(--text-muted);font-size:.9rem}.table-responsive{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.leaderboard-table{width:100%;border-collapse:collapse;text-align:left}.leaderboard-table th{padding:.75rem 1rem;font-family:var(--font-heading);font-weight:600;font-size:.85rem;color:var(--text-secondary);border-bottom:2px solid rgba(255,255,255,.08)}.leaderboard-table td{padding:.85rem 1rem;font-size:.9rem;border-bottom:1px solid rgba(255,255,255,.05)}.leaderboard-table tbody tr:hover{background:#ffffff05}.rank-cell{font-family:var(--font-heading);font-weight:700;font-size:1.1rem;text-align:center}.rank-gold{color:gold;text-shadow:0 0 10px rgba(255,215,0,.4)}.rank-silver{color:silver;text-shadow:0 0 10px rgba(192,192,192,.4)}.rank-bronze{color:#cd7f32;text-shadow:0 0 10px rgba(205,127,50,.4)}.team-players{display:block;font-size:.75rem;color:var(--text-muted);margin-top:.15rem}.admin-header-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;gap:1rem;flex-wrap:wrap}.admin-header-row h2{font-size:1.5rem}.admin-tabs{display:flex;background:#0003;border-radius:12px;padding:.3rem;margin-bottom:1.5rem;border:1px solid rgba(255,255,255,.05);overflow-x:auto;white-space:nowrap}.admin-tab-btn{flex:1;background:transparent;border:none;color:var(--text-muted);font-family:var(--font-heading);font-weight:600;padding:.6rem 1rem;cursor:pointer;border-radius:8px;transition:all .25s ease}.admin-tab-btn.active{background:var(--bg-card);color:var(--accent);box-shadow:0 4px 12px #0003;border:1px solid rgba(255,255,255,.05)}.admin-tab-content{display:none;animation:fadeIn .3s ease-out}.admin-tab-content.active{display:block}.admin-teams-table{width:100%;border-collapse:collapse}.admin-teams-table th{padding:.75rem 1rem;color:var(--text-secondary);font-family:var(--font-heading);font-weight:600;font-size:.85rem;text-align:left;border-bottom:2px solid rgba(255,255,255,.08)}.admin-teams-table td{padding:.85rem 1rem;font-size:.9rem;border-bottom:1px solid rgba(255,255,255,.05)}.admin-quest-layout{display:grid;grid-template-columns:1fr;gap:1.5rem}@media(min-width:769px){.admin-quest-layout{grid-template-columns:1.2fr 1fr;align-items:start}}.admin-quests-list{display:flex;flex-direction:column;gap:.85rem;padding-right:.4rem}.admin-quests-list::-webkit-scrollbar{width:6px}.admin-quests-list::-webkit-scrollbar-track{background:#ffffff05;border-radius:3px}.admin-quests-list::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:3px}.admin-quests-list::-webkit-scrollbar-thumb:hover{background:#ffffff40}.admin-quest-item{background:#ffffff05;border:1px solid rgba(255,255,255,.06);border-radius:12px;padding:.85rem 1.25rem;display:flex;justify-content:space-between;align-items:center;gap:1.25rem;transition:all .25s cubic-bezier(.4,0,.2,1);backdrop-filter:blur(10px)}.admin-quest-item:hover{background:#ffffff0d;border-color:#ffffff26;transform:translateY(-2px);box-shadow:0 8px 24px #0000004d}.admin-quest-info h4{font-size:.95rem;color:var(--text-primary)}.admin-quest-info p{font-size:.75rem;color:var(--text-muted)}.admin-quest-actions{display:flex;gap:.5rem}.modal{position:fixed;top:0;left:0;width:100%;height:100%;z-index:2000;background:#000c;display:flex;align-items:center;justify-content:center;padding:1rem;backdrop-filter:blur(8px)}.modal-dialog{width:100%;max-width:500px;animation:fadeIn .3s ease-out}.modal-content{background:#11141a;border:1px solid var(--border-color);border-radius:16px;overflow:hidden;box-shadow:0 10px 40px #00000080}.modal-header{padding:1rem 1.25rem;border-bottom:1px solid rgba(255,255,255,.08);display:flex;justify-content:space-between;align-items:center}.modal-header h3{font-size:1.2rem;color:var(--accent)}.modal-close{background:transparent;border:none;color:var(--text-muted);font-size:1.8rem;cursor:pointer;line-height:1}.modal-close:hover{color:var(--text-primary)}.modal-body{padding:1.25rem;max-height:75vh;overflow-y:auto}.eval-stats-summary{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-bottom:1.5rem}.eval-stat-box{background:#ffffff08;border:1px solid rgba(255,255,255,.05);border-radius:8px;padding:.6rem .8rem}.eval-stat-lbl{font-size:.75rem;color:var(--text-muted);display:block}.eval-stat-val{font-size:1.1rem;font-weight:700;color:var(--text-secondary)}.eval-timeline-title{font-size:.95rem;color:var(--text-secondary);margin-bottom:.75rem;border-bottom:1px dashed rgba(255,255,255,.1);padding-bottom:.25rem}.eval-timeline{display:flex;flex-direction:column;gap:1rem}.eval-timeline-item{position:relative;padding-left:1.5rem;border-left:2px solid rgba(139,92,246,.3)}.eval-timeline-item:after{content:"";position:absolute;top:4px;left:-6px;width:10px;height:10px;border-radius:50%;background:var(--primary);border:2px solid #11141a}.eval-timeline-item.completed:after{background:var(--success)}.eval-timeline-header{display:flex;justify-content:space-between;font-size:.85rem;font-weight:600}.eval-timeline-details{display:flex;justify-content:space-between;font-size:.75rem;color:var(--text-muted);margin-top:.15rem}.eval-timeline-details span{display:flex;align-items:center;gap:.25rem}.timeline-badge{font-size:.7rem;padding:.1rem .3rem;border-radius:4px;font-weight:700}.timeline-badge-correct{background:#10b98126;color:var(--success)}.timeline-badge-hints{background:#f59e0b26;color:var(--warning)}.hide-mobile{display:table-cell}@media(max-width:600px){.hide-mobile{display:none}}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:#0000001a}::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#ffffff40}.leaflet-marker-icon{object-fit:contain;object-position:bottom center}.wikimedia-thumb{width:100%;height:65px;object-fit:cover;border-radius:6px;border:2px solid transparent;cursor:pointer;transition:all .2s ease}.wikimedia-thumb:hover{transform:scale(1.05);border-color:var(--primary)}.wikimedia-thumb.selected{border-color:var(--success);box-shadow:0 0 8px #10b98199}.city-group-title{font-family:var(--font-heading);font-weight:700;font-size:1.15rem;color:var(--text-secondary);margin:1.5rem 0 .5rem;padding-bottom:.35rem;border-bottom:1px solid rgba(255,255,255,.08);display:flex;align-items:center;gap:.5rem}.city-group-title:first-of-type{margin-top:.5rem}.city-group-title i{color:var(--accent)}#edit-team-players-btn{background:#0000001f;border:1px solid rgba(0,0,0,.25);color:#000;padding:.15rem .5rem;border-radius:6px;font-weight:700;transition:all .2s ease;margin-left:auto}#edit-team-players-btn:hover{background:#000000d9;color:#fff;border-color:#000}.mc-option-card{background:#ffffff0a;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:.8rem 1rem;color:var(--text-primary);font-family:var(--font-body);font-size:.95rem;text-align:left;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:.75rem;width:100%}.mc-option-card:hover{background:#ffffff14;border-color:#fff3;transform:translate(4px)}.mc-option-card.selected{background:#06b6d41f;border-color:var(--accent);box-shadow:0 0 10px #06b6d433}.mc-option-indicator{width:18px;height:18px;border-radius:50%;border:2px solid rgba(255,255,255,.3);display:flex;align-items:center;justify-content:center;transition:all .2s ease;flex-shrink:0}.mc-option-card.selected .mc-option-indicator{border-color:var(--accent);background:var(--accent)}.mc-option-indicator:after{content:"";width:6px;height:6px;border-radius:50%;background:#000;display:none}.mc-option-card.selected .mc-option-indicator:after{display:block}.admin-quest-image-container{width:55px;height:55px;border-radius:8px;overflow:hidden;border:1px solid rgba(255,255,255,.08);flex-shrink:0}.admin-quest-image-container img{width:100%;height:100%;object-fit:cover;object-position:center}.admin-quizzes-list{display:flex;flex-direction:column;gap:.75rem;flex-grow:1}.admin-quizzes-list::-webkit-scrollbar{width:6px}.admin-quizzes-list::-webkit-scrollbar-track{background:#ffffff05;border-radius:3px}.admin-quizzes-list::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:3px}.admin-quizzes-list::-webkit-scrollbar-thumb:hover{background:#ffffff40}#quiz-selected-quests-list::-webkit-scrollbar{width:6px}#quiz-selected-quests-list::-webkit-scrollbar-track{background:#ffffff05;border-radius:3px}#quiz-selected-quests-list::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:3px}#quiz-selected-quests-list::-webkit-scrollbar-thumb:hover{background:#ffffff40}.custom-station-marker{background:none;border:none}.station-marker-pin{background-color:var(--primary);color:#fff;width:30px;height:30px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.85rem;border:2px solid white;box-shadow:0 0 10px #00000080;transition:all .25s ease}.station-marker-pin span{transform:rotate(45deg);display:inline-block}.station-marker-pin.selected{background-color:var(--accent);box-shadow:0 0 15px var(--accent);transform:rotate(-45deg) scale(1.15);animation:markerPulse 2s infinite ease-in-out}.station-marker-pin.solved{background-color:var(--success);box-shadow:0 0 10px #10b98166}@keyframes markerPulse{0%{transform:rotate(-45deg) scale(1.15);box-shadow:0 0 15px var(--accent)}50%{transform:rotate(-45deg) scale(1.3);box-shadow:0 0 25px var(--accent),0 0 10px var(--accent)}}.leaflet-map-container.fullscreen,#game-chat-card.fullscreen{position:fixed!important;top:0;left:0;width:100vw!important;height:100vh!important;z-index:1500!important;border-radius:0!important;margin:0!important}.player-group-marker-container{background-color:var(--accent);color:#000;width:36px;height:36px;border-radius:50%;border:2px solid white;box-shadow:0 0 12px var(--accent);display:flex;align-items:center;justify-content:center;font-size:1.1rem;animation:markerGlow 1.5s infinite alternate ease-in-out}@keyframes markerGlow{0%{box-shadow:0 0 10px var(--accent);transform:scale(1)}to{box-shadow:0 0 20px var(--accent),0 0 8px var(--accent);transform:scale(1.08)}}.admin-quest-item.active-quiz-item{border-color:var(--success)!important;background:#10b9810a!important;box-shadow:0 0 20px #10b98126!important}.admin-quest-item.active-quiz-item:hover{background:#10b9810f!important;box-shadow:0 8px 24px #10b98140!important}.pulse-dot{width:8px;height:8px;background-color:var(--success);border-radius:50%;display:inline-block;box-shadow:0 0 #10b981b3;animation:pulse-green 2s infinite;vertical-align:middle}@keyframes pulse-green{0%{transform:scale(.95);box-shadow:0 0 #10b981b3}70%{transform:scale(1);box-shadow:0 0 0 8px #10b98100}to{transform:scale(.95);box-shadow:0 0 #10b98100}}.admin-team-marker-container{width:40px;height:40px;border-radius:50%;border:2.5px solid #10b981;background:#0b0c10;box-shadow:0 0 12px #10b981b3;display:flex;align-items:center;justify-content:center;overflow:hidden;transition:all .2s ease-in-out}.admin-team-marker-container:hover{transform:scale(1.15);box-shadow:0 0 18px #10b981e6;border-color:var(--accent)}.admin-team-marker-img{width:100%;height:100%;object-fit:cover}.admin-team-marker-container.default-team-icon{color:#10b981;font-size:1.2rem}.chat-achievement-bubble{position:relative;padding:.6rem 1rem;border-radius:16px;max-width:90%;font-size:.85rem;text-align:center;word-break:break-word;margin:.25rem auto;color:#fff;display:flex;flex-direction:column;align-items:center;gap:.3rem;box-shadow:0 4px 15px #0006;animation:popIn .4s cubic-bezier(.175,.885,.32,1.275) both;overflow:hidden}.achievement-header{display:flex;align-items:center;gap:.4rem;font-weight:700;font-size:.9rem}.achievement-title{font-family:var(--font-heading);letter-spacing:-.01em;text-shadow:0 1px 2px rgba(0,0,0,.5)}.achievement-body{font-family:var(--font-body);font-size:.82rem;opacity:.95;text-shadow:0 1px 2px rgba(0,0,0,.4);line-height:1.3;white-space:pre-wrap}.achievement-solve{background:color-mix(in srgb,var(--team-color) 12%,rgba(0,0,0,.45));border:1px solid color-mix(in srgb,var(--team-color) 60%,transparent);box-shadow:0 0 10px color-mix(in srgb,var(--team-color) 20%,transparent),0 4px 12px #0000004d}.achievement-first_try{background:color-mix(in srgb,var(--team-color) 20%,rgba(0,0,0,.55));border:1.5px solid var(--team-color);box-shadow:0 0 15px color-mix(in srgb,var(--team-color) 40%,transparent),0 4px 15px #0006;animation:popIn .4s cubic-bezier(.175,.885,.32,1.275) both,achievementPulse 2.5s infinite ease-in-out}.achievement-completed{background:linear-gradient(135deg,color-mix(in srgb,var(--team-color) 30%,#0c0e12),#1a1405e6);border:2px solid #ffd700;box-shadow:0 0 20px #ffd70080,0 0 10px var(--team-color),0 6px 20px #00000080;animation:popIn .4s cubic-bezier(.175,.885,.32,1.275) both,completionGlow 3s infinite ease-in-out}.achievement-completed .achievement-title{color:gold;font-weight:800}.chat-star-particle{position:absolute;color:gold;pointer-events:none;opacity:0;animation:floatStar 3s infinite linear}@keyframes popIn{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}@keyframes achievementPulse{0%{box-shadow:0 0 12px color-mix(in srgb,var(--team-color) 30%,transparent),0 4px 15px #0006}50%{box-shadow:0 0 22px color-mix(in srgb,var(--team-color) 65%,transparent),0 4px 15px #0006}to{box-shadow:0 0 12px color-mix(in srgb,var(--team-color) 30%,transparent),0 4px 15px #0006}}@keyframes completionGlow{0%{box-shadow:0 0 15px #ffd70059,0 0 8px var(--team-color),0 6px 20px #00000080}50%{box-shadow:0 0 28px #ffd700bf,0 0 16px var(--team-color),0 6px 20px #00000080}to{box-shadow:0 0 15px #ffd70059,0 0 8px var(--team-color),0 6px 20px #00000080}}@keyframes floatStar{0%{transform:translateY(20px) rotate(0) scale(.5);opacity:0}15%{opacity:.9}85%{opacity:.9}to{transform:translateY(-50px) rotate(360deg) scale(1.3);opacity:0}}.gallery-wrapper{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:.5rem;border-radius:12px;scroll-behavior:smooth;-ms-overflow-style:none;scrollbar-width:none;height:220px}.gallery-wrapper::-webkit-scrollbar{display:none}.gallery-slide{scroll-snap-align:start;flex:0 0 100%;position:relative;border-radius:12px;overflow:hidden;border:1px solid rgba(255,255,255,.1);background:#0006;display:flex;flex-direction:column;height:100%}.gallery-slide img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}.gallery-caption{position:absolute;bottom:0;left:0;right:0;padding:.75rem 1rem .75rem 3.5rem;background:#11141ad9;backdrop-filter:blur(4px);color:var(--text-primary);font-size:.85rem;line-height:1.45;border-top:1px solid rgba(255,255,255,.08);z-index:5}.gallery-nav{position:absolute;bottom:12px;left:12px;display:flex;gap:.35rem;z-index:10}.gallery-dot{width:8px;height:8px;border-radius:50%;background:#ffffff4d;border:none;padding:0;cursor:pointer;transition:background .2s,transform .2s}.gallery-dot.active{background:var(--accent);transform:scale(1.2)}.was-validated input:invalid,.was-validated textarea:invalid,.was-validated select:invalid{border-color:var(--danger, #ef4444)!important;box-shadow:0 0 0 3px #ef444426!important}.gallery-arrow{opacity:0;transition:opacity .25s ease,background .2s ease,transform .2s ease;pointer-events:none}.gallery-container-hoverable:hover .gallery-arrow{opacity:1;pointer-events:auto}.gallery-arrow:hover{background:#000000d9!important;transform:translateY(-50%) scale(1.1)!important}.gallery-arrow:active{transform:translateY(-50%) scale(.95)!important}#lightbox-arrow-left:hover,#lightbox-arrow-right:hover{background:#ffffff26!important;transform:translateY(-50%) scale(1.08)!important}#lightbox-arrow-left:active,#lightbox-arrow-right:active{transform:translateY(-50%) scale(.95)!important}#lightbox-close-btn{transition:color .2s,transform .2s}#lightbox-close-btn:hover{color:var(--danger, #ef4444)!important;transform:scale(1.1)}#lightbox-close-btn:active{transform:scale(.95)}.chat-avatar{width:48px;height:48px;border-radius:50%;object-fit:cover;flex-shrink:0;border:1.5px solid rgba(255,255,255,.15);box-shadow:0 2px 8px #0003;transition:transform .2s ease}.chat-avatar:hover{transform:scale(1.1)}.chat-avatar-placeholder{width:48px;height:48px;border-radius:50%;background:#ffffff0d;border:1.5px solid rgba(255,255,255,.12);display:flex;align-items:center;justify-content:center;font-size:1.28rem;flex-shrink:0;box-shadow:0 2px 8px #0003}.avatar-editor-color-btn{width:100%;aspect-ratio:1/1;border-radius:50%;border:2px solid rgba(255,255,255,.12);cursor:pointer;transition:transform .2s,border-color .2s,box-shadow .2s}.avatar-editor-color-btn:hover{transform:scale(1.1)}.avatar-editor-color-btn.active{border-color:#fff;transform:scale(1.05);box-shadow:0 0 10px var(--accent)}.avatar-editor-symbol-btn{background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:8px;aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;font-size:1.5rem;cursor:pointer;transition:all .2s}.avatar-editor-symbol-btn:hover{background:#ffffff14;transform:scale(1.08)}.avatar-editor-symbol-btn.active{background:#06b6d426;border-color:var(--accent);box-shadow:0 0 8px #06b6d44d}.avatar-editor-border-btn{background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:6px;padding:.25rem .4rem;font-size:.72rem;text-align:center;color:var(--text-secondary);cursor:pointer;transition:all .2s}.avatar-editor-border-btn:hover{background:#ffffff14}.avatar-editor-border-btn.active{background:#06b6d426;border-color:var(--accent);color:#fff}.badge-card{background:#ffffff05;border:1px solid rgba(255,255,255,.05);border-radius:12px;padding:.75rem;display:flex;flex-direction:column;align-items:center;text-align:center;gap:.4rem;transition:all .3s ease;position:relative;overflow:hidden}.badge-card.locked{opacity:.3;filter:grayscale(1)}.badge-card.unlocked{background:#ffffff0a;border-color:#ffffff1a;box-shadow:0 4px 15px #00000026}.badge-card .badge-icon-wrapper{width:44px;height:44px;border-radius:50%;background:#ffffff08;display:flex;align-items:center;justify-content:center;font-size:1.25rem;border:1px solid rgba(255,255,255,.06);transition:all .3s ease}.badge-card.unlocked .badge-icon-wrapper{background:#06b6d41a;border-color:var(--accent);color:var(--accent);box-shadow:0 0 10px #06b6d433}.badge-card .badge-title{font-family:var(--font-heading);font-weight:600;font-size:.8rem;color:var(--text-primary)}.badge-card.unlocked .badge-title{color:#fff}.badge-card .badge-desc{font-size:.65rem;color:var(--text-muted);line-height:1.3}.leaflet-popup-content-wrapper{background:#0c0d12!important;color:#fff!important;border:1px solid rgba(255,255,255,.12)!important;border-radius:8px!important;box-shadow:0 4px 20px #00000080!important;padding:4px!important}.leaflet-popup-content{margin:8px 12px!important}.leaflet-popup-tip{background:#0c0d12!important;border:1px solid rgba(255,255,255,.12)!important;box-shadow:none!important}.leaflet-popup-close-button{color:#a0aec0!important;padding:8px!important}.leaflet-popup-close-button:hover{color:#fff!important}.role-select-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;max-width:720px;margin:2rem auto}@media(max-width:600px){.role-select-grid{grid-template-columns:1fr;gap:1rem}}.role-card{background:var(--card-bg);border:1px solid rgba(255,255,255,.06);border-radius:16px;padding:2rem 1.5rem;text-align:center;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;align-items:center;gap:1rem;position:relative;overflow:hidden;box-shadow:var(--shadow-sm)}.role-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:4px;background:transparent;transition:background .3s ease}.role-card:hover{transform:translateY(-5px);border-color:var(--accent-glow);box-shadow:var(--shadow-neon-cyan)}.role-card.role-team:before{background:var(--accent)}.role-card.role-team:hover{border-color:var(--accent);box-shadow:var(--shadow-neon-cyan)}.role-card.role-teacher:before{background:var(--primary)}.role-card.role-teacher:hover{border-color:var(--primary);box-shadow:0 0 20px #8b5cf640}.role-card .role-icon{font-size:3rem;transition:transform .3s ease}.role-card:hover .role-icon{transform:scale(1.1)}.role-card.role-team .role-icon{color:var(--accent);text-shadow:0 0 10px rgba(6,182,212,.3)}.role-card.role-teacher .role-icon{color:var(--primary);text-shadow:0 0 10px rgba(139,92,246,.3)}.role-card h3{font-size:1.25rem;font-weight:700;margin:0;font-family:var(--font-heading)}.role-card p{font-size:.85rem;color:var(--text-secondary);line-height:1.4;margin:0}.btn-back-to-portal{margin-bottom:1.25rem;align-self:flex-start;display:inline-flex;align-items:center;gap:.35rem}.admin-link-container{text-align:center;margin-top:1.5rem}.admin-link-container a{font-size:.8rem;color:var(--text-muted);text-decoration:none;transition:color .2s ease;cursor:pointer}.admin-link-container a:hover{color:var(--text-secondary);text-decoration:underline}.chat-channel-item{display:flex;align-items:center;gap:.5rem;padding:.6rem .75rem;border-radius:8px;cursor:pointer;transition:all .2s ease;color:var(--text-muted);font-size:.85rem;border:1px solid transparent}.chat-channel-item:hover{background:#ffffff0a;color:var(--text-secondary)}.chat-channel-item.active{background:#06b6d41a;color:var(--accent);border-color:#06b6d440;font-weight:600}.chat-channel-item .channel-badge{background:var(--accent);color:#000;border-radius:10px;padding:.1rem .35rem;font-size:.7rem;font-weight:700;margin-left:auto}.admin-team-marker{transition:z-index .1s ease}.admin-team-marker:hover{z-index:100000!important}.admin-team-marker-container{transition:transform .25s cubic-bezier(.4,0,.2,1);transform-origin:center bottom}.admin-team-marker:hover .admin-team-marker-container{transform:scale(2.5)}@media(max-width:768px){#admin-chat-tab>div{grid-template-columns:1fr!important;position:relative}#admin-chat-tab>div>div:first-child{display:none;position:absolute;left:0;top:0;width:240px;height:100%;z-index:100;box-shadow:5px 0 15px #00000080}#admin-chat-tab>div>div:first-child.mobile-open{display:flex!important}#teacher-chat-toggle-channels-btn{display:inline-flex!important;align-items:center;justify-content:center}}.view-mode-btn{transition:all .2s ease}.view-mode-btn:hover{background:#ffffff14!important;color:#fff!important}.view-mode-btn.active{background:var(--primary)!important;color:#fff!important;box-shadow:0 2px 8px var(--primary-glow)}#admin-quests-list.view-grid{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))!important;gap:1rem!important}#admin-quests-list.view-grid .admin-quest-item{margin-bottom:0!important;height:100%!important;display:flex!important;flex-direction:column!important;justify-content:space-between!important}#admin-quests-list.view-compact .admin-quest-item{padding:.5rem .75rem!important;margin-bottom:.35rem!important}#admin-quests-list.view-compact .admin-quest-item img{width:40px!important;height:40px!important;border-radius:6px!important}#admin-quests-list.view-compact .admin-quest-item p,#admin-quests-list.view-compact .admin-quest-item .admin-quest-info p{display:none!important}#admin-quests-list.view-compact .admin-quest-item .admin-quest-actions{margin-top:.4rem!important;padding-top:.4rem!important}#admin-quests-list.view-compact .admin-quest-item strong{font-size:.95rem!important}.city-tile-btn{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:var(--text-primary);font-family:var(--font-heading);font-size:.8rem;font-weight:500;padding:.35rem .75rem;border-radius:20px;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;gap:.25rem}.city-tile-btn:hover{background:#06b6d41a;border-color:var(--accent);color:var(--accent)}.city-tile-btn.active{background:var(--accent)!important;color:#000!important;font-weight:700;border-color:var(--accent)!important;box-shadow:0 0 10px var(--accent-glow)}select{background-color:var(--bg-card)!important;color:var(--text-primary)!important;border:1px solid var(--border-color)!important;color-scheme:dark}select:focus{background-color:var(--bg-card-hover)!important;border-color:var(--accent)!important;outline:none}select option{background-color:#1a222d!important;color:#fff!important}body[data-theme=dark] select option{background-color:#1f2833!important;color:#f5f5f7!important}body[data-theme=forest] select option{background-color:#1c2623!important;color:#ecf3f0!important}body[data-theme=ocean] select option{background-color:#1f2937!important;color:#f3f4f6!important}body[data-theme=sunset] select option{background-color:#241a1a!important;color:#fdf2f2!important}body[data-theme=light] select,.light-mode select{color-scheme:light}body[data-theme=light] select option,.light-mode select option{background-color:#fff!important;color:#111827!important}body{--shadow-neon: none;--shadow-neon-cyan: none;background-image:none!important}body.light-mode{--bg-color: #f6f5fa;--bg-card: #fff;--bg-card-hover: #faf9ff;--text-primary: #232033;--text-secondary: #514b66;--text-muted: #655f76;--primary: #6941c6;--accent: #6641b4;--success: #147453;--warning: #965d09;--danger: #bb303b;--border-color: #e4dfed}[hidden]{display:none!important}button,input,select,textarea,summary{font:inherit}button,summary,.btn{touch-action:manipulation}:focus-visible{outline:3px solid var(--primary);outline-offset:4px}input,select,textarea{font-size:1rem!important}button:disabled{cursor:not-allowed;opacity:.55}.btn,.nav-btn,.auth-tab-btn,.admin-tab-btn{min-height:44px}.btn{box-shadow:none!important;text-shadow:none!important;text-decoration:none}.btn-primary{background:var(--primary);color:#fff;border:1px solid var(--primary)}.btn-secondary{background:var(--bg-card);color:var(--text-primary);border:1px solid var(--border-color)}.card{background:var(--bg-card);border:1px solid var(--border-color);box-shadow:0 3px 15px #21133305;border-radius:18px}.card-header{background:transparent;border-color:var(--border-color)}.skip-link{position:fixed;top:-100px;left:16px;z-index:100000;background:var(--bg-card);color:var(--text-primary);padding:12px}.skip-link:focus{top:8px}.app-header,.light-mode .app-header{background:var(--bg-card)!important;backdrop-filter:none;border-color:var(--border-color)}.header-container{max-width:1100px;gap:20px;min-height:72px}.logo{border:0;background:transparent;color:var(--text-primary);padding:0;min-width:0;flex-shrink:0}.logo-icon,.accent-text{color:var(--primary);filter:none;text-shadow:none}.fa-spin-slow{animation:none!important}.city-badge{background:var(--bg-color);color:var(--text-muted);border:0;box-shadow:none}.nav-links{margin-left:auto;align-items:center;gap:6px}.nav-btn,.light-mode .nav-btn,#nav-game,#nav-chat,#nav-leaderboard{background:transparent!important;border-color:transparent!important;color:var(--text-muted)!important;text-shadow:none!important;box-shadow:none!important;white-space:nowrap}.nav-btn.active,.light-mode .nav-btn.active{background:var(--bg-color)!important;color:var(--primary)!important}.light-mode #nav-game,.light-mode #nav-chat,.light-mode #nav-leaderboard{background:transparent!important;color:var(--text-muted)!important;border-color:transparent!important}.light-mode #nav-game.active,.light-mode #nav-chat.active{background:var(--bg-color)!important;color:var(--primary)!important}body[data-role=team] #nav-leaderboard{display:none!important}#nav-game{order:0}#nav-map{order:1}#nav-chat{order:2}#nav-team{order:3}.settings-menu{position:relative;flex-shrink:0}.settings-menu summary{min-height:44px;min-width:44px;display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;color:var(--text-muted);border-radius:12px}.settings-menu summary::-webkit-details-marker{display:none}.settings-content{position:absolute;right:0;top:54px;width:min(280px,calc(100vw - 32px));display:grid;gap:12px;background:var(--bg-card);padding:20px;border:1px solid var(--border-color);border-radius:16px;box-shadow:0 12px 35px #120c2726}.settings-content select{width:100%}.settings-label{display:none}.team-bar{background:var(--bg-color);border-top:1px solid var(--border-color)}.team-bar,.team-bar span{color:var(--text-primary)}.team-bar-container{max-width:1000px;min-height:42px}#team-players-bar,#bar-team-badges-summary,#edit-team-players-btn{display:none!important}.status-team-name{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}#bar-team-name{color:var(--text-primary)!important;text-shadow:none!important}.app-main{max-width:1000px;padding-top:28px}body[data-role=admin] .app-main,body[data-role=teacher] .app-main{max-width:1200px}.welcome-hero{padding:32px 0 16px;max-width:700px;margin:auto auto 24px}.welcome-hero h1{font-size:clamp(1.8rem,4vw,2.8rem);line-height:1.15;color:var(--text-primary)}.welcome-hero p{color:var(--text-muted);font-size:1.05rem;line-height:1.7}#welcome-active-quiz-badge{background:var(--bg-card)!important;box-shadow:none!important;color:var(--primary)!important;border-color:var(--border-color)!important}#welcome-view.auth-open .welcome-hero{display:none}.role-select-grid{max-width:800px;gap:22px}.role-card{text-align:left;color:var(--text-primary);background:var(--bg-card);border:1px solid var(--border-color);border-radius:20px;padding:28px;box-shadow:none;font-family:var(--font-body)}.role-card:before,.role-card:after{display:none}.role-card:hover{transform:translateY(-3px);border-color:var(--primary);box-shadow:0 8px 30px #6941c610}.role-icon{width:64px;height:64px;display:grid;place-items:center;border-radius:18px;font-size:1.7rem;background:var(--bg-color);color:var(--primary)!important;margin:0 0 24px;filter:none}.role-card h3{font-size:1.45rem;margin-bottom:10px}.role-card p{color:var(--text-muted);font-size:.95rem}.role-action{display:flex;justify-content:space-between;color:var(--primary);font-weight:700;margin-top:24px}.text-button{color:var(--text-muted);border:0;background:transparent;cursor:pointer;min-height:44px;padding:8px}.auth-heading{margin-top:24px;font-size:1.7rem}.auth-intro{color:var(--text-muted);margin:6px 0 22px}.auth-tabs{background:var(--bg-color);border:1px solid var(--border-color)}.auth-tab-btn.active{box-shadow:none;background:var(--bg-card);color:var(--primary)}.form-group label{color:var(--text-primary)}.password-field{display:flex;align-items:stretch;gap:6px}.password-field input{min-width:0;flex:1}.password-toggle{flex:0 0 44px;border:1px solid var(--border-color);color:var(--text-muted);background:var(--bg-card);border-radius:8px;min-height:44px}.inline-feedback{padding:16px;border:1px solid var(--border-color);border-left:4px solid var(--primary);background:var(--bg-color);color:var(--text-primary);border-radius:12px;margin-bottom:16px;overflow-wrap:anywhere}.inline-feedback[data-tone=error]{border-left-color:var(--danger)}.inline-feedback[data-tone=success]{border-left-color:var(--success)}.inline-feedback[data-tone=pending]{border-left-color:var(--warning)}.inline-feedback .btn{margin-top:12px}.page-intro{margin-bottom:24px}.eyebrow{color:var(--primary);font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px}.muted{color:var(--text-muted)}.team-overview{padding:28px;display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}.team-overview strong{font-size:3rem;color:var(--primary)}.team-menu-grid{display:grid;gap:12px;margin-top:20px}.progress-container{padding:16px 20px}.progress-text-row{font-size:.9rem}.checkpoint-dots{display:flex;flex-wrap:wrap;gap:8px}.checkpoint-dot{width:44px;height:44px;min-width:44px;font-family:inherit}.timer-row{flex-wrap:wrap;gap:4px 16px}body.light-mode #station-timer,body.light-mode #game-timer{color:var(--text-primary)!important}#active-quest-container{display:flex!important;flex-direction:column;gap:18px}#active-quest-container[style*="display: none"]{display:none!important}#active-quest-container>.card{margin-bottom:0}.journey-card{order:0;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px;border-left:4px solid var(--primary)}.journey-card h2{font-size:1.6rem}.journey-card p:not(.eyebrow){color:var(--text-muted);margin-top:6px}.journey-card .btn{flex-shrink:0}.journey-card,.map-card{scroll-margin-top:130px}[data-stage=solved] .question-text{display:none}.map-card{order:1}.quest-card{order:2}.question-card{order:3;scroll-margin-top:130px}[data-stage=arrived] .question-card,[data-stage=solved] .question-card,[data-stage=pending] .question-card{order:1}[data-stage=arrived] .map-card,[data-stage=solved] .map-card,[data-stage=pending] .map-card{order:3}body[data-route=map] .map-card{order:1!important}body[data-route=map] .question-card{order:3}.question-lock-overlay{position:static;background:var(--bg-card);padding:24px;backdrop-filter:none}.question-lock-overlay .fa-3x{font-size:1.5rem;color:var(--text-muted)}.question-card.is-locked>.card-header,.question-card.is-locked>.question-body{display:none}.leaflet-map-container{height:320px}.leaflet-container .leaflet-control-attribution{background:#fff;color:#333;font-size:11px;line-height:1.5}.leaflet-container .leaflet-control-attribution a{color:#145a84}.map-actions-row{display:flex;flex-wrap:wrap;gap:8px}.map-actions-row .btn{flex:1 1 auto}.map-details{margin:0 16px 16px;border-top:1px solid var(--border-color)}.map-details summary{padding:12px 0;cursor:pointer;color:var(--text-muted)}.map-details .map-actions-row{padding:0 0 12px}.geo-status-box{border-color:var(--border-color);background:var(--bg-color)}.geo-status-error{color:var(--text-primary)}.question-text{font-size:1.15rem}.mc-option-card{min-height:52px;text-align:left;color:var(--text-primary);background:var(--bg-card);border-color:var(--border-color)}.mc-option-card.selected{border-color:var(--primary);background:var(--bg-color)}.admin-phases,.wizard-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px}.admin-phases button,.wizard-steps button{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;color:var(--text-muted);min-height:48px;cursor:pointer;font-weight:600;padding:10px}.admin-phases button.active,.wizard-steps button.active{background:var(--primary);border-color:var(--primary);color:#fff}.admin-phase-intro{color:var(--text-muted);margin:16px 0}.admin-tabs{background:transparent;border:0;padding:0;flex-wrap:wrap;white-space:normal;gap:8px}.admin-tab-btn{flex:0 1 auto;border:1px solid var(--border-color);background:var(--bg-card)}.admin-tab-btn.active{color:var(--primary);box-shadow:none;border-color:var(--primary)}.summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:20px}.summary-item{background:var(--bg-card);border:1px solid var(--border-color);border-radius:14px;padding:16px}.summary-item strong{display:block;font-size:1.8rem;color:var(--primary)}.summary-item span{color:var(--text-muted);font-size:.9rem}.results-list{padding:20px;display:grid;gap:10px}.result-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px;background:var(--bg-color);border-radius:12px}.result-row p{color:var(--text-muted);font-size:.9rem}.wizard-preview{background:var(--bg-color);border-radius:14px;padding:20px;margin-bottom:20px}.wizard-preview ol{margin:16px 0 0 24px}.wizard-preview li{margin-bottom:12px}#admin-quiz-form details summary{min-height:44px;padding:8px 0;cursor:pointer;color:var(--primary);font-weight:600}.form-actions{flex-wrap:wrap}#quiz-wizard-help{margin:12px 0 24px}.sync-banner{max-width:1000px;margin:12px auto 0;padding:12px 16px;background:var(--bg-card);border:1px solid var(--border-color);border-left:4px solid var(--warning);border-radius:12px;display:flex;align-items:center;flex-wrap:wrap;gap:12px}.sync-banner[data-state=success]{border-left-color:var(--success)}.sync-banner span{flex:1}.modal{z-index:5000}.modal-content{max-height:calc(100dvh - 40px);overflow-y:auto}.modal-close{min-width:44px;min-height:44px}body.light-mode .admin-team-actions .btn,body.light-mode .view-mode-btn{color:var(--text-primary)}body.light-mode .admin-team-actions .btn-danger{color:var(--danger)}body.light-mode .admin-teams-table td{border-color:var(--border-color)}body.light-mode #admin-chat-tab>div>.card,body.light-mode #game-chat-card{background:var(--bg-card)!important}body.light-mode footer{background:var(--bg-card)!important;color:var(--text-muted);border-top:1px solid var(--border-color)!important}#admin-logout-btn{background:var(--bg-card);color:var(--text-primary);border:1px solid var(--border-color)}@media(max-width:850px){body[data-role=admin] #nav-leaderboard,body[data-role=teacher] #nav-leaderboard{display:none!important}body[data-role=team]{padding-bottom:calc(86px + env(safe-area-inset-bottom))}body[data-role=team] .nav-links{position:fixed;bottom:0;left:0;right:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);padding:8px 8px calc(8px + env(safe-area-inset-bottom));border-top:1px solid var(--border-color);background:var(--bg-card);z-index:1200}body[data-role=team] .nav-btn{flex-direction:column;gap:4px;font-size:.75rem;min-height:52px;justify-content:center}body[data-role=team] .nav-btn i{font-size:1.2rem}.header-container{gap:8px;min-height:64px}.logo{font-size:1.1rem}.city-badge{display:none!important}.settings-menu{margin-left:auto}.nav-btn{font-size:.85rem;padding:8px}.app-main{padding:20px 16px}.journey-card{flex-direction:column;align-items:stretch;padding:20px;gap:16px}.journey-card .btn{width:100%}.photo-approval-row{grid-template-columns:1fr!important}.photo-approval-row>div{width:auto!important}.photo-approval-row>div:first-child{flex-wrap:wrap}.admin-header-row{align-items:flex-start}.admin-phases button{font-size:.83rem;padding:10px 4px}.admin-teams-table thead{display:none}.admin-teams-table,.admin-teams-table tbody,.admin-teams-table tr,.admin-teams-table td{display:block;width:100%}.admin-teams-table tr{padding:16px;border-bottom:1px solid var(--border-color)}.admin-teams-table td{border:0;padding:5px 0}.admin-teams-table td[data-label]:before{content:attr(data-label) ": ";color:var(--text-muted);font-size:.85rem}.admin-team-actions{flex-wrap:wrap}.summary-grid{gap:6px}.summary-item{padding:12px}.summary-item span{font-size:.78rem}.summary-item strong{font-size:1.5rem}.wizard-steps button{font-size:.8rem;padding:8px 3px}#game-chat-card{min-height:360px!important;height:calc(100dvh - 230px)!important}}@media(max-width:420px){.logo{font-size:.95rem;gap:5px}.header-container{padding:8px 12px}.nav-btn{font-size:.8rem;padding:6px}body:not([data-role=team]) .header-container .nav-btn i{display:none}.role-card{padding:24px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}#student-header-score{display:none}body[data-role=team] #student-header-score{display:inline-flex;align-items:center;gap:4px;font-size:.8rem;color:var(--primary);white-space:nowrap;margin-left:auto}body[data-role=team] #team-status-bar{display:none!important}body[data-role=team] .settings-menu{margin-left:0}body[data-role=team] .app-main{max-width:680px;margin-top:0;padding:16px}body[data-role=team] footer{display:none}body[data-role=team] .card{padding:16px}body[data-role=team] .progress-container{padding:0 12px;margin-bottom:12px;background:transparent;box-shadow:none}.progress-container>summary{display:flex;align-items:center;gap:8px;min-height:44px;cursor:pointer}.progress-container>summary{margin-bottom:0}.progress-container>summary::-webkit-details-marker,#station-details>summary::-webkit-details-marker{display:none}.progress-container>summary>i{font-size:.7rem}.progress-container[open]>summary>i,#station-details[open]>summary>i{transform:rotate(180deg)}.progress-container .progress-pct{margin-left:auto;border:1px dashed var(--success);border-radius:50%;padding:4px 9px;color:var(--success);font-size:.75rem}.progress-container[open]{padding-bottom:12px!important}.progress-container .progress-bar-track{margin:0 0 14px;height:4px}.checkpoint-dots,.station-stamps{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,110px),1fr));gap:14px;padding:5px}.station-stamp{--stamp-ink: #245aaa;--stamp-angle: -6deg;display:block;width:var(--seal-width, 92%);max-width:var(--seal-max, 132px);min-width:0;padding:0;justify-self:center;border:0;border-radius:50%;background:transparent;color:var(--stamp-ink);font-family:var(--font-body);text-align:center;cursor:pointer}.station-stamp:nth-child(2n){--stamp-ink: #b12f59;--stamp-angle: 5deg}.station-stamp:nth-child(3n){--stamp-angle: -3deg}.stamp-face{display:grid;position:relative;width:100%;aspect-ratio:1;grid-template-rows:20% 15% 30% 15% 20%;justify-items:center;align-items:center;transform:rotate(var(--stamp-angle))}.stamp-art{position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.22}.stamp-art svg{display:block;width:100%;height:100%;overflow:visible}.station-stamp.earned .stamp-art{opacity:.8}.station-stamp:not(.earned){color:var(--text-muted)}.station-stamp:not(.earned) .stamp-face{transform:none}.station-stamp:not(.earned) .stamp-face:before{content:"";position:absolute;inset:7%;border:1.5px dashed currentColor;border-radius:50%;opacity:.5;pointer-events:none}.station-stamp.pending .stamp-status-symbol{color:var(--warning)}.station-stamp.newly-earned .stamp-face{animation:stamp-impress .3s ease-out}@keyframes stamp-impress{0%{opacity:.2;transform:rotate(var(--stamp-angle)) scale(1.2)}65%{opacity:1;transform:rotate(var(--stamp-angle)) scale(.96)}to{transform:rotate(var(--stamp-angle)) scale(1)}}.station-stamp[aria-current=step]{outline:2px solid var(--primary);outline-offset:3px}.station-stamp:focus-visible{outline:3px solid var(--primary);outline-offset:3px}.stamp-number{grid-row:var(--seal-number-row, 2);font-size:var(--seal-number-size, 10px);font-weight:800;line-height:1.2;text-transform:uppercase;letter-spacing:.07em}.stamp-title{display:var(--seal-detail-display, block);grid-row:3;z-index:1;width:94%;font-size:12px;font-weight:750;line-height:1.18;overflow-wrap:anywhere;hyphens:auto}.stamp-word,.stamp-status-label{display:var(--seal-detail-display, inline)}.stamp-status-symbol{display:var(--seal-symbol-display, none);font-size:11px}.stamp-number,.stamp-status{position:relative;z-index:1}.stamp-status{grid-row:4;font-size:9px;font-weight:800;line-height:1.2;text-transform:uppercase;letter-spacing:.04em}.stamp-caption{display:var(--seal-detail-display, block);color:var(--text-primary);font-size:12px;font-weight:600;line-height:1.3;margin-top:5px;overflow-wrap:anywhere}.station-stamp.has-caption{border-radius:12px}.station-stamp.has-caption .stamp-title{font-size:24px}body:not(.light-mode) .station-stamp{--stamp-ink: #8bb9ff}body:not(.light-mode) .station-stamp:nth-child(2n){--stamp-ink: #ffa0bd}.team-passport{margin-top:16px}.team-passport h2{font-size:1.15rem;margin-bottom:18px}#finish-stamps{margin-bottom:20px}.station-stamp[role=img]{cursor:default}body[data-role=team] #active-quest-container{gap:12px}body[data-role=team] .journey-card{display:grid;grid-template-columns:minmax(0,1fr) auto;border:0;padding:0 2px;background:transparent;box-shadow:none;gap:10px}.journey-card h2{font-size:1.5rem;line-height:1.15;overflow-wrap:anywhere}.journey-card .eyebrow{font-size:.7rem;margin-bottom:4px}.journey-card #journey-description{font-size:.85rem;line-height:1.35}.journey-card .btn{grid-column:1 / -1;min-height:48px;margin:0}.earned-stamp{--stamp-angle: -8deg;position:relative;width:62px;height:62px;border-radius:50%;color:#245aaa;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:2px;transform:rotate(var(--stamp-angle))}.earned-stamp>span:not(.stamp-art){position:relative;z-index:1;font-size:9px;font-weight:700;text-transform:uppercase}.earned-stamp .stamp-art{opacity:.8}body:not(.light-mode) .earned-stamp{color:#8bb9ff}body[data-route=game] [data-stage=arrived] #journey-action,body[data-route=game] [data-stage=travel] #journey-action,body[data-route=map] [data-stage=travel] #journey-action{display:none}body[data-route=game] #active-quest-container:not([data-stage=travel]) .map-card{display:none}body[data-route=map] #question-card,#active-quest-container[data-stage=travel] #question-card{display:none}#active-quest-container[data-stage=travel] #question-card:has(#bypass-gps-btn:not([hidden])){display:block}body[data-role=team] #station-details{padding:0 14px;order:4}#station-details>summary{min-height:44px;display:flex;align-items:center;justify-content:space-between;cursor:pointer;color:var(--text-muted);font-size:.85rem;gap:8px}#station-details .quest-header{display:none}#station-details .quest-body{padding:10px 0 14px}body[data-role=team] .question-card>.card-header{display:none}body[data-role=team] .question-text{font-size:1rem;font-weight:600;line-height:1.4;color:var(--text-primary);background:transparent;border:0;padding:0;margin:0 0 10px;white-space:pre-wrap;overflow-wrap:anywhere}body[data-role=team] #quest-attempts-status{border:0!important;background:transparent!important;padding:0!important;margin-bottom:10px!important;color:var(--text-muted);font-size:.8rem!important}body[data-role=team] #quest-options-container{margin-bottom:10px!important;gap:8px!important}body[data-role=team] #quest-options-container.short-options:not([style*="display: none"]){display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}body[data-role=team] .mc-option-card{min-height:52px;padding:12px;border:2px solid var(--border-color);border-radius:10px}body[data-role=team] .mc-option-card.selected{border-color:var(--primary)}.mc-option-text{overflow-wrap:anywhere}.short-options .mc-option-indicator{display:none}.short-options .mc-option-card{justify-content:center;text-align:center}body[data-role=team] .answer-actions{display:flex;flex-direction:column;gap:4px}body[data-role=team] #quest-submit-btn{order:-1;width:100%;min-height:52px;padding:12px;font-size:1rem}body[data-role=team] #quest-hint-btn{min-height:44px;border:0;background:transparent;font-size:.85rem;color:var(--text-muted);padding:6px}body[data-role=team] #answer-form .form-group{margin-bottom:10px}body[data-role=team] #answer-form input[type=text]{min-height:48px}body[data-role=team] .inline-feedback{padding:10px 12px;margin-bottom:10px;font-size:.9rem}body[data-role=team] .hint-box{color:var(--text-primary);margin-top:6px}body[data-role=team] .question-body:has(#quest-feedback:not([hidden])) #quest-solved-msg,body[data-role=team] .question-body:has(#quest-feedback:not([hidden])) #quest-photo-pending-msg{display:none!important}body[data-role=team] #quest-photo-container{margin-bottom:10px!important}body[data-role=team] #quest-photo-preview{max-height:110px!important}body[data-role=team] #quest-photo-preview-box{margin-bottom:4px!important}body[data-role=team] .map-card{padding:0;overflow:hidden}body[data-role=team] .map-card>.card-header{display:none}body[data-role=team] .leaflet-map-container{height:clamp(160px,calc(100dvh - 390px),420px);border-radius:0}body[data-role=team] .map-card .geo-status-box{padding:10px 12px;margin:0;border:0;border-radius:0;font-size:.8rem}body[data-role=team] #geo-bearing-container{display:none!important}body[data-role=team] .map-card>.map-actions-row{padding:0 10px 8px}body[data-role=team] .map-details{margin-bottom:0}body[data-role=team] .map-details summary{font-size:.8rem;min-height:44px}@media(max-width:850px){body[data-role=team] .header-container{min-height:52px;padding:4px 14px}body[data-role=team] .team-bar-container{min-height:28px}body[data-role=team] .status-team-name{min-width:0}body[data-role=team] .status-team-score{flex-shrink:0}body[data-role=team] #bar-team-name{display:block;overflow:hidden;text-overflow:ellipsis}body[data-role=team] .app-main{padding:10px 12px}body[data-role=team] .nav-links{padding-top:5px;padding-bottom:calc(5px + env(safe-area-inset-bottom))}body[data-role=team] .nav-btn{min-height:48px}body[data-role=team]{padding-bottom:calc(68px + env(safe-area-inset-bottom))}body[data-role=team] .journey-card,body[data-role=team] .question-card{scroll-margin-top:94px}}@media(max-width:850px)and (max-height:700px){body[data-role=team] .card{padding:12px}body[data-role=team] #active-quest-container{gap:8px}body[data-role=team] .progress-container{margin-bottom:8px}body[data-role=team] .progress-container{padding:0 10px}body[data-role=team] .journey-card{padding:0 2px}body[data-role=team] .map-card{padding:0}body[data-role=team] .app-main{padding-top:8px;padding-bottom:4px}body[data-role=team] .answer-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px}body[data-role=team] #quest-hint-btn{font-size:.75rem;padding:6px}body[data-role=team] .journey-card h2{font-size:1.3rem}body[data-role=team] .question-text{font-size:1rem;line-height:1.35}body[data-role=team] .mc-option-card{min-height:48px;padding:8px}}body[data-role=team] .progress-container{padding:0 4px;border:0}body[data-role=team] .progress-container.card{padding:0 2px}.station-route-row{display:flex;gap:4px;align-items:flex-start}.station-stamps--compact{--seal-width:100%;--seal-max:60px;--seal-number-row:3;--seal-number-size:15px;--seal-detail-display:none;--seal-symbol-display:block;grid-template-columns:repeat(10,minmax(0,1fr));gap:6px 2px;padding:3px;flex:1;min-width:0}.station-stamps--compact .station-stamp{min-height:44px;border-radius:50%}.station-stamps--compact .station-stamp[aria-current=step]{outline-offset:0}@media(max-width:850px){.station-stamps{--seal-width:100%;--seal-max:64px;--seal-number-row:3;--seal-number-size:15px;--seal-detail-display:none;--seal-symbol-display:block;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px 2px;padding:3px}.station-stamps .station-stamp{min-height:44px;border-radius:50%}.station-stamps .station-stamp[aria-current=step]{outline-offset:0}}#progress-details-toggle{flex:0 0 44px;height:44px;border:1px solid var(--border-color);border-radius:10px;background:var(--bg-card);color:var(--text-muted);cursor:pointer}#progress-details-toggle[aria-expanded=true]{color:var(--primary);border-color:var(--primary)}#progress-details{padding:10px 8px}.settings-content{max-height:calc(100dvh - 80px);overflow-y:auto}.theme-picker{border:0;padding:0;min-width:0;margin:0}.theme-picker legend{font-weight:600;font-size:.9rem;margin-bottom:10px}.theme-options{display:grid;grid-template-columns:1fr 1fr;gap:8px}.theme-options button{display:flex;align-items:center;gap:8px;min-height:46px;border-radius:9px;border:1px solid var(--border-color);padding:8px;background:var(--bg-card);color:var(--text-primary);font-size:.85rem;cursor:pointer}.theme-options button[aria-pressed=true]{border:2px solid var(--primary);padding:7px;font-weight:700}.theme-swatch{width:22px;height:22px;border-radius:50%;flex-shrink:0;border:1px solid var(--border-color)}.swatch-light{background:linear-gradient(135deg,#f6f5fa 50%,#6941c6 50%)}.swatch-dark{background:linear-gradient(135deg,#201a30 50%,#b89aff 50%)}.swatch-forest{background:linear-gradient(135deg,#162b22 50%,#64d8a0 50%)}.swatch-ocean{background:linear-gradient(135deg,#142a38 50%,#67c8f2 50%)}.swatch-sunset{background:linear-gradient(135deg,#35231f 50%,#ffb078 50%)}.swatch-sand{background:linear-gradient(135deg,#f7f0e2 50%,#805322 50%)}body[data-theme=dark]{--bg-color:#14111d;--bg-card:#211c2d;--bg-card-hover:#2a2338;--text-primary:#f5f1ff;--text-secondary:#dbd2e9;--text-muted:#b9aecb;--primary:#b89aff;--accent:#b89aff;--on-primary:#251447;--border-color:#514660;--success:#7adcaf;--warning:#f5c46e}body[data-theme=forest]{--bg-color:#101f19;--bg-card:#192e24;--bg-card-hover:#223c30;--text-primary:#effaf3;--text-secondary:#c9e5d5;--text-muted:#aec8b8;--primary:#64d8a0;--accent:#64d8a0;--on-primary:#0b2f20;--border-color:#456453;--success:#86e9b8;--warning:#f2cd80}body[data-theme=ocean]{--bg-color:#10202c;--bg-card:#192f3f;--bg-card-hover:#233d50;--text-primary:#f0f8ff;--text-secondary:#c6dfed;--text-muted:#b0c6d7;--primary:#67c8f2;--accent:#67c8f2;--on-primary:#052c40;--border-color:#466078;--success:#78e4bd;--warning:#f4d087}body[data-theme=sunset]{--bg-color:#251917;--bg-card:#382621;--bg-card-hover:#493029;--text-primary:#fff5ef;--text-secondary:#f4d8c6;--text-muted:#d4b4a5;--primary:#ffb078;--accent:#ffb078;--on-primary:#44250a;--border-color:#755346;--success:#9ae4b4;--warning:#ffdc8c}body[data-theme=sand]{--bg-color:#f7f0e2;--bg-card:#fffcf5;--bg-card-hover:#f4ead6;--text-primary:#3d3020;--text-secondary:#59462e;--text-muted:#75644a;--primary:#805322;--accent:#805322;--on-primary:#fff;--border-color:#d6c5a5;--success:#326747;--warning:#875200}body[data-theme=light]{--on-primary:#fff}.btn-primary,.admin-phases button.active,.wizard-steps button.active{color:var(--on-primary, white)}#station-timer,#game-timer{color:var(--text-primary)!important}@media(max-width:850px)and (max-height:700px){body[data-role=team] .progress-container{margin-bottom:4px}}:is(#team-players-modal,#avatar-editor-modal){padding:12px}:is(#team-players-modal,#avatar-editor-modal) .modal-dialog{margin:0!important}:is(#team-players-modal,#avatar-editor-modal) .modal-content{display:flex;flex-direction:column;max-height:calc(100dvh - 24px);overflow:hidden;background:var(--bg-card)!important;color:var(--text-primary);border:1px solid var(--border-color)!important;box-shadow:0 12px 48px #0004!important}:is(#team-players-modal,#avatar-editor-modal) .modal-header{flex-shrink:0;padding:6px 12px;border-color:var(--border-color)}:is(#team-players-modal,#avatar-editor-modal) .modal-header h3{font-size:1.05rem;color:var(--text-primary)}:is(#team-players-modal,#avatar-editor-modal) .modal-close{min-width:44px;min-height:44px}:is(#team-players-modal,#avatar-editor-modal) .modal-body{min-height:0;max-height:none!important;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;padding:12px!important;gap:10px!important}:is(#team-players-modal,#avatar-editor-modal) :is(input:not([type=file]),select){min-width:0;min-height:44px;background:var(--bg-color)!important;color:var(--text-primary)!important;border:1px solid var(--border-color)!important}:is(#team-players-modal,#avatar-editor-modal) .btn-accent{background:var(--primary);color:var(--on-primary, white);border:1px solid var(--primary)}:is(#team-players-modal,#avatar-editor-modal) .btn{justify-content:center;box-shadow:none}#team-players-modal .form-group{margin-bottom:12px}#team-players-modal .form-group>label{font-size:.85rem;margin-bottom:6px}.team-logo-section{border-bottom:1px solid var(--border-color);padding-bottom:12px}.team-logo-controls{display:flex;align-items:center;gap:10px}.team-logo-actions{flex:1;min-width:0}.avatar-upload-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}#team-players-modal .avatar-upload-actions .btn{padding:6px;font-size:.75rem;margin:0}#team-players-modal :is(.team-logo-preview-container,.player-avatar-preview-container){background:var(--bg-color)!important}#team-players-modal .team-logo-preview-container{width:44px!important;height:44px!important}#team-players-modal .player-edit-row{background:var(--bg-color)!important;border-color:var(--border-color)!important;padding:8px!important;gap:6px!important;margin-bottom:0!important}#team-players-modal .player-edit-row>div{min-width:0}#team-players-modal .player-edit-row>div:last-child{gap:6px!important;margin-top:0!important}#team-players-modal .player-edit-row>div:last-child>div:last-child{flex:1;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px!important}#team-players-modal .player-edit-row .btn{padding:6px!important}#team-players-modal .remove-player-field-btn{min-width:44px}.team-achievements{border-top:1px solid var(--border-color);margin:8px 0}.team-achievements summary{min-height:44px;align-content:center;cursor:pointer;color:var(--text-secondary);font-size:.85rem}#team-badges-container{grid-template-columns:repeat(auto-fit,minmax(110px,1fr))!important}#team-players-modal .badge-card{background:var(--bg-color);border-color:var(--border-color);box-shadow:none}#team-players-modal .badge-card.locked{opacity:1;filter:none;border-style:dashed}#team-players-modal .badge-title{color:var(--text-primary)}#team-players-modal .badge-icon-wrapper{background:var(--bg-card);color:var(--text-muted);border-color:var(--border-color)}#team-players-modal .badge-card.unlocked .badge-icon-wrapper{color:var(--success)}.team-password-confirm{padding-top:8px;border-top:1px solid var(--border-color)}.team-save-actions,.avatar-save-actions{position:sticky;bottom:-12px;background:var(--bg-card);padding:10px 0;margin:0;z-index:2;border-top:1px solid var(--border-color)}.avatar-save-actions{display:flex;gap:8px;width:100%;flex-shrink:0}.avatar-preview-panel{width:100%;display:grid;grid-template-columns:84px minmax(0,1fr);align-items:center;gap:10px;padding-bottom:10px;border-bottom:1px solid var(--border-color)}.avatar-style-tabs{grid-column:1 / -1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}#avatar-editor-modal .avatar-style-tabs .btn{padding:5px 2px!important;font-size:.7rem!important;gap:3px}#avatar-editor-modal .avatar-style-tabs .active{background:var(--primary);color:var(--on-primary, white);border-color:var(--primary)}.avatar-canvas-frame{width:84px;height:84px;border-radius:50%;background:var(--bg-color);border:2px solid var(--primary);overflow:hidden}#avatar-editor-canvas{width:80px!important;height:80px!important}.avatar-seed-controls{min-width:0;margin:0}.avatar-seed-controls label{font-size:.8rem}.avatar-seed-controls>div{flex-wrap:wrap;gap:5px!important}.avatar-seed-controls input{width:100%;flex-basis:100%!important}#avatar-editor-modal .avatar-editor-color-btn{min-height:36px;border-color:var(--border-color)!important;box-shadow:none!important;transform:none!important}#avatar-editor-modal .avatar-editor-color-btn.active{outline:2px solid var(--primary);outline-offset:2px}#avatar-options-container>div>div{grid-template-columns:repeat(auto-fit,minmax(36px,1fr))!important}#avatar-options-container{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:10px!important}#avatar-options-container>div{min-width:0}#avatar-options-container>div:has(.avatar-editor-color-btn),#avatar-options-container>div:not(:has(select)){grid-column:1 / -1}@media(max-width:380px){#team-players-modal .avatar-upload-actions .btn{display:flex;flex-direction:column;gap:2px}#avatar-editor-modal .avatar-style-tabs .btn{flex-direction:column}}body[data-role=team] #active-quest-container{gap:8px}body[data-role=team] .answer-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px}body[data-role=team] #quest-hint-btn{font-size:.8rem;padding:6px 8px}body[data-role=team] #quest-submit-btn{min-width:0;padding:8px 10px}body[data-role=team] #station-details{padding:0 12px}#station-details .quest-body{padding:0 0 10px}#station-details .quest-clue{font-size:.9rem;line-height:1.4;font-style:normal;margin:0}#station-details>summary{font-size:.8rem}#station-details[open]>summary>i{transform:rotate(180deg)}body[data-role=team] .leaflet-map-container{margin-bottom:0}body[data-role=team] .geo-status-ready{flex-direction:row;flex-wrap:wrap;gap:4px 12px}body[data-role=team] .page-intro{margin-bottom:12px}body[data-role=team] .team-overview{gap:6px;padding:10px 14px}body[data-role=team] .team-overview>span:first-child{margin-right:auto}body[data-role=team] .team-overview strong{font-size:1.6rem;line-height:1.2}body[data-role=team] .team-passport{margin-top:10px}body[data-role=team] .team-passport h2{margin-bottom:10px}body[data-role=team] .team-menu-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}body[data-role=team] #team-profile-btn{grid-column:1 / -1}body[data-role=team] .team-menu-grid .btn{padding:8px;font-size:.85rem}@media(max-width:850px){body[data-role=team] .card{padding:12px}body[data-role=team] .journey-card{padding:0 2px;gap:6px}body[data-role=team] .journey-card h2{font-size:1.25rem}body[data-role=team] .journey-card #journey-description{font-size:.8rem;line-height:1.35}body[data-role=team] .map-card{padding:0}body[data-route=game] .leaflet-map-container{height:clamp(160px,28dvh,240px)}#station-details #quest-image-container{height:140px!important;margin-bottom:8px!important}#station-details #quest-gallery-container,#station-details #quest-audio-container{margin-bottom:8px!important}}@media(min-width:480px){#station-details .quest-body:has(#quest-image-container:not([style*="display: none"])){display:flow-root}#station-details #quest-image-container{float:left;width:140px;height:110px!important;margin:0 12px 6px 0!important}#station-details #quest-gallery-container,#station-details #quest-audio-container,#station-details #quest-desc-container{clear:both}}.journey-card #check-location-btn{grid-column:2;grid-row:1;align-self:center;width:auto;min-height:44px;padding:8px 10px;gap:6px;font-size:.75rem;line-height:1.2}#active-quest-container[data-stage=solved] #check-location-btn,#active-quest-container[data-stage=pending] #check-location-btn{display:none}#refresh-gps-btn.map-gps-control{position:absolute;right:10px;bottom:28px;z-index:1000;width:44px;height:44px;min-height:44px;padding:0;border-radius:50%;background:var(--bg-card);color:var(--primary);border:1px solid var(--border-color);box-shadow:0 2px 8px #0003!important;font-size:1.2rem}body[data-route=game] .map-card{display:none!important}body[data-route=game] [data-stage=travel] #journey-action{display:inline-flex}body[data-route=game] [data-stage=travel] #station-details{order:1}body[data-route=game] #geo-status-container{order:2}body[data-route=game] #active-quest-container:not([data-stage=travel]) #geo-status-container,body[data-route=game] #geo-status-container:not(:has(.geo-status-error[style*="display: block"])){display:none}body[data-route=map] .progress-container,body[data-route=map] #station-details,body[data-route=map] #question-card,body[data-route=map] #check-location-btn,body[data-route=map] #journey-stamp,body[data-route=map] #journey-description{display:none!important}body[data-route=map] #journey-action{display:inline-flex!important;grid-column:2;grid-row:1;width:auto;min-height:44px;padding:8px 12px;font-size:.8rem}body[data-route=map] #quest-map:not(.fullscreen){height:clamp(280px,calc(100dvh - 250px),700px)}#active-quest-container>#geo-status-container{order:2;padding:8px 12px;margin:0;border-radius:12px;font-size:.8rem}body[data-route=map] #active-quest-container{gap:8px}#map-show-all-btn.map-overview-control{position:absolute;top:10px;right:10px;z-index:1000;width:44px;height:44px;min-height:44px;padding:4px;display:flex;flex-direction:column;gap:1px;border-radius:10px;background:var(--bg-card);color:var(--primary);border:1px solid var(--border-color);box-shadow:0 2px 8px #0003!important}#map-show-all-btn i{font-size:16px}#map-show-all-btn span{font-size:10px;line-height:1}#map-fullscreen-btn,#map-close-fullscreen-btn{top:62px!important;right:10px!important;width:44px;height:44px;padding:0!important;background:var(--bg-card)!important;color:var(--primary)!important;border:1px solid var(--border-color)!important;box-shadow:0 2px 8px #0003!important}#avatar-editor-modal .avatar-studio-dialog{max-width:640px;width:100%}#avatar-editor-modal .modal-content{height:min(780px,calc(100dvh - 24px))}#avatar-editor-modal .avatar-studio{display:flex;flex-direction:column;align-items:stretch;flex:1;overflow:hidden;padding:12px!important}.avatar-studio-preview{display:flex;align-items:center;gap:18px;flex-shrink:0;padding:8px 14px;border-radius:18px;background:linear-gradient(125deg,var(--bg-color),var(--bg-card));border:1px solid var(--border-color)}.avatar-studio-frame{padding:5px;border-radius:50%;background:var(--bg-card);box-shadow:0 3px 16px #0001}#avatar-editor-modal #avatar-editor-canvas{width:118px!important;height:118px!important;border-radius:50%;display:block}.avatar-studio-tools{display:grid;gap:6px;min-width:0}#avatar-style-name{font-size:.8rem;font-weight:700;margin:0}.avatar-history-actions{display:flex;gap:6px}.avatar-history-actions button{width:44px;height:44px;padding:0}#avatar-randomize-btn{min-height:44px;padding:6px 10px;font-size:.8rem}#avatar-categories,.avatar-field-tabs{display:flex;gap:5px;overflow-x:auto;flex-shrink:0;padding:2px}#avatar-editor-modal .avatar-choice{background:var(--bg-card);color:var(--text-primary);border:1px solid var(--border-color);border-radius:12px;min-height:44px;cursor:pointer;font:inherit;padding:6px}#avatar-editor-modal .avatar-choice[aria-pressed=true]{border:2px solid var(--primary);background:var(--bg-color)}#avatar-categories .avatar-choice,.avatar-field-tabs .avatar-choice{flex-shrink:0;font-size:.8rem;padding:8px 10px}#avatar-editor-modal #avatar-options-container{display:block!important;overflow-y:auto;min-height:0;flex:1;padding:3px;overscroll-behavior:contain}#avatar-editor-modal #avatar-options-container .avatar-tile-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:8px}.avatar-tile-grid .avatar-choice{display:flex;flex-direction:column;align-items:center;gap:5px;min-width:0}.avatar-tile-grid img{display:block;width:100%;aspect-ratio:1;border-radius:50%;background:var(--bg-color)}.avatar-tile-grid span{font-size:.72rem;line-height:1.2;overflow-wrap:anywhere}#avatar-editor-modal .avatar-lock,#avatar-editor-modal .avatar-wide-action{font-size:.75rem;margin:6px 0 10px;padding:6px 10px}#avatar-editor-modal .avatar-save-actions{position:static;padding:10px 12px;margin:0;flex-shrink:0}#avatar-editor-modal .avatar-save-actions button{flex:1;min-height:44px}#avatar-editor-error{font-size:.8rem;color:var(--danger);margin:0}#avatar-initials-text{display:block;width:100%;margin:6px 0}@media(max-width:500px){#avatar-editor-modal #avatar-options-container .avatar-tile-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}#avatar-editor-modal #avatar-editor-canvas{width:88px!important;height:88px!important}.avatar-studio-preview{padding:6px;gap:12px}.avatar-studio-tools{grid-template-columns:1fr auto;gap:5px}#avatar-style-name{grid-column:1 / -1;font-size:.7rem}#avatar-randomize-btn{grid-column:1 / -1}}body[data-theme=passport]{--bg-color:#f4efe4;--bg-card:#fffdf6;--bg-card-hover:#eee6d5;--text-primary:#1d3048;--text-secondary:#3f4c5a;--text-muted:#63635f;--primary:#25476b;--accent:#893b4d;--on-primary:#fff;--border-color:#d7cbb8;--success:#32654e;--warning:#895516;--danger:#a52f43}body[data-theme=atlas]{--bg-color:#edf2e9;--bg-card:#fffdf5;--bg-card-hover:#e3ece4;--text-primary:#263f3e;--text-secondary:#405653;--text-muted:#626957;--primary:#246b69;--accent:#a45035;--on-primary:#fff;--border-color:#c7d3c4;--success:#386944;--warning:#8c581e;--danger:#ac3f35}.swatch-passport{background:linear-gradient(135deg,#f4efe4 35%,#25476b 36% 70%,#893b4d 71%)}.swatch-atlas{background:linear-gradient(135deg,#edf2e9 35%,#246b69 36% 70%,#a45035 71%)}#chat-view .section-title{margin-bottom:12px}#chat-view .section-title h2{color:var(--text-primary);font-size:1.3rem}#chat-view .section-title p{color:var(--text-muted);font-size:.85rem}#game-chat-card{height:clamp(280px,calc(100dvh - 255px),780px)!important;min-height:0!important;padding:12px;overflow:hidden}#game-chat-card .card-header{padding:0 0 8px!important;margin:0!important}#chat-messages-box,#teacher-chat-messages-box{background:var(--bg-color)!important;border-radius:12px 12px 0 0;color:var(--text-primary)}#chat-send-form,#teacher-chat-send-form{background:var(--bg-card)!important;border-color:var(--border-color)!important;padding:8px 0 0!important;flex-shrink:0}#chat-input,#teacher-chat-input{background:var(--bg-color)!important;color:var(--text-primary)!important;border-color:var(--border-color)!important;min-width:0;min-height:44px}#chat-input::placeholder,#teacher-chat-input::placeholder{color:var(--text-muted)}#chat-chan-public-btn.active,#chat-chan-private-btn.active{background:var(--primary);color:var(--on-primary,white);border-color:var(--primary)}.chat-bubble{background:var(--bg-card)!important;color:var(--text-primary)!important;border:1px solid var(--border-color)!important}.chat-bubble.own{border-color:var(--primary)!important}.chat-bubble.teacher{border-left:3px solid var(--accent)!important}.chat-bubble.emoji-only{background:transparent!important;border:0!important}.emoji-picker-container{background:var(--bg-card)!important;color:var(--text-primary);border-color:var(--border-color)!important;max-width:calc(100vw - 48px)}@media(max-width:500px){#game-chat-card{padding:8px}#chat-chan-public-btn,#chat-chan-private-btn{font-size:.75rem;padding:8px 4px}}#avatar-categories,.avatar-field-tabs{scrollbar-width:none}#avatar-categories::-webkit-scrollbar,.avatar-field-tabs::-webkit-scrollbar{display:none}#avatar-options-container{scrollbar-width:thin;scrollbar-color:var(--border-color) transparent}.avatar-help{font-size:.75rem;color:var(--text-secondary);margin:4px 0 8px}.avatar-accessory-heading{font-size:.95rem;margin:10px 0 6px}#avatar-editor-modal .avatar-adjust-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.avatar-adjust-grid label{display:grid;grid-template-columns:1fr auto;align-items:center;font-size:.75rem;gap:4px;min-width:0}.avatar-adjust-grid input[type=range]{grid-column:1 / -1;width:100%;accent-color:var(--primary);padding:0;cursor:pointer}.avatar-accessory-actions{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}#avatar-editor-modal .avatar-accessory-actions button{flex:1 1 110px;font-size:.75rem}.avatar-accessory-colors label{display:grid;gap:3px;font-size:.65rem;text-align:center}.avatar-accessory-colors input[type=color]{width:44px;height:44px;padding:3px;border-radius:8px;cursor:pointer}.avatar-look-slot{display:grid;gap:6px;min-width:0}#avatar-editor-modal .avatar-look-slot button{font-size:.75rem}#avatar-editor-canvas[role=button]{cursor:zoom-in}.avatar-studio-frame:has([role=button]){position:relative}.avatar-studio-frame:has([role=button]):after{content:"\2922";position:absolute;right:0;bottom:0;width:24px;height:24px;display:grid;place-items:center;border-radius:50%;background:var(--primary);color:var(--on-primary,white);font-size:18px;pointer-events:none}#avatar-editor-canvas[role=button]:focus-visible{outline:3px solid var(--primary);outline-offset:3px}.team-logo-studio .avatar-studio-frame{border-radius:14px;background:var(--bg-color)}#avatar-editor-modal.team-logo-studio #avatar-editor-canvas{border-radius:0;width:176px!important;height:176px!important;touch-action:none}.team-logo-studio #avatar-options-container>label{display:block;margin-bottom:12px}.team-logo-studio #avatar-options-container label input:not([type=checkbox]),.team-logo-studio #avatar-options-container label select{max-width:100%}.team-logo-studio .avatar-accessory-colors{display:flex;gap:12px;margin:12px 0}.team-logo-studio .avatar-accessory-colors label{display:grid;gap:4px}.team-logo-studio .avatar-choice img{border-radius:0}.team-logo-studio .logo-art-choice img{background:var(--bg-color);border-radius:8px;object-fit:contain}.team-logo-studio #avatar-options-container select{width:100%;margin:6px 0 12px;min-height:44px}@media(max-width:600px){#avatar-editor-modal.team-logo-studio #avatar-editor-canvas{width:120px!important;height:120px!important}.team-logo-studio .avatar-studio-tools{display:grid;grid-template-columns:1fr}}.avatar-zoom{width:min(460px,calc(100vw - 24px));max-height:calc(100dvh - 24px);margin:auto;padding:12px;border:1px solid var(--border-color);border-radius:20px;background:var(--bg-card);color:var(--text-primary)}.avatar-zoom::backdrop{background:#0009}.avatar-zoom img{width:100%;max-height:calc(100dvh - 110px);object-fit:contain;display:block;border-radius:12px;margin-bottom:10px}.avatar-zoom button{width:100%;min-height:44px}.device-invite{display:grid;grid-template-columns:164px minmax(0,1fr);gap:12px;align-items:center;margin:12px 0}.device-invite[hidden]{display:none}.device-invite p{font-size:.8rem;margin:6px 0}.device-invite-qr{padding:0;border:1px solid var(--border-color);background:#fff;cursor:zoom-in;line-height:0;border-radius:8px;overflow:hidden}.device-invite-qr img{display:block;width:100%;height:auto;background:#fff}#device-invite-copy{font-size:.8rem;min-height:44px;padding:6px 10px}#device-invite-link{grid-column:1 / -1;width:100%;min-width:0}.team-invite-zoom{margin:auto;padding:16px;border:1px solid var(--border-color);border-radius:18px;background:var(--bg-card);color:var(--text-primary);width:min(380px,calc(100vw - 24px));max-height:calc(100dvh - 24px);overflow:auto}.team-invite-zoom::backdrop{background:#0009}.team-invite-zoom h3{margin:0 0 8px;text-align:center}.team-invite-zoom img{display:block;width:100%;height:auto;background:#fff;margin-bottom:12px}.team-invite-zoom button{width:100%;min-height:44px}.team-join-card{max-width:520px;margin:20px auto}.device-code-label{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px}.device-code-label span{font-size:.72rem;color:var(--text-secondary);border:1px solid var(--border-color);border-radius:6px;padding:2px 6px}.device-code-label strong{font-family:ui-monospace,monospace}.access-help{color:var(--text-secondary);font-size:.8rem;line-height:1.4;margin:5px 0 10px}#device-takeover-form{border-top:1px solid var(--border-color);margin-top:16px;padding-top:14px}@media(max-width:380px){.device-invite{grid-template-columns:140px minmax(0,1fr);gap:8px}.device-invite strong{font-size:.9rem}}.chat-achievement-bubble{background:var(--bg-card)!important;color:var(--text-primary);border:1px solid var(--border-color);border-left:3px solid var(--accent);box-shadow:none!important;animation:none}.chat-achievement-bubble :is(.achievement-title,.achievement-body){color:var(--text-primary);text-shadow:none}.chat-achievement-bubble .achievement-header>span:not(.achievement-title){color:var(--text-muted)!important}.chat-achievement-bubble .achievement-header>i{color:var(--accent)!important}.play-device-banner{display:block;padding:.35rem .8rem;text-align:center;background:var(--bg-card);color:var(--text-secondary);font-size:.8rem;border-bottom:1px solid var(--border-color)}.play-device-banner[hidden]{display:none}#play-device-panel{margin:.75rem 0;padding:1rem}#play-device-panel h2{font-size:1.1rem;margin-bottom:.5rem}#play-device-panel p{margin:.5rem 0}#play-device-panel select,#device-takeover-form input{width:100%;min-height:44px;margin:.35rem 0}#device-join-code{letter-spacing:.08em;overflow-wrap:anywhere}#device-player-avatar{border-radius:50%;vertical-align:middle}body[data-play-device=viewer] :is(#answer-form,#check-location-btn,#bypass-gps-btn,#quest-hint-btn,#chat-send-form,#team-profile-btn){display:none!important}.team-logo-studio .logo-text-field{display:flex;flex-direction:column;gap:.35rem;margin-bottom:.75rem}.team-logo-studio .logo-text-field>input{width:100%;min-width:0;min-height:44px;box-sizing:border-box}.logo-quick-tools{flex-shrink:0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px;padding:6px 0}.logo-quick-tools[hidden]{display:none}.logo-quick-tools select{width:100%;min-width:0;min-height:44px}.logo-size-tools{grid-column:1 / -1;grid-row:2;display:grid;grid-template-columns:44px minmax(0,1fr) 52px 44px;align-items:center;gap:6px}.logo-size-tools input{width:100%;min-width:0;height:44px;accent-color:var(--primary)}.logo-size-tools .btn{min-width:44px;min-height:44px;padding:0;font-size:22px}.logo-size-tools output{font-variant-numeric:tabular-nums;font-size:13px;text-align:center}.logo-instance-actions{grid-column:2;grid-row:1;display:flex;gap:6px}.logo-instance-actions .btn{width:44px;min-height:44px;padding:6px;font-size:22px}#avatar-editor-modal.team-logo-studio.logo-arranging #avatar-editor-canvas{width:260px!important;height:260px!important}.logo-arranging .logo-edit-toggle{display:none}@media(min-width:700px){#avatar-editor-modal.logo-arranging .avatar-studio-dialog{max-width:960px}#avatar-editor-modal.logo-arranging .avatar-studio{display:grid;grid-template-columns:minmax(280px,1fr) minmax(250px,1fr);grid-template-rows:48px minmax(0,1fr) auto;gap:12px}.logo-arranging .avatar-studio-preview{grid-column:1;grid-row:1 / 3;flex-direction:column;justify-content:center;gap:8px;min-height:0}.logo-arranging .avatar-studio-tools{display:flex;align-items:center}.logo-arranging #avatar-style-name{display:none}.logo-arranging .logo-quick-tools{grid-column:1;grid-row:3}.logo-arranging #avatar-categories{grid-column:2;grid-row:1;align-self:start}#avatar-editor-modal.logo-arranging #avatar-options-container{grid-column:2;grid-row:2 / 4;height:100%}}@media(max-width:540px){#avatar-editor-modal.team-logo-studio.logo-arranging #avatar-editor-canvas{width:min(62vw,240px)!important;height:min(62vw,240px)!important}.logo-arranging .avatar-studio-preview{justify-content:center;gap:8px;padding:4px}.logo-arranging .avatar-studio-tools{display:block}.logo-arranging .avatar-studio-tools :is(#avatar-style-name,#avatar-randomize-btn){display:none}.logo-arranging .avatar-history-actions{flex-direction:column}.team-logo-studio .logo-edit-toggle{font-size:12px;padding:7px;min-height:44px}}@media(max-height:700px){.logo-arranging #avatar-options-container>.avatar-help{display:none}#avatar-editor-modal.team-logo-studio.logo-arranging #avatar-editor-canvas{width:150px!important;height:150px!important}.logo-arranging .avatar-studio-preview{padding:2px}.logo-arranging .avatar-studio-tools :is(#avatar-style-name,#avatar-randomize-btn){display:none}}.logo-element-list{display:grid;gap:8px}.logo-element-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px}.logo-element-row .btn{min-height:48px;padding:8px;font-size:13px}.logo-element-select{display:flex;align-items:center;gap:8px;min-width:0;text-align:left}.logo-element-select img{width:42px;height:42px;object-fit:contain;flex-shrink:0}.logo-element-select span{overflow-wrap:anywhere}.logo-elements-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;position:sticky;top:0;z-index:1;padding:4px 0 8px;background:var(--bg-card);border-bottom:1px solid var(--border-color)}.logo-elements-toolbar strong{font-size:.9rem}#avatar-editor-modal .logo-elements-toolbar button{min-height:44px;font-size:.8rem;padding:8px}.logo-element-card{border:1px solid var(--border-color);border-radius:12px;overflow:hidden;background:var(--bg-card)}.logo-element-card.is-selected{border-color:var(--primary);box-shadow:inset 3px 0 var(--primary)}.logo-element-card .logo-element-row{display:flex;gap:4px;padding:5px;align-items:center}.logo-element-card .logo-element-select{flex:1;justify-content:flex-start;padding:4px;border-color:transparent;background:transparent}#avatar-editor-modal .logo-element-select{justify-content:flex-start}.logo-element-card .logo-element-row>button:not(.logo-element-select){flex:0 0 44px;width:44px;min-height:44px;padding:4px;font-size:22px}.logo-element-card .logo-element-delete{color:var(--danger)}.logo-layer-arrows{display:flex;flex-direction:column;gap:2px;flex:0 0 44px}.logo-element-row button{scroll-margin-top:72px;scroll-margin-bottom:8px}#avatar-editor-modal .logo-layer-arrows .btn{min-width:44px;width:44px;min-height:44px;padding:0;font-size:20px}.logo-element-select strong,.logo-element-select small{display:block}.logo-element-select strong{font-size:13px;line-height:1.25}.logo-element-select small{font-size:11px;color:var(--text-secondary);margin-top:3px}.logo-element-icon{display:grid;place-items:center;width:42px;height:42px;flex-shrink:0;font-size:20px}.logo-element-controls{padding:0 10px 10px;border-top:1px solid var(--border-color)}.logo-element-controls[hidden]{display:none}.team-logo-studio .avatar-studio-frame{position:relative}.logo-transform-overlay{position:absolute;inset:5px;pointer-events:none}.logo-transform-overlay[hidden]{display:none}#avatar-editor-modal .logo-transform-overlay button{position:absolute;transform:translate(-50%,-50%);width:44px;height:44px;min-height:44px;padding:0;border:0;border-radius:50%;background:radial-gradient(circle,#fff 0 13px,#007caa 14px 16px,transparent 17px);color:#12354a;font-size:22px;line-height:44px;text-align:center;pointer-events:auto;touch-action:none;cursor:grab;user-select:none}#avatar-editor-modal .logo-transform-overlay button:active{cursor:grabbing}#avatar-editor-modal .logo-transform-overlay button:focus-visible{outline:3px solid var(--primary)}#avatar-editor-modal.logo-direct #avatar-editor-canvas{cursor:move}@media(min-width:700px)and (min-height:501px){#avatar-editor-modal.logo-direct .avatar-studio-dialog{max-width:1020px}#avatar-editor-modal.logo-direct:not(.logo-arranging) .avatar-studio{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(320px,1.1fr);grid-template-rows:46px minmax(0,1fr)}.logo-direct:not(.logo-arranging) .avatar-studio-preview{grid-column:1;grid-row:1 / 3;flex-direction:column;justify-content:center}.logo-direct:not(.logo-arranging) #avatar-categories{grid-column:2;grid-row:1}#avatar-editor-modal.logo-direct:not(.logo-arranging) #avatar-options-container{grid-column:2;grid-row:2;height:100%}#avatar-editor-modal.logo-direct #avatar-editor-canvas{width:min(300px,28vw)!important;height:min(300px,28vw)!important}}@media(max-height:500px){.team-logo-studio #avatar-options-container:has(.logo-element-list)>.avatar-help{display:none}}.logo-instance-actions .logo-remove{width:auto;min-width:76px;font-size:12px}.logo-remove{color:inherit}.logo-background-presets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:10px 0}.logo-background-presets .avatar-choice{display:flex;flex-direction:column;gap:5px;padding:7px;font-size:12px;min-width:0}.logo-background-presets span{display:block;width:100%;height:32px;border-radius:6px;border:1px solid var(--border-color)}.logo-color-swatches{display:grid;grid-template-columns:repeat(auto-fit,minmax(44px,1fr));gap:6px;margin:12px 0}.logo-color-swatches .avatar-choice{min-width:0;min-height:44px;padding:6px}.logo-color-swatches span{display:block;width:100%;height:30px;border-radius:6px;border:1px solid var(--border-color)}@media(max-width:699px),(max-width:960px)and (max-height:500px){#avatar-editor-modal{position:fixed;inset:var(--editor-top,0px) 0 auto;height:var(--editor-height,100dvh);padding:0;overflow:hidden;align-items:stretch}#avatar-editor-modal .avatar-studio-dialog{width:100%;max-width:none;height:100%;margin:0!important}#avatar-editor-modal .modal-content{width:100%;height:100%;max-height:100%;border:0;border-radius:0}#avatar-editor-modal .modal-header{padding:calc(4px + env(safe-area-inset-top,0px)) max(10px,env(safe-area-inset-right,0px)) 4px max(10px,env(safe-area-inset-left,0px))}#avatar-editor-modal .modal-header h3{font-size:1.05rem}#avatar-editor-modal .avatar-studio{padding:8px max(10px,env(safe-area-inset-right,0px)) 6px max(10px,env(safe-area-inset-left,0px))!important;gap:8px!important}#avatar-editor-modal .avatar-studio-preview{padding:6px;gap:12px;justify-content:center}#avatar-editor-modal #avatar-editor-canvas{width:120px!important;height:120px!important}#avatar-editor-modal.team-logo-studio #avatar-editor-canvas{width:140px!important;height:140px!important}#avatar-editor-modal.team-logo-studio.logo-arranging #avatar-editor-canvas{width:min(52vw,210px)!important;height:min(52vw,210px)!important}#avatar-editor-modal .avatar-studio-tools{display:flex;flex-direction:column;gap:6px;align-items:stretch}#avatar-editor-modal #avatar-style-name{display:none}#avatar-editor-modal .avatar-history-actions{flex-direction:row}#avatar-editor-modal :is(input:not([type=range]):not([type=color]),select,textarea){font-size:16px}#avatar-editor-modal #avatar-categories{min-height:46px}#avatar-editor-modal #avatar-categories button{min-height:44px;flex-shrink:0}#avatar-editor-modal .avatar-save-actions{padding:8px max(10px,env(safe-area-inset-right,0px)) calc(8px + env(safe-area-inset-bottom,0px)) max(10px,env(safe-area-inset-left,0px));background:var(--bg-card);border-top:1px solid var(--border-color)}#avatar-editor-modal .avatar-save-actions button{min-height:48px}#avatar-editor-modal #avatar-options-container{min-width:0;touch-action:pan-y}#avatar-editor-modal.editor-typing .avatar-studio-preview{display:none}#avatar-editor-modal #avatar-editor-error{margin:0;flex-shrink:0;font-size:.8rem}}@media(max-width:699px)and (max-height:650px){#avatar-editor-modal #avatar-editor-canvas{width:100px!important;height:100px!important}#avatar-editor-modal.team-logo-studio #avatar-editor-canvas{width:110px!important;height:110px!important}#avatar-editor-modal.team-logo-studio.logo-arranging #avatar-editor-canvas{width:140px!important;height:140px!important}}@media(min-width:480px)and (max-width:960px)and (max-height:500px){#avatar-editor-modal .avatar-studio{display:grid;grid-template-columns:minmax(220px,.85fr) minmax(0,1.15fr);grid-template-rows:46px minmax(0,1fr) auto}#avatar-editor-modal .avatar-studio-preview{grid-column:1;grid-row:1 / 3;min-height:0;flex-direction:row;gap:8px}#avatar-editor-modal #avatar-categories{grid-column:2;grid-row:1;align-self:start}#avatar-editor-modal #avatar-options-container{grid-column:2;grid-row:2 / 4;height:100%}#avatar-editor-modal .logo-quick-tools{grid-column:1;grid-row:3;padding:0}#avatar-editor-modal .avatar-studio-tools :is(#avatar-randomize-btn,.logo-edit-toggle){font-size:12px;padding:6px}#avatar-editor-modal.team-logo-studio.logo-arranging #avatar-editor-canvas{width:110px!important;height:110px!important}#avatar-editor-modal.logo-arranging .avatar-history-actions{flex-direction:column}#avatar-editor-modal.editor-typing .avatar-studio{display:flex}#avatar-editor-modal.editor-typing #avatar-options-container{height:auto}}@media(min-width:480px)and (max-width:960px)and (max-height:350px){#avatar-editor-modal .avatar-studio-preview{padding:2px}#avatar-editor-modal #avatar-editor-canvas,#avatar-editor-modal.team-logo-studio #avatar-editor-canvas,#avatar-editor-modal.team-logo-studio.logo-arranging #avatar-editor-canvas{width:76px!important;height:76px!important}#avatar-editor-modal .avatar-studio-tools{gap:3px}#avatar-editor-modal .avatar-studio-tools :is(#avatar-randomize-btn,.logo-edit-toggle){display:none}#avatar-editor-modal.logo-arranging .avatar-history-actions{flex-direction:row}}@media(max-width:699px)and (min-height:501px){#avatar-editor-modal.logo-direct #avatar-editor-canvas{width:min(56vw,220px)!important;height:min(56vw,220px)!important}#avatar-editor-modal.logo-direct .avatar-studio-tools{flex:0 0 44px}#avatar-editor-modal.logo-direct .avatar-history-actions{flex-direction:column}#avatar-editor-modal.logo-direct .avatar-studio-tools :is(#avatar-randomize-btn,#avatar-style-name){display:none}}@media(max-width:699px)and (min-height:501px)and (max-height:650px){#avatar-editor-modal.logo-direct #avatar-editor-canvas{width:150px!important;height:150px!important}}@media(min-width:480px)and (max-width:960px)and (max-height:500px){#avatar-editor-modal.logo-direct:not(.logo-arranging) #avatar-editor-canvas{width:150px!important;height:150px!important}#avatar-editor-modal.logo-direct:not(.logo-arranging) .avatar-history-actions{flex-direction:column}#avatar-editor-modal.logo-direct:not(.logo-arranging) .avatar-studio-tools{flex:0 0 44px}}.activity-editor,.activity-answer,.activity-side,.activity-reviews{color:var(--text-primary);min-width:0}.activity-help{display:grid;grid-template-columns:140px 1fr;gap:16px;background:var(--bg-card);padding:16px;border:1px solid var(--border-color);border-radius:16px;margin:12px 0}.activity-help img{width:140px;max-width:100%;border-radius:12px}.activity-help p{margin:6px 0}.activity-help .btn{margin-top:8px}.activity-settings,.activity-inputs,.activity-answer{display:grid;gap:12px}.activity-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.activity-field{display:grid;gap:6px;min-width:0;font-size:.92rem}.activity-field input,.activity-field textarea,.activity-field select,.activity-grid select,.activity-review input{width:100%;min-height:44px;background:var(--bg-card);color:var(--text-primary);border:1px solid var(--border-color);border-radius:10px;padding:10px;box-sizing:border-box}.activity-check{display:flex;align-items:center;gap:10px;min-height:44px}.activity-check input{width:22px;height:22px;accent-color:var(--accent)}.activity-item,.activity-review,.activity-duel{padding:14px;margin:10px 0;border:1px solid var(--border-color);border-radius:14px;display:grid;gap:10px;background:var(--bg-card)}.activity-actions{display:flex;flex-wrap:wrap;gap:8px}.activity-actions .btn,.activity-order button,.activity-duel button{min-width:44px;min-height:44px}.activity-upload{display:grid;gap:8px}.activity-upload img{height:100px;max-width:100%;object-fit:contain}.activity-upload input{max-width:100%;min-height:44px}.activity-note{padding:12px;border-left:3px solid var(--accent);background:var(--bg-card);border-radius:8px;line-height:1.5}.activity-editor summary,.activity-side summary,.activity-inputs summary{cursor:pointer;min-height:44px;align-content:center;font-weight:600}.activity-editor details{padding:10px;border:1px solid var(--border-color);border-radius:12px}.activity-editor details .activity-field{margin:10px 0}#activity-code-qr{max-width:180px}#activity-code-qr svg{width:150px;display:block;background:#fff;padding:6px}#activity-code-qr a{display:block;font-size:.85rem;margin:8px 0}.activity-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.activity-choice{display:flex;flex-wrap:wrap;align-items:center;gap:8px;border:1px solid var(--border-color);border-radius:12px;background:var(--bg-card);padding:12px;min-height:54px;cursor:pointer;overflow-wrap:anywhere}.activity-choice:has(input:checked){border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.activity-choice input{width:22px;height:22px;accent-color:var(--accent);flex-shrink:0}.activity-choice img{width:100%;height:110px;object-fit:contain}.activity-answer img,#station-activity>img{max-width:100%;max-height:260px;border-radius:12px;object-fit:contain}.activity-answer audio,.activity-review audio{width:100%;max-width:100%}.activity-answer textarea{min-height:100px;resize:vertical}.activity-estimate{font-size:1.7rem;font-weight:700;text-align:center}.activity-answer input[type=range]{width:100%;min-height:44px;accent-color:var(--accent)}.activity-order{display:grid;gap:8px;padding:0;list-style-position:inside}.activity-order li,.activity-duel li{display:flex;align-items:center;gap:8px;padding:8px;border:1px solid var(--border-color);border-radius:10px}.activity-order li span,.activity-duel li span{flex:1;min-width:0;overflow-wrap:anywhere}.activity-duel ol{display:grid;gap:8px;padding:0;list-style:none}.activity-match{border:1px solid var(--border-color);border-radius:12px;padding:12px}.activity-compare{position:relative;aspect-ratio:2/1;overflow:hidden;margin-top:8px;border-radius:10px;background:var(--bg-card)}.activity-compare:empty{display:none}.activity-compare img{position:absolute;width:100%;height:100%;inset:0;object-fit:contain}.activity-overlay-image{mix-blend-mode:normal}.activity-choice-grid figure{margin:0}.activity-choice-grid figure img{width:100%}.activity-side{margin-top:16px;padding:16px}.activity-side>details{border-top:1px solid var(--border-color);padding:8px 0}.activity-badge{display:inline-block;padding:3px 9px;border-radius:20px;background:var(--bg-card);color:var(--accent);font-size:.85rem}.activity-side progress{width:100%;accent-color:var(--accent)}.activity-side .activity-thumb{width:90px;height:70px;object-fit:cover;border-radius:8px;margin:5px}.activity-feedback{margin:8px 0;line-height:1.4}.activity-feedback:empty{display:none}.activity-reviews{padding:16px;margin:16px 0}.review-media img{max-width:100%;max-height:250px;object-fit:contain}.activity-recap{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.activity-recap figure{margin:0;padding:10px;background:var(--bg-card);border-radius:12px;overflow-wrap:anywhere}.activity-recap img{width:100%;max-height:220px;object-fit:contain}.activity-recap audio{width:100%}body[data-route=map] .activity-side{display:none}@media(max-width:600px){.activity-help{grid-template-columns:1fr}.activity-help img{width:100%;height:100px;object-fit:cover}.activity-help{padding:12px;gap:8px}.activity-item{padding:10px}.activity-grid{gap:8px}.activity-recap{grid-template-columns:1fr}.activity-choice-grid{gap:8px}.activity-choice{padding:10px;font-size:.9rem}.activity-side{padding:12px}}.activity-game-tabs{display:flex;gap:8px;margin:8px 0 12px}.activity-game-tabs .btn{flex:1;min-height:44px;font-size:.86rem}.activity-game-tabs [aria-pressed=true]{border-color:var(--accent);color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}body[data-route=game] #game-view[data-activity-tab=missions] :is(.progress-container,#active-quest-container,#game-completed-container){display:none!important}body[data-route=game] #game-view[data-activity-tab=stations] #side-missions,body[data-route=map] #activity-game-tabs{display:none}.activity-media-placeholder{display:block;min-height:2px}.activity-task img,.activity-task audio{max-width:100%}.rally-event{position:fixed;z-index:1400;inset:auto 16px calc(20px + env(safe-area-inset-bottom)) auto;width:min(410px,calc(100vw - 32px));display:grid;grid-template-columns:64px minmax(0,1fr) 44px;gap:10px;align-items:center;padding:14px;background:var(--bg-card);color:var(--text-primary);border:1px solid var(--border-color);border-radius:20px;box-shadow:0 12px 42px #0003;animation:rally-notice-in .25s ease-out}.rally-event-symbol{position:relative;display:grid;place-items:center;width:64px;height:64px;color:var(--accent);font-size:32px;font-weight:800}.rally-event-symbol svg{position:absolute;inset:0;width:100%;height:100%;opacity:.68;animation:rally-stamp-press .8s ease-out}.rally-event-symbol b{position:relative;transform:rotate(-9deg);font-size:30px;animation:rally-stamp-press .8s ease-out}.rally-event-copy{display:grid;gap:4px;overflow-wrap:anywhere;line-height:1.3}.rally-event-copy strong{font-size:1.05rem}.rally-event-copy small{font-size:.8rem;color:var(--text-secondary)}.rally-event-close{align-self:start;border:0;border-radius:10px;background:transparent;color:var(--text-primary);min-width:44px;min-height:44px;font-size:25px;cursor:pointer}.rally-event-action{grid-column:2/4;min-height:44px}.rally-event-arrival .rally-event-symbol,.arrival-pulse .stamp-face{animation:rally-arrival 1s ease-out}.notice-pulse .stamp-face{animation:rally-notice-in .3s ease-out}.station-stamp.newly-earned .stamp-face{animation:rally-stamp-press .8s ease-out}.rally-history{width:min(540px,calc(100vw - 24px));max-height:calc(100dvh - 40px);padding:20px;border:1px solid var(--border-color);border-radius:20px;background:var(--bg-card);color:var(--text-primary)}.rally-history::backdrop{background:#0007}.rally-history h2{font-size:1.2rem}.rally-history>button{float:right}.rally-history article{clear:both;padding:16px 0;border-bottom:1px solid var(--border-color)}.rally-history article p{overflow-wrap:anywhere}.sound-volume-label{display:flex;justify-content:space-between;gap:12px}.settings-content #sound-volume{width:100%;min-height:44px;accent-color:var(--accent)}.rally-vibration-label{display:flex;align-items:center;gap:10px;min-height:44px}.settings-content{max-height:calc(100dvh - 100px);overflow-y:auto}#question-card,#side-missions{scroll-margin-top:95px}@keyframes rally-notice-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes rally-stamp-press{0%{opacity:0;transform:scale(1.5) rotate(-17deg)}40%{opacity:.95;transform:scale(.93) rotate(-9deg)}65%{transform:scale(1.04) rotate(-9deg)}to{opacity:1;transform:scale(1) rotate(-9deg)}}@keyframes rally-arrival{0%,to{box-shadow:0 0 0 0 transparent}35%{box-shadow:0 0 0 10px color-mix(in srgb,var(--accent) 18%,transparent)}70%{box-shadow:0 0 0 3px transparent}}@media(max-width:700px){.rally-event{left:12px;right:12px;bottom:calc(84px + env(safe-area-inset-bottom));width:auto;padding:12px;grid-template-columns:54px minmax(0,1fr) 44px;gap:8px}.rally-event-symbol{width:54px;height:54px}.rally-event-copy strong{font-size:1rem}}@media(prefers-reduced-motion:reduce){.rally-event,.rally-event-symbol,.rally-event-symbol svg,.rally-event-symbol b,.station-stamp.newly-earned .stamp-face,.arrival-pulse .stamp-face{animation:none!important}}
