.map-wrapper{width:100vw;height:100vh;height:100dvh}.map-wrapper #world-map{transition:filter .4s ease,opacity 1.5s ease}.map-wrapper.blurred #world-map{filter:blur(8px);pointer-events:none}.loading{background:var(--color-bg-ocean);color:var(--color-text-muted)}.spinner{border:4px solid var(--glass-border);border-radius:50%;border-top:4px solid var(--color-primary);width:40px;height:40px;animation:spin 1s linear infinite;margin-bottom:20px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.custom-scrollbar{scrollbar-width:thin;scrollbar-color:var(--scrollbar-color) transparent}.custom-scrollbar::-webkit-scrollbar{width:5px}.custom-scrollbar::-webkit-scrollbar-track{background:transparent}.custom-scrollbar::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:999px}.custom-scrollbar::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}.start-overlay{background:var(--color-black-alpha-15);backdrop-filter:blur(var(--overlay-blur));-webkit-backdrop-filter:blur(var(--overlay-blur))}.start-modal{padding:var(--modal-padding-y) var(--modal-padding-x);text-align:center}.start-modal h2{margin:0 0 15px;color:var(--color-text-main);font-size:var(--text-3xl);font-weight:700}.start-modal p{margin:0 0 30px;color:var(--color-text-muted);font-size:var(--text-base)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes slideUp{0%{opacity:0;transform:translate(-50%) translateY(20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@keyframes slideDown{0%{opacity:1;transform:translate(-50%) translateY(0)}to{opacity:0;transform:translate(-50%) translateY(20px)}}.confirm-tooltip{position:absolute;z-index:var(--z-confirm);transform:translate(-50%,-100%);padding:6px 14px;border-radius:999px;background:var(--glass-bg);border:1px solid var(--glass-border);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:var(--glass-shadow);color:var(--color-text-main);font-size:12px;font-weight:500;white-space:nowrap;pointer-events:none;animation:tooltipFadeIn .25s ease-out}@keyframes tooltipFadeIn{0%{opacity:0;transform:translate(-50%,-80%)}to{opacity:1;transform:translate(-50%,-100%)}}.flash-feedback{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:var(--z-flash);opacity:0;transition:opacity var(--duration-normal) ease-out}.flash-feedback.flash-correct{background-color:var(--color-success-alpha-35);opacity:1;animation:flashAnimation .6s ease-out}.flash-feedback.flash-wrong{background-color:var(--color-error-alpha-35);opacity:1;animation:flashAnimation .6s ease-out}@keyframes flashAnimation{0%{opacity:0}50%{opacity:1}to{opacity:0}}.modal__close{grid-column:3;display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-muted);cursor:pointer;user-select:none;-webkit-user-select:none;transition:color .25s ease,background .25s ease,transform .35s var(--ease-bounce);flex-shrink:0}.modal__close:hover{color:var(--color-error);background:var(--color-error-alpha-10);transform:scale(1.15)}.modal__close:active{transform:scale(.88);transition:transform .08s ease}.close-x-arm{stroke-dasharray:8.49;stroke-dashoffset:0;transition:stroke-dashoffset .45s var(--ease-bounce)}.close-x-arm--1,.close-x-arm--4{transition-delay:.03s}.close-x-arm--2,.close-x-arm--3{transition-delay:0s}.modal__close.closing .close-x-arm{stroke-dashoffset:8.49;transition:stroke-dashoffset .28s cubic-bezier(.55,0,.67,.19)}.modal__close.closing .close-x-arm--1,.modal__close.closing .close-x-arm--4{transition-delay:0s}.modal__close.closing .close-x-arm--2,.modal__close.closing .close-x-arm--3{transition-delay:.05s}.end-btn-icon,.streak__icon-svg--crown,.streak__icon-svg--flame,.settings-fab__icon,.map-error__retry-icon,.theme-icon-img,.continent-card__icon,.reset-stats-btn__icon--warning,.reset-stats-btn__icon--check,.reset-stats-btn__icon{background-color:currentColor;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center}.start-modal,.settings-modal,.info-modal,.trophy-modal,.end-modal,.flags-modal{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--glass-shadow);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);animation:fadeInScale var(--duration-slow) ease-out}.settings-fab,.info-fab,.trophy-fab{position:fixed;display:flex;align-items:center;justify-content:center;padding:0;border:1px solid var(--glass-border);cursor:pointer;transition:background .2s ease,transform .2s ease,box-shadow .2s ease,border-color .2s ease}.info-fab:hover,.trophy-fab:hover{animation:info-fab-breathe 1.8s ease-in-out infinite;box-shadow:var(--shadow-fab-hover);border-color:var(--color-white-alpha-12)}html.dark .info-fab:hover,html.dark .trophy-fab:hover{border-color:var(--color-white-alpha-16);box-shadow:var(--shadow-fab-hover)}.info-fab:hover .info-fab__icon,.trophy-fab:hover .trophy-fab__icon{filter:invert(75%)}html.dark .info-fab:hover .info-fab__icon,html.dark .trophy-fab:hover .trophy-fab__icon{filter:invert(95%)}.info-fab:active,.trophy-fab:active{animation:none;transform:translateY(0)}@media (max-width: 639px){.confirmation-modal{width:92vw;max-width:340px}.start-modal{padding:32px 24px}.start-modal h2{font-size:26px}.start-modal p{font-size:14px;margin-bottom:20px}}.hud{top:var(--fab-offset);padding:clamp(10px,calc(4px + 1.5vw),16px) clamp(16px,calc(6px + 2.7vw),28px) clamp(12px,calc(4px + 1.8vw),20px);max-width:calc(100vw - 80px);background:#ffffffed}html.dark .hud,html.dim .hud{background:#161e2ef0}.hud__flag-wrap{width:var(--flag-width);height:var(--flag-height);display:flex;align-items:center;justify-content:center;flex-shrink:0}.hud__flag{width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;border-radius:var(--radius-sm);box-shadow:var(--shadow-flag-img);border:2px solid var(--glass-border)}.hud__country-name{margin:0;color:var(--color-text-main);font-size:var(--text-sm);font-weight:600;text-align:center}.hud__score-value{font-size:clamp(18px,calc(12px + 1.2vw),26px);font-weight:800;line-height:1}.hud__score--correct .hud__score-value{color:var(--color-success)}.hud__score--remaining .hud__score-value{color:var(--color-text-muted)}.hud__score-label{font-size:var(--text-2xs);font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted)}.hud__divider{width:1px;height:clamp(20px,calc(14px + 1.8vw),32px);background:var(--glass-border)}.streak{margin-top:8px;padding:clamp(6px,calc(2px + .9vw),10px) clamp(10px,calc(6px + .9vw),14px);background:var(--color-streak-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--color-streak-bar-bg);border-radius:var(--radius-sm);transition:border-color .4s ease,box-shadow .4s ease}.streak__icon-svg{flex-shrink:0;color:var(--color-streak-label);transition:color var(--duration-normal) ease,filter var(--duration-normal) ease;transform-origin:center bottom;will-change:transform}.streak__icon-svg--crown{display:block;width:20px;height:20px;-webkit-mask-image:url(/crown.svg);mask-image:url(/crown.svg)}.streak__icon-svg--flame{display:block;width:18px;height:18px;-webkit-mask-image:url(/flame.svg);mask-image:url(/flame.svg)}.streak__icon--hidden{display:none}.streak__label{font-size:clamp(11px,calc(9px + .45vw),13px);font-weight:600;color:var(--color-streak-label);transition:color var(--duration-normal) ease}.streak__value{font-size:clamp(14px,calc(11px + .45vw),17px);font-weight:800;line-height:1;color:var(--color-streak-label);display:inline-block;transition:color var(--duration-normal) ease,filter var(--duration-normal) ease;will-change:transform}.streak__bar-bg{width:100%;height:clamp(8px,calc(6px + .3vw),10px);border-radius:999px;background:var(--color-streak-bar-bg);position:relative;overflow:visible}.streak__bar-fill{position:relative;overflow:visible;height:100%;width:0%;border-radius:999px;background:var(--color-text-muted);transition:width .35s cubic-bezier(.22,1,.36,1),background .4s ease,box-shadow .4s ease}.streak[data-tier="0"] .streak__bar-fill{background:var(--color-text-muted)}.streak[data-tier="1"]{border-color:var(--color-streak-1-alpha-12)}.streak[data-tier="1"] .streak__icon-svg,.streak[data-tier="1"] .streak__label,.streak[data-tier="1"] .streak__value{color:var(--color-streak-1)}.streak[data-tier="1"] .streak__bar-fill{background:linear-gradient(90deg,var(--color-streak-1-dark),var(--color-streak-1));box-shadow:6px 0 12px -3px var(--color-streak-1-alpha-50)}.streak[data-tier="2"]{border-color:var(--color-streak-2-alpha-15)}.streak[data-tier="2"] .streak__icon-svg,.streak[data-tier="2"] .streak__label,.streak[data-tier="2"] .streak__value{color:var(--color-streak-2)}.streak[data-tier="2"] .streak__bar-fill{background:linear-gradient(90deg,var(--color-streak-2-dark),var(--color-streak-2));box-shadow:6px 0 14px -3px var(--color-streak-2-alpha-60)}.streak[data-tier="3"]{border-color:var(--color-streak-3-alpha-18);box-shadow:0 0 16px -4px var(--color-streak-3-alpha-15)}.streak[data-tier="3"] .streak__icon-svg,.streak[data-tier="3"] .streak__label,.streak[data-tier="3"] .streak__value{color:var(--color-streak-3)}.streak[data-tier="3"] .streak__icon-svg{animation:fire-dance 1.2s ease-in-out infinite}.streak[data-tier="3"] .streak__bar-fill{background:linear-gradient(90deg,var(--color-streak-3-dark),var(--color-streak-3));box-shadow:6px 0 16px -3px var(--color-streak-3-alpha-65)}.streak[data-tier="4"]{border-color:var(--color-streak-4-alpha-20);box-shadow:0 0 20px -4px var(--color-streak-4-alpha-20)}.streak[data-tier="4"] .streak__icon-svg,.streak[data-tier="4"] .streak__label,.streak[data-tier="4"] .streak__value{color:var(--color-streak-4)}.streak[data-tier="4"] .streak__icon-svg{animation:fire-dance .9s ease-in-out infinite}.streak[data-tier="4"] .streak__bar-fill{background:linear-gradient(90deg,var(--color-streak-4-dark),var(--color-streak-4))}.streak[data-tier="4"] .streak__bar-bg{animation:bar-glow-cyan 1.8s ease-in-out infinite}@keyframes bar-glow-cyan{0%,to{filter:drop-shadow(0 0 3px var(--color-streak-4-alpha-35)) drop-shadow(0 0 8px var(--color-streak-4-alpha-10))}50%{filter:drop-shadow(0 0 8px var(--color-streak-4-alpha-95)) drop-shadow(0 0 18px var(--color-streak-4-alpha-50))}}.streak[data-tier="5"] .streak__bar-bg{animation:bar-glow-gold 1.8s ease-in-out infinite}@keyframes bar-glow-gold{0%,to{filter:drop-shadow(0 0 3px var(--color-streak-5-alpha-35)) drop-shadow(0 0 8px var(--color-streak-5-alpha-10))}50%{filter:drop-shadow(0 0 9px var(--color-streak-5-alpha-95)) drop-shadow(0 0 20px var(--color-streak-5-alpha-50))}}.streak[data-tier="5"]{border-color:var(--color-streak-5-alpha-25);box-shadow:0 0 24px -2px var(--color-streak-5-alpha-25),inset 0 0 12px -4px var(--color-streak-5-alpha-08)}.streak[data-tier="5"] .streak__icon-svg,.streak[data-tier="5"] .streak__label{color:var(--color-streak-5)}.streak[data-tier="5"] .streak__value{color:var(--color-streak-5);filter:drop-shadow(0 0 6px var(--color-streak-5-alpha-70))}.streak[data-tier="5"] .streak__icon-svg{animation:crown-float 2s ease-in-out infinite;filter:drop-shadow(0 0 8px var(--color-streak-5-alpha-80))}.streak[data-tier="5"] .streak__bar-fill{background:linear-gradient(90deg,var(--color-streak-5-dark),var(--color-streak-5),var(--color-streak-5-light));box-shadow:6px 0 20px -3px var(--color-streak-5-alpha-75)}@keyframes fire-dance{0%{transform:scaleX(1) scaleY(1) rotate(0) skew(0)}15%{transform:scaleX(.96) scaleY(1.08) rotate(-4deg) skew(3deg)}30%{transform:scaleX(1.04) scaleY(.95) rotate(3deg) skew(-2deg)}50%{transform:scaleX(.98) scaleY(1.1) rotate(-2deg) skew(4deg)}65%{transform:scaleX(1.05) scaleY(.97) rotate(4deg) skew(-3deg)}80%{transform:scaleX(.97) scaleY(1.06) rotate(-3deg) skew(2deg)}to{transform:scaleX(1) scaleY(1) rotate(0) skew(0)}}@keyframes crown-float{0%,to{transform:translateY(0) scale(1) rotate(0)}25%{transform:translateY(-1.5px) scale(1.05) rotate(-2deg)}50%{transform:translateY(-2.5px) scale(1.08) rotate(0)}75%{transform:translateY(-1px) scale(1.04) rotate(2deg)}}@keyframes streak-pop{0%{transform:scale(1)}35%{transform:scale(1.3)}60%{transform:scale(.95)}80%{transform:scale(1.05)}to{transform:scale(1)}}.streak__value--pop{animation:streak-pop .35s cubic-bezier(.175,.885,.32,1.275)}.streak-spark{position:absolute;width:4px;height:4px;border-radius:50%;pointer-events:none;z-index:10;animation:spark-out var(--duration-slow) ease-out forwards}@keyframes spark-out{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(var(--tx),var(--ty)) scale(0)}}.streak-spark-arm{position:absolute;width:0;height:0;transform:rotate(var(--arm-angle, 0deg));transform-origin:0 0;pointer-events:none;z-index:10}.streak-spark-bead{position:absolute;top:0;border-radius:99px;background:var(--spark-color, var(--color-streak-1));box-shadow:0 0 1px 0 var(--color-white-alpha-60),0 0 3px 1px var(--spark-color, var(--color-streak-1));animation:streak-bead-shoot var(--spark-dur, .5s) cubic-bezier(.05,.72,.12,1) forwards}@keyframes streak-bead-shoot{0%{transform:translateY(0);opacity:1}to{transform:translateY(calc(-1 * var(--spark-dist, 40px)));opacity:0}}.streak--lost{animation:streak-shake .4s ease-in-out}.streak--lost .streak__bar-fill{background:var(--color-error)!important;box-shadow:6px 0 14px -3px var(--color-error-alpha-60)!important}@keyframes streak-shake{0%,to{transform:translate(0)}12%{transform:translate(-5px)}25%{transform:translate(5px)}37%{transform:translate(-4px)}50%{transform:translate(4px)}62%{transform:translate(-3px)}75%{transform:translate(2px)}87%{transform:translate(-1px)}}@keyframes tier-up-flash{0%{opacity:0;transform:scale(.9)}30%{opacity:1;transform:scale(1.05)}to{opacity:0;transform:scale(1.2)}}.streak__tier-flash{position:absolute;inset:-2px;border-radius:var(--radius-sm);pointer-events:none;opacity:0;animation:tier-up-flash .6s ease-out forwards}.settings-fab{top:var(--fab-offset);right:var(--fab-offset);z-index:var(--z-hud);width:var(--fab-size-fluid);height:var(--fab-size-fluid);color:var(--color-text-muted);transition:all .2s ease}.settings-fab:hover{color:var(--color-text-main);transform:translateY(-2px);box-shadow:var(--shadow-fab-hover);border-color:var(--color-white-alpha-12)}html.dark .settings-fab:hover{border-color:var(--color-white-alpha-16);box-shadow:var(--shadow-fab-hover)}.settings-fab:hover .settings-fab__icon{animation:spin-settings 1.5s linear infinite}.settings-fab:active{transform:translateY(0)}.settings-fab__icon{display:block;width:20px;height:20px;-webkit-mask-image:url(/settings.svg);mask-image:url(/settings.svg);transition:transform .2s ease}@keyframes spin-settings{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.main-menu-backdrop{background:var(--color-black-alpha-15)}.main-menu{padding:clamp(28px,calc(16px + 3vw),48px) clamp(20px,calc(10px + 3vw),40px) clamp(24px,calc(14px + 2.4vw),40px);animation:fadeInScale 1s ease-out}.main-menu__header{margin-bottom:20px;position:relative}.main-menu__title{margin:0;position:relative;overflow:hidden;font-size:clamp(2rem,10vw,3.25rem);font-weight:900;letter-spacing:clamp(.1em,.5vw,.18em);line-height:1.1;background:linear-gradient(135deg,var(--color-title-grad-start) 0%,var(--color-title-grad-mid) 55%,var(--color-title-grad-end) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;z-index:2;filter:drop-shadow(1px 2px 4px var(--color-title-depth-shadow)) drop-shadow(0 0 4px var(--color-title-glow)) drop-shadow(0 0 12px var(--color-primary-alpha-25))}html.dark .main-menu__title{filter:drop-shadow(1px 2px 5px var(--color-title-depth-shadow)) drop-shadow(0 0 5px var(--color-title-glow)) drop-shadow(0 0 16px var(--color-primary-alpha-35))}.main-menu__title-beam{position:absolute;top:-187%;left:50%;width:2px;height:450%;z-index:1;background:linear-gradient(to bottom,transparent 0%,var(--color-title-beam-start) 25%,var(--color-title-beam-mid) 50%,var(--color-title-beam-end) 75%,transparent 100%);transform:rotate(-80deg);pointer-events:none}.main-menu__subtitle{margin:8px 0 0;font-size:var(--text-sm);color:var(--color-text-muted);font-weight:400}.main-menu__badge{display:inline-flex;align-items:center;justify-content:center;padding:clamp(2px,calc(1px + .15vw),3px) clamp(8px,calc(6px + .3vw),10px);font-size:var(--text-2xs);letter-spacing:.01em;min-width:7.5rem;min-height:2.2rem;line-height:1}.main-menu__badge strong{font-weight:700}.main-menu__badge--streak{background:var(--color-streak-text-alpha-12);color:var(--color-streak-text)}html.dark .main-menu__badge--streak{background:var(--color-streak-text-alpha-18)}.main-menu__badge--flags{background:var(--color-surface-badge-bg);color:var(--color-text-muted);cursor:pointer;border:none;user-select:none;-webkit-user-select:none;transition:background .18s ease,color .18s ease,transform var(--duration-fast) ease}.main-menu__badge--flags:hover{background:var(--color-primary-alpha-12);color:var(--color-primary);transform:translateY(-1px)}html.dark .main-menu__badge--flags{background:var(--color-surface-badge-bg)}html.dark .main-menu__badge--flags:hover{background:var(--color-primary-alpha-20);color:var(--color-primary)}.main-menu__badge img{display:block;width:1rem;height:1rem;flex-shrink:0;opacity:.8}.main-menu__badge-total{opacity:.55;font-weight:500}.main-menu__btn{padding:clamp(14px,calc(12px + .3vw),16px) clamp(20px,calc(16px + .6vw),24px);font-size:var(--text-base);border-radius:var(--radius-md);user-select:none;-webkit-user-select:none;transition:transform var(--duration-fast) ease,box-shadow var(--duration-fast) ease,background var(--duration-fast) ease}.main-menu__btn--primary{background:var(--color-primary);color:var(--color-text-main-inv);border:none;box-shadow:0 4px 18px var(--color-primary-alpha-35)}.main-menu__btn--primary:hover{background:var(--color-primary-hover);transform:scale(1.03);box-shadow:0 6px 24px var(--color-primary-alpha-50)}.main-menu__btn--primary:active{transform:scale(.98)}.main-menu__btn--secondary{background:transparent;color:var(--color-text-main);border:1px solid var(--glass-border)}.main-menu__btn--secondary:hover{background:var(--glass-bg);transform:scale(1.03)}.main-menu__btn--secondary:active{transform:scale(.98)}.badge-icon{display:block;width:1rem;height:1rem;flex-shrink:0;background-color:currentColor;opacity:.8;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center}.badge-icon--flame{-webkit-mask-image:url(/flame.svg);mask-image:url(/flame.svg)}.badge-icon--flag{-webkit-mask-image:url(/flag.svg);mask-image:url(/flag.svg)}.btn-icon{display:block;width:18px;height:18px;flex-shrink:0;background-color:currentColor;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center}.btn-icon--play{-webkit-mask-image:url(/play.svg);mask-image:url(/play.svg)}.btn-icon--settings{-webkit-mask-image:url(/settings.svg);mask-image:url(/settings.svg)}.end-overlay{background:var(--color-black-alpha-15);backdrop-filter:blur(var(--overlay-blur));-webkit-backdrop-filter:blur(var(--overlay-blur));animation:fadeIn var(--duration-slow) ease-out}.end-modal{width:var(--modal-width-sm);display:flex;flex-direction:column;align-items:center;text-align:center;padding:var(--modal-padding-y) var(--modal-padding-x);overflow:hidden}.end-modal__scroll-area{display:contents}.end-icon{display:flex;align-items:center;justify-content:center;width:clamp(44px,calc(36px + 1.8vw),56px);height:clamp(44px,calc(36px + 1.8vw),56px);border-radius:50%;margin-bottom:12px;flex-shrink:0}.end-icon svg{width:clamp(22px,calc(18px + .6vw),26px);height:clamp(22px,calc(18px + .6vw),26px)}.end-icon--low{background:var(--color-error-alpha-12);color:var(--color-error)}.end-icon--mid{background:var(--color-primary-alpha-12);color:var(--color-primary)}.end-icon--high{background:var(--color-rating-alpha-12);color:var(--color-rating)}html.dark .end-icon--high{color:var(--color-rating)}.end-icon--trophies{width:auto;height:auto;background:none;border-radius:0;gap:8px;flex-wrap:wrap;justify-content:center;max-width:100%}.end-trophy-chip{width:52px;height:52px;border-radius:50%;background:var(--glass-bg);border:1.5px solid var(--glass-border);display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden;cursor:pointer;transition:border-color .2s ease,transform .15s ease}.end-trophy-chip:hover{border-color:var(--color-primary);transform:scale(1.1)}.end-trophy-chip img{width:36px;height:36px;object-fit:contain}.end-trophy-chip--hidden{opacity:0;transform:translate(-16px) scale(.75)}@keyframes end-trophy-in{0%{opacity:0;transform:translate(-16px) scale(.75)}to{opacity:1;transform:translate(0) scale(1)}}.end-trophy-chip--visible{animation:end-trophy-in .38s var(--ease-bounce) forwards}.end-title{margin:0 0 clamp(16px,calc(10px + 1.5vw),24px);font-size:var(--text-2xl);font-weight:800;color:var(--color-text-main);letter-spacing:-.5px}@property --donut-pct{syntax: "<percentage>"; inherits: false; initial-value: 0%;}.end-donut-wrapper{position:relative;width:var(--donut-size);height:var(--donut-size);margin-bottom:clamp(16px,calc(10px + 1.5vw),24px);flex-shrink:0}.end-donut{position:relative;z-index:2;width:100%;height:100%;border-radius:50%;background:conic-gradient(var(--donut-color, var(--color-primary)) 0% var(--donut-pct, 0%),var(--donut-track) var(--donut-pct, 0%) 100%);-webkit-mask:radial-gradient(transparent var(--donut-hole),black calc(var(--donut-hole) + 1px));mask:radial-gradient(transparent var(--donut-hole),black calc(var(--donut-hole) + 1px));transition:--donut-pct 1.3s var(--ease-out)}.end-donut-shine{position:absolute;inset:0;border-radius:50%;z-index:3;background:linear-gradient(to bottom,var(--color-white-alpha-38) 0%,var(--color-white-alpha-08) 50%,var(--color-black-alpha-22) 100%);-webkit-mask:radial-gradient(transparent var(--donut-hole),black calc(var(--donut-hole) + 1px));mask:radial-gradient(transparent var(--donut-hole),black calc(var(--donut-hole) + 1px));mix-blend-mode:overlay;pointer-events:none}.end-pct{font-size:clamp(22px,calc(16px + 1.2vw),30px);font-weight:800;color:var(--color-text-main);line-height:1}.end-fraction{font-size:var(--text-2xs);font-weight:500;color:var(--color-text-muted);margin-top:3px}.end-stats{margin-bottom:clamp(20px,calc(14px + 1.2vw),28px)}.end-stat{display:flex;flex-direction:column;align-items:center;gap:3px;flex:1;min-width:0}.end-stat-divider{width:1px;height:clamp(28px,calc(20px + 1.8vw),40px);background:var(--glass-border);flex-shrink:0}.end-stat__value{font-size:var(--text-2xl);font-weight:800;line-height:1;color:var(--color-text-main)}.end-stat__value--correct{color:var(--color-success)}.end-stat__value--incorrect{color:var(--color-error)}.end-stat__label{font-size:var(--text-2xs);font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted)}.end-play-again-btn{padding:clamp(13px,calc(11px + .3vw),15px) clamp(20px,calc(16px + .6vw),24px);background:var(--color-primary);color:var(--color-text-main-inv);border:none;border-radius:var(--radius-md);font-size:var(--text-base);font-weight:700;user-select:none;-webkit-user-select:none;transition:background .2s ease,transform var(--duration-fast) ease,box-shadow .2s ease;box-shadow:0 4px 18px var(--color-primary-alpha-35);margin-bottom:10px}.end-play-again-btn:hover{background:var(--color-primary-hover);transform:scale(1.02);box-shadow:0 6px 24px var(--color-primary-alpha-50)}.end-play-again-btn:active{transform:scale(.98)}.end-review-btn{padding:clamp(11px,calc(9px + .3vw),13px) clamp(20px,calc(16px + .6vw),24px);background:transparent;color:var(--color-text-main);border:1.5px solid var(--glass-border);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:600;user-select:none;-webkit-user-select:none;transition:background .2s ease,border-color .2s ease,color .2s ease,transform var(--duration-fast) ease;margin-bottom:20px}.end-review-btn:hover{background:var(--color-primary-alpha-08);border-color:var(--color-primary);color:var(--color-primary);transform:scale(1.02)}.end-review-btn:active{transform:scale(.98)}.end-bottom-actions{flex-shrink:0}.end-icon-btn{padding:clamp(6px,calc(4px + .3vw),8px) clamp(12px,calc(8px + .6vw),16px);background:transparent;border:1px solid var(--glass-border);border-radius:var(--radius-sm);color:var(--color-text-muted);font-size:var(--text-xs);font-weight:500;white-space:nowrap;user-select:none;-webkit-user-select:none;transition:background .2s ease,color .2s ease,border-color .2s ease,transform var(--duration-fast) ease}.end-icon-btn:hover{background:var(--glass-bg);color:var(--color-text-main);border-color:var(--color-white-alpha-24);transform:scale(1.04)}.end-btn-icon{display:block;flex-shrink:0;width:20px;height:20px}.end-btn-icon--replay{-webkit-mask-image:url(/replay.svg);mask-image:url(/replay.svg)}.end-btn-icon--review{-webkit-mask-image:url(/review.svg);mask-image:url(/review.svg)}.end-btn-icon--home{-webkit-mask-image:url(/home.svg);mask-image:url(/home.svg)}.end-btn-icon--trophy{-webkit-mask-image:url(/trophy.svg);mask-image:url(/trophy.svg)}.end-btn-icon--settings{-webkit-mask-image:url(/settings.svg);mask-image:url(/settings.svg)}.end-btn-icon--tick{width:16px;height:16px;-webkit-mask-image:url(/tick.svg);mask-image:url(/tick.svg)}html.dark .end-icon-btn:hover{border-color:var(--color-white-alpha-28)}.end-donut-glow{position:absolute;inset:calc(var(--donut-size) / 20 - var(--donut-hole) / 12);border-radius:50%;pointer-events:none;opacity:0;z-index:1}@keyframes donut-glow-fadein{0%{box-shadow:0 0 8px 4px var(--glow-color),0 0 25px 9px var(--glow-color),inset 0 0 8px 4px var(--glow-color),inset 0 0 25px 9px var(--glow-color);opacity:0}to{box-shadow:0 0 8px 4px var(--glow-color),0 0 25px 9px var(--glow-color),inset 0 0 8px 4px var(--glow-color),inset 0 0 25px 9px var(--glow-color);opacity:.72}}@keyframes donut-glow-pulse{0%,to{box-shadow:0 0 8px 4px var(--glow-color),0 0 25px 9px var(--glow-color),inset 0 0 8px 4px var(--glow-color),inset 0 0 25px 9px var(--glow-color);opacity:.72}50%{box-shadow:0 0 10px 5px var(--glow-color),0 0 30px 11px var(--glow-color),inset 0 0 10px 5px var(--glow-color),inset 0 0 30px 11px var(--glow-color);opacity:.88}}@keyframes donut-glow-fadein-gold{0%{box-shadow:0 0 14px 6px var(--glow-color),0 0 40px 16px var(--glow-color),inset 0 0 10px 4px var(--glow-color),inset 0 0 32px 12px var(--glow-color);opacity:0}to{box-shadow:0 0 14px 6px var(--glow-color),0 0 40px 16px var(--glow-color),inset 0 0 10px 4px var(--glow-color),inset 0 0 32px 12px var(--glow-color);opacity:.85}}@keyframes donut-glow-pulse-gold{0%,to{box-shadow:0 0 14px 6px var(--glow-color),0 0 40px 16px var(--glow-color),inset 0 0 10px 4px var(--glow-color),inset 0 0 32px 12px var(--glow-color);opacity:.85}50%{box-shadow:0 0 20px 9px var(--glow-color),0 0 55px 22px var(--glow-color),inset 0 0 14px 7px var(--glow-color),inset 0 0 40px 16px var(--glow-color);opacity:1}}.end-donut-glow--active{animation:donut-glow-fadein var(--duration-slow) ease-out forwards,donut-glow-pulse 2.2s ease-in-out .5s infinite}.end-donut-glow--active-gold{animation:donut-glow-fadein-gold var(--duration-slow) ease-out forwards,donut-glow-pulse-gold 2.2s ease-in-out .5s infinite}.end-sparks{position:absolute;left:50%;top:14px;width:0;height:0;pointer-events:none}.end-spark-flash{position:absolute;width:26px;height:26px;border-radius:50%;background:var(--color-white);top:-13px;left:-13px;transform-origin:center;box-shadow:0 0 0 3px var(--color-white-alpha-85),0 0 12px 6px var(--color-white),0 0 28px 12px var(--color-highlight),0 0 60px 24px var(--color-highlight-alpha-55),0 0 110px 44px var(--color-highlight-alpha-20);animation:spark-flash .55s ease-out both}@keyframes spark-flash{0%{transform:scale(.25);opacity:1}22%{transform:scale(1.6);opacity:1}to{transform:scale(5.5);opacity:0}}.end-spark-arm{position:absolute;top:0;left:0;width:0;height:0;transform:rotate(var(--arm-angle, 0deg));transform-origin:0 0}.end-spark-bead{position:absolute;top:0;border-radius:99px;background:var(--spark-color, var(--color-highlight));box-shadow:0 0 2px 1px var(--color-white-alpha-60),0 0 6px 2px var(--spark-color),0 0 16px 6px var(--spark-color);animation:bead-shoot .6s cubic-bezier(.05,.72,.12,1) var(--spark-delay, 0s) both}@keyframes bead-shoot{0%{transform:translateY(-100%);opacity:1}to{transform:translateY(calc(-100% - var(--spark-dist, 45px)));opacity:0}}.end-burst-flash{position:absolute;left:50%;top:50%;width:40px;height:40px;border-radius:50%;background:var(--color-white);pointer-events:none;box-shadow:0 0 0 5px var(--color-white-alpha-92),0 0 18px 9px var(--color-white),0 0 40px 18px var(--color-rating),0 0 80px 34px var(--color-rating-alpha-60),0 0 130px 55px var(--color-highlight-alpha-28);animation:burst-flash .52s ease-out forwards;z-index:10}@keyframes burst-flash{0%{transform:translate(-50%,-50%) scale(.08);opacity:1}16%{transform:translate(-50%,-50%) scale(1.7);opacity:1}to{transform:translate(-50%,-50%) scale(5.5);opacity:0}}.end-burst-wave{position:absolute;left:50%;top:50%;width:110px;height:110px;border-radius:50%;pointer-events:none;border:4px solid var(--color-white-alpha-84);box-shadow:0 0 8px 2px var(--color-rating),0 0 18px 8px var(--color-rating-alpha-35),inset 0 0 8px 2px var(--color-white-alpha-25);animation:burst-wave .58s ease-out forwards;z-index:9}@keyframes burst-wave{0%{transform:translate(-50%,-50%) scale(.95);opacity:1;border-width:5px}65%{opacity:.32}to{transform:translate(-50%,-50%) scale(1.8);opacity:0;border-width:1px}}@keyframes end-stat-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.end-stat--hidden{opacity:0}.end-stat--visible{animation:end-stat-in .35s ease-out forwards}@keyframes end-action-in{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.end-action--hidden{opacity:0}.end-action--visible{animation:end-action-in .4s ease-out forwards}.review-fab{position:fixed;bottom:var(--fab-offset);left:50%;transform:translate(-50%);z-index:var(--z-overlay);animation:slideUp var(--duration-normal) ease-out}.review-fab__btn{display:inline-flex;align-items:center;gap:8px;padding:clamp(12px,calc(10px + .3vw),14px) clamp(24px,calc(20px + .6vw),28px);background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:999px;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:var(--glass-shadow);color:var(--color-text-main);font-size:var(--text-sm);font-weight:600;cursor:pointer;user-select:none;-webkit-user-select:none;transition:background .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease,transform var(--duration-fast) ease}.review-fab__btn:hover{background:var(--color-primary);border-color:transparent;color:var(--color-text-main-inv);transform:scale(1.04);box-shadow:0 6px 24px var(--color-primary-alpha-40)}.review-fab__btn:active{transform:scale(.98)}@media (max-width: 500px){.end-sparks,.end-spark-flash,.end-burst-flash{display:none}}.settings-modal{width:var(--modal-width-md);max-height:80vh;max-height:80dvh;display:flex;flex-direction:column;overflow:hidden;transition:background-color var(--duration-slow) ease,border-color var(--duration-slow) ease,box-shadow var(--duration-slow) ease}.settings-modal__header{flex-shrink:0;padding:var(--modal-padding-y) var(--modal-padding-x)}.settings-modal__body{flex-shrink:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:0}.settings-modal__body-inner{padding:0 var(--modal-padding-x)}.settings-modal__footer{flex-shrink:0;padding:clamp(16px,calc(12px + .6vw),20px) var(--modal-padding-x)}.settings-modal__title-icon{filter:invert(40%);flex-shrink:0}html.dark .settings-modal__title-icon{filter:invert(80%)}.settings-modal h2{margin:0;color:var(--color-text-main);font-size:var(--text-2xl);font-weight:700}.setting-section{margin-bottom:25px}.setting-section:last-of-type{border-bottom:none}.setting-section h3{margin:0 0 10px;color:var(--color-text-muted);font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.05em;display:flex;align-items:center;gap:6px}.setting-section.disabled{opacity:.5;pointer-events:none}.setting-options{display:flex;flex-direction:column;gap:10px}.difficulty-chip{flex:1;padding:clamp(10px,calc(8px + .3vw),12px) clamp(14px,calc(10px + .9vw),20px);background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-md);cursor:pointer;font-size:var(--text-base);font-weight:600;color:var(--color-text-muted);transition:all .2s ease;outline:none;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);user-select:none;-webkit-user-select:none}.difficulty-chip:hover{border-color:var(--color-primary);color:var(--color-text-main);transform:translateY(-2px)}.difficulty-chip.active{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-text-main-inv);box-shadow:0 4px 12px var(--color-primary-alpha-35)}.difficulty-chip:active{transform:translateY(0)}.difficulty-description{margin:8px 0 0;color:var(--color-text-muted);font-size:var(--text-xs);font-style:italic;line-height:1.4}.lang-picker{display:flex;align-items:center;gap:10px}.lang-picker__sep{color:var(--color-text-muted);opacity:.4;font-size:16px;font-weight:300;user-select:none;line-height:1}.lang-picker__btn{background:none;border:none;padding:2px 0;font-size:15px;font-weight:500;color:var(--color-text-muted);cursor:pointer;position:relative;user-select:none;-webkit-user-select:none;transition:color .25s ease,font-weight .25s ease;letter-spacing:.04em}.lang-picker__btn:after{content:"";position:absolute;left:0;right:0;bottom:-3px;height:2px;border-radius:2px;background:var(--color-primary);box-shadow:0 0 8px var(--color-primary-alpha-80);transform:scaleX(0);transition:transform .25s ease,opacity .25s ease;opacity:0}.lang-picker__btn:hover{color:var(--color-text-main)}.lang-picker__btn.active{color:var(--color-text-main);font-weight:700}.lang-picker__btn.active:after{transform:scaleX(1);opacity:1}.theme-icons{display:flex;align-items:center;gap:20px}.theme-icon-btn{background:none;border:none;padding:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--duration-normal) ease-out;transform:scale(.9);opacity:.4}html.dark .theme-icon-btn{opacity:.35}.theme-icon-btn:hover{transform:scale(1.05)}.theme-icon-btn--sun.active{transform:scale(1.25) rotate(45deg);opacity:1}.theme-icon-btn--system.active{transform:scale(1.1);opacity:1}.theme-icon-btn--moon.active{transform:scale(1.1) rotate(-12deg);opacity:1}.theme-icon-img{display:block;transition:opacity var(--duration-normal) ease-out}.theme-icon-btn--sun .theme-icon-img{width:26px;height:26px;-webkit-mask-image:url(/sun.svg);mask-image:url(/sun.svg)}.theme-icon-btn--system .theme-icon-img{width:28px;height:28px;-webkit-mask-image:url(/clouds-and-sun.svg);mask-image:url(/clouds-and-sun.svg)}.theme-icon-btn--moon .theme-icon-img{width:24px;height:24px;-webkit-mask-image:url(/moon.svg);mask-image:url(/moon.svg)}.flag-count-row{display:flex;flex-direction:row;gap:10px}.flag-count-row .radio-option{flex:1;justify-content:center}.radio-option{display:flex;align-items:center;padding:12px 15px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-sm);cursor:pointer;transition:all .2s ease}.radio-option:hover{border-color:var(--color-primary)}.radio-option input[type=radio]{margin-right:10px;width:18px;height:18px;cursor:pointer;accent-color:var(--color-primary)}.radio-option span{color:var(--color-text-main);font-size:16px}.checkbox-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.continent-card{display:block;cursor:pointer;user-select:none;-webkit-user-select:none}.continent-card input[type=checkbox]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.continent-card__body{display:flex;align-items:center;gap:clamp(8px,calc(6px + .3vw),10px);padding:clamp(8px,calc(6px + .3vw),10px) clamp(10px,calc(8px + .3vw),12px);background:var(--glass-bg);border:1.5px solid var(--glass-border);border-radius:var(--radius-sm);transition:border-color .2s ease,background-color .2s ease,box-shadow .2s ease}.continent-card__icon{display:block;width:24px;height:24px;flex-shrink:0;background-color:var(--color-text-main);opacity:.35;transition:opacity .2s ease,background-color .2s ease}html.dark .continent-card__icon{opacity:.3}.continent-card__icon--africa{-webkit-mask-image:url(/africa.svg);mask-image:url(/africa.svg)}.continent-card__icon--asia{-webkit-mask-image:url(/asia.svg);mask-image:url(/asia.svg)}.continent-card__icon--europe{-webkit-mask-image:url(/europe.svg);mask-image:url(/europe.svg)}.continent-card__icon--north-america{-webkit-mask-image:url(/north-america.svg);mask-image:url(/north-america.svg)}.continent-card__icon--oceania{-webkit-mask-image:url(/oceania.svg);mask-image:url(/oceania.svg)}.continent-card__icon--south-america{-webkit-mask-image:url(/south-america.svg);mask-image:url(/south-america.svg)}.continent-card__body:hover{border-color:var(--color-primary);background:var(--color-surface-interactive-hover)}html.dark .continent-card__body:hover{background:var(--color-surface-interactive-hover)}.continent-card input:checked+.continent-card__body:hover{background-color:var(--color-primary-hover);transform:scale(.97);box-shadow:0 0 0 1px var(--color-primary-hover)}.continent-card input:checked+.continent-card__body{border-color:var(--color-primary);background-color:var(--color-primary);box-shadow:0 0 0 1px var(--color-primary)}.continent-card input:checked+.continent-card__body .continent-card__name{color:var(--color-text-main-inv)}.continent-card input:checked+.continent-card__body .continent-card__icon{opacity:.9;background-color:var(--color-text-main-inv)}html.dark .continent-card input:checked+.continent-card__body .continent-card__icon{opacity:.9;background-color:var(--color-text-main-inv)}.continent-card__name{color:var(--color-text-main);font-size:var(--text-sm);font-weight:500;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.continent-card__check{width:18px;height:18px;color:var(--color-primary);opacity:0;transform:scale(.5);transition:opacity .2s ease,transform .2s ease;flex-shrink:0}.continent-card input:checked+.continent-card__body .continent-card__check{opacity:1;transform:scale(1)}.continent-card input:focus-visible+.continent-card__body{outline:2px solid var(--color-primary);outline-offset:2px}.coming-soon{color:var(--color-text-muted);font-style:italic;margin:5px 0 0}.danger-zone-btn-wrap{position:relative;display:inline-block}.danger-zone-btn-wrap[data-tooltip]:hover:after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);background:var(--color-tooltip-bg);color:var(--color-tooltip-text);font-size:11px;white-space:nowrap;padding:4px 8px;border-radius:4px;pointer-events:none;z-index:10}.reset-stats-btn{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border:1px solid var(--color-error);border-radius:var(--radius-sm);background:transparent;color:var(--color-error);font-size:13px;font-weight:500;cursor:pointer;user-select:none;-webkit-user-select:none;transition:color .2s ease,background .2s ease,border-color .2s ease}.reset-stats-btn:hover{color:var(--color-error);background:var(--color-error-alpha-10);border-color:var(--color-error)}.reset-stats-btn--confirm{color:var(--color-error);background:var(--color-error-alpha-18);border-color:var(--color-error-alpha-70)}.reset-stats-btn--confirm:hover{background:var(--color-error-alpha-26);border-color:var(--color-error)}.reset-stats-btn--confirm .reset-stats-btn__icon--trash{display:none}.reset-stats-btn--confirm .reset-stats-btn__icon--warning{display:inline-block}.reset-stats-btn--done{color:var(--color-success);background:var(--color-success-alpha-10);border-color:var(--color-success-alpha-45);cursor:default;pointer-events:none}.reset-stats-btn--done .reset-stats-btn__icon--trash,.reset-stats-btn--done .reset-stats-btn__icon--warning{display:none}.reset-stats-btn--done .reset-stats-btn__icon--check{display:inline-block}.reset-stats-btn__icon--warning{display:none;flex-shrink:0;width:14px;height:14px;-webkit-mask-image:url(/alert.svg);mask-image:url(/alert.svg)}.reset-stats-btn__icon--check{display:none;flex-shrink:0;width:14px;height:14px;-webkit-mask-image:url(/tick.svg);mask-image:url(/tick.svg)}.reset-stats-btn--done .reset-stats-btn__icon--check-img{clip-path:inset(0 100% 0 0);animation:reveal-tick .45s ease forwards;animation-delay:.08s}@keyframes reveal-tick{to{clip-path:inset(0 0% 0 0)}}.reset-stats-btn__check-path{display:none}.reset-stats-btn__icon{display:block;flex-shrink:0;width:14px;height:14px;-webkit-mask-image:url(/delete.svg);mask-image:url(/delete.svg);transition:opacity .2s ease}.reset-stats-btn:hover .reset-stats-btn__icon{opacity:1}.about-credits-link{display:inline-flex;align-items:center;justify-content:center;gap:6px;width:100%;margin-top:24px;padding:0;border:none;background:transparent;color:var(--color-primary);font-size:13px;font-weight:500;text-align:center;cursor:pointer;transition:color .2s ease}.about-credits-link__icon{display:block;filter:invert(50%);transition:filter .2s ease;flex-shrink:0}html.dark .about-credits-link__icon{filter:invert(42%) sepia(70%) saturate(600%) hue-rotate(210deg) brightness(1.05)}.about-credits-link:hover{color:var(--color-primary)}.about-credits-link:hover .about-credits-link__icon{filter:invert(42%) sepia(70%) saturate(600%) hue-rotate(210deg) brightness(1.05)}.save-settings-btn{width:100%;padding:12px 25px;border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:16px;font-weight:700;background:var(--color-primary);color:var(--color-text-main-inv);transition:all .2s ease;user-select:none;-webkit-user-select:none}.save-settings-btn:hover{background:var(--color-primary-hover);transform:translateY(-2px);box-shadow:0 4px 12px var(--color-primary-alpha-35)}.save-settings-btn:active{transform:translateY(0)}.cancel-settings-btn{width:100%;padding:8px;border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:14px;font-weight:500;background:transparent;color:var(--color-text-muted);text-align:center;transition:color .2s ease;user-select:none;-webkit-user-select:none}.cancel-settings-btn:hover{color:var(--color-text-main);background:transparent}.difficulty-chip:disabled,.difficulty-chip.chip--disabled{opacity:.38;cursor:not-allowed;pointer-events:none;transform:none!important;box-shadow:none!important;border-color:var(--glass-border)!important;background:var(--glass-bg)!important;color:var(--color-text-muted)!important}.settings-confirm-overlay{background:#000000a6;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.settings-confirm-modal{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--glass-shadow);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);padding:var(--modal-padding-y) var(--modal-padding-x) clamp(24px,calc(18px + 1.8vw),36px);width:var(--modal-width-sm);text-align:center;animation:fadeInScale .25s ease-out}.settings-confirm-modal__icon{display:block;width:32px;height:32px;margin:0 auto 16px;background-color:var(--color-warning, #f59e0b);-webkit-mask-image:url(/alert.svg);mask-image:url(/alert.svg);-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;line-height:1}.settings-confirm-modal__title{margin:0 0 16px;font-size:var(--text-xl);font-weight:700;color:var(--color-text-main);line-height:1.3}.settings-confirm-modal__body{margin:0 0 28px;font-size:var(--text-sm);line-height:1.82;color:var(--color-text-muted)}.app-settings-inline{display:flex;align-items:stretch;justify-content:center;gap:0}.app-setting-item{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:10px}.app-settings-divider{width:1px;align-self:stretch;background:var(--glass-border);flex-shrink:0;opacity:.5;margin:0 8px}.setting-section--danger{display:flex;justify-content:center;margin-bottom:0}.soon-badge{display:inline-block;padding:1px 7px;background:var(--color-primary-alpha-15);color:var(--color-primary);border-radius:20px;font-size:10px;font-weight:600;letter-spacing:.04em;text-transform:none;vertical-align:middle}@media (max-width: 500px){.checkbox-grid{grid-template-columns:repeat(2,1fr)}}.info-fab{bottom:var(--fab-offset);right:var(--fab-offset);z-index:var(--z-overlay);width:var(--fab-size-sm-fluid);height:var(--fab-size-sm-fluid)}.info-fab__icon{display:block;width:var(--icon-size-sm);height:var(--icon-size-sm);filter:invert(50%);transition:filter .2s ease}html.dark .info-fab__icon{filter:invert(80%)}@keyframes info-fab-breathe{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.info-modal{width:var(--modal-width-sm);max-height:80vh;max-height:80dvh;display:flex;flex-direction:column;overflow:hidden}.info-modal__header{flex-shrink:0;padding:var(--modal-padding-y) var(--modal-padding-x)}.info-modal__title{margin:0;color:var(--color-text-main);font-size:var(--text-xl);font-weight:700;line-height:1.3;text-align:center}.info-modal__body{flex-shrink:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:0}.info-modal__body-inner{padding:0 var(--modal-padding-x)}.info-section{margin-bottom:20px}.info-section h3{margin:0 0 clamp(10px,calc(8px + .3vw),12px) 0;color:var(--color-text-main);font-size:var(--text-lg);font-weight:600}.info-section__body{margin:0;color:var(--color-text-muted);font-size:var(--text-sm);line-height:1.82}.info-divider{border:none;border-top:1px solid var(--color-divider);margin:24px 0}html.dark .info-divider{border-top-color:var(--color-divider)}.info-credits-list{list-style:none;margin:0;padding:0}.info-credits-sublist{list-style:none;margin:8px 0 0;padding:0}.info-credits-sublist li{font-size:13px;color:var(--color-text-muted);line-height:1.5}.info-credits-list li{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap;font-size:var(--text-sm);line-height:1.5}.info-credits-list__label{color:var(--color-text-main);font-weight:500;white-space:nowrap}.info-credits-list__link{color:var(--color-primary);text-decoration:none;font-weight:500;transition:color var(--duration-fast) ease}.info-credits-list__link:hover{color:var(--color-primary-hover);text-decoration:underline}.info-link-arrow{font-size:12px;opacity:.7;margin-left:2px}.info-credits-authors{margin:4px 0 0;font-size:var(--text-xs);color:var(--color-text-muted)}.info-modal__footer{flex-shrink:0;padding:calc(var(--modal-padding-y) / 2) var(--modal-padding-x)}.trophy-fab{bottom:var(--fab-offset);left:var(--fab-offset);z-index:var(--z-overlay);width:var(--fab-size-sm-fluid);height:var(--fab-size-sm-fluid)}.trophy-fab__icon{display:block;width:var(--icon-size-sm);height:var(--icon-size-sm);filter:invert(50%);transition:filter .2s ease}html.dark .trophy-fab__icon{filter:invert(80%)}.trophy-modal{padding:var(--modal-padding-y) var(--modal-padding-x) clamp(20px,calc(14px + 1.8vw),32px);width:var(--modal-width-sm);max-height:85vh;max-height:85dvh;overflow:hidden;position:relative;display:flex;flex-direction:column}.trophy-modal__header .modal__close{position:absolute;right:0;top:0}.trophy-modal__title{margin:0;color:var(--color-text-main);font-size:var(--text-xl);font-weight:700;line-height:1.3;text-align:center}.trophy-slot__icon-wrap{width:var(--trophy-slot-size);height:var(--trophy-slot-size);border-radius:clamp(12px,calc(8px + 1.2vw),var(--radius-md));display:flex;align-items:center;justify-content:center;border:1px solid var(--glass-border);background:var(--glass-bg);transition:border-color .2s ease,background .2s ease}.trophy-slot--locked .trophy-slot__icon-wrap,html.dark .trophy-slot--locked .trophy-slot__icon-wrap{background:var(--color-surface-card-bg)}.trophy-slot__lock{width:28px;height:28px;color:var(--color-text-muted);opacity:.35}.trophy-slot__label{font-size:var(--text-2xs);font-weight:600;color:var(--color-text-muted);text-align:center;letter-spacing:.03em}.trophy-award{width:clamp(42px,calc(32px + 2.4vw),56px);height:clamp(52px,calc(40px + 3vw),70px);display:block;filter:drop-shadow(0 2px 4px var(--color-black-alpha-35))}.trophy-slot--locked .trophy-award{filter:grayscale(1) opacity(.35)}.trophy-total{margin:16px 0;text-align:center;font-size:var(--text-sm);color:var(--color-text-muted)}.trophy-total strong{color:var(--color-text-main);font-weight:700}.trophy-grid{grid-template-columns:repeat(4,1fr);grid-auto-flow:row;gap:clamp(10px,calc(6px + 1.5vw),16px);overflow-x:clip}.trophy-slot{position:relative}.trophy-tooltip{display:none;position:fixed;z-index:var(--z-tooltip);width:clamp(160px,calc(120px + 9vw),220px);padding:12px 14px;border-radius:var(--radius-md);background:#ffffffed;border:1px solid var(--glass-border);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:var(--glass-shadow);pointer-events:none}html.dark .trophy-tooltip,html.dim .trophy-tooltip{background:#161e2ef0}.trophy-tooltip__icon{width:28px;height:35px;flex-shrink:0}.trophy-slot--locked .trophy-tooltip__icon{filter:grayscale(1) opacity(.4)}.trophy-tooltip__title{font-size:var(--text-xs);font-weight:700;color:var(--color-text-main);line-height:1.3}.trophy-tooltip__desc{margin:0;font-size:var(--text-2xs);color:var(--color-text-muted);line-height:1.45}.flags-modal{padding:var(--modal-padding-y) var(--modal-padding-x) clamp(16px,calc(10px + 1.5vw),28px);animation:fadeInScale .35s ease-out;width:var(--modal-width-lg);max-height:84vh;max-height:84dvh;gap:var(--modal-gap)}.flags-modal__header .modal__close{position:absolute;right:0;top:50%;translate:0 -50%}.flags-modal__title{margin:0;font-size:var(--text-xl);font-weight:700;color:var(--color-text-main);letter-spacing:-.3px}.flags-progress__bar-track{height:6px;border-radius:999px;background:var(--glass-border);overflow:hidden}.flags-progress__bar-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--color-primary),var(--color-streak-text));transition:width .6s var(--ease-out)}.flags-progress__text{margin:0;font-size:var(--text-xs);font-weight:500;color:var(--color-text-muted);text-align:right}.flags-tabs{justify-content:safe center;overflow-y:clip;padding-block:16px;margin-block:-8px}.flags-tabs .difficulty-chip{flex:none;padding:clamp(6px,calc(4px + .45vw),7px) clamp(10px,calc(8px + .75vw),13px);font-size:var(--text-xs);font-weight:500}.flags-tabs .difficulty-chip.active{box-shadow:0 2px 12px var(--color-primary-alpha-35)}.flags-grid{padding:8px 12px 8px 8px;grid-template-columns:repeat(auto-fill,minmax(clamp(72px,calc(60px + 2.4vw),86px),1fr));gap:clamp(10px,calc(6px + .9vw),16px)}.flags-card{display:flex;flex-direction:column;align-items:center;gap:6px;cursor:default;transition:transform var(--duration-fast) ease}.flags-card:not(.flags-card--locked):hover{transform:scale(1.07)}.flags-card__flag-wrap{width:100%;aspect-ratio:3 / 2;display:flex;align-items:center;justify-content:center;background:var(--color-surface-card-bg);border-radius:5px;border:1px solid var(--color-surface-card-border);overflow:hidden;padding:4px;box-sizing:border-box}html.dark .flags-card__flag-wrap{background:var(--color-surface-card-bg);border-color:var(--color-surface-card-border)}.flags-card__flag{width:100%;height:100%;object-fit:contain;border-radius:2px;display:block}.flags-card--locked .flags-card__flag{filter:grayscale(1) brightness(.22) opacity(.8)}.flags-card__name{font-size:var(--text-2xs);font-weight:500;color:var(--color-text-main);text-align:center;line-height:1.25;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.flags-card--locked .flags-card__name{color:var(--color-text-muted);opacity:.45}.flags-empty{grid-column:1 / -1;display:flex;align-items:center;justify-content:center;padding:48px 24px;font-size:var(--text-sm);color:var(--color-text-muted);font-style:italic}.map-error-backdrop{z-index:var(--z-overlay);background:var(--color-bg-ocean);animation:fadeIn var(--duration-slow) ease-out}.map-error-modal{padding:clamp(28px,calc(16px + 3vw),48px) clamp(20px,calc(10px + 3vw),40px) clamp(24px,calc(14px + 2.4vw),40px);animation:fadeInScale var(--duration-slow) ease-out;position:relative}.map-error__content{display:flex;flex-direction:column;align-items:center;gap:clamp(16px,calc(10px + 1.5vw),22px)}.map-error__icon{display:flex;align-items:center;justify-content:center}.map-error__icon img{width:clamp(44px,calc(36px + 2vw),56px);height:clamp(44px,calc(36px + 2vw),56px);filter:invert(67%) sepia(62%) saturate(600%) hue-rotate(360deg) brightness(100%) contrast(95%);opacity:.8}.map-error__title{margin:0;font-size:var(--text-2xl);font-weight:700;text-transform:uppercase;letter-spacing:.04em;background:linear-gradient(to right,#f59e0b,#fb923c);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;line-height:1.3}.map-error__desc{margin:0;color:var(--color-text-muted);font-size:var(--text-sm);line-height:1.82;max-width:340px}.map-error__retry-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:clamp(12px,calc(10px + .45vw),13px) clamp(20px,calc(16px + .6vw),24px);border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:var(--text-sm);font-weight:600;background:var(--color-primary);color:var(--color-text-main-inv);text-align:center;user-select:none;-webkit-user-select:none;transition:background .2s ease,transform var(--duration-fast) ease,box-shadow var(--duration-fast) ease}.map-error__retry-btn:hover{background:var(--color-primary-hover);transform:translateY(-1px);box-shadow:0 4px 14px var(--color-primary-alpha-40)}.map-error__retry-btn:active{transform:translateY(0)}.map-error__retry-btn:disabled{opacity:.5;pointer-events:none}.map-error__retry-icon{display:block;width:16px;height:16px;-webkit-mask-image:url(/replay.svg);mask-image:url(/replay.svg);flex-shrink:0}.map-error__preferences{width:100%;margin-top:4px}.map-error__loading-state{display:none;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:16px 0}.map-error__loading-text{margin:0;color:var(--color-text-muted);font-size:var(--text-sm)}.map-error-modal.is-retrying .map-error__content{display:none}.map-error-modal.is-retrying .map-error__loading-state{display:flex}/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-scroll-snap-strictness:proximity;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:"Inter", system-ui, -apple-system, sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-white:#fff;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--font-weight-medium:500;--font-weight-semibold:600;--radius-sm:8px;--radius-md:16px;--radius-lg:24px;--ease-out:cubic-bezier(0, 0, .2, 1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--radius-full:9999px;--color-primary:#4f46e5;--color-primary-hover:#4338ca;--color-success:#047857;--color-error:#b91c1c;--color-highlight:#06b6d4;--color-streak-1:#facc15;--color-streak-2:#fb923c;--color-streak-3:#f87171;--color-streak-4:#22d3ee;--color-streak-5:#fcd34d;--spacing-1:4px;--spacing-2:8px;--spacing-3:12px;--spacing-4:16px;--spacing-5:20px;--spacing-8:32px}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.inset-0{inset:calc(var(--spacing) * 0)}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.left-1\/2{left:50%}.z-1000{z-index:1000}.z-1100{z-index:1100}.z-1300{z-index:1300}.col-start-2{grid-column-start:2}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.my-5{margin-block:var(--spacing-5)}.mt-2{margin-top:var(--spacing-2)}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-3{margin-bottom:var(--spacing-3)}.mb-7{margin-bottom:calc(var(--spacing) * 7)}.mb-8{margin-bottom:var(--spacing-8)}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.h-full{height:100%}.min-h-0{min-height:calc(var(--spacing) * 0)}.min-h-8{min-height:var(--spacing-8)}.w-full{width:100%}.max-w-105{max-width:calc(var(--spacing) * 105)}.min-w-50{min-width:calc(var(--spacing) * 50)}.flex-1{flex:1}.shrink-0{flex-shrink:0}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cursor-pointer{cursor:pointer}.resize{resize:both}.snap-x{scroll-snap-type:x var(--tw-scroll-snap-strictness)}.snap-mandatory{--tw-scroll-snap-strictness:mandatory}.snap-start{scroll-snap-align:start}.grid-cols-\[32px_1fr_32px\]{grid-template-columns:32px 1fr 32px}.flex-col{flex-direction:column}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-center{justify-content:center}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:var(--spacing-1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:var(--spacing-2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:var(--spacing-3)}.gap-4{gap:var(--spacing-4)}.gap-4\.5{gap:calc(var(--spacing) * 4.5)}.gap-5{gap:var(--spacing-5)}.gap-8{gap:var(--spacing-8)}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded-full{border-radius:var(--radius-full)}.border{border-style:var(--tw-border-style);border-width:1px}.px-2{padding-inline:var(--spacing-2)}.px-4{padding-inline:var(--spacing-4)}.py-2{padding-block:var(--spacing-2)}.pt-\[8vh\]{padding-top:8vh}.text-center{text-align:center}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.leading-none{--tw-leading:1;line-height:1}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.whitespace-nowrap{white-space:nowrap}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.\[-ms-overflow-style\:none\]{-ms-overflow-style:none}.\[scrollbar-width\:none\]{scrollbar-width:none}.\[\&\:\:-webkit-scrollbar\]\:hidden::-webkit-scrollbar{display:none}}:root{--font-sans:"Inter", system-ui, -apple-system, sans-serif;--text-2xs:clamp(.5625rem, .5325rem + .1506vw, .625rem);--text-xs:clamp(.625rem, .5651rem + .3012vw, .75rem);--text-sm:clamp(.75rem, .6898rem + .3012vw, .875rem);--text-base:clamp(.875rem, .8148rem + .3012vw, 1rem);--text-lg:clamp(1rem, .9398rem + .3012vw, 1.125rem);--text-xl:clamp(1.125rem, 1.0048rem + .6024vw, 1.375rem);--text-2xl:clamp(1.375rem, 1.1948rem + .9036vw, 1.75rem);--text-3xl:clamp(1.75rem, 1.3892rem + 1.8072vw, 2.5rem);--space-1:4px;--space-1h:6px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--radius-sm:8px;--radius-md:16px;--radius-lg:24px;--radius-full:9999px;--z-map:0;--z-hud:1000;--z-overlay:1200;--z-confirm:2000;--z-tooltip:9000;--z-flash:9999;--duration-fast:.15s;--duration-normal:.3s;--duration-slow:.5s;--duration-slower:.8s;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-bounce:cubic-bezier(.34, 1.56, .64, 1);--ease-linear:linear;--modal-width-sm:min(500px, 92vw);--modal-width-md:min(525px, 92vw);--modal-width-lg:min(880px, 94vw);--modal-padding-x:clamp(var(--space-5), 6vw, var(--space-12));--modal-padding-y:clamp(var(--space-5), 8vw, var(--space-10));--modal-gap:clamp(18px, calc(10px + 2vw) , 32px);--fab-size-fluid:clamp(38px, calc(30px + 1.8vw) , 48px);--fab-size-sm-fluid:clamp(36px, calc(28px + 1.5vw) , 44px);--fab-offset:clamp(12px, calc(6px + 1.8vw) , 24px);--flag-width:clamp(120px, calc(48px + 18vw) , 240px);--flag-height:clamp(80px, calc(32px + 12vw) , 160px);--trophy-slot-size:clamp(56px, calc(44px + 2.4vw) , 72px);--donut-size:clamp(120px, calc(88px + 6vw) , 160px);--donut-hole:clamp(38px, calc(27px + 3.3vw) , 52px);--icon-size-sm:clamp(16px, calc(14px + .6vw) , 20px);--overlay-blur:4px;--color-success:#047857;--color-error:#c53030;--color-highlight:#06b6d4;--color-streak-1:#facc15;--color-streak-2:#fb923c;--color-streak-3:#f87171;--color-streak-4:#22d3ee;--color-streak-5:#fcd34d;--color-streak-1-dark:#eab308;--color-streak-2-dark:#ea580c;--color-streak-3-dark:#dc2626;--color-streak-4-dark:#0891b2;--color-streak-5-dark:#d97706;--color-streak-5-light:#fde68a;--color-error-alpha-10:#c530301a;--color-error-alpha-12:#c530301f;--color-error-alpha-15:#c5303026;--color-error-alpha-18:#c530302e;--color-error-alpha-26:#c5303042;--color-error-alpha-35:#c5303059;--color-error-alpha-60:#c5303099;--color-error-alpha-65:#c53030a6;--color-error-alpha-70:#c53030b3;--color-success-alpha-10:#0478571a;--color-success-alpha-35:#04785759;--color-success-alpha-45:#04785773;--color-highlight-alpha-20:#06b6d433;--color-highlight-alpha-28:#06b6d447;--color-highlight-alpha-35:#06b6d459;--color-highlight-alpha-50:#06b6d480;--color-highlight-alpha-55:#06b6d48c;--color-rating-alpha-12:#fbbf241f;--color-rating-alpha-35:#f59e0b59;--color-rating-alpha-60:#f59e0b99;--color-streak-text-alpha-12:#6d28d91f;--color-streak-text-alpha-18:#6d28d92e;--color-streak-1-alpha-12:#facc151f;--color-streak-1-alpha-50:#facc1580;--color-streak-2-alpha-15:#f9731626;--color-streak-2-alpha-60:#f9731699;--color-streak-3-alpha-15:#ef444426;--color-streak-3-alpha-18:#ef44442e;--color-streak-3-alpha-65:#ef4444a6;--color-streak-4-alpha-20:#22d3ee33;--color-streak-4-alpha-35:#22d3ee59;--color-streak-4-alpha-50:#22d3ee80;--color-streak-4-alpha-95:#22d3eef2;--color-streak-5-alpha-08:#fcd34d14;--color-streak-5-alpha-10:#fcd34d1a;--color-streak-5-alpha-25:#fcd34d40;--color-streak-5-alpha-35:#fcd34d59;--color-streak-5-alpha-50:#fcd34d80;--color-streak-5-alpha-70:#fcd34db3;--color-streak-5-alpha-75:#fcd34dbf;--color-streak-5-alpha-80:#fcd34dcc;--color-streak-5-alpha-95:#fcd34df2;--color-white:#fff;--color-black:#000;--color-white-alpha-08:#ffffff14;--color-white-alpha-10:#ffffff1a;--color-white-alpha-12:#ffffff1f;--color-white-alpha-16:#ffffff29;--color-white-alpha-20:#fff3;--color-white-alpha-24:#ffffff3d;--color-white-alpha-25:#ffffff40;--color-white-alpha-28:#ffffff47;--color-white-alpha-38:#ffffff61;--color-white-alpha-60:#fff9;--color-white-alpha-84:#ffffffd6;--color-white-alpha-85:#ffffffd9;--color-white-alpha-92:#ffffffeb;--color-black-alpha-06:#0000000f;--color-black-alpha-15:#00000026;--color-black-alpha-20:#0003;--color-black-alpha-22:#00000038;--color-black-alpha-30:#0000004d;--color-black-alpha-35:#00000059;--color-black-alpha-40:#0006;--color-black-alpha-45:#00000073;--color-title-grad-start:#22d3ee;--color-title-grad-mid:#818cf8;--color-title-grad-end:#4f46e5;--color-title-beam-start:#22d3ee80;--color-title-beam-mid:#818cf8e6;--color-title-beam-end:#4f46e580;--color-icon-sun-glow:#fbbf2499;--color-icon-twilight-glow:#bad2ebbf;--color-icon-moon-glow:#a78bfa99;--color-success-rgb:34 197 94;--color-success-light-rgb:34 197 94;--color-error-rgb:220 38 38;--color-bg-dark-rgb:30 41 59;--color-bg-light-rgb:255 255 255;--color-spark-orange:#f97316;--color-spark-cyan-light:#a5f3fc;--color-streak-bg:#0f172ae6;--color-streak-bar-bg:#ffffff14;--color-streak-label:#f8fafc;--shadow-fab-hover-dark:0 12px 32px #0000004d;--shadow-flag-img:0 4px 16px #0003;--color-tooltip-bg:#000000bf;--color-tooltip-text:#fff;--color-map-tooltip-bg:#0f172ad9;--color-map-tooltip-border:#ffffff1f;--color-primary:#4f46e5;--color-primary-hover:#4338ca;--color-primary-alpha-08:#4f46e514;--color-primary-alpha-12:#4f46e51f;--color-primary-alpha-15:#4f46e526;--color-primary-alpha-20:#4f46e533;--color-primary-alpha-25:#4f46e540;--color-primary-alpha-35:#4f46e559;--color-primary-alpha-40:#4f46e566;--color-primary-alpha-50:#4f46e580;--color-primary-alpha-80:#4f46e5cc;--color-rating:#f59e0b;--color-streak-text:#6d28d9;--color-bg-ocean:#e2e8f0;--glass-bg:#ffffffb3;--glass-border:#ffffff80;--glass-shadow:0 8px 32px #00000014;--color-surface-card-bg:#0000000d;--color-surface-card-border:#00000012;--color-surface-interactive-hover:#ffffff1f;--color-surface-badge-bg:#64748b1a;--color-text-main:#0f172a;--color-text-muted:#4b5563;--color-text-main-inv:#f8fafc;--map-land:#fff;--map-border:#cbd5e1;--map-hover:#f1f5f9;--donut-track:#dde3ea;--scrollbar-thumb:#4f46e540;--scrollbar-thumb-hover:#4f46e58c;--scrollbar-color:#4f46e54d;--shadow-fab-hover:0 12px 32px #0000001f;--color-divider:#3f3f4673;--color-title-depth-shadow:#00001ebf;--color-title-glow:#22d3ee59}html.dark{--color-bg-ocean:#0b1120;--glass-bg:#1e293b99;--glass-border:#ffffff14;--glass-shadow:0 8px 32px #0000004d;--donut-track:#1e293b;--color-surface-card-bg:#ffffff0a;--color-surface-card-border:#ffffff12;--color-surface-interactive-hover:#ffffff14;--color-surface-badge-bg:#94a3b81f;--color-text-main:#f8fafc;--color-text-muted:#94a3b8;--map-land:#94a3b8;--map-border:#0b1120;--map-hover:#5e6d8d;--color-primary:#5558d9;--color-primary-hover:#4f46e5;--color-success:#10b981;--color-error:#dc2626;--color-error-alpha-10:#f871711a;--color-error-alpha-12:#f871711f;--color-error-alpha-15:#f8717126;--color-error-alpha-18:#f871712e;--color-error-alpha-26:#f8717142;--color-error-alpha-35:#f8717159;--color-error-alpha-60:#f8717199;--color-error-alpha-65:#f87171a6;--color-error-alpha-70:#f87171b3;--color-rating:#fbbf24;--color-streak-text:#a78bfa;--color-streak-text-alpha-12:#a78bfa1f;--color-streak-text-alpha-18:#a78bfa2e;--scrollbar-thumb:#8b8fff38;--scrollbar-thumb-hover:#8b8fff80;--scrollbar-color:#8b8fff40;--shadow-fab-hover:var(--shadow-fab-hover-dark);--color-divider:#3f3f468c;--color-title-depth-shadow:#000014e6;--color-title-glow:#22d3ee80}html.dim{--color-bg-ocean:#475569;--glass-bg:#1e293b73;--glass-border:#94a3b82e;--glass-shadow:0 8px 32px #00000038;--donut-track:#334155;--color-surface-card-bg:#ffffff0a;--color-surface-card-border:#ffffff12;--color-surface-interactive-hover:#ffffff14;--color-surface-badge-bg:#94a3b81f;--color-text-main:#f1f5f9;--color-text-muted:#b0bccb;--color-text-main-inv:#0f172a;--map-land:#64748b;--map-border:#475569;--map-hover:#52647a;--color-success:#34d399;--color-error:#fca5a5;--color-error-alpha-10:#fca5a51a;--color-error-alpha-12:#fca5a51f;--color-error-alpha-15:#fca5a526;--color-error-alpha-18:#fca5a52e;--color-error-alpha-26:#fca5a542;--color-error-alpha-35:#fca5a559;--color-error-alpha-60:#fca5a599;--color-error-alpha-65:#fca5a5a6;--color-error-alpha-70:#fca5a5b3;--color-primary:#818cf8;--color-primary-hover:#a5b4fc;--color-primary-alpha-08:#818cf814;--color-primary-alpha-12:#818cf81f;--color-primary-alpha-15:#818cf826;--color-primary-alpha-20:#818cf833;--color-primary-alpha-25:#818cf840;--color-primary-alpha-35:#818cf859;--color-primary-alpha-40:#818cf866;--color-primary-alpha-50:#818cf880;--color-primary-alpha-80:#818cf8cc;--color-rating:#fbbf24;--color-streak-text:#c4b5fd;--color-streak-text-alpha-12:#c4b5fd1f;--color-streak-text-alpha-18:#c4b5fd2e;--scrollbar-thumb:#8b8fff38;--scrollbar-thumb-hover:#8b8fff80;--scrollbar-color:#8b8fff40;--shadow-fab-hover:0 12px 32px #0003;--color-divider:#3f3f4680;--color-title-depth-shadow:#000014d9;--color-title-glow:#22d3ee73}body{font-family:var(--font-sans);background-color:var(--color-bg-ocean);color:var(--color-text-main);margin:0;padding:0;transition:background-color .5s,color .5s;overflow:hidden}.glass-panel{background:var(--glass-bg);-webkit-backdrop-filter:blur(16px);border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--glass-shadow);transition:background-color .5s,border-color .5s,box-shadow .5s}@media (prefers-reduced-motion:reduce){:root{--overlay-blur:0px}.glass-panel,.streak,.confirm-tooltip,.settings-confirm-overlay,.settings-confirm-modal,.trophy-tooltip,.review-fab__btn{-webkit-backdrop-filter:none}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-scroll-snap-strictness{syntax:"*";inherits:false;initial-value:proximity}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}
