*,:before,:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;min-height:100svh}img,picture,svg,video,canvas{max-width:100%;display:block}input,button,textarea,select{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0}p,h1,h2,h3,h4{overflow-wrap:break-word;text-wrap:balance}p{text-wrap:pretty}ul,ol{padding:0;list-style:none}a{color:inherit;text-decoration:none}[hidden]{display:none!important}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}:root{--color-bg:#fafaf8;--color-surface:#fff;--color-text:#1a1a1a;--color-accent:#2b4eff;--color-accent-ink:#fff;--color-success:#16a34a;--color-error:#dc2626;--color-muted:#71717a;--color-line:#1a1a1a1f;--color-line-strong:#1a1a1a3d;--color-wash:#2b4eff0f;--font-sans:"Mantri", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--leading-tight:.95;--leading-body:1.55;--tracking-label:.14em;--spacing-unit:8px;--space-2xs:calc(var(--spacing-unit) * .5);--space-xs:var(--spacing-unit);--space-sm:calc(var(--spacing-unit) * 1.5);--space-md:calc(var(--spacing-unit) * 2);--space-lg:calc(var(--spacing-unit) * 3);--space-xl:calc(var(--spacing-unit) * 4);--space-2xl:calc(var(--spacing-unit) * 6);--space-3xl:calc(var(--spacing-unit) * 9);--radius:12px;--radius-sm:8px;--radius-lg:20px;--radius-pill:999px;--shadow-card:0 1px 2px #1a1a1a0d, 0 12px 32px -18px #1a1a1a59;--shadow-lift:0 2px 4px #1a1a1a0f, 0 24px 48px -24px #1a1a1a66;--ease-out:cubic-bezier(.22, .75, .25, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--duration-fast:.16s;--duration:.28s;--duration-slow:.62s;--measure:62ch;--max-width:1080px;--gutter:clamp(22px, 5vw, 48px);--topbar-height:64px;--tap-target:44px}:root[data-theme=dark]{--color-bg:#101011;--color-surface:#18181b;--color-text:#f4f4f1;--color-accent:#7b8dff;--color-accent-ink:#0b0b0c;--color-success:#37d399;--color-error:#f87171;--color-muted:#9c9ca6;--color-line:#ffffff1f;--color-line-strong:#ffffff47;--color-wash:#7b8dff24;--shadow-card:0 1px 2px #00000080, 0 12px 32px -18px #000000e6;--shadow-lift:0 2px 4px #00000080, 0 24px 48px -24px #000000f2}@font-face{font-family:Mantri;src:url(/assets/fonts/Mantri-Variable.woff2)format("woff2-variations");font-weight:100 900;font-style:normal;font-display:swap}html{scroll-behavior:smooth;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}body{background-color:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);font-size:1rem;font-weight:400;line-height:var(--leading-body);letter-spacing:-.01em;flex-direction:column;min-height:100svh;display:flex;overflow-x:clip}main{flex:1 0 auto}::selection{background:var(--color-accent);color:var(--color-accent-ink)}:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px;border-radius:4px}h1,h2,h3{font-weight:800;line-height:var(--leading-tight);letter-spacing:-.035em}.eyebrow{letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--color-muted);font-size:.6875rem;font-weight:600}.title-xl{font-size:clamp(2.5rem,9vw,4.5rem)}.title-lg{letter-spacing:-.03em;font-size:clamp(1.75rem,5vw,2.25rem);font-weight:700}.numeric{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.topbar{z-index:30;align-items:center;gap:var(--space-sm);height:var(--topbar-height);padding:0 var(--gutter);background:color-mix(in srgb, var(--color-bg) 88%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid #0000;display:flex;position:sticky;top:0}.page--game .topbar{border-bottom-color:var(--color-line)}.topbar__logo,.wordmark{letter-spacing:-.03em;text-transform:uppercase;font-size:1rem;font-weight:800}.wordmark span{color:var(--color-accent)}.topbar__back{width:var(--tap-target);height:var(--tap-target);border-radius:var(--radius-pill);transition:background-color var(--duration-fast) var(--ease-out);justify-content:center;align-items:center;font-size:1.25rem;display:inline-flex}.topbar__back:hover{background:var(--color-wash)}.topbar__end{align-items:center;gap:var(--space-sm);margin-left:auto;display:flex}.topbar__meta{font-variant-numeric:tabular-nums;color:var(--color-muted);font-size:.9375rem;font-weight:600}.site-footer{padding:var(--space-xl) var(--gutter) var(--space-lg);border-top:1px solid var(--color-line);margin-top:var(--space-2xl);color:var(--color-muted);flex-shrink:0;font-size:.8125rem}.site-footer a{color:var(--color-text);border-bottom:1px solid var(--color-line-strong);transition:color var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out)}.site-footer a:hover{color:var(--color-accent);border-color:var(--color-accent)}.shell{width:100%;max-width:var(--max-width);padding:0 var(--gutter);margin:0 auto}.page--game .shell{max-width:720px}.hero{padding:var(--space-xl) 0 var(--space-2xl)}.hero__title{margin-top:var(--space-md);text-transform:uppercase;font-weight:800}.hero__line{display:block;overflow:hidden}.hero__line>span{animation:rise var(--duration-slow) var(--ease-out) forwards;animation-delay:calc(var(--i,0) * 90ms + 60ms);display:block;transform:translateY(105%)}.hero__title em{color:var(--color-accent);font-style:normal}.hero__sub{max-width:34ch;margin-top:var(--space-lg);color:var(--color-muted);opacity:0;animation:fade-up var(--duration-slow) var(--ease-out) forwards;font-size:1.0625rem;animation-delay:.38s}.hero__sub strong{color:var(--color-text);font-weight:600}@keyframes rise{to{transform:translateY(0)}}@keyframes fade-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.games{gap:var(--space-sm);padding-bottom:var(--space-lg);display:grid}@media (width>=768px){.hero{padding:var(--space-2xl) 0 var(--space-3xl)}.games{grid-template-columns:repeat(2,1fr)}.games>:last-child{grid-column:1/-1}}.game{padding-top:var(--space-lg);padding-bottom:var(--space-2xl)}.screen{animation:fade-up var(--duration) var(--ease-out) both}.screen__head{gap:var(--space-2xs);margin-bottom:var(--space-lg);flex-direction:column;display:flex}.screen__title{letter-spacing:-.035em;margin-top:var(--space-2xs);font-size:clamp(1.625rem,6vw,2.25rem);font-weight:800}.screen__lead{margin-top:var(--space-xs);max-width:var(--measure);color:var(--color-muted);font-size:.9375rem}@media (width>=768px){.game{padding-top:var(--space-2xl)}}.game-card{gap:var(--space-sm);min-height:200px;padding:var(--space-lg);background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-lg);-webkit-tap-highlight-color:transparent;transition:transform var(--duration) var(--ease-out), border-color var(--duration) var(--ease-out), box-shadow var(--duration) var(--ease-out);flex-direction:column;display:flex;position:relative;overflow:hidden}.game-card:hover,.game-card:focus-visible{border-color:var(--color-line-strong);box-shadow:var(--shadow-card);transform:translateY(-3px)}.game-card:active{transform:scale(.97)}.game-card__index{letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--color-muted);font-size:.6875rem;font-weight:600}.game-card__title{z-index:1;letter-spacing:-.035em;max-width:18ch;font-size:clamp(1.5rem,6vw,1.875rem);font-weight:700;line-height:1.05;position:relative}.game-card__meta{z-index:1;color:var(--color-muted);margin-top:auto;font-size:.8125rem;position:relative}.game-card__arrow{top:var(--space-lg);right:var(--space-lg);color:var(--color-muted);transition:transform var(--duration) var(--ease-out), color var(--duration) var(--ease-out);font-size:1.25rem;position:absolute}.game-card:hover .game-card__arrow{color:var(--color-accent);transform:translate(3px,-3px)}.game-card__glyph{letter-spacing:-.05em;color:var(--color-text);opacity:.045;pointer-events:none;transition:opacity var(--duration) var(--ease-out), transform var(--duration) var(--ease-out);font-size:9rem;font-weight:800;line-height:1;position:absolute;bottom:-.42em;right:-.1em}.game-card:hover .game-card__glyph{opacity:.08;transform:translateY(-4px)}.theme-toggle{width:var(--tap-target);height:var(--tap-target);color:var(--color-text);border:1px solid var(--color-line);border-radius:var(--radius-pill);-webkit-tap-highlight-color:transparent;transition:color var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out), background-color var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-out);background:0 0;justify-content:center;align-items:center;display:inline-flex}.theme-toggle:hover{color:var(--color-accent);border-color:var(--color-accent);background:var(--color-wash)}.theme-toggle:active{transform:scale(.94)}.theme-toggle__icon{width:18px;height:18px;display:block}.theme-toggle__icon--moon,:root[data-theme=dark] .theme-toggle__icon--sun{display:none}:root[data-theme=dark] .theme-toggle__icon--moon{display:block}.btn{justify-content:center;align-items:center;gap:var(--space-2xs);min-height:48px;padding:0 var(--space-md);border-radius:var(--radius-pill);letter-spacing:-.01em;white-space:nowrap;-webkit-tap-highlight-color:transparent;transition:transform var(--duration-fast) var(--ease-out), background-color var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out), opacity var(--duration-fast) var(--ease-out);border:1px solid #0000;font-size:.9375rem;font-weight:600;display:inline-flex}.btn:active{transform:scale(.97)}.btn--primary{background:var(--color-accent);color:var(--color-accent-ink)}.btn--primary:hover{background:color-mix(in srgb, var(--color-accent) 88%, #000)}.btn--ghost{border-color:var(--color-line-strong);color:var(--color-text);background:0 0}.btn--ghost:hover{border-color:var(--color-text);background:var(--color-wash)}.btn--block{width:100%}.btn--sm{min-height:var(--tap-target);padding:0 var(--space-sm);font-size:.8125rem}.level-list{gap:var(--space-xs);display:grid}.level-card{align-items:center;gap:var(--space-sm);width:100%;padding:var(--space-md) var(--space-lg);text-align:left;background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius);-webkit-tap-highlight-color:transparent;transition:border-color var(--duration-fast) var(--ease-out), background-color var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-out);grid-template-columns:1fr auto;display:grid}.level-card:hover{border-color:var(--color-accent);background:var(--color-wash)}.level-card:active{transform:scale(.99)}.level-card__body{flex-direction:column;gap:2px;display:flex}.level-card__name{letter-spacing:-.02em;font-size:1.0625rem;font-weight:700}.level-card__desc{color:var(--color-muted);font-size:.8125rem;line-height:1.4}.level-card__badge{letter-spacing:.08em;text-transform:uppercase;color:var(--color-muted);font-size:.6875rem;font-weight:600}.level-card:hover .level-card__badge{color:var(--color-accent)}.level-card[disabled]{opacity:.5;pointer-events:none}.hud{justify-content:space-between;align-items:baseline;gap:var(--space-sm);letter-spacing:.08em;text-transform:uppercase;color:var(--color-muted);font-size:.75rem;font-weight:600;display:flex}.hud__timer{font-variant-numeric:tabular-nums;letter-spacing:0;text-transform:none;color:var(--color-text);font-size:.9375rem}.progress{height:3px;margin:var(--space-xs) 0 var(--space-lg);background:var(--color-line);border-radius:var(--radius-pill);overflow:hidden}.progress__bar{background:var(--color-accent);border-radius:inherit;width:0;height:100%;transition:width var(--duration) var(--ease-out);display:block}.question-card{gap:var(--space-md);background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);transition:background-color .2s var(--ease-out), border-color .2s var(--ease-out), opacity .18s var(--ease-out), transform .18s var(--ease-out);flex-direction:column;padding:clamp(1.25rem,5vw,2rem);display:flex}.question-card.is-entering{animation:slide-in .3s var(--ease-out)}.question-card.is-leaving{opacity:0;transform:translate(-18px)}@keyframes slide-in{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.question-card[data-state=correct]{border-color:var(--color-success);background:color-mix(in srgb, var(--color-success) 7%, var(--color-surface))}.question-card[data-state=wrong]{border-color:var(--color-error);background:color-mix(in srgb, var(--color-error) 6%, var(--color-surface));animation:shake .32s var(--ease-in-out)}@keyframes shake{10%,90%{transform:translate(-2px)}25%,75%{transform:translate(4px)}45%,55%{transform:translate(-6px)}}.question-card__label{letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--color-muted);font-size:.6875rem;font-weight:600}.question-card__text{letter-spacing:-.03em;font-size:clamp(1.5rem,7vw,2.25rem);font-weight:700;line-height:1.1}.question-card--calc .question-card__text{font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:clamp(2.25rem,12vw,3.5rem)}.question-card--with-map{gap:var(--space-md);grid-template-rows:auto auto;display:grid}.question-card--with-map .question-card__label{grid-row:1}@media (width>=640px){.question-card--with-map{align-items:center;column-gap:var(--space-lg);grid-template-rows:auto 1fr;grid-template-columns:190px 1fr}.question-card--with-map .question-card__label{grid-column:1/-1}.question-card--with-map .question-map{grid-area:2/1}.question-card--with-map .question-card__text,.question-card--with-map .answers,.question-card--with-map .answer-form{grid-column:2}}.question-map{width:100%;max-width:220px;padding:var(--space-xs);background:var(--color-bg);border-radius:var(--radius);place-items:center;margin-inline:auto;display:grid}.question-map svg{width:100%;height:auto;max-height:150px;overflow:visible}.question-map path{fill:var(--color-accent);fill-opacity:.16;stroke:var(--color-accent);stroke-width:1.25px;stroke-linejoin:round;vector-effect:non-scaling-stroke}@media (width>=640px){.question-map{margin-inline:0}.question-map svg{max-height:190px}}.answers{gap:var(--space-xs);grid-template-columns:repeat(auto-fit,minmax(92px,1fr));display:grid}.answer{min-height:56px;padding:0 var(--space-xs);font-variant-numeric:tabular-nums;color:var(--color-text);background:var(--color-bg);border:1px solid var(--color-line-strong);border-radius:var(--radius);-webkit-tap-highlight-color:transparent;transition:transform var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out), background-color var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out);font-size:1.25rem;font-weight:600}.answer:hover:not([disabled]){border-color:var(--color-accent);color:var(--color-accent)}.answer:active:not([disabled]){transform:scale(.97)}.answer--text{letter-spacing:-.01em;font-size:.9375rem;line-height:1.25}.answer[data-state=correct]{color:#fff;background:var(--color-success);border-color:var(--color-success)}.answer[data-state=wrong]{color:var(--color-error);background:color-mix(in srgb, var(--color-error) 10%, var(--color-surface));border-color:var(--color-error)}.answer[disabled]{opacity:.6;cursor:default}.answers--text{grid-template-columns:1fr}@media (width>=640px){.answers--text{grid-template-columns:repeat(3,1fr)}}.answer[disabled][data-state=correct],.answer[disabled][data-state=wrong]{opacity:1}.answer-form{gap:var(--space-xs);display:flex}.answer-input{min-width:0;min-height:56px;padding:0 var(--space-sm);text-align:center;color:var(--color-text);background:var(--color-bg);border:1px solid var(--color-line-strong);border-radius:var(--radius);transition:border-color var(--duration-fast) var(--ease-out);flex:auto;font-size:1.25rem;font-weight:600}.answer-input:focus{border-color:var(--color-accent);outline:none}.answer-input::placeholder{color:color-mix(in srgb, var(--color-muted) 70%, transparent);font-weight:400}.answer-input:disabled{opacity:.8}.answer-input.is-error{color:var(--color-error);border-color:var(--color-error);text-decoration:line-through;text-decoration-thickness:1px}.feedback{padding:var(--space-xs) var(--space-sm);background:color-mix(in srgb, var(--color-error) 8%, transparent);border-left:2px solid var(--color-error);border-radius:var(--radius-sm);animation:fade-up .2s var(--ease-out);flex-direction:column;gap:2px;display:flex}.feedback__label{letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--color-error);font-size:.6875rem;font-weight:600}.feedback strong{letter-spacing:-.02em;color:var(--color-text);font-size:1.0625rem;font-weight:700}.hint{margin-top:var(--space-sm);color:var(--color-muted);min-height:1.25rem;font-size:.8125rem}.results{text-align:center;background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:clamp(1.5rem,6vw,2.5rem)}.results__score{margin-top:var(--space-sm);letter-spacing:-.045em;font-variant-numeric:tabular-nums;font-size:clamp(3rem,15vw,4.5rem);font-weight:800;line-height:1}.results__score small{letter-spacing:-.02em;color:var(--color-muted);font-size:.35em;font-weight:500}.results__time{margin-top:var(--space-xs);font-variant-numeric:tabular-nums;font-size:1.0625rem;font-weight:600}.results__comment{margin-top:var(--space-sm);color:var(--color-muted);font-size:.9375rem}.results__actions{justify-content:center;gap:var(--space-xs);margin-top:var(--space-lg);flex-wrap:wrap;display:flex}.toast{left:50%;bottom:calc(var(--space-lg) + env(safe-area-inset-bottom));z-index:60;text-align:center;max-width:min(90vw,32ch);color:var(--color-bg);background:var(--color-text);border-radius:var(--radius-pill);opacity:0;pointer-events:none;transition:opacity var(--duration) var(--ease-out), transform var(--duration) var(--ease-out);padding:.6875rem 1.125rem;font-size:.875rem;font-weight:500;position:fixed;transform:translate(-50%,12px)}.toast.is-visible{opacity:1;transform:translate(-50%)}.toolbar{justify-content:space-between;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-md);flex-wrap:wrap;display:flex}.chips{gap:var(--space-2xs);display:flex}.chip{min-height:var(--tap-target);padding:0 var(--space-sm);color:var(--color-muted);border:1px solid var(--color-line);border-radius:var(--radius-pill);transition:color var(--duration-fast) var(--ease-out), background-color var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out);background:0 0;font-size:.8125rem;font-weight:600}.chip:hover{color:var(--color-text);border-color:var(--color-line-strong)}.chip[aria-pressed=true]{color:var(--color-bg);background:var(--color-text);border-color:var(--color-text)}.play-tools{gap:var(--space-xs);margin-top:var(--space-md);flex-wrap:wrap;justify-content:center;display:flex}.sudoku{aspect-ratio:1;background:var(--color-surface);border:2px solid var(--color-text);border-radius:8px;grid-template-columns:repeat(9,1fr);width:min(100%,432px);margin:0 auto;display:grid;overflow:hidden}.sudoku[data-loading=true]{opacity:.4;pointer-events:none}.sudoku__cell{font-variant-numeric:tabular-nums;min-width:0;color:var(--color-accent);background:var(--color-surface);border-right:1px solid var(--color-line);border-bottom:1px solid var(--color-line);-webkit-tap-highlight-color:transparent;transition:background-color .12s var(--ease-out), color .12s var(--ease-out);justify-content:center;align-items:center;padding:0;font-size:clamp(.9375rem,4.2vw,1.375rem);font-weight:500;line-height:1;display:flex}.sudoku__cell:nth-child(9n){border-right:0}.sudoku__cell:nth-child(n+73){border-bottom:0}.sudoku__cell.is-block-right{border-right:2px solid var(--color-text)}.sudoku__cell.is-block-bottom{border-bottom:2px solid var(--color-text)}.sudoku__cell.is-given{color:var(--color-text);font-weight:700}.sudoku__cell.is-peer{background:color-mix(in srgb, var(--color-text) 4%, var(--color-surface))}.sudoku__cell.is-same{background:var(--color-wash);color:var(--color-accent)}.sudoku__cell.is-selected{background:color-mix(in srgb, var(--color-accent) 14%, var(--color-surface));box-shadow:inset 0 0 0 2px var(--color-accent)}.sudoku__cell.is-error{color:var(--color-error);background:color-mix(in srgb, var(--color-error) 10%, var(--color-surface))}.sudoku__cell.is-error.is-selected{box-shadow:inset 0 0 0 2px var(--color-error)}.keypad{gap:var(--space-2xs);width:min(100%,432px);margin:var(--space-md) auto 0;grid-template-columns:repeat(5,1fr);display:grid}.keypad__key{font-variant-numeric:tabular-nums;min-height:52px;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-sm);-webkit-tap-highlight-color:transparent;transition:background-color var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-out);font-size:1.25rem;font-weight:600}.keypad__key:hover{border-color:var(--color-accent);color:var(--color-accent)}.keypad__key:active{transform:scale(.96)}.keypad__key--erase{letter-spacing:0;font-size:.8125rem;font-weight:500}
