@layer reset,tokens,base,components,utilities;@layer tokens{:root{color-scheme:light;--ink: #171238;--ink-soft: #5b5675;--paper: #f8f7ff;--surface: #ffffff;--surface-strong: #eeeaff;--brand: #6c43f3;--brand-dark: #4326a2;--mint: #36d6bb;--sun: #ffe34f;--coral: #ff6e79;--line: #ddd8f2;--success: #087d68;--danger: #b4233c;--shadow: 0 18px 50px rgb(35 25 89 / 12%);--radius-sm: .7rem;--radius-md: 1.25rem;--radius-lg: 2rem;--space-1: .35rem;--space-2: .65rem;--space-3: 1rem;--space-4: 1.5rem;--space-5: 2.25rem;--space-6: 3.5rem;--focus: 0 0 0 4px rgb(108 67 243 / 30%);--font-body: ui-rounded, "SF Pro Rounded", "Segoe UI", system-ui, sans-serif}@media(prefers-color-scheme:dark){:root{color-scheme:dark;--ink: #f8f6ff;--ink-soft: #c4bddc;--paper: #100d2c;--surface: #1b1740;--surface-strong: #292252;--brand: #a98aff;--brand-dark: #d4c7ff;--line: #3e3767;--success: #61e5cb;--danger: #ff91a0;--shadow: 0 18px 50px rgb(0 0 0 / 25%)}}}@layer reset{*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:20rem}button,input,select{font:inherit}img,svg{max-width:100%}[hidden]{display:none!important}}@layer base{body{background:radial-gradient(circle at 8% 3%,rgb(54 214 187 / 18%),transparent 27rem),radial-gradient(circle at 93% 18%,rgb(255 227 79 / 22%),transparent 23rem),var(--paper);color:var(--ink);font-family:var(--font-body);line-height:1.55}a{color:var(--brand-dark);text-underline-offset:.2em}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:0;box-shadow:var(--focus)}h1,h2,p{margin-block-start:0}h1,h2{line-height:1.05;letter-spacing:-.035em}h1{font-size:clamp(2.8rem,8vw,6.5rem);margin-block-end:var(--space-3)}h1 em{color:var(--brand);font-style:normal}h2{font-size:clamp(1.5rem,3vw,2.15rem);margin-block-end:.25rem}label{display:grid;gap:.4rem;color:var(--ink-soft);font-size:.9rem;font-weight:750}input,select{width:100%;min-height:2.9rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);padding:.65rem .8rem}progress{accent-color:var(--brand)}}@layer components{.skip-link{position:fixed;z-index:20;inset:.75rem auto auto .75rem;translate:0 -200%;background:var(--ink);color:var(--paper);padding:.7rem 1rem;border-radius:.5rem}.skip-link:focus{translate:0}.site-header,main,footer{width:min(74rem,calc(100% - 2rem));margin-inline:auto}.site-header{min-height:5.25rem;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.brand{display:inline-flex;align-items:center;gap:.65rem;color:var(--ink);text-decoration:none}.brand span{display:grid;place-items:center;width:2.2rem;aspect-ratio:1;border-radius:.65rem;background:var(--brand);color:#fff}.brand .brand-copy{display:grid;place-items:start;width:auto;aspect-ratio:auto;border-radius:0;background:none;color:inherit;line-height:1.05}.brand-copy strong{font-size:1.35rem;font-weight:950;letter-spacing:-.045em}.brand-copy small{color:var(--ink-soft);font-size:.62rem;font-weight:800;letter-spacing:.035em}.account-header{border-block-end:1px solid var(--line)}.back-to-game{border-radius:999px;background:var(--brand);padding:.65rem 1rem;color:#fff;font-weight:900;text-decoration:none;box-shadow:0 5px 0 var(--brand-dark)}.account-page{width:min(58rem,calc(100% - 2rem));min-height:calc(100svh - 10rem);display:grid;align-items:center;padding-block:var(--space-5)}.account-page .panel{height:auto}.utility-nav{display:flex;justify-content:flex-end;gap:var(--space-2)}.utility-nav a,.utility-nav button{display:inline-flex;min-height:2.65rem;align-items:center;gap:.4rem;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--ink);padding:.45rem .75rem;font-weight:850;text-decoration:none;cursor:pointer}.utility-nav a:hover,.utility-nav button:hover{border-color:var(--brand);color:var(--brand-dark)}mp-button{display:inline-block}mp-button::part(button){min-height:3rem;border:0;border-radius:.9rem;padding:.7rem 1.15rem;background:var(--brand);color:#fff;font-weight:900;cursor:pointer;box-shadow:0 7px 0 var(--brand-dark);transition:translate .15s,box-shadow .15s}mp-button::part(button):hover{translate:0 -2px;box-shadow:0 9px 0 var(--brand-dark)}mp-button::part(button):active{translate:0 5px;box-shadow:0 2px 0 var(--brand-dark)}mp-button::part(button):disabled{opacity:.48;cursor:not-allowed;translate:0;box-shadow:none}mp-button[kind=quiet]::part(button){background:var(--surface-strong);color:var(--brand-dark);box-shadow:0 5px 0 var(--line)}.hero{min-height:min(43rem,calc(100svh - 6rem));display:grid;grid-template-columns:minmax(0,1.35fr) minmax(16rem,.65fr);align-items:center;gap:var(--space-6);overflow:clip;padding-block:var(--space-5) var(--space-6)}.hero-copy>p{max-width:44rem;color:var(--ink-soft);font-size:clamp(1.05rem,2vw,1.35rem)}.run-kicker{display:inline-flex;margin-block-end:var(--space-3);border:1px solid var(--line);border-radius:999px;background:var(--surface);padding:.4rem .75rem;color:var(--ink-soft);font-size:.72rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;box-shadow:0 4px 0 var(--line)}.player-badge{display:inline-flex;margin-inline-start:var(--space-2);border-radius:999px;background:var(--surface-strong);padding:.45rem .75rem;color:var(--brand-dark);font-size:.8rem;font-weight:900}.eyebrow{display:block;color:var(--brand);font-size:.77rem;font-weight:950;letter-spacing:.13em;text-transform:uppercase}.start-row{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-3);margin-block:var(--space-4) var(--space-2)}.start-button{display:inline-flex;min-height:3.15rem;align-items:center;border-radius:.9rem;background:var(--brand);padding:.75rem 1.25rem;color:#fff;font-weight:950;text-decoration:none;box-shadow:0 7px 0 var(--brand-dark)}.start-button:hover{translate:0 -2px;box-shadow:0 9px 0 var(--brand-dark)}.availability{font-size:.92rem!important}.challenge-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3);max-width:43rem;margin-block:var(--space-4);border:0;padding:0}.challenge-picker legend{width:100%;margin-block-end:var(--space-2);color:var(--ink);font-weight:900}.challenge-card{position:relative;grid-template-columns:auto 1fr auto;align-items:center;column-gap:.7rem;min-height:6.2rem;border:2px solid var(--line);border-radius:var(--radius-md);background:var(--surface);padding:1rem;color:var(--ink);cursor:pointer;box-shadow:0 6px 0 var(--line)}.challenge-card input{position:absolute;width:1px;min-height:1px;opacity:0}.challenge-card>span{grid-row:1 / 3;font-size:1.7rem}.challenge-card strong{align-self:end;font-size:1rem}.challenge-card small{align-self:start;color:var(--ink-soft);font-weight:650}.challenge-card b{grid-column:3;grid-row:1 / 3;display:grid;place-items:center;width:1.6rem;aspect-ratio:1;border-radius:50%;background:var(--brand);color:#fff;opacity:0}.challenge-card:has(input:checked){border-color:var(--brand);background:color-mix(in srgb,var(--surface-strong) 58%,var(--surface));box-shadow:0 6px 0 var(--brand-dark)}.challenge-card:has(input:checked) b{opacity:1}.challenge-card:has(input:focus-visible){outline:0;box-shadow:var(--focus),0 6px 0 var(--brand-dark)}.hero-orbit{position:relative;display:grid;place-items:center;aspect-ratio:1;border-radius:50%;background:linear-gradient(145deg,var(--brand),#43229e);color:#fff;box-shadow:var(--shadow);rotate:3deg}.hero-orbit:before,.hero-orbit:after{content:"";position:absolute;inset:-1.25rem;border:3px solid var(--mint);border-radius:50%;rotate:-24deg}.hero-orbit:after{inset:10%;border-color:#ffffff4d;rotate:43deg}.hero-orbit span{position:absolute;inset:22% auto auto 17%;font-size:clamp(1.2rem,3vw,2.2rem);font-weight:900}.hero-orbit strong{font-size:clamp(5rem,12vw,9rem);line-height:1}.hero-orbit i{position:absolute;inset:auto 13% 15% auto;color:var(--sun);font-size:3.5rem;font-style:normal}.hero-orbit small{position:absolute;inset:auto auto 8% 12%;color:#fff;font-size:.72rem;font-weight:950;letter-spacing:.14em;rotate:-8deg}.app-dialog{width:min(42rem,calc(100% - 1.25rem));max-height:min(52rem,calc(100dvh - 1.25rem));border:0;border-radius:var(--radius-lg);background:var(--surface);color:var(--ink);padding:0;box-shadow:0 24px 80px #0a072073}.app-dialog::backdrop{background:#0a0720b8;backdrop-filter:blur(4px)}.dialog-bar{position:sticky;z-index:2;inset-block-start:0;display:flex;align-items:center;justify-content:space-between;min-height:3.5rem;border-block-end:1px solid var(--line);background:var(--surface);padding:.65rem 1rem}.dialog-bar button{display:grid;place-items:center;width:2.35rem;aspect-ratio:1;border:0;border-radius:50%;background:var(--surface-strong);color:var(--ink);font-size:1.65rem;line-height:1;cursor:pointer}.app-dialog .panel{border:0;border-radius:0;box-shadow:none}.panel{height:100%;border:1px solid var(--line);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--surface) 94%,transparent);padding:clamp(1.25rem,3vw,2rem);box-shadow:var(--shadow)}.panel-heading{display:flex;align-items:start;justify-content:space-between;gap:var(--space-3);margin-block-end:var(--space-3)}.panel p{color:var(--ink-soft)}.safe-chip{white-space:nowrap;border-radius:999px;background:var(--surface-strong);color:var(--brand-dark);padding:.35rem .65rem;font-size:.75rem;font-weight:850}.auth-panel form{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.auth-panel .actions,.auth-panel .small{grid-column:1 / -1}.auth-tabs{display:flex;flex-wrap:wrap;gap:.55rem;margin-block-end:var(--space-3)}.auth-tabs button,.phrase-button{min-height:2.7rem;border:1px solid var(--line);border-radius:999px;background:var(--surface-strong);color:var(--ink);padding:.55rem .9rem;font-weight:850;cursor:pointer}.auth-tabs button.active{border-color:var(--brand);background:var(--brand);color:#fff}.remembered{margin-block-end:var(--space-3)}.remembered-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:.65rem}.remembered-player{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:.1rem .6rem;min-height:4.25rem;border:2px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);padding:.55rem .7rem;text-align:start;cursor:pointer}.remembered-player:hover{border-color:var(--brand)}.remembered-player span{grid-row:1 / 3;font-size:1.65rem}.remembered-player small{overflow:hidden;color:var(--ink-soft);text-overflow:ellipsis}.password-field{display:grid;grid-template-columns:1fr auto}.password-field input{border-start-end-radius:0;border-end-end-radius:0}.password-field button{border:1px solid var(--line);border-inline-start:0;border-radius:0 var(--radius-sm) var(--radius-sm) 0;background:var(--surface-strong);color:var(--brand-dark);padding-inline:.8rem;font-weight:850;cursor:pointer}.phrase-button{grid-column:1 / -1;justify-self:start}.auth-panel details{margin-block:var(--space-3);border-block:1px solid var(--line);padding-block:var(--space-3)}.auth-panel summary{color:var(--brand-dark);font-weight:900;cursor:pointer}.auth-panel details form{margin-block-start:var(--space-3)}.session-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);border-block-end:1px solid var(--line);padding-block:.7rem}.session-row button{border:1px solid var(--line);border-radius:999px;background:var(--surface-strong);color:var(--brand-dark);padding:.45rem .7rem;font-weight:800;cursor:pointer}.auth-panel .consent{grid-column:1 / -1;display:flex;align-items:center;gap:.65rem;color:var(--ink)}.auth-panel .consent input{width:1.2rem;min-height:1.2rem;accent-color:var(--brand)}.actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.small{font-size:.83rem}.form-status{min-height:1.5rem;color:var(--danger)!important;margin-block:var(--space-2) 0}.recovery-dialog{max-width:min(32rem,calc(100% - 2rem));border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);color:var(--ink);padding:var(--space-4);box-shadow:var(--shadow)}.recovery-dialog::backdrop{background:#0a0720b3}.recovery-dialog pre{overflow:auto;border-radius:var(--radius-sm);background:var(--surface-strong);padding:var(--space-3);user-select:all}.recovery-dialog button{margin-inline-end:var(--space-2);border:0;border-radius:var(--radius-sm);background:var(--brand);color:#fff;padding:.7rem 1rem;font-weight:850;cursor:pointer}mp-touch-keyboard{position:sticky;z-index:5;inset-block-end:.5rem;display:grid;gap:.4rem;margin-block-start:var(--space-3);border:2px solid var(--line);border-radius:var(--radius-md);background:var(--surface);padding:.65rem;box-shadow:0 10px 35px #0a072033}.touch-keyboard-bar,.touch-keyboard-row{display:flex;justify-content:center;gap:.35rem}.touch-keyboard-bar{align-items:center;justify-content:space-between}mp-touch-keyboard button{flex:1 1 0;min-width:2.4rem;min-height:2.9rem;border:1px solid var(--line);border-radius:.65rem;background:var(--surface-strong);color:var(--ink);padding:.35rem;font-weight:850;cursor:pointer;box-shadow:0 3px 0 var(--line)}mp-touch-keyboard button:active{translate:0 2px;box-shadow:0 1px 0 var(--line)}.touch-keyboard-bar button{flex:0 0 auto;min-height:2.35rem}.touch-keyboard-row.controls button:nth-last-child(-n+2){background:var(--brand);color:#fff}.welcome{font-size:1.2rem}.compact{display:flex;align-items:center;gap:.5rem}.compact select{min-height:2.4rem}.leaderboard{list-style:none;margin:0;padding:0}.leaderboard li{display:flex;justify-content:space-between;gap:var(--space-3);padding:.75rem .2rem;border-block-end:1px solid var(--line)}.leaderboard .empty{color:var(--ink-soft)}.quiz-shell,.summary{width:min(53rem,100%);min-height:min(40rem,calc(100svh - 6rem));margin-inline:auto;display:grid;align-content:center;padding-block:var(--space-5)}.quiz-progress{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:var(--space-3);color:var(--ink-soft);font-weight:800}.quiz-progress progress{width:100%;height:.8rem}.skill-label{justify-self:start;margin-block-start:var(--space-5);border-radius:999px;background:var(--surface-strong);color:var(--brand-dark);padding:.4rem .75rem;font-weight:850}.question{text-align:center;margin-block:var(--space-5)}.answer-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-3)}.answer{min-height:6rem;border:2px solid var(--line);border-radius:var(--radius-md);background:var(--surface);color:var(--ink);font-size:clamp(1.8rem,5vw,3rem);font-weight:950;box-shadow:0 7px 0 var(--line);cursor:pointer}.answer:hover{border-color:var(--brand)}.answer[data-result=correct]{border-color:var(--success);background:color-mix(in srgb,var(--mint) 20%,var(--surface))}.answer[data-result=wrong]{border-color:var(--danger);background:color-mix(in srgb,var(--coral) 15%,var(--surface))}.answer-status{min-height:2rem;margin-block-start:var(--space-4);text-align:center;color:var(--ink-soft);font-weight:750}.summary{text-align:center}.summary h1{margin-block:var(--space-3)}.score-total{color:var(--brand);font-size:1.6rem;font-weight:900}.praise-list{display:grid;gap:var(--space-2);margin-block:var(--space-4)}.praise{display:grid;gap:.2rem;border:2px solid var(--mint);border-radius:var(--radius-md);background:color-mix(in srgb,var(--mint) 12%,var(--surface));padding:var(--space-3)}.praise span{color:var(--ink-soft);font-size:.88rem}footer{display:flex;justify-content:flex-end;gap:var(--space-3);padding-block:var(--space-3);color:var(--ink-soft);font-size:.78rem}@media(max-width:48rem){.site-header{align-items:flex-start;padding-block:var(--space-3)}.hero{min-height:auto;grid-template-columns:1fr;padding-block-start:var(--space-6)}.hero-orbit{width:min(22rem,80vw);justify-self:center}.auth-panel form{grid-template-columns:1fr}.auth-panel form>*{grid-column:1}mp-touch-keyboard{position:static;width:100%;min-width:0;padding:.4rem}mp-touch-keyboard button{min-width:0;padding-inline:.15rem;font-size:.78rem}.touch-keyboard-row{gap:.2rem}}@media(max-width:32rem){.site-header,main,footer{width:min(100% - 1.2rem,74rem)}.brand-copy small,.utility-nav span{display:none}.utility-nav a,.utility-nav button{width:2.65rem;justify-content:center;padding:0}.answer-grid{grid-template-columns:1fr}.answer{min-height:4.5rem}.panel-heading,footer{flex-direction:column}.challenge-picker{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}}.sso-actions{display:flex;flex-wrap:wrap;align-items:center;gap:1rem}.sso-actions br{display:none}.sso-actions form{display:grid;gap:1rem;flex-basis:100%;margin-block:1rem}.sso-actions form label{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem}.sso-actions input[type=checkbox]{width:1.25rem;min-height:1.25rem}.sso-actions form button{justify-self:start;border:1px solid var(--line);border-radius:.9rem;padding:.75rem 1rem;background:var(--brand);color:#fff;cursor:pointer}
