:root{--bg:#f4f1ea;--card-bg:#fff;--card-border:#e7e2d8;--text:#1f1b16;--text-muted:#5c554a;--text-faint:#8a8272;--accent:#e8590c;--accent-2:#f2994a;--font-body:"Inter", system-ui, "Segoe UI", Roboto, sans-serif;--font-heading:"Fredoka", var(--font-body);font:18px/145% var(--font-body);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#15141a;--card-bg:#1e1c24;--card-border:#322f3b;--text:#f3f1ec;--text-muted:#b3aca0;--text-faint:#85806f;--accent:#ff8a3d;--accent-2:#ffb066}}*{box-sizing:border-box}body{margin:0}body:before{content:"";opacity:.035;filter:grayscale();pointer-events:none;z-index:-1;background-image:url(/favicon.png);background-repeat:repeat;background-size:140px 140px;position:fixed;inset:-100%;transform:rotate(-45deg)}#root{min-height:100svh}.page{box-sizing:border-box;max-width:1200px;min-height:100vh;margin:0 auto;padding:2rem 1.5rem}.stage-ribbon-wrap{z-index:50;pointer-events:none;width:150px;height:150px;position:fixed;top:0;right:0;overflow:hidden}.stage-ribbon{color:#1f1b16;text-align:center;letter-spacing:.08em;background:#f5c518;width:200px;padding:.3rem 0;font-size:.8rem;font-weight:700;position:absolute;top:32px;right:-38px;transform:rotate(45deg);box-shadow:0 2px 8px #00000040}.fab-tooltip-wrap{z-index:150;position:fixed;right:1rem}.fab-feedback-wrap{bottom:1rem}.fab-share-wrap{bottom:4.1rem}.fab-stats-wrap{bottom:7.2rem}.fab-tooltip{z-index:50;background:var(--card-bg);border:1px solid var(--card-border);width:max-content;max-width:220px;color:var(--text-muted);text-align:left;opacity:0;visibility:hidden;pointer-events:none;border-radius:8px;padding:.5rem .75rem;font-size:.75rem;line-height:1.4;transition:opacity .1s;position:absolute;top:50%;right:calc(100% + .6rem);transform:translateY(-50%);box-shadow:0 12px 30px -10px #00000059}.fab-tooltip-wrap:hover .fab-tooltip{opacity:1;visibility:visible}.feedback-btn{border:1px solid var(--card-border);background:var(--card-bg);cursor:pointer;filter:grayscale();border-radius:999px;width:2.5rem;height:2.5rem;font-size:1.2rem;line-height:1;transition:filter .15s,border-color .15s;animation:3s ease-in-out feedback-pulse;box-shadow:0 8px 20px -8px #0000004d}@keyframes feedback-pulse{0%,to{transform:scale(1)}16.67%,50%,83.33%{transform:scale(1.15)}33.33%,66.67%{transform:scale(1)}}.feedback-btn:hover{border-color:var(--accent);filter:grayscale(.4)}.header{text-align:center;margin-bottom:1.5rem}.lang-switcher{flex-wrap:wrap;justify-content:center;gap:.35rem;margin-bottom:1rem;display:flex}.lang-btn{border:1px solid var(--card-border);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:999px;padding:.3rem .7rem;font-size:.8rem;font-weight:600;transition:background .15s,color .15s,border-color .15s}.lang-btn:hover{border-color:var(--accent);color:var(--accent)}.lang-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}.header h1{font-family:var(--font-heading);justify-content:center;align-items:center;gap:.5rem;margin:0 0 .4rem;font-size:2.25rem;font-weight:600;display:flex}.logo{width:2.25rem;height:2.25rem}.maintenance-card{text-align:center;background:var(--card-bg);border:1px solid var(--card-border);border-radius:12px;max-width:480px;margin:3rem auto 0;padding:2rem 1.5rem}.maintenance-title{font-family:var(--font-heading);margin:0 0 .75rem;font-size:1.4rem;font-weight:600}.maintenance-message{color:var(--text-muted);margin:0}.logo-wrap{display:inline-block;position:relative}.logo-tooltip{z-index:50;background:var(--card-bg);border:1px solid var(--card-border);width:max-content;max-width:220px;color:var(--text-faint);pointer-events:none;border-radius:8px;padding:.5rem .75rem;font-size:.75rem;font-style:italic;animation:.2s ease-out milestone-in;position:absolute;top:calc(100% + .5rem);left:50%;transform:translate(-50%);box-shadow:0 12px 30px -10px #00000059}.tagline{color:var(--text-muted);margin:0}.streak-badge{color:var(--text-muted);margin:.5rem 0 0;font-size:.85rem;font-weight:600}.spotlight-banner{color:var(--text);background:#f5c51826;border:1px solid #f5c518;border-radius:999px;margin:.75rem auto 0;padding:.4rem .9rem;font-size:.85rem;font-weight:600;display:inline-block}.global-goal{text-align:center;max-width:360px;margin:.9rem auto 0}.share-fab-btn{border:1px solid var(--card-border);background:var(--card-bg);cursor:pointer;filter:grayscale();border-radius:999px;width:2.5rem;height:2.5rem;font-size:1.2rem;line-height:1;transition:filter .15s,border-color .15s;box-shadow:0 8px 20px -8px #0000004d}.share-fab-btn:hover{border-color:var(--accent);filter:grayscale(.4)}.stats-fab-btn{border:1px solid var(--card-border);background:var(--card-bg);cursor:pointer;filter:grayscale();border-radius:999px;width:2.5rem;height:2.5rem;font-size:1.2rem;line-height:1;transition:filter .15s,border-color .15s;box-shadow:0 8px 20px -8px #0000004d}.stats-fab-btn:hover{border-color:var(--accent);filter:grayscale(.4)}.global-goal-title{color:var(--text);margin:0 0 .35rem;font-size:.85rem;font-weight:600}.global-goal-bar{background:var(--card-border);border-radius:999px;width:100%;height:8px;overflow:hidden}.global-goal-fill{background:linear-gradient(90deg, var(--accent), #f5c518);height:100%;transition:width .4s}.global-goal-progress{color:var(--text-faint);margin:.3rem 0 0;font-size:.75rem}.underdog-banner{color:var(--text);background:#38a1691f;border:1px solid #38a169;border-radius:999px;margin:.75rem auto 0;padding:.4rem .9rem;font-size:.85rem;font-weight:600;display:inline-block}.spotlight-banner+.underdog-banner{margin-left:.6rem}.duel-banner{background:var(--card-bg);border:1px solid var(--card-border);border-radius:12px;flex-direction:column;gap:.5rem;padding:1.25rem;display:flex}.duel-title{font-family:var(--font-heading);margin:0;font-size:1rem;font-weight:600}.duel-names{color:var(--text);margin:0;font-size:.9rem;font-weight:600}.duel-bar{background:var(--accent-2);border-radius:999px;width:100%;height:6px;overflow:hidden}.duel-bar-fill{background:var(--accent);height:100%;transition:width .4s}.duel-score{color:var(--text-faint);margin:0;font-size:.75rem}.duel-wins{color:var(--text-faint);margin-left:.15rem;font-size:.75rem}.milestone-toast{z-index:250;background:var(--card-bg);border:1px solid #f5c518;border-radius:999px;padding:.5rem 1.1rem;font-size:.9rem;font-weight:600;animation:.3s ease-out milestone-in;position:fixed;top:1rem;left:50%;transform:translate(-50%);box-shadow:0 12px 30px -10px #00000059}@keyframes milestone-in{0%{opacity:0;transform:translate(-50%,-12px)}to{opacity:1;transform:translate(-50%)}}.badge-toast{z-index:250;background:var(--card-bg);border:1px solid var(--accent);border-radius:999px;padding:.5rem 1.1rem;font-size:.9rem;font-weight:600;animation:.3s ease-out milestone-in;position:fixed;top:1rem;left:50%;transform:translate(-50%);box-shadow:0 12px 30px -10px #00000059}.badges-shelf{background:var(--card-bg);border:1px solid var(--card-border);border-radius:12px;padding:1.25rem}.badges-shelf h3{font-family:var(--font-heading);margin:0 0 .75rem;font-size:1rem;font-weight:600}.badges-grid{flex-wrap:wrap;gap:.5rem;display:flex}.badge-chip{background:var(--accent-2);border:1px solid var(--card-border);cursor:default;border-radius:999px;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;font-size:1.2rem;display:flex}.badge-chip.locked{filter:grayscale();opacity:.35}.activity-feed{background:var(--card-bg);border:1px solid var(--card-border);border-radius:12px;padding:1.25rem}.activity-feed h3{font-family:var(--font-heading);margin:0 0 .75rem;font-size:1rem;font-weight:600}.activity-feed ul{flex-direction:column;gap:.35rem;margin:0;padding:0;list-style:none;display:flex}.activity-feed li{justify-content:space-between;font-size:.85rem;display:flex}.activity-amount{color:var(--accent);font-weight:600}.activity-feed .empty{color:var(--text-faint);justify-content:center}.spotlight-name-btn{font:inherit;color:var(--text);cursor:pointer;background:0 0;border:none;padding:0;font-weight:700}.spotlight-name-btn:hover{color:var(--accent)}.help-toggle{color:var(--accent);font-size:inherit;cursor:pointer;background:0 0;border:none;padding:0;font-weight:600;text-decoration:underline}.modal-backdrop{z-index:200;background:#0000008c;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.help-card{background:var(--card-bg);border:1px solid var(--card-border);text-align:left;border-radius:12px;width:100%;max-width:480px;max-height:100%;padding:1.1rem 3.25rem 1.1rem 1.25rem;position:relative;overflow-y:auto;box-shadow:0 30px 80px -20px #00000080}.help-card ul{color:var(--text-muted);margin:0;padding-left:1.1rem;font-size:.9rem;line-height:1.5}.help-card li{margin-bottom:.6rem}.help-card li:last-child{margin-bottom:0}.help-card strong{color:var(--text)}.help-close{border:1px solid var(--card-border);background:var(--card-bg);width:2.25rem;height:2.25rem;color:var(--text-muted);cursor:pointer;border-radius:8px;font-size:1.1rem;line-height:1;position:absolute;top:.75rem;right:.75rem}.help-close:hover{color:var(--accent);border-color:var(--accent)}.country-fix-desc{color:var(--text-muted);margin:0 0 .85rem;font-size:.9rem}.country-fix-select{width:100%;font:inherit;border:1px solid var(--card-border);background:var(--bg);color:var(--text);border-radius:8px;margin-bottom:.75rem;padding:.5rem .6rem}.country-fix-select:focus{outline:2px solid var(--accent);outline-offset:1px}.passport-grid{border-top:1px solid var(--card-border);flex-wrap:wrap;gap:.4rem;margin-top:.9rem;padding-top:.9rem;display:flex}.passport-flag{background:var(--accent-2);border:1px solid var(--card-border);cursor:default;border-radius:8px;justify-content:center;align-items:center;width:2.25rem;height:2.25rem;font-size:1.2rem;display:flex}.passport-empty{color:var(--text-faint);margin:0;font-size:.85rem}.layout{grid-template-columns:1fr 320px;align-items:start;gap:1.5rem;display:grid}@media (width<=860px){.layout{grid-template-columns:1fr}}.map-wrap{background:var(--card-bg);border:1px solid var(--card-border);border-radius:16px;padding:.5rem;position:relative;overflow:hidden}.map-wrap.maximized{z-index:101;position:fixed;inset:2rem;overflow:auto;box-shadow:0 30px 80px -20px #00000080}.map-backdrop{z-index:100;background:#0000008c;position:fixed;inset:0}.map{width:100%;height:auto}.map-wrap.maximized .map{width:2400px;max-width:none;height:auto;display:block}.maximize-btn{z-index:1;border:1px solid var(--card-border);background:var(--card-bg);width:2.25rem;height:2.25rem;color:var(--text-muted);cursor:pointer;filter:grayscale();border-radius:8px;font-size:1.1rem;line-height:1;transition:filter .15s,color .15s,border-color .15s;position:absolute;top:.75rem;right:.75rem}.maximize-btn:hover{color:var(--accent);border-color:var(--accent);filter:grayscale(.4)}.sound-toggle-btn{z-index:1;border:1px solid var(--card-border);background:var(--card-bg);width:2.25rem;height:2.25rem;color:var(--text-muted);cursor:pointer;filter:grayscale();border-radius:8px;font-size:1.1rem;line-height:1;transition:filter .15s,color .15s,border-color .15s;position:absolute;top:.75rem;right:3.5rem}.sound-toggle-btn:hover{color:var(--accent);border-color:var(--accent);filter:grayscale(.4)}.map-wrap.maximized .sound-toggle-btn{position:fixed;top:2.75rem;right:5.5rem}.map-tool-tooltip-wrap{z-index:1;position:absolute;top:.75rem;right:6.25rem}.map-wrap.maximized .map-tool-tooltip-wrap{position:fixed;top:2.75rem;right:8.25rem}.my-country-btn{border:1px solid var(--card-border);background:var(--card-bg);width:2.25rem;height:2.25rem;color:var(--text-muted);cursor:pointer;filter:grayscale();border-radius:8px;font-size:1.1rem;line-height:1;transition:filter .15s,color .15s,border-color .15s}.my-country-btn:hover{color:var(--accent);border-color:var(--accent);filter:grayscale(.4)}.map-tool-tooltip{z-index:50;background:var(--card-bg);border:1px solid var(--card-border);width:max-content;max-width:220px;color:var(--text-muted);text-align:left;opacity:0;visibility:hidden;pointer-events:none;border-radius:8px;padding:.5rem .75rem;font-size:.75rem;line-height:1.4;transition:opacity .1s;position:absolute;top:calc(100% + .5rem);right:0;box-shadow:0 12px 30px -10px #00000059}.map-tool-tooltip-wrap:hover .map-tool-tooltip{opacity:1;visibility:visible}.hover-tag{background:var(--card-bg);border:1px solid var(--card-border);pointer-events:none;border-radius:8px;padding:.35rem .7rem;font-size:.85rem;position:absolute;top:.75rem;left:.75rem}.map-wrap.maximized .maximize-btn{position:fixed;top:2.75rem;right:2.75rem}.map-wrap.maximized .hover-tag{position:fixed;top:2.75rem;left:2.75rem}.maximized-selected{z-index:5;width:280px;max-width:calc(100vw - 5.5rem);position:fixed;bottom:2.75rem;left:2.75rem}.maximized-selected .selected-card{box-shadow:0 20px 50px -15px #0006}.flag-pole-flag{animation:1.8s ease-in-out infinite flag-wave}@keyframes flag-wave{0%,to{transform:skewY(0)scaleX(1)}50%{transform:skewY(-8deg)scaleX(.97)}}.floating-reaction{animation:1.8s ease-out forwards reaction-float}@keyframes reaction-float{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-20px)}}.reaction-strip{gap:.4rem;margin:.75rem 0 0;display:flex}.reaction-btn{border:1px solid var(--card-border);background:var(--card-bg);cursor:pointer;border-radius:999px;width:2.25rem;height:2.25rem;font-size:1.1rem;line-height:1}.reaction-btn:hover{border-color:var(--accent)}@keyframes selected-grow{0%,to{transform:scale(1)}50%{transform:scale(var(--pulse-max,1.18))}}.panel{flex-direction:column;gap:1rem;display:flex}.banner{background:var(--card-bg);border:1px solid var(--card-border);color:var(--text-muted);border-radius:12px;padding:.85rem 1rem;font-size:.9rem}.selected-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:12px;padding:1.25rem}.selected-card h2{font-family:var(--font-heading);margin:0 0 .3rem;font-size:1.3rem;font-weight:600}.count{font-family:var(--font-heading);color:var(--accent);margin:0;font-size:1.6rem;font-weight:700}.remaining{color:var(--text-faint);margin:.2rem 0 1rem;font-size:.8rem}.boost-btn{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:10px;width:100%;padding:.75rem 1rem;font-size:.95rem;font-weight:700}.boost-btn:hover{background:var(--accent-2)}.boost-note{color:var(--text-faint);margin:.6rem 0 0;font-size:.75rem}.boost-why{color:var(--text-faint);margin:.4rem 0 0;font-size:.75rem;font-style:italic}.leaderboard{background:var(--card-bg);border:1px solid var(--card-border);border-radius:12px;padding:1.25rem}.leaderboard h3{font-family:var(--font-heading);margin:0 0 .75rem;font-size:1rem;font-weight:600}.leaderboard ol{flex-direction:column;gap:.1rem;margin:0;padding:0;list-style:none;display:flex}.leaderboard li{font-size:.9rem}.lb-entry{width:100%;font:inherit;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:space-between;margin:0 -.4rem;padding:.2rem .4rem;display:flex}.lb-entry:hover{background:var(--bg)}.lb-count{color:var(--accent);font-weight:700}.lb-rank-up,.lb-rank-down{margin-left:.3rem;font-size:.7rem;font-weight:700}.lb-rank-up{color:#2f9e44}.lb-rank-down{color:var(--text-faint)}.leaderboard .empty{color:var(--text-faint);justify-content:center}.page-footer{text-align:center;color:var(--text-faint);margin-top:2rem;font-size:.78rem}.footer-link{font:inherit;color:var(--text-faint);cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.footer-link:hover{color:var(--accent)}.contact-form{text-align:left;flex-direction:column;gap:.85rem;display:flex}.contact-form h3{margin:0;font-size:1.1rem}.contact-form label{color:var(--text-muted);flex-direction:column;gap:.3rem;font-size:.85rem;display:flex}.contact-form input,.contact-form textarea{font:inherit;border:1px solid var(--card-border);background:var(--bg);color:var(--text);resize:vertical;border-radius:8px;padding:.5rem .6rem}.contact-form input:focus,.contact-form textarea:focus{outline:2px solid var(--accent);outline-offset:1px}.contact-form .boost-btn:disabled{opacity:.6;cursor:not-allowed}.contact-error{color:var(--accent);margin:0;font-size:.85rem}.contact-sent{margin:0;padding:.5rem 0;font-size:1rem}
