.modal-overlay[data-v-579ba47a]{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--space-md)}.modal-card[data-v-579ba47a]{position:relative;background:#0a090e;border:1px solid rgba(255,255,255,.06);border-radius:16px;padding:36px 32px 32px;width:100%;max-width:380px;box-shadow:0 24px 80px #0009;font-family:var(--ds-font)}.modal-close[data-v-579ba47a]{position:absolute;top:14px;right:14px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:6px;color:#ffffff4d;transition:color .2s;background:transparent;border:none;cursor:pointer}.modal-close[data-v-579ba47a]:hover{color:#ffffffb3}.modal-header[data-v-579ba47a]{text-align:center;margin-bottom:28px}.modal-title[data-v-579ba47a]{font-size:1.3rem;font-weight:700;color:#eae5d8e6;letter-spacing:.02em;margin-bottom:6px}.modal-subtitle[data-v-579ba47a]{font-size:.82rem;color:#ffffff59;line-height:1.5}.modal-tabs[data-v-579ba47a]{display:flex;gap:2px;background:#ffffff0a;border-radius:8px;padding:3px;margin-bottom:24px}.tab-btn[data-v-579ba47a]{flex:1;padding:8px 16px;border-radius:6px;font-size:.8rem;font-weight:600;letter-spacing:.03em;color:#ffffff59;transition:all .2s;background:transparent;border:none;cursor:pointer;font-family:var(--ds-font)}.tab-btn[data-v-579ba47a]:hover{color:#fff9}.tab-btn--active[data-v-579ba47a]{background:#ffffff14;color:#eae5d8e6;border:none}.auth-form[data-v-579ba47a]{display:flex;flex-direction:column;gap:16px}.form-field[data-v-579ba47a]{display:flex;flex-direction:column;gap:6px}.form-label[data-v-579ba47a]{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:#ffffff4d}.form-input[data-v-579ba47a]{padding:10px 14px;border:1px solid rgba(255,255,255,.08);border-radius:8px;font-size:.9rem;font-family:var(--ds-font);color:#eae5d8e6;background:#ffffff0a;transition:border-color .2s,box-shadow .2s;outline:none}.form-input[data-v-579ba47a]::placeholder{color:#fff3}.form-input[data-v-579ba47a]:focus{border-color:#ffffff26;box-shadow:0 0 0 2px #ffffff0a}.auth-error[data-v-579ba47a]{padding:8px 12px;background:#f8717114;color:#f87171cc;border:1px solid rgba(248,113,113,.12);border-radius:6px;font-size:.8rem;font-weight:500}.auth-btn[data-v-579ba47a]{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:11px;border-radius:8px;font-size:.85rem;font-weight:600;font-family:var(--ds-font);letter-spacing:.02em;cursor:pointer;transition:all .2s;border:none}.auth-btn--primary[data-v-579ba47a]{background:#ffffff14;color:#eae5d8e6;border:1px solid rgba(255,255,255,.1)}.auth-btn--primary[data-v-579ba47a]:hover{background:#ffffff1f;border-color:#ffffff26}.auth-btn--primary[data-v-579ba47a]:active{transform:translateY(1px)}.auth-btn--primary[data-v-579ba47a]:disabled{opacity:.4;cursor:not-allowed;transform:none}.auth-btn--google[data-v-579ba47a]{background:transparent;color:#eae5d8b3;border:1px solid rgba(255,255,255,.06)}.auth-btn--google[data-v-579ba47a]:hover{background:#ffffff0a;border-color:#ffffff1a}.google-icon[data-v-579ba47a]{flex-shrink:0}.divider[data-v-579ba47a]{display:flex;align-items:center;gap:12px;margin:20px 0}.divider[data-v-579ba47a]:before,.divider[data-v-579ba47a]:after{content:"";flex:1;height:1px;background:#ffffff0f}.divider-text[data-v-579ba47a]{font-size:.75rem;color:#fff3;text-transform:lowercase}.spinner[data-v-579ba47a]{width:18px;height:18px;border:2px solid rgba(255,255,255,.1);border-top-color:#eae5d899;border-radius:50%;animation:spin-579ba47a .6s linear infinite}@keyframes spin-579ba47a{to{transform:rotate(360deg)}}.modal-enter-active[data-v-579ba47a]{transition:opacity .3s cubic-bezier(0,0,.2,1)}.modal-enter-active .modal-card[data-v-579ba47a]{transition:transform .3s cubic-bezier(0,0,.2,1),opacity .3s cubic-bezier(0,0,.2,1)}.modal-leave-active[data-v-579ba47a]{transition:opacity .2s ease}.modal-leave-active .modal-card[data-v-579ba47a]{transition:transform .2s ease,opacity .2s ease}.modal-enter-from[data-v-579ba47a]{opacity:0}.modal-enter-from .modal-card[data-v-579ba47a]{transform:scale(.97);opacity:0}.modal-leave-to[data-v-579ba47a]{opacity:0}.modal-leave-to .modal-card[data-v-579ba47a]{transform:scale(.97);opacity:0}.scene-canvas[data-v-16c7452e]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none}.game-layout[data-v-7a77bdc1]{position:relative;z-index:1;display:flex;flex-direction:column;min-height:100dvh;overflow:hidden}.game-layout__header[data-v-7a77bdc1]{position:relative;z-index:2;transition:opacity 1.2s cubic-bezier(0,0,.2,1),max-height var(--ds-transition-window),filter 1s cubic-bezier(0,0,.2,1),transform 1.2s cubic-bezier(0,0,.2,1);transform-origin:center top;max-height:var(--header-height);overflow:visible;will-change:transform,opacity}.game-layout__header--hidden[data-v-7a77bdc1]{opacity:0;max-height:0;overflow:hidden;pointer-events:none;filter:blur(3px);transform:scale(1.05) translateY(-6px)}@media(max-width:600px){.game-layout__header--hidden[data-v-7a77bdc1]{filter:none}}.game-window[data-v-7a77bdc1]{position:relative;flex:1;display:flex;flex-direction:column;border:1px solid transparent;transition:border-radius var(--ds-transition-window),margin var(--ds-transition-window),border-color var(--ds-transition-window),box-shadow var(--ds-transition-window)}.game-window--menu[data-v-7a77bdc1]{margin:0 var(--ds-window-inset) var(--ds-window-inset);border-radius:var(--ds-window-radius);border:1.5px solid #14131a;box-shadow:0 0 0 100vmax #0a090e;overflow:hidden}.game-window--menu[data-v-7a77bdc1]:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;z-index:2;border:1.5px solid transparent;background:linear-gradient(180deg,rgba(255,255,255,.08) 0%,rgba(255,255,255,.02) 15%,transparent 40%) border-box;-webkit-mask:linear-gradient(#fff 0 0) padding-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:1;transition:opacity var(--ds-transition-window)}.game-window--menu[data-v-7a77bdc1]:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;z-index:2;box-shadow:inset 0 1px #ffffff0a;opacity:1;transition:opacity var(--ds-transition-window)}.game-window--transitioning[data-v-7a77bdc1]:before,.game-window--transitioning[data-v-7a77bdc1]:after,.game-window--playing[data-v-7a77bdc1]:before,.game-window--playing[data-v-7a77bdc1]:after{opacity:0}.game-window--transitioning[data-v-7a77bdc1],.game-window--playing[data-v-7a77bdc1]{margin:0;border-radius:0;border-color:transparent;box-shadow:none}.game-window__content[data-v-7a77bdc1]{position:relative;flex:1;display:flex;flex-direction:column}.game-window__content[data-v-7a77bdc1]:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;background:radial-gradient(ellipse at center,transparent 50%,rgba(0,0,0,.35) 100%);opacity:0;transition:opacity 1.8s cubic-bezier(0,0,.2,1)}.game-window--transitioning .game-window__content[data-v-7a77bdc1]:before,.game-window--playing .game-window__content[data-v-7a77bdc1]:before{opacity:1}.lang-picker[data-v-5d8667ec]{position:relative;flex-shrink:0;cursor:pointer}.lang-picker-btn[data-v-5d8667ec]{display:flex;align-items:center;gap:4px;padding:0;border:none;background:none;color:inherit;font:inherit;cursor:pointer;transition:color var(--ds-transition-fast)}.lang-picker-btn[data-v-5d8667ec]:hover{color:#eae5d8b3}.lang-picker-code[data-v-5d8667ec]{letter-spacing:.08em}.lang-picker-chevron[data-v-5d8667ec]{display:block;width:0;height:0;border-left:3px solid transparent;border-right:3px solid transparent;border-top:3.5px solid currentColor;opacity:.5;transition:transform var(--ds-transition-fast)}.lang-picker-chevron--open[data-v-5d8667ec]{transform:rotate(180deg)}.lang-picker-dropdown[data-v-5d8667ec]{position:absolute;top:calc(100% + 10px);right:-8px;display:flex;flex-direction:column;background:#0e1018f2;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.06);border-radius:8px;padding:4px 0;min-width:48px;z-index:9999;overflow:hidden}.lang-picker-option[data-v-5d8667ec]{padding:5px 14px;border:none;background:none;color:#eae5d866;font:inherit;cursor:pointer;text-align:left;transition:color var(--ds-transition-fast)}.lang-picker-option[data-v-5d8667ec]:hover{color:#eae5d8cc}.lang-picker-option--active[data-v-5d8667ec]{color:var(--ds-text)}.dropdown-enter-active[data-v-5d8667ec],.dropdown-leave-active[data-v-5d8667ec]{transition:opacity .2s ease,transform .2s ease}.dropdown-enter-from[data-v-5d8667ec],.dropdown-leave-to[data-v-5d8667ec]{opacity:0;transform:translateY(-4px)}.app-header[data-v-cd86a53e]{background:transparent}.header-inner[data-v-cd86a53e]{display:flex;align-items:center;justify-content:space-between;height:var(--header-height);padding:0 var(--ds-window-inset)}.logo[data-v-cd86a53e]{display:flex;align-items:center;gap:10px}.logo-icon[data-v-cd86a53e]{width:28px;height:28px;border-radius:50%;object-fit:cover;filter:invert(1) brightness(1.2);opacity:.7;transition:opacity var(--ds-transition-fast),transform var(--ds-transition-fast)}.logo:hover .logo-icon[data-v-cd86a53e]{opacity:1;transform:scale(1.08)}.logo-text[data-v-cd86a53e]{font-family:var(--ds-font);font-size:.9rem;font-weight:300;color:#eae5d899;letter-spacing:.12em;text-transform:lowercase}.header-controls[data-v-cd86a53e]{display:flex;align-items:center;gap:32px;font-weight:200;font-size:.72rem;color:#eae5d84d;letter-spacing:.08em}.theme-btn[data-v-cd86a53e]{width:18px;height:18px;border:none;background:transparent;color:inherit;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;transition:color var(--ds-transition-fast)}.theme-btn[data-v-cd86a53e]:hover{color:#eae5d8b3}.theme-btn svg[data-v-cd86a53e]{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.3}.sign-in-btn[data-v-cd86a53e]{padding:0;border:none;background:none;color:inherit;font:inherit;cursor:pointer;transition:color var(--ds-transition-fast);white-space:nowrap}.sign-in-btn[data-v-cd86a53e]:hover{color:#eae5d8b3}.user-pill[data-v-cd86a53e]{display:flex;align-items:center;gap:8px;color:inherit}.user-avatar[data-v-cd86a53e]{display:none}.user-name[data-v-cd86a53e]{font:inherit;color:inherit;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.logout-btn[data-v-cd86a53e]{width:16px;height:16px;display:flex;align-items:center;justify-content:center;color:inherit;transition:color var(--ds-transition-fast);flex-shrink:0}.logout-btn[data-v-cd86a53e]:hover{color:#eae5d8b3}main[data-v-cd86a53e]{position:relative;flex:1;display:flex;flex-direction:column}@media(max-width:480px){.user-name[data-v-cd86a53e]{display:none}}.view-fade-enter-active[data-v-cd86a53e]{transition:opacity .3s ease}.view-fade-leave-active[data-v-cd86a53e]{transition:opacity .2s ease}.view-fade-enter-from[data-v-cd86a53e],.view-fade-leave-to[data-v-cd86a53e]{opacity:0}.premium-badge[data-v-e82434bc]{font-size:.7rem;font-weight:700;text-transform:uppercase;padding:2px 8px;border-radius:6px;background:linear-gradient(135deg,#f59e0b,#f97316);color:#fff;letter-spacing:.5px}.pack-slider[data-v-4a40ac77]{display:flex;flex-direction:column;align-items:center;text-align:center;padding:var(--space-xl) var(--space-lg)}.pack-slide[data-v-4a40ac77]{display:flex;flex-direction:column;align-items:center}.pack-title[data-v-4a40ac77]{font-family:var(--ds-font);font-size:clamp(2rem,5vw,3.5rem);font-weight:var(--font-weight-extrabold);color:var(--ds-text);text-transform:uppercase;letter-spacing:2px;margin-bottom:var(--space-sm)}.pack-description[data-v-4a40ac77]{font-family:var(--ds-font);font-size:var(--font-size-base);color:var(--ds-text-muted);max-width:420px;line-height:1.6;margin-bottom:var(--space-md)}.pack-meta[data-v-4a40ac77]{display:flex;align-items:center;gap:var(--space-sm);font-family:var(--ds-font);font-size:var(--font-size-sm);color:var(--ds-text-muted);margin-bottom:var(--space-lg);flex-wrap:wrap;justify-content:center}.meta-badge[data-v-4a40ac77]{font-weight:var(--font-weight-bold);font-size:11px;text-transform:uppercase;letter-spacing:.5px;padding:3px 10px;border-radius:var(--radius-full);border:1px solid var(--ds-border);background:var(--ds-surface);color:var(--ds-text);white-space:nowrap}.meta-badge--interactive[data-v-4a40ac77]{cursor:pointer;display:flex;align-items:center;gap:4px;transition:border-color var(--ds-transition-fast),background var(--ds-transition-fast)}.meta-badge--interactive[data-v-4a40ac77]:hover{border-color:var(--ds-accent);background:var(--ds-accent-tint)}.badge-chevron[data-v-4a40ac77]{transition:transform var(--ds-transition-fast)}.badge-chevron--open[data-v-4a40ac77]{transform:rotate(180deg)}.badge-dropdown-wrap[data-v-4a40ac77]{position:relative}.badge-dropdown[data-v-4a40ac77]{position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);display:flex;flex-direction:column;min-width:140px;padding:4px;border-radius:var(--radius-md);border:1px solid var(--ds-border);background:var(--ds-surface);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 -8px 24px var(--ds-shadow);z-index:10}.badge-dropdown-item[data-v-4a40ac77]{display:flex;align-items:center;gap:6px;padding:6px 12px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--ds-text-muted);font-family:var(--ds-font);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);text-align:left;cursor:pointer;transition:background var(--ds-transition-fast),color var(--ds-transition-fast);white-space:nowrap}.badge-dropdown-item[data-v-4a40ac77]:hover{background:var(--ds-surface-hover);color:var(--ds-text)}.badge-dropdown-item--active[data-v-4a40ac77]{color:var(--ds-accent)}.pack-diff[data-v-4a40ac77]{border-color:currentColor}.diff--easy[data-v-4a40ac77]{color:var(--ds-correct)}.diff--medium[data-v-4a40ac77]{color:var(--ds-warning)}.diff--hard[data-v-4a40ac77]{color:var(--ds-incorrect)}.diff-item--easy[data-v-4a40ac77]{color:var(--ds-correct)}.diff-item--medium[data-v-4a40ac77]{color:var(--ds-warning)}.diff-item--hard[data-v-4a40ac77]{color:var(--ds-incorrect)}.pack-question-count[data-v-4a40ac77]{font-size:var(--font-size-sm)}.pack-cta[data-v-4a40ac77]{font-family:var(--ds-font);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--ds-text);background:none;border:none;cursor:pointer;padding:var(--space-sm) var(--space-md);text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:2px;transition:color var(--ds-transition-fast);letter-spacing:.5px}.pack-cta[data-v-4a40ac77]:hover{color:var(--ds-accent)}.pack-cta[data-v-4a40ac77]:disabled{opacity:.4;cursor:not-allowed}.pack-dots[data-v-4a40ac77]{display:flex;gap:8px;margin-top:var(--space-lg)}.dot[data-v-4a40ac77]{width:8px;height:8px;border-radius:50%;border:none;padding:0;cursor:pointer;background:var(--ds-text-muted);opacity:.3;transition:opacity var(--ds-transition-fast),transform var(--ds-transition-fast)}.dot--active[data-v-4a40ac77]{opacity:1;background:var(--ds-text);transform:scale(1.25)}.slide-enter-active[data-v-4a40ac77],.slide-leave-active[data-v-4a40ac77]{transition:opacity .25s ease,transform .25s ease}.slide-enter-from[data-v-4a40ac77]{opacity:0;transform:translateY(8px)}.slide-leave-to[data-v-4a40ac77]{opacity:0;transform:translateY(-8px)}.dropdown-enter-active[data-v-4a40ac77],.dropdown-leave-active[data-v-4a40ac77]{transition:opacity .15s ease,transform .15s ease}.dropdown-enter-from[data-v-4a40ac77],.dropdown-leave-to[data-v-4a40ac77]{opacity:0;transform:translate(-50%) translateY(4px)}.dropdown-enter-to[data-v-4a40ac77],.dropdown-leave-from[data-v-4a40ac77]{transform:translate(-50%) translateY(0)}@media(max-width:480px){.pack-slider[data-v-4a40ac77]{padding:var(--space-lg) var(--space-md)}.pack-title[data-v-4a40ac77]{letter-spacing:1px}}.home-view[data-v-d6038d41]{flex:1;display:flex;flex-direction:column;justify-content:flex-end;background:linear-gradient(to top,var(--ds-bg) 0%,var(--ds-bg-overlay-heavy) 25%,transparent 60%);transition:opacity 1.4s cubic-bezier(0,0,.2,1),transform 1.4s cubic-bezier(0,0,.2,1),filter 1.2s cubic-bezier(0,0,.2,1);transform-origin:center bottom;will-change:transform,opacity,filter}.home-view--zooming[data-v-d6038d41],.home-view--hidden[data-v-d6038d41]{opacity:0;transform:scale(1.08) translateY(20px);filter:blur(5px);pointer-events:none}@media(max-width:600px){.home-view--zooming[data-v-d6038d41],.home-view--hidden[data-v-d6038d41]{filter:blur(2px)}}:root{--color-green: #58cc02;--color-green-dark: #46a302;--color-green-light: #d7ffb8;--color-blue: #1cb0f6;--color-blue-dark: #1899d6;--color-blue-light: #ddf4ff;--color-orange: #ff9600;--color-orange-dark: #e08600;--color-orange-light: #fff3d6;--color-red: #ff4b4b;--color-red-dark: #ea2b2b;--color-red-light: #ffdfe0;--color-purple: #ce82ff;--color-purple-dark: #a855f7;--color-yellow: #ffc800;--color-gray-50: #f0f0f0;--color-snow: #f7f7f7;--color-gray-100: #e5e5e5;--color-gray-200: #d1d1d1;--color-gray-300: #afafaf;--color-gray-400: #777;--color-gray-500: #4b4b4b;--color-gray-600: #3c3c3c;--color-white: #ffffff;--color-map-bg: #e8f4fd;--color-map-land: #c8dbbe;--color-map-land-hover: #b5d4a0;--color-map-land-0: #b5cca5;--color-map-land-1: #9bba8c;--color-map-land-2: #e4d8a8;--color-map-land-3: #d5c890;--color-map-land-4: #82c088;--color-map-land-5: #68ac6e;--color-map-land-6: #ccc098;--color-map-land-7: #bab080;--color-map-land-8: #b4c8c0;--color-map-land-9: #9cb8ac;--color-map-land-10: #c4a882;--color-map-land-11: #b09870;--color-ocean-label: #6bafd6;--color-ocean-overlay: rgba(28, 176, 246, .15);--color-ocean-overlay-hover: rgba(28, 176, 246, .2);--color-ocean-overlay-correct: rgba(88, 204, 2, .2);--color-ocean-overlay-incorrect: rgba(255, 75, 75, .2);--color-ocean-overlay-highlight: rgba(255, 150, 0, .25);--color-bg: var(--color-snow);--color-surface: var(--color-white);--color-text: var(--color-gray-600);--color-text-muted: var(--color-gray-400);--color-border: var(--color-gray-100);--color-correct: var(--color-green);--color-incorrect: var(--color-red);--color-highlight: var(--color-blue);--color-primary: var(--color-green);--color-primary-dark: var(--color-green-dark);--font-family: "Nunito", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 2rem;--font-size-4xl: 2.5rem;--font-size-5xl: 3rem;--font-weight-normal: 400;--font-weight-semibold: 600;--font-weight-bold: 700;--font-weight-extrabold: 800;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--space-3xl: 4rem;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--radius-full: 9999px;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .08), 0 1px 2px rgba(0, 0, 0, .06);--shadow-md: 0 4px 12px rgba(0, 0, 0, .08), 0 2px 4px rgba(0, 0, 0, .04);--shadow-lg: 0 12px 32px rgba(0, 0, 0, .1), 0 4px 8px rgba(0, 0, 0, .06);--shadow-xl: 0 24px 48px rgba(0, 0, 0, .12), 0 8px 16px rgba(0, 0, 0, .06);--shadow-button: 0 4px 0 var(--color-green-dark);--shadow-glow-green: 0 0 20px rgba(88, 204, 2, .25);--shadow-glow-blue: 0 0 20px rgba(28, 176, 246, .25);--glass-bg: rgba(255, 255, 255, .72);--glass-bg-heavy: rgba(255, 255, 255, .88);--glass-border: rgba(255, 255, 255, .5);--glass-blur: 16px;--glass-dark-bg: rgba(10, 22, 40, .72);--glass-dark-bg-heavy: rgba(10, 22, 40, .85);--glass-dark-border: rgba(255, 255, 255, .1);--stroke-width: .2;--stroke-width-hover: .4;--stroke-width-active: .6;--stroke-width-ring: 10;--transition-fast: .15s ease;--transition-normal: .25s ease;--transition-slow: .4s ease;--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--ease-out-expo: cubic-bezier(.16, 1, .3, 1);--ease-in-out-quart: cubic-bezier(.76, 0, .24, 1);--header-height: 60px;--game-panel-width: 340px;--map-min-height: 400px;--space-page: var(--space-lg);--space-game-gap: var(--space-lg);--font-size-hero: var(--font-size-3xl);--font-size-hero-sub: var(--font-size-lg);--font-size-question: var(--font-size-2xl);--font-size-card-icon: 2.5rem;--zoom-btn-size: 36px;--vh-full: 100vh}[data-theme=dark]{--color-snow: #0a090e;--color-white: #1a1f33;--color-gray-50: #1e2440;--color-gray-100: #272d4a;--color-gray-200: #353b5e;--color-gray-300: #5a6080;--color-gray-400: #8a8fa8;--color-gray-500: #b8bcd0;--color-gray-600: #e2e4ee;--color-map-bg: #0c1220;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .3), 0 1px 2px rgba(0, 0, 0, .2);--shadow-md: 0 4px 12px rgba(0, 0, 0, .35), 0 2px 4px rgba(0, 0, 0, .2);--shadow-lg: 0 12px 32px rgba(0, 0, 0, .4), 0 4px 8px rgba(0, 0, 0, .25);--shadow-xl: 0 24px 48px rgba(0, 0, 0, .5), 0 8px 16px rgba(0, 0, 0, .3);--glass-bg: rgba(26, 31, 51, .72);--glass-bg-heavy: rgba(26, 31, 51, .88);--glass-border: rgba(255, 255, 255, .08)}@supports (height: 100dvh){:root{--vh-full: 100dvh}}@media(max-width:900px){:root{--game-panel-width: 100%;--map-min-height: 50dvh;--space-page: var(--space-md);--space-game-gap: var(--space-sm);--font-size-hero: var(--font-size-2xl);--font-size-hero-sub: var(--font-size-base);--font-size-question: var(--font-size-xl);--font-size-card-icon: 2rem;--zoom-btn-size: 44px}}@media(max-width:480px){:root{--header-height: 48px;--space-page: var(--space-sm);--font-size-hero: var(--font-size-xl);--font-size-card-icon: 1.75rem;--font-size-question: var(--font-size-lg)}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}:focus-visible{outline:2px solid var(--color-blue);outline-offset:2px;border-radius:var(--radius-sm)}body{font-family:var(--font-family);font-size:var(--font-size-base);color:var(--color-text);background-color:var(--color-bg);line-height:1.6;min-height:var(--vh-full)}#app:has(.quiz-view)>header,#app:has(.play-view)>header,#app:has(.explore-view)>header{display:none}@media(max-width:900px){#app:has(.quiz-view),#app:has(.play-view),#app:has(.explore-view){height:var(--vh-full);overflow:hidden;touch-action:none}}img,svg{display:block;max-width:100%}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer;border:none;background:none;font-size:inherit}ul,ol{list-style:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-lg);font-weight:var(--font-weight-bold);font-size:var(--font-size-base);border-radius:var(--radius-md);transition:all var(--transition-fast);-webkit-user-select:none;user-select:none;white-space:nowrap}.btn-primary{background-color:var(--color-green);color:#fff;box-shadow:0 4px 0 var(--color-green-dark),var(--shadow-glow-green);transform:translateY(0)}.btn-primary:hover{background-color:var(--color-green-dark);box-shadow:0 4px 0 var(--color-green-dark),0 0 28px #58cc0259}.btn-primary:active{transform:translateY(3px);box-shadow:0 1px 0 var(--color-green-dark)}.btn-secondary{background-color:var(--color-white);color:var(--color-gray-500);border:2px solid var(--color-gray-200);box-shadow:0 4px 0 var(--color-gray-200);transform:translateY(0)}.btn-secondary:hover{background-color:var(--color-snow)}.btn-secondary:active{transform:translateY(3px);box-shadow:0 1px 0 var(--color-gray-200)}.btn-blue{background-color:var(--color-blue);color:#fff;box-shadow:0 4px 0 var(--color-blue-dark),var(--shadow-glow-blue);transform:translateY(0)}.btn-blue:hover{background-color:var(--color-blue-dark);box-shadow:0 4px 0 var(--color-blue-dark),0 0 28px #1cb0f659}.btn-blue:active{transform:translateY(3px);box-shadow:0 1px 0 var(--color-blue-dark)}.btn-lg{padding:var(--space-md) var(--space-xl);font-size:var(--font-size-lg);border-radius:var(--radius-lg)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.text-center{text-align:center}.container{max-width:1200px;margin:0 auto;padding:0 var(--space-lg)}@keyframes pop-in{0%{transform:scale(.85);opacity:0}60%{transform:scale(1.04)}to{transform:scale(1);opacity:1}}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-3px)}80%{transform:translate(3px)}}@keyframes slide-up{0%{transform:translateY(16px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slide-down{0%{transform:translateY(-16px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.75;transform:scale(1.04)}}@keyframes confetti-fall{0%{transform:translateY(-10px) rotate(0);opacity:1}to{transform:translateY(100vh) rotate(720deg);opacity:0}}@keyframes bounce-in{0%{transform:scale(0);opacity:0}40%{transform:scale(1.15)}60%{transform:scale(.92)}80%{transform:scale(1.04)}to{transform:scale(1);opacity:1}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes progress-fill{0%{width:0}}@keyframes glow-pulse{0%,to{filter:drop-shadow(0 0 4px rgba(88,204,2,.3))}50%{filter:drop-shadow(0 0 14px rgba(88,204,2,.7))}}@keyframes shimmer{0%{background-position:-200% center}to{background-position:200% center}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes scale-in{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}@keyframes ring-draw{0%{stroke-dasharray:0 327}}.animate-pop-in{animation:pop-in .4s var(--ease-spring) both}.animate-shake{animation:shake .45s ease both}.animate-slide-up{animation:slide-up .4s var(--ease-out-expo) both}.animate-slide-down{animation:slide-down .4s var(--ease-out-expo) both}.animate-pulse{animation:pulse 1.5s ease-in-out infinite}.animate-bounce-in{animation:bounce-in .6s var(--ease-spring) both}.animate-fade-in{animation:fade-in .3s ease both}.animate-glow{animation:glow-pulse 1.5s ease-in-out infinite}.animate-scale-in{animation:scale-in .35s var(--ease-out-expo) both}.animate-float{animation:float 3s ease-in-out infinite}.stagger-children>*:nth-child(1){animation-delay:0ms}.stagger-children>*:nth-child(2){animation-delay:50ms}.stagger-children>*:nth-child(3){animation-delay:.1s}.stagger-children>*:nth-child(4){animation-delay:.15s}.stagger-children>*:nth-child(5){animation-delay:.2s}.stagger-children>*:nth-child(6){animation-delay:.25s}.stagger-children>*:nth-child(7){animation-delay:.3s}.stagger-children>*:nth-child(8){animation-delay:.35s}.stagger-children>*:nth-child(9){animation-delay:.4s}.stagger-children>*:nth-child(10){animation-delay:.45s}.fade-enter-active,.fade-leave-active{transition:opacity .25s ease}.fade-enter-from,.fade-leave-to{opacity:0}.slide-enter-active,.slide-leave-active{transition:all .35s var(--ease-out-expo)}.slide-enter-from{transform:translateY(16px);opacity:0}.slide-leave-to{transform:translateY(-16px);opacity:0}.scale-enter-active,.scale-leave-active{transition:all .3s var(--ease-spring)}.scale-enter-from,.scale-leave-to{transform:scale(.92);opacity:0}:root{--ds-bg: #0a090e;--ds-surface: #13121a;--ds-surface-hover: #1b1a24;--ds-accent: #c9a84c;--ds-accent-hover: #d4b55a;--ds-accent-glow: rgba(201, 168, 76, .2);--ds-text: #d8dae0;--ds-text-muted: #797675;--ds-border: rgba(255, 255, 255, .06);--ds-correct: #4ade80;--ds-incorrect: #f87171;--ds-info: #22d3ee;--ds-warning: #e5a820;--ds-expert: #ce82ff;--ds-bg-overlay: rgba(10, 9, 14, .85);--ds-bg-overlay-heavy: rgba(10, 9, 14, .7);--ds-accent-tint: rgba(201, 168, 76, .08);--ds-accent-border: rgba(201, 168, 76, .15);--ds-accent-shadow: rgba(201, 168, 76, .04);--ds-shadow: rgba(0, 0, 0, .5);--ds-border-hover: rgba(255, 255, 255, .1);--ds-correct-bg: rgba(74, 222, 128, .12);--ds-warning-bg: rgba(229, 168, 32, .12);--ds-incorrect-bg: rgba(248, 113, 113, .12);--ds-expert-bg: rgba(206, 130, 255, .12);--ds-font: "Sora", "Nunito", -apple-system, BlinkMacSystemFont, sans-serif;--ds-window-radius: clamp(16px, 2.5vw, 32px);--ds-window-border: 1px solid rgba(255, 255, 255, .05);--ds-window-glow: 0 0 40px rgba(0, 0, 0, .3);--ds-window-inset: clamp(12px, 2vw, 40px);--ds-transition-window: 1.1s cubic-bezier(0, 0, .2, 1);--ds-transition-fade: .4s ease;--ds-transition-fast: .2s ease}.map-region{fill:var(--color-map-land);stroke:var(--color-white);stroke-width:var(--stroke-width);cursor:pointer;transition:fill .2s ease,stroke .2s ease,opacity .2s ease;transform-box:fill-box;transform-origin:center}.map-region--color-0{fill:var(--color-map-land-0)}.map-region--color-1{fill:var(--color-map-land-1)}.map-region--color-2{fill:var(--color-map-land-2)}.map-region--color-3{fill:var(--color-map-land-3)}.map-region--color-4{fill:var(--color-map-land-4)}.map-region--color-5{fill:var(--color-map-land-5)}.map-region--color-6{fill:var(--color-map-land-6)}.map-region--color-7{fill:var(--color-map-land-7)}.map-region--color-8{fill:var(--color-map-land-8)}.map-region--color-9{fill:var(--color-map-land-9)}.map-region--color-10{fill:var(--color-map-land-10)}.map-region--color-11{fill:var(--color-map-land-11)}@media(hover:hover){.map-region:hover{filter:brightness(.92)}}.map-region--hover:not(.ocean-zone){filter:brightness(.92);stroke:var(--color-gray-300);stroke-width:var(--stroke-width-hover)}.ocean-zone.map-region--hover{fill:var(--color-ocean-overlay-hover)}@keyframes region-pop{0%{transform:scale(1)}40%{transform:scale(1.06)}to{transform:scale(1)}}.map-region--correct:not(.ocean-zone){fill:var(--color-green);stroke:var(--color-green-dark);stroke-width:var(--stroke-width-active);opacity:.85}.ocean-zone.map-region--correct{fill:var(--color-ocean-overlay-correct)}.map-region--incorrect:not(.ocean-zone){fill:var(--color-red);stroke:var(--color-red-dark);stroke-width:var(--stroke-width-active);animation:region-pop .35s ease}.ocean-zone.map-region--incorrect{fill:var(--color-ocean-overlay-incorrect)}.map-region--highlight:not(.ocean-zone){fill:var(--color-orange);stroke:var(--color-orange-dark);stroke-width:var(--stroke-width-hover);animation:pulse 1.5s ease-in-out infinite}.ocean-zone.map-region--highlight{fill:var(--color-ocean-overlay-highlight);animation:pulse 1.5s ease-in-out infinite}.map-region--failed:not(.ocean-zone){fill:var(--color-red-light);stroke:var(--color-red-dark);stroke-width:var(--stroke-width-active);opacity:.85;cursor:default}.ocean-zone.map-region--failed{fill:var(--color-ocean-overlay-incorrect);cursor:default}.map-region--correct-recent:not(.ocean-zone){fill:var(--color-green-light);stroke:var(--color-green);stroke-width:var(--stroke-width-active);opacity:.85;cursor:default;animation:region-pop .35s ease}.ocean-zone.map-region--correct-recent{fill:var(--color-ocean-overlay-correct);cursor:default}.map-region--failed-recent:not(.ocean-zone){fill:var(--color-orange);stroke:var(--color-orange-dark);stroke-width:var(--stroke-width-active);opacity:.85;cursor:default;animation:region-pop .35s ease}.ocean-zone.map-region--failed-recent{fill:var(--color-ocean-overlay-incorrect);cursor:default}.map-region--dimmed{opacity:.4;cursor:default}.ocean-zone{fill:transparent;cursor:pointer;transition:fill .2s ease}@media(hover:hover){.ocean-zone:hover{fill:var(--color-ocean-overlay)}}.ocean-label{fill:var(--color-ocean-label);font-family:var(--font-family);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);font-style:italic;text-anchor:middle;pointer-events:none;-webkit-user-select:none;user-select:none;transition:fill .2s ease}.ocean-label.label-highlight{fill:var(--color-orange-dark);font-weight:var(--font-weight-extrabold)}.country-label{fill:var(--color-gray-600);font-family:var(--font-family);font-weight:var(--font-weight-bold);text-anchor:middle;dominant-baseline:central;pointer-events:none;-webkit-user-select:none;user-select:none;opacity:0;animation:label-fade-in .3s ease forwards}@keyframes label-fade-in{to{opacity:.9}}
