@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:600;font-display:swap;src:url(../../../fonts/bricolage-grotesque-v9-latin-600.woff2) format("woff2")}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:700;font-display:swap;src:url(../../../fonts/bricolage-grotesque-v9-latin-700.woff2) format("woff2")}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:800;font-display:swap;src:url(../../../fonts/bricolage-grotesque-v9-latin-800.woff2) format("woff2")}@font-face{font-family:Instrument Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../../../fonts/instrument-sans-v4-latin-regular.woff2) format("woff2")}@font-face{font-family:Instrument Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../../../fonts/instrument-sans-v4-latin-500.woff2) format("woff2")}@font-face{font-family:Instrument Sans;font-style:normal;font-weight:600;font-display:swap;src:url(../../../fonts/instrument-sans-v4-latin-600.woff2) format("woff2")}@font-face{font-family:Instrument Sans;font-style:normal;font-weight:700;font-display:swap;src:url(../../../fonts/instrument-sans-v4-latin-700.woff2) format("woff2")}:root{--font-display: "Bricolage Grotesque", "Avenir Next", system-ui, sans-serif;--font-ui: "Instrument Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: clamp(1.25rem, 1.1rem + .8vw, 1.5rem);--text-2xl: clamp(1.5rem, 1.3rem + 1.2vw, 1.9rem);--text-3xl: clamp(1.9rem, 1.5rem + 2vw, 2.6rem);--text-display: clamp(2.4rem, 1.8rem + 3.5vw, 3.8rem);--paper: #f2efe3;--surface: #fbf9f1;--surface-raised: #fffdf6;--water: #cde3ea;--water-deep: #2b6a8f;--ink: #101c3d;--ink-soft: #3c4866;--ink-muted: #5f6987;--ink-faint: #98a0b8;--ink-inverse: #f7f5ec;--line: #ddd8c6;--line-strong: #c2bda9;--gold: #d99a1f;--gold-strong: #8a6410;--gold-soft: #f5e6bd;--green: #2f7d4f;--green-soft: #dcefdf;--red: #c73e2c;--red-soft: #f8ded6;--btn-primary-bg: var(--ink);--btn-primary-ink: var(--ink-inverse);--focus-ring: var(--gold);--map-water: #cde3ea;--map-land: #ebe5d0;--map-land-hover: #f3e2ae;--map-stroke: #a7a68e;--map-correct: #63a97c;--map-wrong: #dd6a4f;--map-highlight: #e8b83d;--r-sm: 8px;--r-md: 12px;--r-lg: 18px;--r-xl: 26px;--r-full: 999px;--shadow-sm: 0 1px 2px rgba(16, 28, 61, .07);--shadow-md: 0 2px 8px rgba(16, 28, 61, .09), 0 1px 2px rgba(16, 28, 61, .06);--shadow-lg: 0 10px 30px rgba(16, 28, 61, .14), 0 2px 6px rgba(16, 28, 61, .08);--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 24px;--sp-6: 32px;--sp-7: 48px;--sp-8: 64px;--t-fast: .14s;--t-med: .24s;--t-slow: .42s;--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--content-max: 960px;--nav-height: 60px;--tabbar-height: 62px;color-scheme:light}@media(prefers-color-scheme:dark){:root{--paper: #0b1226;--surface: #141d3a;--surface-raised: #1b2649;--water: #14263f;--water-deep: #7ab5d4;--ink: #e9ecf6;--ink-soft: #c3cade;--ink-muted: #97a0bd;--ink-faint: #626c8c;--ink-inverse: #0b1226;--line: #26304f;--line-strong: #3a4569;--gold: #e2ae3d;--gold-strong: #ecc060;--gold-soft: #35290f;--green: #5cb381;--green-soft: #14301f;--red: #e0604a;--red-soft: #3a1712;--btn-primary-bg: var(--gold);--btn-primary-ink: #0b1226;--map-water: #0e1c33;--map-land: #26325a;--map-land-hover: #3b476f;--map-stroke: #4a567e;--map-correct: #3f8f63;--map-wrong: #c25036;--map-highlight: #d9a832;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow-md: 0 2px 8px rgba(0, 0, 0, .45), 0 1px 2px rgba(0, 0, 0, .3);--shadow-lg: 0 10px 30px rgba(0, 0, 0, .55), 0 2px 6px rgba(0, 0, 0, .35);color-scheme:dark}}*,*:before,*:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%}body{font-family:var(--font-ui);font-size:var(--text-base);line-height:1.55;color:var(--ink);background-color:var(--paper);background-image:linear-gradient(to right,color-mix(in oklab,var(--water-deep) 7%,transparent) 1px,transparent 1px),linear-gradient(to bottom,color-mix(in oklab,var(--water-deep) 7%,transparent) 1px,transparent 1px);background-size:56px 56px;min-height:100dvh;-webkit-font-smoothing:antialiased;overflow-x:hidden;overscroll-behavior-y:none}h1,h2,h3{font-family:var(--font-display);font-weight:700;line-height:1.15;letter-spacing:-.01em;text-wrap:balance}h1{font-size:var(--text-3xl);font-weight:800}h2{font-size:var(--text-2xl)}h3{font-size:var(--text-xl)}p{text-wrap:pretty}a{color:var(--water-deep);text-underline-offset:3px}img,svg{display:block;max-width:100%}button,input,select,textarea{font:inherit;color:inherit}button,a{touch-action:manipulation}:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;border-radius:var(--r-sm)}::selection{background:var(--gold-soft);color:var(--ink)}@media(prefers-color-scheme:dark){::selection{background:var(--gold);color:var(--ink-inverse)}}.display{font-family:var(--font-display);font-weight:800;font-size:var(--text-display);line-height:1.05;letter-spacing:-.02em}.eyebrow{font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:var(--ink-muted)}.muted{color:var(--ink-muted)}.num{font-family:var(--font-display);font-variant-numeric:tabular-nums}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-md);padding:var(--sp-5)}.card-water{background:var(--water);border-color:color-mix(in oklab,var(--water-deep) 25%,var(--water))}.card-flat{box-shadow:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);min-height:48px;padding:0 var(--sp-5);border:1px solid transparent;border-radius:var(--r-full);background:var(--surface-raised);border-color:var(--line-strong);font-family:var(--font-ui);font-size:var(--text-base);font-weight:600;letter-spacing:.01em;color:var(--ink);cursor:pointer;text-decoration:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;transition:transform var(--t-fast) var(--ease-out),box-shadow var(--t-fast) var(--ease-out),background-color var(--t-fast) var(--ease-out),border-color var(--t-fast) var(--ease-out)}.btn:hover{box-shadow:var(--shadow-sm)}.btn:active{transform:translateY(1px) scale(.99)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.btn-primary{background:var(--btn-primary-bg);border-color:var(--btn-primary-bg);color:var(--btn-primary-ink)}.btn-primary:hover{box-shadow:var(--shadow-md);filter:brightness(1.08)}.btn-ghost{background:transparent;border-color:transparent}.btn-ghost:hover{background:color-mix(in oklab,var(--ink) 7%,transparent);box-shadow:none}.btn-danger{background:var(--red);border-color:var(--red);color:#fff}.btn-gold{background:var(--gold);border-color:var(--gold);color:#241a02}.btn-sm{min-height:38px;padding:0 var(--sp-4);font-size:var(--text-sm)}.btn-lg{min-height:56px;padding:0 var(--sp-6);font-size:var(--text-lg)}.btn-block{width:100%}.btn .icon{width:20px;height:20px;flex:none}.chip{display:inline-flex;align-items:center;gap:var(--sp-2);min-height:44px;padding:0 var(--sp-4);border-radius:var(--r-full);border:1.5px solid var(--line-strong);background:var(--surface-raised);font-size:var(--text-sm);font-weight:600;color:var(--ink-soft);cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;transition:background-color var(--t-fast) var(--ease-out),border-color var(--t-fast) var(--ease-out),color var(--t-fast) var(--ease-out),transform var(--t-fast) var(--ease-spring)}.chip:hover{border-color:var(--ink-muted)}.chip:active{transform:scale(.96)}.chip.is-active,.chip[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--ink-inverse)}@media(prefers-color-scheme:dark){.chip.is-active,.chip[aria-pressed=true]{background:var(--gold);border-color:var(--gold);color:var(--ink-inverse)}}.field{display:grid;gap:var(--sp-2)}.label{font-size:var(--text-sm);font-weight:600;color:var(--ink-soft)}.input{width:100%;min-height:48px;padding:0 var(--sp-4);border:1.5px solid var(--line-strong);border-radius:var(--r-md);background:var(--surface-raised);font-size:var(--text-base);color:var(--ink);transition:border-color var(--t-fast) var(--ease-out),box-shadow var(--t-fast) var(--ease-out)}.input::placeholder{color:var(--ink-faint)}.input:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px color-mix(in oklab,var(--gold) 25%,transparent)}.input[aria-invalid=true]{border-color:var(--red)}.form-error{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-3) var(--sp-4);border-radius:var(--r-md);background:var(--red-soft);border:1px solid color-mix(in oklab,var(--red) 35%,transparent);color:var(--red);font-size:var(--text-sm);font-weight:600;animation:shake var(--t-slow) var(--ease-out)}.progress-track{position:relative;width:100%;height:12px;border-radius:var(--r-full);background:color-mix(in oklab,var(--ink) 10%,var(--paper));overflow:hidden}.progress-fill{height:100%;width:0%;border-radius:var(--r-full);background:var(--gold);background-image:repeating-linear-gradient(90deg,transparent 0 10px,rgba(255,255,255,.45) 10px 16px);transition:width var(--t-slow) var(--ease-out)}.progress-fill.is-correct{background-color:var(--green)}.progress-fill.is-wrong{background-color:var(--red)}@property --timer-p{syntax: "<number>"; inherits: true; initial-value: 1;}.timer-ring{--timer-p: 1;--timer-size: 76px;--timer-color: var(--gold);position:relative;display:grid;place-items:center;width:var(--timer-size);height:var(--timer-size);border-radius:50%;background:radial-gradient(closest-side,var(--surface) calc(100% - 7px),transparent calc(100% - 6px)),conic-gradient(var(--timer-color) calc(var(--timer-p) * 1turn),color-mix(in oklab,var(--ink) 12%,var(--paper)) 0);transition:--timer-p .95s linear}.timer-ring-value{font-size:calc(var(--timer-size) * .34);font-weight:800}.timer-ring.is-low{--timer-color: var(--red);animation:pulse 1s var(--ease-out) infinite}.answer-option{display:flex;align-items:center;gap:var(--sp-3);width:100%;min-height:56px;padding:var(--sp-3) var(--sp-4);border:1.5px solid var(--line-strong);border-radius:var(--r-md);background:var(--surface-raised);font-size:var(--text-base);font-weight:600;color:var(--ink);text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:border-color var(--t-fast) var(--ease-out),background-color var(--t-fast) var(--ease-out),transform var(--t-fast) var(--ease-out),box-shadow var(--t-fast) var(--ease-out),opacity var(--t-med) var(--ease-out)}.answer-option:hover:not(:disabled){border-color:var(--ink-muted);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.answer-option:active:not(:disabled){transform:scale(.985)}.answer-option.is-correct{background:var(--green-soft);border-color:var(--green);color:var(--green);animation:pulse var(--t-slow) var(--ease-spring)}.answer-option.is-wrong{background:var(--red-soft);border-color:var(--red);color:var(--red);animation:shake var(--t-slow) var(--ease-out)}.answer-option.is-dimmed{opacity:.45;pointer-events:none}.stat{display:grid;gap:2px}.stat-value{font-family:var(--font-display);font-weight:800;font-size:var(--text-3xl);line-height:1;font-variant-numeric:tabular-nums;color:var(--ink)}.stat-label{font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--ink-muted)}.stat-value .unit{font-size:.5em;font-weight:700;color:var(--ink-muted)}.badge{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:var(--r-full);font-size:var(--text-xs);font-weight:700;letter-spacing:.04em;border:1px solid transparent}.badge:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}.badge-new{color:var(--ink-muted);background:color-mix(in oklab,var(--ink) 7%,transparent);border-color:color-mix(in oklab,var(--ink) 15%,transparent)}.badge-learning{color:var(--water-deep);background:color-mix(in oklab,var(--water-deep) 12%,transparent);border-color:color-mix(in oklab,var(--water-deep) 30%,transparent)}.badge-solid{color:var(--gold-strong);background:color-mix(in oklab,var(--gold) 16%,transparent);border-color:color-mix(in oklab,var(--gold) 45%,transparent)}.badge-mastered{color:var(--green);background:var(--green-soft);border-color:color-mix(in oklab,var(--green) 40%,transparent)}.stamp{display:inline-block;padding:var(--sp-2) var(--sp-4);border:2.5px solid currentColor;border-radius:var(--r-sm);font-family:var(--font-display);font-weight:800;font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.18em;color:var(--green);transform:rotate(-6deg);-webkit-mask-image:radial-gradient(circle at 30% 60%,black 96%,transparent 97%);mask-image:radial-gradient(circle at 30% 60%,black 96%,transparent 97%);animation:stamp-in var(--t-med) var(--ease-spring) both}.stamp-gold{color:var(--gold-strong)}.stamp-red{color:var(--red)}.table-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface)}.table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.table th{font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-muted);text-align:left;padding:var(--sp-3) var(--sp-4);border-bottom:1.5px solid var(--line-strong)}.table td{padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--line)}.table tbody tr:last-child td{border-bottom:none}.table tbody tr{transition:background-color var(--t-fast) var(--ease-out)}.table tbody tr:hover{background:color-mix(in oklab,var(--gold) 7%,transparent)}.table .num{text-align:right}.flag{border-radius:var(--r-sm);border:1px solid var(--line);box-shadow:var(--shadow-sm);object-fit:cover}.container{width:100%;max-width:var(--content-max);margin-inline:auto;padding-inline:var(--sp-4)}.stack{display:grid;gap:var(--sp-4)}.stack-lg{display:grid;gap:var(--sp-5)}.row{display:flex;align-items:center;gap:var(--sp-3)}.row-between{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3)}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--sp-4)}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-4)}@media(max-width:560px){.grid-3{grid-template-columns:repeat(2,1fr)}}.page-enter{animation:page-in var(--t-med) var(--ease-out) both}.confetti{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden;border-radius:inherit;background-image:radial-gradient(circle 4px at 10% 12%,var(--gold) 98%,transparent),radial-gradient(circle 3px at 26% 4%,var(--water-deep) 98%,transparent),radial-gradient(circle 4px at 38% 16%,var(--red) 98%,transparent),radial-gradient(circle 3px at 52% 6%,var(--green) 98%,transparent),radial-gradient(circle 4px at 64% 14%,var(--gold) 98%,transparent),radial-gradient(circle 3px at 78% 5%,var(--water-deep) 98%,transparent),radial-gradient(circle 4px at 90% 12%,var(--green) 98%,transparent),radial-gradient(circle 3px at 18% 8%,var(--red) 98%,transparent),radial-gradient(circle 3px at 70% 9%,var(--gold) 98%,transparent),radial-gradient(circle 4px at 84% 3%,var(--red) 98%,transparent);background-size:100% 30%;background-repeat:no-repeat;animation:confetti-fall 1.8s var(--ease-out) both}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-7px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(2px)}}@keyframes pulse{0%{transform:scale(1)}40%{transform:scale(1.035)}to{transform:scale(1)}}@keyframes stamp-in{0%{transform:rotate(-6deg) scale(1.7);opacity:0}to{transform:rotate(-6deg) scale(1);opacity:1}}@keyframes page-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes confetti-fall{0%{background-position:0 -30%;opacity:1}70%{opacity:1}to{background-position:0 115%;opacity:0}}@keyframes spin-slow{to{transform:rotate(360deg)}}@media(prefers-color-scheme:dark){.btn-danger{background:#a83a26;border-color:#a83a26}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.shell.svelte-12qhfyh{min-height:100dvh;display:flex;flex-direction:column}.topbar.svelte-12qhfyh{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);height:var(--nav-height);padding-inline:var(--sp-4);padding-top:env(safe-area-inset-top);background:color-mix(in oklab,var(--surface) 88%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.brand.svelte-12qhfyh{display:flex;align-items:center;gap:var(--sp-2);text-decoration:none;color:var(--ink)}.brand-mark{width:30px;height:30px;color:var(--ink)}.brand-name.svelte-12qhfyh{font-family:var(--font-display);font-weight:800;font-size:var(--text-xl);letter-spacing:-.01em}.topnav.svelte-12qhfyh{display:none;align-items:center;gap:var(--sp-1)}.topnav-link.svelte-12qhfyh{display:flex;align-items:center;gap:var(--sp-2);min-height:44px;padding:0 var(--sp-4);border-radius:var(--r-full);text-decoration:none;font-size:var(--text-sm);font-weight:600;color:var(--ink-muted);transition:color var(--t-fast) var(--ease-out),background-color var(--t-fast) var(--ease-out)}.topnav-link.svelte-12qhfyh:hover{color:var(--ink);background:color-mix(in oklab,var(--ink) 6%,transparent)}.topnav-link.is-active.svelte-12qhfyh{color:var(--ink);background:color-mix(in oklab,var(--gold) 22%,transparent)}.nav-icon{width:22px;height:22px;flex:none}.topbar-user.svelte-12qhfyh{display:flex;align-items:center;gap:var(--sp-3)}.user-name.svelte-12qhfyh{display:none;font-size:var(--text-sm);font-weight:600;color:var(--ink-soft)}.logout-btn.svelte-12qhfyh{display:flex;align-items:center;gap:var(--sp-2);min-height:44px;min-width:44px;justify-content:center;padding:0 var(--sp-3);border:none;border-radius:var(--r-full);background:transparent;font-size:var(--text-sm);font-weight:600;color:var(--ink-muted);cursor:pointer;transition:color var(--t-fast) var(--ease-out),background-color var(--t-fast) var(--ease-out)}.logout-btn.svelte-12qhfyh:hover{color:var(--red);background:color-mix(in oklab,var(--red) 10%,transparent)}.logout-label.svelte-12qhfyh{display:none}.content.svelte-12qhfyh{flex:1;width:100%;max-width:var(--content-max);margin-inline:auto;padding:var(--sp-5) var(--sp-4);padding-bottom:calc(var(--tabbar-height) + env(safe-area-inset-bottom) + var(--sp-6))}.tabbar.svelte-12qhfyh{position:fixed;bottom:0;left:0;right:0;z-index:20;display:flex;justify-content:space-around;align-items:stretch;min-height:var(--tabbar-height);padding:var(--sp-1) var(--sp-2);padding-bottom:calc(var(--sp-1) + env(safe-area-inset-bottom));background:color-mix(in oklab,var(--surface) 92%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--line)}.tab.svelte-12qhfyh{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;flex:1;min-width:44px;max-width:110px;padding:var(--sp-1) 0;border-radius:var(--r-md);text-decoration:none;color:var(--ink-muted);transition:color var(--t-fast) var(--ease-out);-webkit-tap-highlight-color:transparent}.tab-label.svelte-12qhfyh{font-size:.6875rem;font-weight:600;letter-spacing:.02em}.tab.is-active.svelte-12qhfyh{color:var(--ink)}.tab.is-active.svelte-12qhfyh:after{content:"";position:absolute;bottom:0;width:18px;height:3px;border-radius:var(--r-full);background:var(--gold)}.tab.svelte-12qhfyh:active .nav-icon{transform:scale(.9)}.tab.svelte-12qhfyh .nav-icon{transition:transform var(--t-fast) var(--ease-spring)}@media(max-width:819px){.in-quiz.svelte-12qhfyh .topbar:where(.svelte-12qhfyh),.in-quiz.svelte-12qhfyh .tabbar:where(.svelte-12qhfyh){display:none}.in-quiz.svelte-12qhfyh .content:where(.svelte-12qhfyh){padding-top:calc(env(safe-area-inset-top) + var(--sp-3));padding-bottom:calc(env(safe-area-inset-bottom) + var(--sp-5))}}@media(min-width:820px){.topnav.svelte-12qhfyh{display:flex}.user-name.svelte-12qhfyh,.logout-label.svelte-12qhfyh{display:inline}.tabbar.svelte-12qhfyh{display:none}.content.svelte-12qhfyh{padding:var(--sp-6) var(--sp-5)}}
