:root{--bg:#f5f0e8;--surface:#fff;--text:#1a1a1a;--text-secondary:#555;--primary:#008751;--primary-light:#00a86340;--red:#d62828;--yellow:#f4a100;--blue:#003f88;--border:#1a1a1a;--border-w:3px;--font-head:"Space Grotesk", sans-serif;--font-body:"Inter", sans-serif;--shadow:6px 6px 0px #1a1a1a;--shadow-sm:3px 3px 0px #1a1a1a}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-body);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;min-height:100vh;line-height:1.6}h1,h2,h3,h4{font-family:var(--font-head);font-weight:700;line-height:1.1}h1{font-size:clamp(2.5rem,6vw,4.5rem)}h2{font-size:clamp(1.8rem,4vw,2.8rem)}h3{font-size:clamp(1.2rem,2.5vw,1.6rem)}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}.header{border-bottom:var(--border-w) solid var(--border);background:var(--surface);z-index:1000;justify-content:space-between;align-items:center;padding:1rem 2rem;display:flex;position:sticky;top:0}.header-logo{font-family:var(--font-head);color:var(--text);align-items:center;gap:.5rem;font-size:1.5rem;font-weight:700;text-decoration:none;display:flex}.header-logo .dot{background:var(--primary);width:12px;height:12px;display:inline-block}.header-nav{align-items:center;gap:1.5rem;display:flex}.header-nav a{font-family:var(--font-head);color:var(--text);text-transform:uppercase;letter-spacing:.05em;border-bottom:2px solid #0000;padding:.4rem 0;font-size:.9rem;font-weight:600;transition:border-color .2s}.header-nav a:hover,.header-nav a.active{border-color:var(--primary);text-decoration:none}.btn{font-family:var(--font-head);border:var(--border-w) solid var(--border);cursor:pointer;box-shadow:var(--shadow-sm);text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:.5rem;padding:.8rem 2rem;font-size:1rem;font-weight:600;text-decoration:none;transition:transform .1s,box-shadow .1s;display:inline-flex}.btn:hover{text-decoration:none;transform:translate(-2px,-2px);box-shadow:8px 8px #1a1a1a}.btn:active{transform:translate(2px,2px);box-shadow:1px 1px #1a1a1a}.btn-primary{background:var(--primary);color:#fff}.btn-red{background:var(--red);color:#fff}.btn-yellow{background:var(--yellow);color:var(--text)}.btn-blue{background:var(--blue);color:#fff}.btn-outline{background:var(--surface);color:var(--text)}.btn-sm{padding:.5rem 1rem;font-size:.85rem}.btn-lg{padding:1rem 3rem;font-size:1.2rem}.card{background:var(--surface);border:var(--border-w) solid var(--border);box-shadow:var(--shadow);padding:1.5rem;transition:transform .15s,box-shadow .15s}.card:hover{transform:translate(-3px,-3px);box-shadow:9px 9px #1a1a1a}.card-accent-top{border-top:6px solid var(--primary)}.card-accent-red{border-top:6px solid var(--red)}.card-accent-yellow{border-top:6px solid var(--yellow)}.card-accent-blue{border-top:6px solid var(--blue)}.landing{max-width:1200px;margin:0 auto;padding:0 2rem 3rem}.landing-hero{text-align:center;border-bottom:var(--border-w) solid var(--border);margin-bottom:3rem;padding:4rem 0 3rem;position:relative;overflow:hidden}.geo-deco{pointer-events:none;z-index:0;position:absolute;inset:0}.geo-square{border:var(--border-w) solid var(--yellow);opacity:.4;width:100px;height:100px;position:absolute;top:10%;right:8%;transform:rotate(15deg)}.geo-circle{border:var(--border-w) solid var(--red);opacity:.35;border-radius:50%;width:80px;height:80px;position:absolute;top:15%;left:6%}.geo-tri{border-left:40px solid #0000;border-right:40px solid #0000;border-bottom:70px solid var(--blue);opacity:.1;width:0;height:0;position:absolute;bottom:15%;left:15%}.geo-line-h{background:var(--border);opacity:.06;width:100%;height:2px;position:absolute;top:50%;left:0}.geo-line-v{background:var(--border);opacity:.04;width:2px;height:100%;position:absolute;top:0;left:50%}.geo-dot{opacity:.3;border-radius:50%;width:10px;height:10px;position:absolute}.geo-dot.d1{background:var(--primary);top:25%;right:25%}.geo-dot.d2{background:var(--red);width:14px;height:14px;bottom:20%;right:40%}.geo-dot.d3{background:var(--yellow);width:8px;height:8px;top:40%;left:30%}.hero-badge{border:2px solid var(--primary);font-family:var(--font-head);text-transform:uppercase;letter-spacing:.1em;color:var(--primary);z-index:1;margin-bottom:1.5rem;padding:.4rem 1.2rem;font-size:.8rem;font-weight:600;display:inline-block;position:relative}.landing-hero h1{z-index:1;margin-bottom:1.5rem;position:relative}.hero-sub{color:var(--text-secondary);letter-spacing:.02em;margin-bottom:.25rem;font-size:clamp(1rem,2.5vw,1.4rem);font-weight:500;display:block}.hero-main{color:var(--text);font-size:clamp(3.5rem,8vw,6rem);font-weight:700;line-height:1;display:block}.hero-main .accent{color:var(--primary)}.hero-desc{color:var(--text-secondary);z-index:1;max-width:620px;margin:0 auto 2rem;font-size:1.15rem;line-height:1.7;position:relative}.hero-actions{z-index:1;flex-wrap:wrap;justify-content:center;gap:1rem;display:flex;position:relative}.how-it-works{margin-bottom:3rem}.how-it-works h2{margin-bottom:1.5rem}.steps-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem;display:grid}.step-card{background:var(--surface);border:var(--border-w) solid var(--border);box-shadow:var(--shadow);padding:1.5rem;position:relative}.step-num{font-family:var(--font-head);color:var(--primary);opacity:.15;font-size:3rem;font-weight:700;line-height:1;position:absolute;top:.5rem;right:1rem}.step-card h3{margin-bottom:.5rem}.step-card p{color:var(--text-secondary);font-size:.9rem}.landing-cta{margin-top:3rem}.cta-inner{background:var(--text);color:#fff;text-align:center;border:var(--border-w) solid var(--border);box-shadow:var(--shadow);padding:3rem 2rem}.cta-inner h2{color:#fff;margin-bottom:.75rem}.cta-inner p{color:#ccc;margin-bottom:1.5rem}.cta-inner .btn-primary{background:var(--primary);border-color:var(--primary)}.stats-bar{border-bottom:var(--border-w) solid var(--border);flex-wrap:wrap;justify-content:center;gap:3rem;margin-bottom:3rem;padding:2rem 0;display:flex}.stat-item{text-align:center}.stat-value{font-family:var(--font-head);color:var(--primary);font-size:2.5rem;font-weight:700}.stat-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.08em;font-size:.85rem}.category-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;margin-bottom:3rem;display:grid}.category-card{cursor:pointer;position:relative;overflow:hidden}.category-card .cat-icon{margin-bottom:.75rem;font-size:2.5rem}.category-card h3{margin-bottom:.5rem}.category-card p{color:var(--text-secondary);font-size:.9rem}.category-card .cat-count{background:var(--bg);border:2px solid var(--border);font-family:var(--font-head);padding:.2rem .6rem;font-size:.8rem;font-weight:700;position:absolute;top:1rem;right:1rem}.dist-tooltip{background:var(--surface)!important;color:var(--red)!important;border:2px solid var(--border)!important;font-family:var(--font-head)!important;box-shadow:var(--shadow-sm)!important;border-radius:0!important;padding:.2rem .5rem!important;font-size:.8rem!important;font-weight:700!important}.dist-tooltip:before{border-top-color:var(--border)!important}.selector{max-width:900px;margin:0 auto;padding:3rem 2rem}.selector h2{margin-bottom:.5rem}.selector .subtitle{color:var(--text-secondary);margin-bottom:2rem}.selector-section{margin-bottom:2rem}.selector-section label{font-family:var(--font-head);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.75rem;font-size:.9rem;font-weight:600;display:block}.option-grid{flex-wrap:wrap;gap:.75rem;display:flex}.option-chip{border:var(--border-w) solid var(--border);font-family:var(--font-head);cursor:pointer;background:var(--surface);padding:.6rem 1.2rem;font-weight:600;transition:all .15s}.option-chip:hover{background:var(--bg)}.option-chip.selected{background:var(--primary);color:#fff;box-shadow:var(--shadow-sm)}.option-chip.diff-easy.selected{background:var(--primary)}.option-chip.diff-medium.selected{background:var(--yellow);color:var(--text)}.option-chip.diff-hard.selected{background:var(--red)}.selector-actions{gap:1rem;margin-top:2rem;display:flex}.app-main-full{padding:0}.fullscreen-game .game-screen{height:100vh}.game-screen{width:100%;height:calc(100vh - 62px);display:flex;position:relative}.game-map-area{flex:1;height:100%;position:relative}.game-map{z-index:1;width:100%;height:100%}.game-right-panel{border-left:var(--border-w) solid var(--border);background:var(--surface);z-index:10;flex-direction:column;width:320px;min-width:320px;height:100%;display:flex;overflow-y:auto}.question-panel{border-bottom:var(--border-w) solid var(--border);text-align:center;padding:1.25rem 1.5rem}.question-panel .q-counter{font-family:var(--font-head);text-transform:uppercase;letter-spacing:.1em;color:var(--text-secondary);margin-bottom:.25rem;font-size:.75rem;font-weight:600}.question-panel .q-category{color:var(--primary);text-transform:uppercase;letter-spacing:.08em;margin-bottom:.5rem;font-size:.7rem;font-weight:600}.question-panel h3{margin-bottom:.75rem;font-size:1.2rem}.question-panel .q-actions{flex-wrap:wrap;justify-content:center;gap:.75rem;display:flex}.score-tracker{border-bottom:var(--border-w) solid var(--border);background:var(--bg);justify-content:space-between;align-items:center;padding:.75rem 1.5rem;display:flex}.score-tracker .score-label{text-transform:uppercase;letter-spacing:.1em;color:var(--text-secondary);font-size:.7rem}.score-tracker .score-value{font-family:var(--font-head);color:var(--primary);font-size:1.5rem;font-weight:700}.feedback-panel{flex:1;padding:1.25rem 1.5rem;animation:.3s ease-out fadeIn;overflow-y:auto}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.feedback-panel .fb-score-row{justify-content:space-between;align-items:baseline;margin-bottom:.25rem;display:flex}.feedback-panel .fb-score{font-family:var(--font-head);font-size:2.2rem;font-weight:700}.feedback-panel .fb-score.perfect{color:var(--primary)}.feedback-panel .fb-score.good{color:var(--yellow)}.feedback-panel .fb-score.ok{color:var(--blue)}.feedback-panel .fb-score.poor{color:var(--red)}.feedback-panel .fb-distance{color:var(--text-secondary);font-size:.85rem}.feedback-panel .fb-name{font-family:var(--font-head);color:var(--text);margin:.5rem 0 .25rem;font-size:1.1rem;font-weight:700}.feedback-panel .fb-desc{color:var(--text-secondary);margin-bottom:.5rem;font-size:.85rem;line-height:1.5}.feedback-panel .fb-hint{color:var(--blue);border-left:3px solid var(--blue);background:#f0f4ff;margin-bottom:.5rem;padding:.5rem;font-size:.8rem;font-style:italic}.feedback-panel .fb-fact{color:var(--text-secondary);background:var(--bg);border-left:3px solid var(--primary);margin-bottom:1rem;padding:.5rem;font-size:.8rem}.feedback-panel .fb-coords{color:var(--text-secondary);margin-bottom:1rem;font-family:monospace;font-size:.75rem}.game-right-panel .panel-spacer{flex:1}.legend-sidebar{z-index:600;background:var(--surface);border-right:var(--border-w) solid var(--border);width:280px;height:100%;padding:1.5rem;transition:transform .3s;position:absolute;top:0;left:0;overflow-y:auto;transform:translate(-100%);box-shadow:6px 0 #1a1a1a}.legend-sidebar.open{transform:translate(0)}.legend-sidebar h4{text-transform:uppercase;letter-spacing:.08em;border-bottom:2px solid var(--border);margin-bottom:.75rem;padding-bottom:.5rem;font-size:.8rem}.legend-sidebar .legend-section{margin-bottom:1.5rem}.legend-sidebar .legend-item{align-items:center;gap:.5rem;margin-bottom:.4rem;font-size:.85rem;display:flex}.legend-sidebar .legend-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.layer-option{cursor:pointer;align-items:center;gap:.5rem;margin-bottom:.5rem;font-size:.85rem;display:flex}.layer-option input{accent-color:var(--primary)}.legend-toggle{z-index:601;background:var(--surface);border:var(--border-w) solid var(--border);cursor:pointer;width:36px;height:80px;box-shadow:var(--shadow-sm);border-left:none;justify-content:center;align-items:center;font-size:1rem;transition:left .3s;display:flex;position:absolute;top:50%;left:0;transform:translateY(-50%)}.legend-toggle.shifted{left:280px}.results{max-width:900px;margin:0 auto;padding:3rem 2rem}.results-header{text-align:center;margin-bottom:2rem}.results-header h2{margin-bottom:.5rem}.results-total{font-family:var(--font-head);color:var(--primary);font-size:4rem;font-weight:700}.results-total .out-of{color:var(--text-secondary);font-size:1.5rem}.results-grade{font-family:var(--font-head);border:var(--border-w) solid var(--border);margin-top:.5rem;padding:.4rem 1.5rem;font-size:1.1rem;font-weight:700;display:inline-block}.grade-expert{background:var(--primary);color:#fff}.grade-good{background:var(--yellow);color:var(--text)}.grade-ok{background:var(--blue);color:#fff}.grade-poor{background:var(--red);color:#fff}.results-map-wrap{border:var(--border-w) solid var(--border);box-shadow:var(--shadow);height:400px;margin:2rem 0;overflow:hidden}.results-breakdown{margin-top:2rem}.results-breakdown h3{margin-bottom:1rem}.result-card{background:var(--surface);border:var(--border-w) solid var(--border);box-shadow:var(--shadow-sm);margin-bottom:1rem;padding:1.25rem}.result-card-header{justify-content:space-between;align-items:baseline;margin-bottom:.5rem;display:flex}.result-card-header .rc-num{font-family:var(--font-head);color:var(--text-secondary);font-size:.85rem;font-weight:700}.result-card-header .rc-score{font-family:var(--font-head);font-size:1.3rem;font-weight:700}.result-card .rc-name{font-family:var(--font-head);margin-bottom:.25rem;font-size:1.1rem;font-weight:700}.result-card .rc-question{color:var(--text-secondary);margin-bottom:.5rem;font-size:.85rem}.result-card .rc-desc{color:var(--text);margin-bottom:.5rem;font-size:.85rem;line-height:1.5}.result-card .rc-meta{color:var(--text-secondary);flex-wrap:wrap;gap:1rem;margin-bottom:.5rem;font-size:.8rem;display:flex}.result-card .rc-hint{color:var(--blue);border-left:3px solid var(--blue);background:#f0f4ff;margin-bottom:.5rem;padding:.4rem .6rem;font-size:.8rem;font-style:italic}.result-card .rc-fact{color:var(--text-secondary);background:var(--bg);border-left:3px solid var(--primary);padding:.4rem .6rem;font-size:.8rem}.results-actions{flex-wrap:wrap;justify-content:center;gap:1rem;margin-top:2rem;display:flex}.rank-badge{text-align:center;border:var(--border-w) solid var(--border);box-shadow:var(--shadow-sm);margin-bottom:1rem;padding:1.25rem 2rem;animation:.6s ease-out badgeReveal}@keyframes badgeReveal{0%{opacity:0;transform:scale(.7)}50%{transform:scale(1.05)}to{opacity:1;transform:scale(1)}}.rank-title{font-family:var(--font-head);margin-bottom:.3rem;font-size:1.8rem;font-weight:700}.rank-subtitle{color:var(--text-secondary);font-size:.9rem}.rank-yousabi{color:#fff;background:linear-gradient(135deg,#008751 0%,#00a863 50%,#f4a100 100%)}.rank-yousabi .rank-subtitle{color:#ffffffd9}.rank-grandmaster{background:linear-gradient(135deg,gold,#f4a100)}.rank-top{background:var(--primary);color:#fff}.rank-top .rank-subtitle{color:#ffffffd9}.rank-pro{color:#fff;background:#003f88}.rank-pro .rank-subtitle{color:#ffffffd9}.rank-navigator{background:var(--surface)}.rank-explorer,.rank-rookie,.rank-tourist{background:var(--bg)}.results-pct{font-family:var(--font-head);color:var(--text-secondary);margin-bottom:.5rem;font-size:1.2rem;font-weight:700}.encouragement-bar{background:var(--primary-light);border-left:4px solid var(--primary);text-align:center;margin-top:1rem;padding:.75rem 1.25rem;font-size:.9rem}.leaderboard{max-width:700px;margin:0 auto;padding:3rem 2rem}.leaderboard h2{margin-bottom:.5rem}.leaderboard .subtitle{color:var(--text-secondary);margin-bottom:2rem}.lb-table{border-collapse:collapse;width:100%}.lb-table th{font-family:var(--font-head);text-transform:uppercase;letter-spacing:.08em;text-align:left;border-bottom:var(--border-w) solid var(--border);padding:.75rem;font-size:.8rem}.lb-table td{border-bottom:1px solid #ddd;padding:.75rem}.lb-table .rank{font-family:var(--font-head);font-weight:700}.lb-table .lb-score{font-family:var(--font-head);color:var(--primary);font-weight:700}.lb-empty{text-align:center;color:var(--text-secondary);padding:3rem}.waitlist-section{border-top:var(--border-w) solid var(--border);margin-top:3rem;padding-top:2rem}.waitlist-section h3{margin-bottom:.5rem}.waitlist-form{flex-direction:column;gap:.75rem;max-width:500px;margin-top:1rem;display:flex}.waitlist-form input,.waitlist-form select,.waitlist-form textarea{border:3px solid var(--border);font-family:var(--font-body);background:var(--bg);padding:.7rem .75rem;font-size:.95rem}.waitlist-form select{cursor:pointer}.waitlist-form textarea{resize:vertical}.pin-marker{background:var(--red);border:3px solid var(--border);border-radius:50% 50% 50% 0;width:30px;height:30px;animation:.4s ease-out pinDrop;position:relative;transform:rotate(-45deg)}@keyframes pinDrop{0%{opacity:0;transform:rotate(-45deg)translateY(-40px)}60%{transform:rotate(-45deg)translateY(4px)}to{opacity:1;transform:rotate(-45deg)translateY(0)}}.correct-marker{background:var(--primary);border:3px solid var(--border);border-radius:50%;width:24px;height:24px}.streak-badge{color:#fff;font-size:.75rem;font-weight:700;font-family:var(--font-head);background:linear-gradient(135deg,#ff6b35,#ff2e00);border-radius:12px;margin-left:.5rem;padding:.2rem .6rem;animation:.6s streakPulse;display:inline-block}@keyframes streakPulse{0%{opacity:0;transform:scale(.5)}50%{transform:scale(1.2)}to{opacity:1;transform:scale(1)}}.streak-summary{color:#ff6b35;align-items:center;gap:.4rem;font-size:.9rem;font-weight:600;display:flex}.daily-challenge-btn{width:100%;font-family:var(--font-head);cursor:pointer;text-align:center;background:linear-gradient(135deg,#fffdf5,#fff8e1);border:3px solid gold;margin-bottom:1.5rem;padding:1rem;font-size:1rem;font-weight:700;transition:transform .15s,box-shadow .15s}.daily-challenge-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #ffd7004d}.sidebar-nav{border-bottom:2px solid var(--border);flex-direction:column;gap:.4rem;padding-bottom:.75rem;display:flex}.sidebar-nav-btn{border:2px solid var(--border);background:var(--surface);font-family:var(--font-head);cursor:pointer;text-align:left;padding:.5rem .75rem;font-size:.85rem;font-weight:600;transition:background .15s}.sidebar-nav-btn:hover{background:var(--bg)}.sidebar-quit{color:var(--red);border-color:var(--red)}.sidebar-quit:hover{background:#fef2f2}@media (width<=768px){.header{padding:.5rem 1rem}.header-nav{gap:.75rem}.header-nav a{font-size:.75rem}.landing{padding:1.5rem 1rem}.category-grid{grid-template-columns:1fr}.stats-bar{gap:1rem}.stat-value{font-size:1.5rem}.results-map-wrap{height:220px}.results-header{padding:1rem}.rank-badge{padding:.75rem 1rem}.rank-title{font-size:1.3rem}.encouragement-bar{padding:.5rem .75rem;font-size:.8rem}.results-breakdown{padding:0 .5rem}.result-card{padding:.75rem}.results-actions{gap:.5rem}.results-actions .btn{padding:.6rem 1rem;font-size:.8rem}.leaderboard{padding:1.5rem 1rem}.lb-table th{padding:.5rem .3rem;font-size:.7rem}.lb-table td{padding:.5rem .3rem;font-size:.8rem}.waitlist-section{margin-top:2rem}.game-screen{flex-direction:column}.game-map-area{height:65%;min-height:55vh}.game-right-panel{width:100%;min-width:unset;border-left:none;border-top:2px solid var(--border);height:35%;overflow-y:auto}.question-panel{padding:.6rem .75rem}.question-panel h3{font-size:.95rem}.q-counter{font-size:.7rem}.q-category{margin-bottom:.2rem;font-size:.65rem}.q-actions{margin-top:.3rem}.score-tracker{padding:.3rem .75rem}.feedback-panel{padding:.6rem .75rem}.fb-name{font-size:.85rem}.fb-desc{font-size:.75rem}.fb-fact{font-size:.7rem}.legend-sidebar{width:240px}.legend-toggle.shifted{left:240px}.legend-toggle{width:32px;height:32px;font-size:1rem;top:8px}}@media (width<=480px){.header-logo{font-size:1.1rem}.btn{padding:.5rem 1rem;font-size:.8rem}.btn-lg{padding:.7rem 1.2rem;font-size:.9rem}.game-map-area{height:68%;min-height:58vh}.game-right-panel{height:32%}.question-panel h3{font-size:.85rem;line-height:1.2}.lb-table th:nth-child(4),.lb-table td:nth-child(4),.lb-table th:nth-child(5),.lb-table td:nth-child(5){display:none}}.achievement-overlay{z-index:9999;background:#000000b3;justify-content:center;align-items:center;animation:.3s fadeIn;display:flex;position:fixed;inset:0}.achievement-modal{background:var(--surface);border:var(--border-w) solid var(--border);box-shadow:var(--shadow);text-align:center;width:90%;max-width:420px;padding:2rem;animation:.5s ease-out modalSlide;position:relative}@keyframes modalSlide{0%{opacity:0;transform:translateY(-40px)scale(.9)}to{opacity:1;transform:translateY(0)scale(1)}}.achievement-modal.gold{box-shadow:0 0 30px #ffd70066, var(--shadow);background:linear-gradient(145deg,#fffdf5 0%,#fff8e1 100%);border-color:gold}.achievement-modal.top3{border-color:var(--primary);box-shadow:0 0 20px #0087514d, var(--shadow)}.achievement-emoji{margin-bottom:.5rem;font-size:3.5rem}.achievement-title{font-family:var(--font-head);margin-bottom:.3rem;font-size:1.6rem;font-weight:700}.achievement-subtitle{color:var(--text-secondary);margin-bottom:1rem;font-size:.9rem;line-height:1.4}.confetti-burst{animation:.6s ease-out burst}@keyframes burst{0%{transform:scale(0)}50%{transform:scale(1.2)}to{transform:scale(1)}}.leaflet-container{font-family:var(--font-body)}.leaflet-control-zoom a{font-weight:700;background:var(--surface)!important;color:var(--text)!important;border:2px solid var(--border)!important;border-radius:0!important}.leaflet-control-zoom{box-shadow:none!important;border:none!important}.ref-label{box-shadow:none!important;font-family:var(--font-head)!important;color:#444!important;letter-spacing:.02em!important;white-space:nowrap!important;background:0 0!important;border:none!important;padding:0!important;font-size:.65rem!important;font-weight:600!important}.ref-label:before{display:none!important}.timer-bar-wrap{background:var(--bg-alt);border:2px solid var(--border);height:22px;margin:.5rem 0;position:relative}.timer-bar{height:100%;transition:width 1s linear,background .3s}.timer-text{font-family:var(--font-head);font-size:.7rem;font-weight:700;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.about-page{max-width:1000px;margin:0 auto;padding:3rem 2rem}.about-section{margin-bottom:3rem}.about-section h2{margin-bottom:1rem}.about-badge{border:2px solid var(--primary);font-family:var(--font-head);text-transform:uppercase;letter-spacing:.1em;color:var(--primary);margin-bottom:1rem;padding:.3rem 1rem;font-size:.75rem;font-weight:600;display:inline-block}.about-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.5rem;display:grid}.about-card{background:var(--surface);border:var(--border-w) solid var(--border);box-shadow:var(--shadow);padding:1.5rem}.about-icon{margin-bottom:.75rem;font-size:2rem}.about-card h3{margin-bottom:.5rem}.about-card p{color:var(--text-secondary);font-size:.9rem;line-height:1.6}.users-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.25rem;display:grid}.user-card h3{margin-bottom:.5rem;font-size:1rem}.user-card p{color:var(--text-secondary);font-size:.85rem;line-height:1.5}.version-card{padding:2rem}.version-header{border-bottom:var(--border-w) solid var(--border);justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;display:flex}.version-tag{font-family:var(--font-head);color:var(--primary);font-size:1.1rem;font-weight:700}.version-date{color:var(--text-secondary);font-size:.85rem}.version-features{margin-bottom:1.5rem}.version-features h4{font-family:var(--font-head);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.75rem;font-size:.85rem;font-weight:700}.version-features ul{padding:0;list-style:none}.version-features li{color:var(--text-secondary);border-bottom:1px solid #eee;padding:.35rem 0;font-size:.9rem}.credits-card{padding:2rem}.credits-line{margin-bottom:.75rem;font-size:.95rem}.brand-name{color:var(--primary);font-weight:600}.credits-contact{border-top:var(--border-w) solid var(--border);margin-top:1.5rem;padding-top:1.5rem}.credits-contact h4{margin-bottom:.5rem}.credits-contact p{color:var(--text-secondary);margin-bottom:1rem;font-size:.9rem}.contact-links{flex-wrap:wrap;gap:1rem;display:flex}.waitlist-desc{color:var(--text-secondary);max-width:600px;margin-bottom:1.5rem}.waitlist-form{max-width:500px;padding:2rem}.waitlist-success{text-align:center;max-width:500px;padding:2rem}.form-group{margin-bottom:1.25rem}.form-group label{font-family:var(--font-head);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.4rem;font-size:.85rem;font-weight:600;display:block}.form-group input,.form-group select,.form-group textarea{width:100%;font-family:var(--font-body);border:var(--border-w) solid var(--border);background:var(--bg);color:var(--text);outline:none;padding:.7rem .75rem;font-size:.95rem;transition:box-shadow .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{box-shadow:var(--shadow-sm)}.form-group textarea{resize:vertical;font-family:var(--font-body)}.app-footer{border-top:var(--border-w) solid var(--border);text-align:center;color:var(--text-secondary);background:var(--surface);padding:1.5rem 2rem;font-size:.8rem}.app-footer a{color:var(--primary)}.text-center{text-align:center}.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mt-3{margin-top:2rem}.mb-2{margin-bottom:1rem}.hidden{display:none}.onboarding-overlay{z-index:10000;background:#000000bf;justify-content:center;align-items:center;animation:.3s fadeIn;display:flex;position:fixed;inset:0}.onboarding-modal{background:var(--surface);border:var(--border-w) solid var(--border);box-shadow:var(--shadow);text-align:center;width:90%;max-width:380px;padding:2rem;animation:.4s ease-out modalSlide}.onboarding-step-dots{justify-content:center;gap:.5rem;margin-bottom:1rem;display:flex}.onboarding-dot{background:var(--border);border-radius:50%;width:10px;height:10px}.onboarding-dot.active{background:var(--primary);transform:scale(1.3)}.onboarding-emoji{margin-bottom:.5rem;font-size:3rem}.onboarding-title{font-family:var(--font-head);margin-bottom:.3rem;font-size:1.3rem;font-weight:700}.onboarding-desc{color:var(--text-secondary);font-size:.9rem;line-height:1.4}.challenge-page{text-align:center;max-width:520px;margin:3rem auto;padding:0 1rem}.challenge-card{padding:2rem}.challenge-details{border:2px solid var(--border);background:var(--bg);margin:1rem 0;padding:1rem}.challenge-detail-row{border-bottom:1px solid var(--border);justify-content:space-between;padding:.4rem 0;font-size:.9rem;display:flex}.challenge-detail-row:last-child{border-bottom:none}.challenge-result-banner{border:3px solid var(--border);text-align:center;font-family:var(--font-head);margin:1rem 0;padding:1rem}.challenge-result-banner.win{background:#fffdf5;border-color:gold}.challenge-result-banner.lose{border-color:var(--red);background:#fef2f2}.challenge-result-banner.tie{border-color:var(--primary);background:#f0fdf4}.share-section{text-align:center;margin:1.5rem 0}.share-section h4{font-family:var(--font-head);margin-bottom:.75rem}.share-icons{flex-wrap:wrap;justify-content:center;gap:.6rem;display:flex}.share-btn{border:2px solid var(--border);cursor:pointer;background:var(--surface);border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;text-decoration:none;transition:transform .15s,box-shadow .15s;display:flex}.share-btn:hover{transform:scale(1.15);box-shadow:0 3px 10px #00000026}.share-btn.whatsapp{color:#25d366;border-color:#25d366}.share-btn.whatsapp:hover{color:#fff;background:#25d366}.share-btn.x-twitter{color:#000;border-color:#000}.share-btn.x-twitter:hover{color:#fff;background:#000}.share-btn.facebook{color:#1877f2;border-color:#1877f2}.share-btn.facebook:hover{color:#fff;background:#1877f2}.share-btn.snapchat{color:#fffc00;background:#fffc00;border-color:#fffc00}.share-btn.snapchat:hover{background:#ffe600}.share-btn.pinterest{color:#e60023;border-color:#e60023}.share-btn.pinterest:hover{color:#fff;background:#e60023}.share-btn.copy-link{color:var(--text-secondary)}.share-btn.copy-link:hover{background:var(--primary);color:#fff;border-color:var(--primary)}.game-progress-wrap{background:var(--border);width:100%;height:6px;position:relative;overflow:hidden}.game-progress-fill{background:linear-gradient(90deg,red,#ff7f00,#ff0,#0f0,#00f,indigo,#9400d3) 0 0/300% 100%;height:100%;transition:width .4s;animation:3s linear infinite rainbowShift}@keyframes rainbowShift{0%{background-position:0%}to{background-position:300%}}.dashboard{max-width:700px;margin:0 auto;padding:2rem 1rem}.dashboard h2{font-family:var(--font-head);margin-bottom:.3rem}.stats-bar{border:var(--border-w) solid var(--border);background:var(--surface);box-shadow:var(--shadow);flex-wrap:wrap;justify-content:center;gap:1.5rem;padding:1.5rem;display:flex}.mastery-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;display:grid}.mastery-card{padding:1rem}.mastery-header{align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.mastery-icon{font-size:1.3rem}.mastery-name{font-weight:600;font-family:var(--font-head);flex:1;font-size:.9rem}.mastery-pct{font-size:1.1rem;font-weight:700}.mastery-bar-wrap{background:var(--border);border-radius:4px;height:8px;overflow:hidden}.mastery-bar-fill{border-radius:4px;height:100%;transition:width .5s}.mastery-detail{color:var(--text-secondary);margin-top:.3rem;font-size:.8rem}.recent-games{flex-direction:column;gap:.5rem;display:flex}.recent-game-row{border:2px solid var(--border);background:var(--surface);align-items:center;gap:.75rem;padding:.6rem .75rem;font-size:.85rem;display:flex}.rg-date{width:60px;color:var(--text-secondary);font-size:.8rem}.rg-bar-wrap{background:var(--border);border-radius:4px;flex:1;height:8px;overflow:hidden}.rg-bar-fill{border-radius:4px;height:100%;transition:width .4s}.rg-score{font-weight:700;font-family:var(--font-head);text-align:right;min-width:60px}.rg-streak{font-size:.8rem}.install-banner{z-index:9999;color:#fff;background:linear-gradient(135deg,#008751,#00a86b);justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.25rem;animation:.4s slideUp;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 20px #0003}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.install-content{align-items:center;gap:.75rem;display:flex}.install-icon{font-size:1.8rem}.install-content p{opacity:.85;margin:0;font-size:.8rem}.install-actions{align-items:center;gap:.5rem;display:flex}.install-actions .btn-sm{color:#008751;cursor:pointer;background:#fff;border:none;padding:.4rem 1rem;font-size:.85rem;font-weight:700}.btn-dismiss{color:#ffffffb3;cursor:pointer;background:0 0;border:none;font-size:.8rem}.install-banner-ios{padding-bottom:calc(1rem + env(safe-area-inset-bottom,0px))}.ios-steps{opacity:1!important;font-size:.85rem!important}.ios-share-icon{color:#4fc3f7;display:inline-flex}.sponsored-banner{background:linear-gradient(135deg,#fffdf5 0%,#fff9e6 100%);border:2px solid gold;margin-top:.75rem;padding:.75rem;position:relative}.sponsored-label{color:#333;letter-spacing:.5px;text-transform:uppercase;background:gold;padding:2px 6px;font-size:.65rem;font-weight:700;position:absolute;top:-8px;right:8px}.sponsored-brand{font-weight:700;font-family:var(--font-head);margin-bottom:.3rem;font-size:.95rem}.sponsored-msg{color:var(--text-secondary);margin-bottom:.5rem;font-size:.85rem}.sponsored-cta{color:#fff;cursor:pointer;background:#008751;border:none;padding:.35rem .8rem;font-size:.8rem;font-weight:600;text-decoration:none;transition:background .15s;display:inline-block}.sponsored-cta:hover{background:#006b40}.journey-card{border:3px solid var(--border);background:var(--surface);margin:1.5rem 0;overflow:hidden}.journey-header{color:#fff;font-family:var(--font-head);background:linear-gradient(135deg,#008751,#00a86b);padding:1rem}.journey-header h4{margin:0 0 .3rem}.journey-route{opacity:.85;font-size:.85rem}.journey-sponsors{padding:1rem}.journey-sponsor-item{border-bottom:1px solid var(--border);align-items:center;gap:.75rem;padding:.75rem 0;display:flex}.journey-sponsor-item:last-child{border-bottom:none}.journey-sponsor-icon{text-align:center;min-width:36px;font-size:1.5rem}.journey-sponsor-info{flex:1}.journey-sponsor-name{font-size:.9rem;font-weight:700}.journey-sponsor-msg{color:var(--text-secondary);margin:.15rem 0 .4rem;font-size:.8rem}.journey-sponsor-actions{gap:.4rem;display:flex}.journey-sponsor-actions a,.journey-sponsor-actions button{border:1.5px solid var(--border);background:var(--bg);cursor:pointer;color:var(--text-primary);padding:.25rem .6rem;font-size:.75rem;font-weight:600;text-decoration:none}.journey-sponsor-actions a:hover,.journey-sponsor-actions button:hover{background:var(--primary);color:#fff;border-color:var(--primary)}.journey-footer{background:var(--bg);color:var(--text-secondary);text-align:center;padding:.5rem 1rem;font-size:.75rem}.lb-tabs{border:2px solid var(--border);gap:0;margin-bottom:1rem;display:flex;overflow:hidden}.lb-tab{background:var(--bg);font-family:var(--font-head);cursor:pointer;border:none;flex:1;padding:.6rem;font-size:.85rem;font-weight:600;transition:background .15s}.lb-tab:not(:last-child){border-right:2px solid var(--border)}.lb-tab.active{background:var(--primary);color:#fff}.lb-tab:hover:not(.active){background:var(--surface)}.lb-champion td{font-weight:700;background:linear-gradient(135deg,#fffdf5,#fff9e6)!important}.achievements{max-width:700px;margin:0 auto;padding:2rem 1rem}.achievements h2{font-family:var(--font-head);margin-bottom:.3rem}.ach-overview{border:var(--border-w) solid var(--border);background:var(--surface);justify-content:center;align-items:center;gap:2rem;margin-bottom:1.5rem;padding:1.5rem;display:flex}.ach-ring-wrap{width:100px;height:100px;position:relative}.ach-ring{width:100%;height:100%}.ach-ring-text{text-align:center;line-height:1.2;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.ach-ring-num{font-size:1.3rem;font-weight:700;font-family:var(--font-head);display:block}.ach-ring-label{color:var(--text-secondary);font-size:.65rem}.ach-summary{gap:1.5rem;display:flex}.badge-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.75rem;display:grid}.badge-card{text-align:center;border:2px solid var(--border);background:var(--surface);padding:1rem;transition:transform .15s,box-shadow .15s}.badge-card:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.badge-card.unlocked{background:linear-gradient(135deg,#fffdf5,#fff9e6);border-color:gold}.badge-card.locked{opacity:.5}.badge-icon{margin-bottom:.3rem;font-size:2rem}.badge-name{font-weight:700;font-family:var(--font-head);margin-bottom:.2rem;font-size:.85rem}.badge-desc{color:var(--text-secondary);font-size:.75rem}@media (width<=500px){.ach-overview{flex-direction:column;gap:1rem}.ach-summary{gap:1rem}}
