/*! tailwindcss v4.3.3 | 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-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking: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-outline-style:solid;--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-ease:initial}}}@layer theme{:root,:host{--color-white:#fff;--spacing:.25rem;--container-xl:36rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--font-weight-normal:400;--font-weight-extrabold:800;--tracking-tight:-.025em;--leading-tight:1.25;--radius-2xl:1rem;--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1)}}@layer utilities{.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fixed{position:fixed}.relative{position:relative}.inset-0{inset:0}.z-\[90\]{z-index:90}.m-0{margin:0}.my-auto{margin-block:auto}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.max-h-\[calc\(100dvh-1rem\)\]{max-height:calc(100dvh - 1rem)}.min-h-14{min-height:calc(var(--spacing) * 14)}.w-full{width:100%}.max-w-xl{max-width:var(--container-xl)}.flex-shrink{flex-shrink:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.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-2{gap:calc(var(--spacing) * 2)}.overflow-y-auto{overflow-y:auto}.overscroll-contain{overscroll-behavior:contain}.rounded-2xl{border-radius:var(--radius-2xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-4{border-style:var(--tw-border-style);border-width:4px}.border-\[3px\]{border-style:var(--tw-border-style);border-width:3px}.border-\[\#2b2d42\]{border-color:#2b2d42}.bg-\[\#2b2d42\]\/55{background-color:oklab(30.4926% .00637902 -.0373763/.55)}.bg-\[\#b8f2d8\]{background-color:#b8f2d8}.bg-\[\#bde0fe\]{background-color:#bde0fe}.bg-\[\#ffc89a\]{background-color:#ffc89a}.bg-\[\#ffd0df\]{background-color:#ffd0df}.bg-\[\#fff1a8\]{background-color:#fff1a8}.bg-white{background-color:var(--color-white)}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.px-2{padding-inline:calc(var(--spacing) * 2)}.py-2{padding-block:calc(var(--spacing) * 2)}.pt-\[max\(0\.5rem\,env\(safe-area-inset-top\)\)\]{padding-top:max(.5rem, env(safe-area-inset-top))}.pb-\[max\(0\.5rem\,env\(safe-area-inset-bottom\)\)\]{padding-bottom:max(.5rem, env(safe-area-inset-bottom))}.text-center{text-align:center}.font-\[family-name\:var\(--display\)\]{font-family:var(--display)}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-extrabold{--tw-font-weight:var(--font-weight-extrabold);font-weight:var(--font-weight-extrabold)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.text-\[\#2b2d42\]{color:#2b2d42}.text-\[\#5c5f73\]{color:#5c5f73}.shadow-\[3px_3px_0_\#2b2d42\]{--tw-shadow:3px 3px 0 var(--tw-shadow-color,#2b2d42);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[6px_6px_0_\#2b2d42\]{--tw-shadow:6px 6px 0 var(--tw-shadow-color,#2b2d42);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.outline-4{outline-style:var(--tw-outline-style);outline-width:4px}.outline-offset-2{outline-offset:2px}.outline-\[\#2b2d42\]{outline-color:#2b2d42}.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,)}.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-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}@media (width>=40rem){.sm\:mb-3{margin-bottom:calc(var(--spacing) * 3)}.sm\:mb-4{margin-bottom:calc(var(--spacing) * 4)}.sm\:min-h-24{min-height:calc(var(--spacing) * 24)}.sm\:items-center{align-items:center}.sm\:gap-3{gap:calc(var(--spacing) * 3)}.sm\:border-4{border-style:var(--tw-border-style);border-width:4px}.sm\:p-4{padding:calc(var(--spacing) * 4)}.sm\:p-5{padding:calc(var(--spacing) * 5)}.sm\:px-3{padding-inline:calc(var(--spacing) * 3)}.sm\:py-4{padding-block:calc(var(--spacing) * 4)}.sm\:text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.sm\:text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.sm\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.sm\:shadow-\[5px_5px_0_\#2b2d42\]{--tw-shadow:5px 5px 0 var(--tw-shadow-color,#2b2d42);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}}}:root{--ink:#2b2d42;--bg:#faf8f2;--mint:#b8f2d8;--yellow:#fff1a8;--orange:#ffc89a;--red:#ff6b6b;--cyan:#bde0fe;--muted:#5c5f73;--font:"Space Grotesk", system-ui, sans-serif;--display:"Archivo Black", "Space Grotesk", system-ui, sans-serif;--mono:"Space Mono", ui-monospace, monospace;--ease-out:cubic-bezier(.16, 1, .3, 1);--motion-fast:.18s;--motion:.26s}*,:before,:after{box-sizing:border-box}html,body,#root{max-width:100%;min-height:100%;overflow-x:hidden}body{font-family:var(--font);color:var(--ink);background-color:var(--bg);background-image:radial-gradient(80% 50% at 10% -10%,#bde0fe8c,#0000 55%),radial-gradient(70% 45% at 95% 5%,#b8f2d873,#0000 50%),linear-gradient(#2b2d420b 1px,#0000 1px),linear-gradient(90deg,#2b2d420b 1px,#0000 1px);background-position:0 0,0 0,-1px -1px,-1px -1px;background-size:auto,auto,44px 44px,44px 44px;margin:0;font-weight:600;line-height:1.4}h1,h2,h3{font-family:var(--display);letter-spacing:-.03em;text-wrap:balance;margin:0;font-weight:400}p{text-wrap:pretty}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}img{max-width:100%;display:block}.shell{flex-direction:column;min-height:100dvh;display:flex}.shell-body{flex:1;width:min(1120px,100%);margin-inline:auto;padding:1.25rem 1rem 2.5rem;overflow-x:clip}.shell-body:has(.sa-dash){width:min(1280px,100%);padding-inline:.75rem}.topbar{background:var(--yellow);border-bottom:4px solid var(--ink);z-index:40;align-items:center;gap:.75rem 1rem;padding:.75rem 1rem;display:flex;position:sticky;top:0}.topbar:before{content:"";z-index:-1;pointer-events:none;background:linear-gradient(#ffffff59,#0000 60%);position:absolute;inset:0}.brand{min-width:0;transition:transform var(--motion-fast) var(--ease-out);align-items:center;gap:.55rem;display:inline-flex}.brand:hover{transform:translateY(-1px)}.brand-mark{border:3px solid var(--ink);width:3.44rem;height:3.44rem;box-shadow:3px 3px 0 var(--ink);transition:transform var(--motion) var(--ease-out);background:#fff;border-radius:50%;flex-shrink:0;place-items:center;display:grid;overflow:hidden}.brand-mark img{object-fit:cover;width:100%;height:100%;display:block}.class-modal-mark{width:6.88rem;height:6.88rem}.brand:hover .brand-mark{transform:rotate(-6deg)}.brand-name{letter-spacing:.02em;text-transform:none;text-shadow:1px 1px #2b2d422e;white-space:nowrap;align-items:flex-start;font-family:Kalam,Segoe Print,cursive;font-size:3.1rem;font-style:normal;font-weight:400;line-height:.95;display:inline-flex}.brand-kids{color:#ff4d6d}.brand-games{color:#12b886}.brand-ai-block{flex-direction:column;align-items:flex-start;line-height:.95;display:inline-flex}.brand-ai{color:#4c6ef5}.brand-com{color:#be4bdb;margin-top:-10px;font-size:.5em;line-height:1}.topbar-end{align-items:center;gap:.5rem;margin-left:auto;display:flex}.topbar-auth-actions{align-items:center;gap:.4rem;display:flex}.topbar-auth-actions .play-btn.compact{min-height:40px;padding:.35rem .75rem;font-size:.85rem}.score-chip-locked{cursor:pointer;font:inherit;border:none}.score-chip-blur{filter:blur(2px);-webkit-user-select:none;user-select:none}.guest-blurred{filter:blur(1.5px);opacity:.88;-webkit-user-select:none;user-select:none;cursor:pointer}.guest-lock-banner{border:3px solid var(--ink);background:var(--yellow);width:100%;box-shadow:3px 3px 0 var(--ink);cursor:pointer;text-align:center;z-index:2;margin:.55rem 0 0;padding:.65rem .75rem;font-size:.88rem;font-weight:800;position:relative}.guest-local-points{border:3px solid var(--ink);box-shadow:3px 3px 0 var(--ink);background:linear-gradient(145deg,#fff8d6,#e9fff6);border-radius:.65rem;gap:.35rem;margin-bottom:.55rem;padding:.75rem .8rem;display:grid}.guest-local-title{letter-spacing:.06em;text-transform:uppercase;color:var(--ink);margin:0 0 .2rem;font-size:.78rem;font-weight:900}.guest-local-points-page{text-align:left;margin-top:.85rem}.guest-local-row{justify-content:space-between;align-items:center;gap:.75rem;font-size:.95rem;font-weight:800;display:flex}.guest-local-row strong{font-family:var(--mono);font-size:1.15rem}.guest-local-row strong:after{content:" pts";opacity:.75;font-size:.75rem;font-weight:800}.guest-local-gain{color:var(--muted);margin:.2rem 0 0;font-size:.82rem;font-weight:800}.guest-fake-row{filter:blur(1.2px);opacity:.78;cursor:pointer}.guest-lock-banner-lg{margin-top:1rem;font-size:1rem}.guest-metrics-lock{flex-direction:column;gap:.5rem;display:flex}.guest-metrics-preview{pointer-events:none}body.modal-lock{overflow:hidden}.flow-modal-backdrop{z-index:80;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#2b2d4280;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.flow-modal{border:4px solid var(--ink);width:min(100%,26rem);max-height:min(92dvh,40rem);box-shadow:8px 8px 0 var(--ink);animation:flow-modal-in .28s var(--ease-out) both;background:#fff;padding:1.35rem 1.25rem 1.25rem;overflow-y:auto}@keyframes flow-modal-in{0%{opacity:0;transform:translateY(12px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.flow-modal-head{justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.35rem;display:flex}.flow-modal-kicker{text-transform:uppercase;letter-spacing:.06em;margin:0 0 .25rem;font-size:.72rem;font-weight:800}.flow-modal h2{margin:0;font-size:1.55rem}.flow-modal-lead{color:var(--muted);margin:0 0 1rem;font-size:.92rem;font-weight:700}.flow-modal-close{border:3px solid var(--ink);width:40px;height:40px;box-shadow:2px 2px 0 var(--ink);cursor:pointer;background:#fff;flex-shrink:0;font-size:1.5rem;line-height:1}.flow-modal-skip{width:100%;min-height:42px;margin-top:.85rem}.auth-flow-modal{flex-shrink:0;width:26rem;max-width:calc(100vw - 2rem);max-height:none;overflow:visible}.auth-flow-modal .flow-modal-lead{margin-bottom:.85rem}.auth-flow-modal .auth-form{gap:.7rem}.class-modal-backdrop{z-index:90;overscroll-behavior:contain;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:max(.5rem, env(safe-area-inset-top)) .75rem max(.5rem, env(safe-area-inset-bottom));background:radial-gradient(70% 50% at 20% 10%,#bde0fe8c,#0000 55%),radial-gradient(60% 45% at 90% 20%,#b8f2d880,#0000 50%),#2b2d428c;justify-content:center;align-items:safe center;display:flex;overflow-y:auto}.class-flow-modal{-webkit-overflow-scrolling:touch;text-align:center;width:min(100%,40rem);max-height:calc(100dvh - 1rem);margin:auto;padding:1.25rem 1.1rem 1.1rem;overflow-y:auto}.class-flow-modal h2{margin-bottom:.25rem;font-size:clamp(1.35rem,4vw,2.35rem)}.class-flow-modal .flow-modal-lead{margin-bottom:.85rem;font-size:.95rem}.class-pick-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;display:grid}.class-pick-card{text-align:center;border:4px solid var(--ink);width:100%;min-height:4.5rem;box-shadow:5px 5px 0 var(--ink);cursor:pointer;font:inherit;transition:transform .16s var(--ease-out), box-shadow .16s var(--ease-out);background:#fff;border-radius:1.15rem;flex-direction:column;justify-content:center;align-items:center;gap:.2rem;padding:.7rem .55rem;display:flex}.class-pick-card:hover{box-shadow:8px 8px 0 var(--ink);transform:translate(-3px,-3px)}.class-pick-card:active{box-shadow:3px 3px 0 var(--ink);transform:translate(1px,1px)}.class-pick-card.tone-0{background:var(--mint)}.class-pick-card.tone-1{background:var(--yellow)}.class-pick-card.tone-2{background:var(--cyan)}.class-pick-card.tone-3{background:var(--orange)}.class-pick-card.tone-4{background:#ffd0df}.class-pick-card.selected{outline:4px solid var(--ink);outline-offset:2px}.class-pick-main{font-family:var(--display);letter-spacing:-.02em;font-size:clamp(1.35rem,3.5vw,1.85rem);font-weight:400;line-height:1.1}.class-pick-hint{color:var(--muted);font-size:.95rem;font-weight:800}body.class-gate-open .shell{filter:blur(3px);pointer-events:none;-webkit-user-select:none;user-select:none}@media (width<=860px){.class-modal-backdrop{align-items:flex-start;padding:.5rem .6rem .75rem}.class-flow-modal{width:min(100%,36rem);max-height:calc(100dvh - .75rem);padding:.9rem .8rem .85rem}.class-flow-modal .flow-modal-kicker{margin-bottom:.1rem}.class-flow-modal h2{font-size:1.35rem}.class-flow-modal .flow-modal-lead{margin-bottom:.65rem;font-size:.85rem}.class-pick-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.class-pick-card{min-height:3.6rem;box-shadow:3px 3px 0 var(--ink);border-width:3px;padding:.55rem .4rem}.class-pick-main{font-size:1.05rem}.class-pick-hint{font-size:.75rem}}@media (height<=560px){.class-pick-card{min-height:3.1rem;padding:.4rem .35rem}.class-flow-modal h2{font-size:1.2rem}}@media (width<=520px){.class-pick-card{min-height:3.4rem}}.home-stat-locked{cursor:pointer;font:inherit;text-align:center;border:none}.nav-toggle{border:3px solid var(--ink);width:44px;height:44px;box-shadow:3px 3px 0 var(--ink);cursor:pointer;background:#fff;place-items:center;padding:0;display:none}.nav-toggle-bars{gap:5px;width:18px;display:grid}.nav-toggle-bars span{background:var(--ink);height:2.5px;transition:transform .2s,opacity .2s;display:block}.shell.nav-open .nav-toggle-bars span:first-child{transform:translateY(7.5px)rotate(45deg)}.shell.nav-open .nav-toggle-bars span:nth-child(2){opacity:0}.shell.nav-open .nav-toggle-bars span:nth-child(3){transform:translateY(-7.5px)rotate(-45deg)}.nav-backdrop{display:none}.nav-panel{display:contents}.topnav{flex-wrap:wrap;gap:.45rem;margin-inline:auto;display:flex}.topnav a{border:3px solid var(--ink);box-shadow:3px 3px 0 var(--ink);transition:transform var(--motion-fast) var(--ease-out), box-shadow var(--motion-fast) var(--ease-out), background var(--motion-fast) ease;background:#fff;border-radius:.75rem;padding:.5rem .9rem;font-weight:800}.topnav a:hover,.topnav a.active{background:var(--cyan);box-shadow:4px 5px 0 var(--ink);transform:translateY(-2px)}.topnav a.active{background:var(--orange)}.topbar-user{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.55rem;display:flex}.user-chip{align-items:center;gap:.45rem;min-width:0;display:inline-flex}.user-avatar{border:2px solid var(--ink);object-fit:cover;width:36px;height:36px;box-shadow:2px 2px 0 var(--ink);background:#fff;border-radius:999px;flex-shrink:0}.user-avatar-fallback{font-family:var(--display);letter-spacing:.02em;color:var(--ink);background:var(--mint);place-items:center;font-size:.72rem;font-weight:400;display:grid}.mobile-avatar-wrap{display:none}.user-name{text-overflow:ellipsis;white-space:nowrap;max-width:10rem;display:none;overflow:hidden}.mobile-score,.desk-user{display:none}.score-chip{border:3px solid var(--ink);box-shadow:3px 3px 0 var(--ink);font-family:var(--mono);background:#fff;align-items:center;gap:.28rem;padding:.35rem .55rem .35rem .65rem;font-size:.8rem;font-weight:700;display:inline-flex}.btn-ghost,.btn-danger{border:3px solid var(--ink);cursor:pointer;min-height:44px;color:var(--ink);box-shadow:3px 3px 0 var(--ink);background:#fff;padding:.45rem .85rem;font-weight:800}.btn-ghost:hover{background:var(--mint)}.btn-danger{background:#ffd0d0}.login-page{place-items:center;min-height:100vh;padding:1.5rem;display:grid}.login-stage{width:min(100%,26rem);position:relative}.login-blob{display:none}.login-panel{border:4px solid var(--ink);box-shadow:8px 8px 0 var(--ink);text-align:center;background:#fff;padding:1.75rem 1.5rem}.login-kicker{text-transform:uppercase;letter-spacing:.06em;margin:0 0 .35rem;font-size:.75rem;font-weight:800}.login-brand{margin-bottom:.4rem;font-size:2.5rem}.login-tagline{color:var(--muted);margin:0 0 1.25rem}.auth-tabs{grid-template-columns:1fr 1fr;gap:.4rem;margin-bottom:1rem;display:grid}.google-btn{border:3px solid var(--ink);width:100%;min-height:3rem;color:var(--ink);cursor:pointer;box-shadow:4px 4px 0 var(--ink);background:#fff;border-radius:.65rem;justify-content:center;align-items:center;gap:.65rem;margin-bottom:.25rem;padding:.7rem 1rem;font-weight:800;display:inline-flex}.google-btn:hover:not(:disabled){box-shadow:5px 5px 0 var(--ink);transform:translate(-1px,-1px)}.google-btn:disabled{opacity:.7;cursor:wait}.auth-divider{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;grid-template-columns:1fr auto 1fr;align-items:center;gap:.65rem;margin:.85rem 0 1rem;font-size:.8rem;font-weight:800;display:grid}.auth-divider:before,.auth-divider:after{content:"";background:var(--ink);opacity:.15;height:3px}.auth-tab{border:3px solid var(--ink);cursor:pointer;min-height:44px;box-shadow:3px 3px 0 var(--ink);background:#fff;font-weight:800}.auth-tab.active{background:var(--mint)}.auth-form{text-align:left;flex-direction:column;gap:.85rem;display:flex}.auth-form label{flex-direction:column;gap:.35rem;font-size:.9rem;font-weight:800;display:flex}.auth-form input,.admin-form input,.admin-form select,.admin-form textarea,.score-submit input{border:3px solid var(--ink);box-shadow:3px 3px 0 var(--ink);background:#fff;border-radius:.5rem;padding:.7rem .85rem}.auth-form input:focus,.admin-form input:focus,.admin-form select:focus,.admin-form textarea:focus{background:#ffffd8;outline:none}.play-btn{border:3px solid var(--ink);background:var(--red);color:#fff;cursor:pointer;min-height:3rem;box-shadow:4px 4px 0 var(--ink);border-radius:.65rem;justify-content:center;align-items:center;padding:.7rem 1.1rem;font-weight:800;display:inline-flex}.play-btn.inline{width:fit-content}.play-btn.compact{min-height:2.5rem}.play-btn:disabled{opacity:.6;cursor:wait}.home-layout{animation:page-in var(--motion) var(--ease-out) both;flex-direction:column;gap:1.5rem;display:flex}@keyframes page-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.home-banner{background:radial-gradient(circle at 88% 18%, #ffffff8c, transparent 28%), linear-gradient(135deg, #fff6, transparent 42%), linear-gradient(120deg, #9fd6ff 0%, var(--cyan) 45%, #d4f5ea 100%);border:4px solid var(--ink);box-shadow:6px 6px 0 var(--ink);border-radius:1.25rem;flex-wrap:wrap;justify-content:space-between;align-items:stretch;gap:1.25rem;padding:1.45rem 1.5rem;display:flex;position:relative;overflow:hidden}.home-banner:before{content:"";border:4px solid var(--ink);opacity:.1;pointer-events:none;border-radius:50%;width:10rem;height:10rem;position:absolute;inset:auto -2rem -3rem auto}.home-banner:after{content:"";border:4px solid var(--ink);opacity:.1;pointer-events:none;border-radius:1.1rem;width:5.5rem;height:5.5rem;position:absolute;bottom:-2.2rem;right:18%;transform:rotate(18deg)}.home-banner-copy{z-index:1;flex:1;min-width:14rem;position:relative}.home-kicker{text-transform:uppercase;letter-spacing:.05em;margin:0 0 .25rem;font-size:.75rem;font-weight:800}.home-banner h1{font-size:clamp(1.9rem,4vw,2.75rem)}.home-sub{max-width:32ch;margin:.4rem 0 0;font-weight:700}.home-stats{z-index:1;flex-wrap:wrap;align-items:stretch;gap:.65rem;display:flex;position:relative}.home-stat-box{border:3px solid var(--ink);box-shadow:4px 4px 0 var(--ink);text-align:center;min-width:6.5rem;transition:transform var(--motion-fast) var(--ease-out), box-shadow var(--motion-fast) var(--ease-out);background:#fff;border-radius:.9rem;flex-direction:column;justify-content:center;padding:.75rem .95rem;display:flex}.home-stat-box.mint{background:var(--mint)}.home-stat-box.link-box{background:var(--yellow)}.home-stat-box.link-box:hover{box-shadow:5px 7px 0 var(--ink);transform:translateY(-3px)}.home-stat-num{font-family:var(--display);font-size:1.85rem;line-height:1;display:block}.home-stat-num.small{font-size:1.25rem}.home-rank-banner{background:linear-gradient(90deg, var(--yellow), #fff8d0 55%, var(--mint));border:3px solid var(--ink);box-shadow:3px 3px 0 var(--ink);transition:transform var(--motion-fast) var(--ease-out), box-shadow var(--motion-fast) var(--ease-out);border-radius:.85rem;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:.7rem 1rem;font-weight:800;display:flex}.home-rank-banner:hover{box-shadow:4px 4px 0 var(--ink);transform:translate(-1px,-1px)}.home-rank-banner-main{font-size:.98rem}.home-rank-banner-main strong{font-family:var(--mono);font-size:1.1rem}.home-rank-banner-cta{border:2px solid var(--ink);box-shadow:2px 2px 0 var(--ink);white-space:nowrap;background:#fff;border-radius:999px;padding:.35rem .7rem;font-size:.82rem}button.score-chip{cursor:pointer;font:inherit;color:inherit;appearance:none}.score-chip-toggle{transition:transform var(--motion-fast) var(--ease-out);flex-shrink:0;display:inline-flex}button.score-chip[aria-expanded=true]{background:var(--mint)}button.score-chip[aria-expanded=true] .score-chip-toggle{transform:rotate(180deg)}body.stats-lock{overflow:hidden}.home-stats-backdrop{z-index:34;opacity:0;pointer-events:none;background:#2b2d4273;transition:opacity .2s;position:fixed;inset:0}.shell.stats-open .home-stats-backdrop{opacity:1;pointer-events:auto}.home-stats-offcanvas{z-index:36;overscroll-behavior:contain;pointer-events:none;visibility:hidden;justify-content:center;max-height:100dvh;padding:5rem 1rem 1.25rem;transition:transform .28s cubic-bezier(.16,1,.3,1),visibility .28s;display:flex;position:fixed;top:0;left:0;right:0;overflow:hidden auto;transform:translateY(-110%)}.shell.stats-open .home-stats-offcanvas{visibility:visible;transform:translateY(0)}.home-stats-sheet{pointer-events:auto;flex-direction:column;gap:.75rem;width:min(1120px,100%);display:flex}@media (prefers-reduced-motion:reduce){.home-stats-backdrop,.home-stats-offcanvas,.score-chip-toggle{transition:none}}.home-stat-label{margin-top:.25rem;font-size:.75rem;font-weight:800}.home-filter-block{flex-direction:column;align-items:center;gap:.85rem;width:100%;min-width:0;display:flex}.home-games{flex-direction:column;gap:.85rem;display:flex}.home-tools{flex-wrap:nowrap;justify-content:center;align-items:end;gap:.65rem;width:min(100%,42rem);display:flex}.home-tools .search-bar{flex:1 1 0;width:auto;min-width:0;max-width:none}.filter-select{flex-direction:column;flex:0 12.5rem;gap:.25rem;width:min(12.5rem,42%);min-width:0;display:flex}.filter-select select{border:3px solid var(--ink);min-height:44px;box-shadow:3px 3px 0 var(--ink);background:#fff;width:100%;min-width:0;max-width:100%;padding:.4rem .55rem;font-weight:800}.mobile-only{display:none}.home-section-head h2{margin:0;font-size:1.35rem}.home-section-head p{color:var(--muted);margin:.2rem 0 0;font-size:.9rem;font-weight:700}.home-section-head.row{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem 1rem;display:flex}.filter-rail{overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin;flex-wrap:nowrap;justify-content:safe center;gap:.4rem;width:100%;min-width:0;padding:.1rem .15rem .25rem;display:flex;overflow-x:auto}.filter-rail-subjects{gap:.65rem}.filter-pill-lg{border-radius:999px;flex-direction:row;justify-content:center;align-items:center;min-height:3.25rem;padding:.85rem 1.5rem}.filter-pill-lg .filter-main{font-size:1rem;line-height:1.2}.search-bar{flex-direction:column;gap:.35rem;width:100%;max-width:28rem;display:flex}.search-bar-label{font-size:.85rem;font-weight:800}.search-bar-field{border:3px solid var(--ink);box-shadow:3px 3px 0 var(--ink);min-height:48px;transition:box-shadow var(--motion-fast) var(--ease-out), transform var(--motion-fast) var(--ease-out);background:#fff;border-radius:.85rem;align-items:center;gap:.45rem;padding:.35rem .55rem;display:flex}.search-bar-field:focus-within{box-shadow:4px 5px 0 var(--ink);transform:translateY(-1px)}.search-bar-icon{color:var(--muted);flex-shrink:0;display:inline-flex}.search-bar-field input{min-width:0;font:inherit;background:0 0;border:0;outline:none;flex:1;padding:.35rem 0;font-weight:700}.search-bar-field input::placeholder{color:var(--muted);font-weight:600}.search-bar-clear{border:2px solid var(--ink);background:var(--yellow);cursor:pointer;flex-shrink:0;place-items:center;width:1.75rem;height:1.75rem;padding:0;font-weight:800;line-height:1;display:grid}.search-bar-clear:hover{background:var(--orange)}.admin-list .search-bar{max-width:none;margin:.85rem 0 .25rem}.filter-pill{border:2px solid var(--ink);cursor:pointer;min-height:2.15rem;box-shadow:2px 2px 0 var(--ink);white-space:nowrap;transition:transform var(--motion-fast) var(--ease-out), box-shadow var(--motion-fast) var(--ease-out), background var(--motion-fast) ease;background:#fff;border-radius:999px;flex-direction:row;flex-shrink:0;justify-content:center;align-items:center;padding:.2rem .7rem;font-weight:800;display:inline-flex}.filter-main{white-space:nowrap;font-size:.82rem;line-height:1.15}.filter-pill.selected{background:var(--mint);color:var(--ink)}.filter-pill:hover{box-shadow:3px 3px 0 var(--ink);transform:translateY(-1px)}.filter-pill:active{box-shadow:1px 1px 0 var(--ink);transform:translateY(1px)}.game-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:1.35rem 1.25rem;display:grid}@media (width<=1100px){.game-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.game-grid>*{width:100%;animation:card-in .48s var(--ease-out) both;display:flex}.game-grid>:first-child{animation-delay:20ms}.game-grid>:nth-child(2){animation-delay:60ms}.game-grid>:nth-child(3){animation-delay:.1s}.game-grid>:nth-child(4){animation-delay:.14s}.game-grid>:nth-child(5){animation-delay:.18s}.game-grid>:nth-child(6){animation-delay:.22s}.game-grid>:nth-child(7){animation-delay:.26s}.game-grid>:nth-child(8){animation-delay:.3s}.game-grid>:nth-child(9){animation-delay:.34s}.game-grid>:nth-child(10){animation-delay:.38s}.game-grid>:nth-child(11){animation-delay:.42s}.game-grid>:nth-child(12){animation-delay:.46s}@keyframes card-in{0%{opacity:0;transform:translateY(16px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.pagination{justify-content:center;align-items:center;gap:.85rem;margin-top:.5rem;padding:.5rem 0 .25rem;display:flex}.page-arrow{border:3px solid var(--ink);width:44px;height:44px;color:var(--ink);box-shadow:3px 3px 0 var(--ink);cursor:pointer;background:#fff;justify-content:center;align-items:center;display:inline-flex}.page-arrow:hover:not(:disabled){background:var(--yellow);box-shadow:4px 4px 0 var(--ink);transform:translate(-1px,-1px)}.page-arrow:disabled{opacity:.35;cursor:not-allowed;box-shadow:none}.page-status{text-align:center;border:3px solid var(--ink);background:var(--mint);min-width:7rem;box-shadow:3px 3px 0 var(--ink);padding:.45rem .75rem;font-size:.95rem;font-weight:800}.empty-state{text-align:center;border:4px solid var(--ink);box-shadow:6px 6px 0 var(--ink);animation:page-in var(--motion) var(--ease-out) both;background:#fff;border-radius:1.15rem;padding:2rem 1rem}.empty-state.fun{background:linear-gradient(160deg, #fff8c8, var(--yellow) 60%, #ffd9a8);flex-direction:column;align-items:center;gap:.35rem;display:flex}.empty-medal{border:3px solid var(--ink);width:3.5rem;height:3.5rem;font-family:var(--display);box-shadow:3px 3px 0 var(--ink);background:#fff;border-radius:50%;place-items:center;margin-bottom:.35rem;font-size:1.5rem;display:grid}.empty-medal.soft{background:var(--cyan)}.empty-state h2{margin-bottom:.15rem}.empty-state p{color:var(--muted);margin:0;font-weight:700}.form-error{color:#b00020;margin:.5rem 0 0;font-weight:800}.form-ok{color:#0a7a3e;margin:.5rem 0 0;font-weight:800}.center-msg{place-items:center;min-height:40vh;font-weight:800;display:grid}.leaderboard-page{flex-direction:column;gap:1.25rem;display:flex}.lb-hero{text-align:center;background:radial-gradient(circle at 20% 20%, #ffffff8c, transparent 35%), linear-gradient(160deg, #ffffff59, transparent 50%), linear-gradient(135deg, #9cf0c8, var(--mint) 55%, #fff1a8);border:4px solid var(--ink);box-shadow:6px 6px 0 var(--ink);animation:page-in var(--motion) var(--ease-out) both;border-radius:1.25rem;padding:1.45rem 1.25rem 1.3rem}.lb-kicker{text-transform:uppercase;letter-spacing:.06em;margin:0 0 .2rem;font-size:.75rem;font-weight:800}.lb-hero h1{margin:0;font-size:clamp(1.9rem,4vw,2.6rem)}.lb-sub{margin:.35rem 0 0;font-weight:700}.lb-you-banner{border:3px solid var(--ink);box-shadow:3px 3px 0 var(--ink);background:#fff;margin:.85rem auto 0;padding:.55rem .95rem;font-size:.95rem;font-weight:700;display:inline-block}.lb-you-banner.soft{background:var(--yellow)}.podium{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:.85rem;width:min(100%,44rem);margin-inline:auto;display:grid}.podium-card{text-align:center;border:3px solid var(--ink);box-shadow:5px 5px 0 var(--ink);animation:card-in .48s var(--ease-out) both;transition:transform var(--motion) var(--ease-out), box-shadow var(--motion) var(--ease-out);background:#fff;border-radius:1.1rem;flex-direction:column;align-items:center;gap:.25rem;padding:1rem .75rem 1.1rem;display:flex;position:relative}.podium-card:hover{box-shadow:6px 8px 0 var(--ink);transform:translateY(-4px)}.podium-card.place-1{background:linear-gradient(180deg, #fff8c8, var(--yellow));order:2;padding-top:1.35rem;padding-bottom:1.4rem;transform:translateY(-.5rem)}.podium-card.place-1:hover{transform:translateY(-.85rem)}.podium-card.place-2{background:linear-gradient(#f7f9fc,#e8edf4);order:1}.podium-card.place-3{background:linear-gradient(#ffeeda,#ffe0b8);order:3}.podium-card.you{outline:3px dashed var(--ink);outline-offset:2px}.medal{border:3px solid var(--ink);width:3.25rem;height:3.25rem;font-family:var(--display);box-shadow:3px 3px 0 var(--ink);border-radius:50%;place-items:center;margin-bottom:.25rem;font-size:1.35rem;display:grid}.medal.gold{background:#ffd54a}.medal.silver{background:#d7dde5}.medal.bronze{background:#f0a06a}.podium-title{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:0;font-size:.72rem;font-weight:800}.podium-name{margin:0;font-size:1.15rem;line-height:1.15}.podium-score{font-family:var(--mono);margin:.15rem 0 0;font-size:.95rem;font-weight:700}.you-tag{background:var(--mint);border:2px solid var(--ink);padding:.15rem .4rem;font-size:.65rem;font-weight:800;position:absolute;top:.45rem;right:.45rem}.lb-rest{flex-direction:column;gap:.75rem;width:min(100%,40rem);margin-inline:auto;display:flex}.lb-rest-heading{margin:0;font-size:1.15rem}.leaderboard-list{flex-direction:column;gap:.65rem;margin:0;padding:0;list-style:none;display:flex}.lb-row{border:3px solid var(--ink);box-shadow:4px 4px 0 var(--ink);animation:card-in .42s var(--ease-out) both;transition:transform var(--motion-fast) var(--ease-out), box-shadow var(--motion-fast) var(--ease-out);background:#fff;border-radius:.9rem;grid-template-columns:minmax(7.5rem,9rem) 1fr auto;align-items:center;gap:.75rem;padding:.8rem .95rem;display:grid}.lb-row:hover{box-shadow:5px 6px 0 var(--ink);transform:translateY(-2px)}.lb-row.you{background:linear-gradient(90deg, var(--yellow), #fff8d0)}.rank-badge{flex-direction:column;gap:.1rem;display:flex}.rank-num{font-family:var(--mono);font-size:1rem;font-weight:700}.rank-title{text-transform:uppercase;letter-spacing:.03em;color:var(--muted);font-size:.7rem;font-weight:800}.lb-meta strong{font-size:1rem}.score-chip.gold{background:#ffd54a}.page-hero{background:var(--mint);border:4px solid var(--ink);box-shadow:6px 6px 0 var(--ink);padding:1.1rem 1.25rem}.page-hero.centered{text-align:center}.page-hero h1{margin-bottom:.25rem;font-size:1.8rem}.page-hero p{margin:0;font-weight:700}.admin-page{flex-direction:column;gap:1rem;display:flex}.admin-hero{border:4px solid var(--ink);box-shadow:5px 5px 0 var(--ink);background:#fff;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:1rem;padding:1.15rem 1.25rem;display:flex}.admin-kicker{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:0 0 .2rem;font-size:.72rem;font-weight:800}.admin-hero h1{margin:0;font-size:1.75rem}.admin-hero-title-row{flex-wrap:wrap;align-items:center;gap:.55rem .75rem;margin-top:.15rem;display:flex}.admin-domain-badge{border:3px solid var(--ink);background:var(--mint);max-width:100%;box-shadow:3px 3px 0 var(--ink);font-family:var(--mono);word-break:break-all;align-items:center;padding:.35rem .7rem;font-size:.78rem;font-weight:700;line-height:1.2;display:inline-flex}.admin-domain-badge:before{content:"Domain";font-family:var(--font);text-transform:uppercase;letter-spacing:.04em;opacity:.7;margin-right:.45rem;font-size:.65rem;font-weight:800}.admin-hero p{color:var(--muted);max-width:42ch;margin:.3rem 0 0;font-weight:700}.admin-total{background:var(--bg);border:3px solid var(--ink);text-align:center;min-width:6.5rem;padding:.65rem 1rem}.admin-total-num{font-family:var(--display);font-size:1.75rem;line-height:1;display:block}.admin-total-label{color:var(--muted);font-size:.75rem;font-weight:800}.admin-toast{border:3px solid var(--ink);box-shadow:3px 3px 0 var(--ink);background:#fff;margin:0;padding:.65rem .9rem}.admin-hero-actions{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.admin-domain-bar{border:4px solid var(--ink);box-shadow:5px 5px 0 var(--ink);background:#fff;flex-wrap:wrap;align-items:end;gap:.85rem 1.25rem;padding:.9rem 1.1rem;display:flex}.admin-domain-select,.admin-domain-create label{flex-direction:column;gap:.3rem;font-size:.8rem;font-weight:800;display:flex}.admin-domain-select select,.admin-domain-create input{border:3px solid var(--ink);min-width:14rem;box-shadow:2px 2px 0 var(--ink);font-family:var(--mono);background:#fff;border-radius:.5rem;padding:.55rem .7rem;font-size:.85rem;font-weight:700}.admin-domain-create{flex-wrap:wrap;align-items:end;gap:.55rem;display:flex}.admin-list,.admin-list-full{border:4px solid var(--ink);box-shadow:5px 5px 0 var(--ink);background:#fff;padding:1.15rem}.admin-list-head{border-bottom:3px solid var(--ink);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem;padding-bottom:.75rem;display:flex}.admin-list-head h2{margin:0;font-size:1.15rem}.admin-list-head p{color:var(--muted);margin:.2rem 0 0;font-size:.85rem;font-weight:700}.admin-form label,.admin-modal-form label{flex-direction:column;gap:.35rem;font-size:.9rem;font-weight:800;display:flex}.admin-table{flex-direction:column;gap:.65rem;margin:1rem 0 0;padding:0;list-style:none;display:flex}.admin-row{background:var(--bg);border:3px solid var(--ink);grid-template-columns:1fr auto;align-items:start;gap:.85rem;padding:.9rem;display:grid}.admin-row-title{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.admin-row-title strong{font-size:1.05rem}.status-badge{text-transform:uppercase;letter-spacing:.04em;border:2px solid var(--ink);border-radius:999px;padding:.1rem .45rem;font-size:.65rem;font-weight:800}.status-badge.inactive{background:#ffd0d0}.inactive-row{opacity:.72}.confirm-modal{width:min(100%,24rem)}.confirm-modal .admin-form-actions{margin-top:.5rem}.sa-domain-card-foot{justify-content:space-between;align-items:center;gap:.5rem;width:100%;margin-top:.35rem;display:flex}.sa-domain-card-top{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.admin-desc{color:var(--muted);margin:.35rem 0 0;font-size:.85rem;font-weight:600}.admin-url{color:var(--muted);word-break:break-all;text-underline-offset:2px;margin:.4rem 0 0;font-size:.78rem;font-weight:600;text-decoration:underline;display:inline-block}.admin-url:hover{color:var(--ink)}.admin-empty{text-align:center;color:var(--muted);flex-direction:column;align-items:center;gap:.85rem;padding:1.5rem .5rem;font-weight:700;display:flex}.age-badge{border:2px solid var(--ink);background:var(--cyan);padding:.15rem .5rem;font-size:.7rem;font-weight:800;display:inline-flex}.muted{color:var(--muted);margin:.25rem 0 0;font-size:.85rem}.admin-actions{flex-direction:column;align-items:flex-end;gap:.45rem;min-width:7.5rem;display:flex}.admin-action-icons{flex-wrap:wrap;justify-content:flex-end;gap:.35rem;display:flex}.admin-icon-btn{border:3px solid var(--ink);width:2.25rem;height:2.25rem;color:var(--ink);box-shadow:2px 2px 0 var(--ink);cursor:pointer;transition:transform .12s var(--ease-out), box-shadow .12s var(--ease-out);background:#fff;border-radius:.45rem;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.admin-icon-btn:hover:not(:disabled){box-shadow:3px 3px 0 var(--ink);transform:translate(-1px,-1px)}.admin-icon-btn:disabled{opacity:.55;cursor:not-allowed}.admin-icon-btn-danger{background:#ffd0d0}.admin-icon-btn-primary{background:var(--mint)}.active-toggle{-webkit-user-select:none;user-select:none;align-items:center;gap:.45rem;display:inline-flex}.active-toggle.is-disabled{opacity:.65}.active-toggle.is-busy .active-toggle-thumb{opacity:.7}.active-toggle-text{text-transform:uppercase;letter-spacing:.04em;min-width:3.6rem;color:var(--muted);text-align:right;font-size:.68rem;font-weight:800}.active-toggle-switch{cursor:pointer;background:0 0;border:none;padding:0;line-height:0}.active-toggle-switch:disabled{cursor:not-allowed}.active-toggle-track{border:2px solid var(--ink);width:2.55rem;height:1.35rem;box-shadow:2px 2px 0 var(--ink);transition:background .16s var(--ease-out);background:#e8e8ee;border-radius:999px;display:block;position:relative}.active-toggle-switch[aria-checked=true] .active-toggle-track{background:var(--mint)}.active-toggle-thumb{border:2px solid var(--ink);width:.95rem;height:.95rem;transition:transform .16s var(--ease-out);background:#fff;border-radius:50%;position:absolute;top:2px;left:2px}.active-toggle-switch[aria-checked=true] .active-toggle-thumb{transform:translate(1.15rem)}.admin-form-actions{flex-wrap:wrap;align-items:center;gap:.55rem;display:flex}.admin-modal-backdrop{z-index:80;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#2b2d428c;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.admin-modal{border:4px solid var(--ink);width:min(34rem,100%);max-height:min(92vh,920px);box-shadow:8px 8px 0 var(--ink);background:#fff;padding:1.15rem 1.2rem 1.25rem;overflow:auto}.admin-modal-head{border-bottom:3px solid var(--ink);justify-content:space-between;align-items:start;gap:.75rem;margin-bottom:1rem;padding-bottom:.85rem;display:flex}.admin-modal-head h2{margin:0;font-size:1.25rem}.admin-modal-head p{color:var(--muted);margin:.25rem 0 0;font-size:.85rem;font-weight:700}.admin-modal-close{border:3px solid var(--ink);background:var(--yellow);width:2.4rem;height:2.4rem;box-shadow:2px 2px 0 var(--ink);cursor:pointer;flex-shrink:0;font-size:1.4rem;line-height:1}.admin-modal-close:hover{box-shadow:3px 3px 0 var(--ink);transform:translate(-1px,-1px)}.admin-modal-form{flex-direction:column;gap:.85rem;display:flex}.admin-modal-row{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.admin-modal-form input,.admin-modal-form select,.admin-modal-form textarea{border:3px solid var(--ink);box-shadow:3px 3px 0 var(--ink);background:#fff;border-radius:.5rem;padding:.7rem .85rem}.admin-modal-form input:focus,.admin-modal-form select:focus,.admin-modal-form textarea:focus{background:#ffffd8;outline:none}.admin-modal-form input:disabled{opacity:.7;background:var(--bg)}.play-page{box-sizing:border-box;flex-direction:column;gap:.55rem;height:100dvh;max-height:100dvh;padding:.65rem .85rem .75rem;display:flex;overflow:hidden}.play-scorepanel{border:3px solid var(--ink);box-shadow:4px 4px 0 var(--ink), 0 0 0 3px #ffd54a59;animation:play-panel-pulse 2.8s var(--ease-out) infinite;background:linear-gradient(145deg,#fff8d6 0%,#fff 48%,#e8fff5 100%);border-radius:.65rem;flex-shrink:0;justify-content:center;align-items:center;padding:.45rem .65rem;display:flex;position:relative}.play-scorepanel-live{box-shadow:4px 4px 0 var(--ink), 0 0 0 3px #3dd6a866}.play-panel-badge{border:2px solid var(--ink);background:var(--mint);color:var(--ink);letter-spacing:.04em;vertical-align:middle;box-shadow:1px 1px 0 var(--ink);border-radius:999px;margin-right:.4rem;padding:.12rem .45rem;font-size:.68rem;font-weight:900;display:inline-block}.play-panel-badge-lb{background:var(--yellow)}@keyframes play-panel-pulse{0%,to{box-shadow:4px 4px 0 var(--ink), 0 0 0 3px #ffd54a47}50%{box-shadow:4px 4px 0 var(--ink), 0 0 0 5px #ffd54a7a}}.play-scorepanel-good{background:linear-gradient(#b8f2d8bf,#fff 62%);border-color:#0a7a3e}.play-scorepanel-warn{background:linear-gradient(#fff1a8cc,#fff 62%);border-color:#a57a00}.play-scorepanel-bad{background:linear-gradient(#ff6b6b66,#fff 62%);border-color:#b00020}.play-scorepanel-complete{border-color:var(--ink);background:linear-gradient(#fff1a8e6,#fff 55%)}.play-scoregrid{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.play-score-row{justify-content:center;align-items:center;gap:.55rem;width:100%;max-width:48rem;display:flex}.play-score-bar-group{flex:1;align-items:center;gap:.45rem;min-width:0;display:flex}.play-score-bar-label{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);white-space:nowrap;flex-shrink:0;font-size:.72rem;font-weight:800;line-height:1}.play-score-bar-wrap{flex:1;min-width:3rem}.play-score-rank{border:2px solid var(--ink);white-space:nowrap;background:#ffffffd9;border-radius:999px;flex-shrink:0;align-items:center;gap:.3rem;padding:.2rem .45rem;line-height:1;display:inline-flex}.play-score-rank-label{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:.62rem;font-weight:800}.play-score-rank-value{font-size:.92rem;font-weight:900;font-family:var(--mono);color:var(--ink)}.play-score-inline{font-size:1rem;font-weight:900;font-family:var(--mono);letter-spacing:-.02em;color:var(--ink);white-space:nowrap;flex-shrink:0;line-height:1}.play-score-inline.muted{color:var(--muted);font-size:.95rem}.play-score-progress-track-lg{border-radius:999px;height:1.5rem}.play-lb-btn{border:3px solid var(--ink);background:var(--yellow);color:var(--ink);cursor:pointer;min-height:1.75rem;box-shadow:3px 3px 0 var(--ink);white-space:nowrap;border-radius:.55rem;flex-shrink:0;padding:.3rem .65rem;font-size:.82rem;font-weight:800}.play-lb-btn:hover{box-shadow:4px 4px 0 var(--ink);transform:translate(-1px,-1px)}.play-lb-modal{flex-direction:column;width:22rem;max-width:calc(100vw - 2rem);height:26rem;max-height:calc(100dvh - 2rem);display:flex;overflow:hidden}.play-lb-modal .flow-modal-head,.play-lb-modal .flow-modal-lead,.play-lb-modal .guest-lock-banner{flex-shrink:0}.play-lb-modal .flow-modal-lead{margin-bottom:.65rem}.play-lb-body{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.play-lb-scroll{flex:1;min-height:0;overflow-y:auto}.play-lb-guest-score{margin:0 0 .75rem;font-size:.92rem;font-weight:700}.play-score-title{text-transform:uppercase;letter-spacing:.06em;color:var(--ink);flex-wrap:wrap;align-items:center;gap:.15rem;font-size:.88rem;font-weight:900;display:flex}.play-score-value{font-size:1.55rem;font-weight:900;font-family:var(--mono);letter-spacing:-.02em}.play-score-meta{text-align:right;color:var(--ink);gap:.25rem;font-size:.95rem;font-weight:800;display:grid}.play-score-stars{justify-content:flex-end;gap:.35rem;display:flex}.tone-stars{color:#a57a00}.play-score-progress{grid-template-columns:1fr auto;align-items:center;gap:.6rem;margin-top:.55rem;display:grid}.play-score-progress-track{border:3px solid var(--ink);height:14px;box-shadow:2px 2px 0 var(--ink);background:#faf8f2e6;border-radius:999px;overflow:hidden}.play-score-progress-fill{width:0%;height:100%;transition:width .35s var(--ease-out)}.play-score-progress-good .play-score-progress-fill{background:#0a7a3e}.play-score-progress-warn .play-score-progress-fill{background:#a57a00}.play-score-progress-bad .play-score-progress-fill{background:#b00020}.play-score-progress-complete .play-score-progress-fill{background:#ffd54a}.play-score-progress-label{color:var(--ink);font-size:1rem;font-weight:900}.play-score-insight{color:var(--ink);margin-top:.45rem;font-size:1rem;font-weight:900}.play-scorepanel-empty{background:linear-gradient(145deg,#fff8d6 0%,#fff 45%,#dffaf0 100%)}.child-metrics-page{flex-direction:column;gap:1.25rem;display:flex}.cm-summary{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem;display:grid}.cm-summary-stat{border:3px solid var(--ink);box-shadow:4px 4px 0 var(--ink);animation:card-in .48s var(--ease-out) both;background:#fff;border-radius:1rem;flex-direction:column;gap:.15rem;padding:.85rem .95rem;display:flex}.cm-summary-stat-mint{background:linear-gradient(160deg, #f0fff7, var(--mint))}.cm-summary-stat-gold{background:linear-gradient(160deg, #fffcef, var(--yellow))}.cm-summary-value{font-family:var(--display);letter-spacing:-.03em;font-size:1.75rem;line-height:1}.cm-summary-label{text-transform:uppercase;letter-spacing:.04em;font-size:.78rem;font-weight:800}.cm-summary-hint{color:var(--muted);font-size:.72rem;font-weight:700}.cm-bygame{flex-direction:column;gap:1rem;display:flex}.cm-section-head h2{margin:0;font-size:1.35rem}.cm-section-head p{color:var(--muted);margin:.25rem 0 0;font-size:.88rem;font-weight:700}.cm-card-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:1.15rem;margin:0;padding:0;list-style:none;display:grid}.cm-card-grid>li{animation:card-in .48s var(--ease-out) both}.cm-card-grid>li:first-child{animation-delay:20ms}.cm-card-grid>li:nth-child(2){animation-delay:60ms}.cm-card-grid>li:nth-child(3){animation-delay:.1s}.cm-card-grid>li:nth-child(4){animation-delay:.14s}.cm-card-grid>li:nth-child(5){animation-delay:.18s}.cm-card-grid>li:nth-child(6){animation-delay:.22s}.cm-card-grid>li:nth-child(n+7){animation-delay:.26s}.cm-card{--cm-accent:#3dba8a;--cm-soft:#f0fff7;--cm-bg:#d8f8e8;background:radial-gradient(120% 80% at 100% 0%, var(--cm-accent), transparent 55%), linear-gradient(165deg, var(--cm-soft) 0%, var(--cm-bg) 48%, var(--cm-bg) 100%);flex-direction:column;min-height:100%;display:flex}@supports (color:color-mix(in lab, red, red)){.cm-card{background:radial-gradient(120% 80% at 100% 0%, color-mix(in srgb, var(--cm-accent) 22%, transparent), transparent 55%), linear-gradient(165deg, var(--cm-soft) 0%, var(--cm-bg) 48%, color-mix(in srgb, var(--cm-bg) 88%, var(--ink)) 100%)}}.cm-card{border:3px solid var(--ink);box-shadow:5px 5px 0 var(--ink);transition:transform var(--motion) var(--ease-out), box-shadow var(--motion) var(--ease-out);border-radius:1.2rem;overflow:hidden}.cm-card:hover{box-shadow:7px 8px 0 var(--ink);transform:translateY(-4px)}.cm-card-band{background:linear-gradient(90deg, var(--cm-accent), var(--cm-accent));height:.5rem}@supports (color:color-mix(in lab, red, red)){.cm-card-band{background:linear-gradient(90deg, var(--cm-accent), color-mix(in srgb, var(--cm-accent) 45%, white))}}.cm-card-band{border-bottom:3px solid var(--ink)}.cm-card-top{justify-content:space-between;align-items:flex-start;gap:.5rem;padding:.85rem 1rem .35rem;display:flex}.cm-card-subject{border:2px solid var(--ink);letter-spacing:.03em;background:#ffffffe0;border-radius:999px;padding:.25rem .6rem;font-size:.68rem;font-weight:800;display:inline-flex;box-shadow:2px 2px #2b2d421f}.cm-card-class{border:2px solid var(--ink);box-shadow:2px 2px 0 var(--ink);background:#fff;border-radius:.65rem;padding:.32rem .5rem;font-size:.7rem;font-weight:800;display:inline-flex;transform:rotate(3deg)}.cm-card-body{flex-direction:column;flex:1;gap:.65rem;padding:.25rem 1rem .75rem;display:flex}.cm-card-title{font-family:var(--display);letter-spacing:-.02em;text-wrap:balance;margin:0;font-size:1.1rem;line-height:1.15}.cm-card-subgame{font-family:var(--font);color:var(--muted);font-size:.82em;font-weight:800}.cm-card-meta{flex-wrap:wrap;gap:.35rem;display:flex}.cm-meta-pill{white-space:nowrap;text-overflow:ellipsis;background:#ffffff8c;border:2px solid #2b2d424d;border-radius:999px;max-width:100%;padding:.18rem .5rem;font-size:.68rem;font-weight:800;display:inline-flex;overflow:hidden}.cm-score-block{background:#ffffffb8;border:2px solid #2b2d4240;border-radius:.85rem;justify-content:space-between;align-items:flex-end;gap:.65rem;padding:.65rem .75rem;display:flex}.cm-score-main{flex-direction:column;gap:.1rem;display:flex}.cm-score-num{font-family:var(--mono);letter-spacing:-.04em;font-size:1.65rem;font-weight:700;line-height:1}.cm-score-unit{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:.72rem;font-weight:800}.cm-score-side{flex-direction:column;align-items:flex-end;gap:.35rem;display:flex}.cm-insight-badge{border:2px solid var(--ink);text-transform:uppercase;letter-spacing:.03em;box-shadow:2px 2px 0 var(--ink);background:#fff;border-radius:999px;padding:.2rem .55rem;font-size:.65rem;font-weight:800;display:inline-flex}.cm-insight-gold{background:var(--yellow)}.cm-insight-good{background:#b8f2d8bf;border-color:#0a7a3e}.cm-insight-warn{background:#fff1a8d9;border-color:#a57a00}.cm-insight-bad{background:#ff6b6b33;border-color:#b00020}.cm-stars{gap:.08rem;font-size:1rem;line-height:1;display:inline-flex}.cm-star{color:#2b2d4238}.cm-star-on{color:#e8b923;text-shadow:0 1px #2b2d4226}.cm-stars-empty{color:var(--muted);font-size:.68rem;font-weight:800}.cm-bestbar{gap:.35rem;display:grid}.cm-bestbar-head{color:var(--muted);justify-content:space-between;align-items:baseline;font-size:.72rem;font-weight:800;display:flex}.cm-bestbar-head strong{font-family:var(--mono);color:var(--ink);font-size:.82rem}.cm-bestbar-track{border:2px solid var(--ink);height:10px;box-shadow:2px 2px 0 var(--ink);background:#ffffffbf;border-radius:999px;overflow:hidden}.cm-bestbar-fill{width:0%;height:100%;transition:width .6s var(--ease-out);border-radius:999px}.cm-bestbar-fill-good{background:#0a7a3e}.cm-bestbar-fill-warn{background:#a57a00}.cm-bestbar-fill-bad{background:#b00020f2}.cm-bestbar-fill-complete{background:#ffd54a}.cm-stat-grid{grid-template-columns:1fr 1fr;gap:.45rem .65rem;margin:0;display:grid}.cm-stat-grid div{flex-direction:column;gap:.08rem;display:flex}.cm-stat-grid dt{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:0;font-size:.65rem;font-weight:800}.cm-stat-grid dd{font-family:var(--mono);margin:0;font-size:.88rem;font-weight:700}.cm-stat-sub{font-family:var(--font);color:var(--muted);font-size:.72rem;font-weight:700}.cm-card-foot{background:#ffffff59;border-top:2px dashed #2b2d422e;flex-wrap:wrap;align-items:center;gap:.35rem .65rem;margin-top:auto;padding:.65rem 1rem .9rem;display:flex}.cm-foot-when{color:var(--muted);font-size:.72rem;font-weight:800}.cm-foot-note{min-width:8rem;color:var(--ink);flex:1;font-size:.72rem;font-weight:700}.cm-play-link{border:2px solid var(--ink);min-height:36px;box-shadow:2px 2px 0 var(--ink);transition:transform var(--motion-fast) var(--ease-out), box-shadow var(--motion-fast) var(--ease-out);background:#fff;border-radius:.65rem;align-items:center;margin-left:auto;padding:.35rem .75rem;font-size:.78rem;font-weight:800;text-decoration:none;display:inline-flex}.cm-play-link:hover{box-shadow:3px 3px 0 var(--ink);transform:translate(-1px,-1px)}@media (prefers-reduced-motion:reduce){.cm-card,.cm-bestbar-fill,.cm-play-link{transition:none}.cm-card:hover{transform:none}.cm-card-grid>li,.cm-summary-stat{animation:none}}.play-header{background:var(--cyan);border:3px solid var(--ink);box-shadow:4px 4px 0 var(--ink);flex-wrap:nowrap;flex-shrink:0;justify-content:space-between;align-items:center;gap:.65rem;min-height:0;padding:.45rem .75rem;display:flex}.play-home-btn{border:3px solid var(--ink);width:42px;height:42px;color:var(--ink);box-shadow:3px 3px 0 var(--ink);transition:transform .12s var(--ease-out), box-shadow .12s var(--ease-out);background:#fff;border-radius:.55rem;flex-shrink:0;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.play-home-btn:hover{box-shadow:4px 4px 0 var(--ink);transform:translate(-1px,-1px)}.play-header-user{max-width:min(14rem,45vw);color:var(--ink);white-space:nowrap;text-overflow:ellipsis;text-align:right;flex-shrink:0;font-size:.92rem;font-weight:800;overflow:hidden}.play-header-text{flex:1;min-width:0}.play-header-text h1{white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:1.1rem;overflow:hidden}.play-header-text p{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;margin:.1rem 0 0;font-size:.78rem;font-weight:700;overflow:hidden}.complete-btn{border:3px solid var(--ink);background:var(--mint);color:var(--ink);cursor:pointer;min-height:42px;box-shadow:3px 3px 0 var(--ink);flex-shrink:0;padding:.4rem .85rem;font-weight:800}.complete-btn:hover:not(:disabled){box-shadow:4px 4px 0 var(--ink);transform:translate(-1px,-1px)}.complete-btn.done{background:var(--yellow);cursor:default}.complete-btn:disabled{opacity:.9}.play-page .toast{flex-shrink:0;margin:0;padding:.45rem .75rem}.play-body{flex:1;grid-template-columns:1fr minmax(210px,260px);align-items:stretch;gap:.75rem;min-height:0;display:grid}.play-stage{border:3px solid var(--ink);box-shadow:4px 4px 0 var(--ink);background:#fff;border-radius:.65rem;height:100%;min-height:0;position:relative;overflow:hidden}.iframe-loader{z-index:2;background:#faf8f2eb;place-items:center;display:grid;position:absolute;inset:0}.play-iframe{background:#fff;border:0;width:100%;height:100%;display:block;overflow:hidden}.play-sidepanels{flex-direction:column;min-width:0;height:100%;min-height:0;display:flex}.next-games{border:3px solid var(--ink);height:100%;min-height:0;box-shadow:4px 4px 0 var(--ink);background:#fff;border-radius:.65rem;flex-direction:column;padding:.75rem;display:flex;overflow:hidden}.play-game-lb{box-shadow:4px 4px 0 var(--ink), 0 0 0 3px #ffd54a66;border-color:var(--ink);background:radial-gradient(circle at 12% 8%,#ffd54a8c,#0000 42%),radial-gradient(circle at 92% 18%,#3dd6a859,#0000 40%),linear-gradient(165deg,#fff9e6 0%,#fff 55%,#e9fff6 100%)}.play-game-lb-head{flex-shrink:0}.play-game-lb h2{flex-wrap:wrap;align-items:center;gap:.2rem;font-size:1.15rem;display:flex}.play-next-games{background:linear-gradient(#f7f7f7,#fff);padding:.55rem .65rem}.play-next-games h2{font-size:.92rem}.next-games h2{flex-shrink:0;margin:0 0 .15rem;font-size:1rem}.next-hint{color:var(--muted);flex-shrink:0;margin:0 0 .55rem;font-size:.82rem;font-weight:700}.next-games ul{flex-direction:column;flex:1;gap:.45rem;min-height:0;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.next-game-item{text-align:left;border:2px solid var(--ink);background:var(--bg);cursor:pointer;width:100%;box-shadow:2px 2px 0 var(--ink);font:inherit;flex-direction:column;flex-shrink:0;gap:.1rem;padding:.4rem .5rem;display:flex}.next-game-item:hover{background:var(--yellow)}.next-game-title{font-size:.8rem;font-weight:800;line-height:1.2}.next-game-age{color:var(--muted);font-size:.68rem;font-weight:700}.game-leaderboard-scroll{flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.game-leaderboard-scroll:after{content:"";pointer-events:none;opacity:.95;background:linear-gradient(#0000,#fff9e6f2);height:1.75rem;position:absolute;bottom:0;left:0;right:0}.game-leaderboard-list{scroll-behavior:smooth;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--ink) #ffffff80;flex-direction:column;flex:1;gap:.5rem;min-height:0;margin:0;padding:0 .15rem 1rem 0;list-style:none;display:flex;overflow:hidden auto}.game-leaderboard-list::-webkit-scrollbar{width:8px}.game-leaderboard-list::-webkit-scrollbar-track{border:2px solid var(--ink);background:#ffffff8c;border-radius:999px}.game-leaderboard-list::-webkit-scrollbar-thumb{background:var(--yellow);border:2px solid var(--ink);border-radius:999px}.game-leaderboard-item{border:2px solid var(--ink);box-shadow:2px 2px 0 var(--ink);animation:game-lb-row-in .42s var(--ease-out) both;background:#ffffffeb;border-radius:.55rem;grid-template-columns:auto 1fr auto;align-items:center;gap:.5rem;padding:.55rem .6rem;font-size:.92rem;font-weight:800;display:grid}.game-leaderboard-item:first-child{animation-delay:20ms}.game-leaderboard-item:nth-child(2){animation-delay:60ms}.game-leaderboard-item:nth-child(3){animation-delay:.1s}.game-leaderboard-item:nth-child(4){animation-delay:.14s}.game-leaderboard-item:nth-child(5){animation-delay:.18s}.game-leaderboard-item:nth-child(n+6){animation-delay:.22s}@keyframes game-lb-row-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.game-leaderboard-item.you{background:linear-gradient(90deg, var(--yellow), #fff8d0);box-shadow:3px 3px 0 var(--ink), 0 0 0 2px #ffd54a8c;outline-offset:1px;outline:2px solid #ffb40059}.game-leaderboard-rank{font-family:var(--mono);font-size:.88rem;font-weight:900}.game-leaderboard-name{text-overflow:ellipsis;white-space:nowrap;font-size:.95rem;overflow:hidden}.game-leaderboard-score{font-size:.88rem;font-family:var(--mono);color:var(--ink);font-weight:900}.toast{background:var(--mint);color:var(--ink);text-align:center;border:3px solid var(--ink);box-shadow:3px 3px 0 var(--ink);margin:0;padding:.65rem 1rem;font-weight:800}.play-missing{text-align:center;padding:3rem 1.5rem}@media (width>=861px){.user-name{display:inline}.nav-toggle,.mobile-score,.nav-backdrop,.nav-panel-header,.mobile-auth-block{display:none!important}.desk-auth{display:flex}.desk-user{align-items:center;gap:.55rem;display:flex}.mobile-auth,.mobile-only{display:none!important}}@media (width<=860px){body.nav-lock{overflow:hidden}.desk-auth{display:none!important}.shell-body{width:100%;padding:.9rem .75rem 1.75rem}.topbar{justify-content:space-between;align-items:center;gap:.5rem;padding:.65rem .75rem;display:flex}.brand-name{letter-spacing:-.02em;font-size:2.25rem}.brand-mark{width:2.94rem;height:2.94rem}.class-modal-mark{width:5.88rem;height:5.88rem}.brand{flex:1;min-width:0}.nav-toggle{display:grid}.mobile-score,.mobile-avatar-wrap{display:inline-flex}.desk-score{display:none}.nav-backdrop{opacity:0;pointer-events:none;z-index:45;background:#2b2d4273;width:100%;height:100%;transition:opacity .2s;display:block;position:fixed;inset:0}.nav-panel{overscroll-behavior:contain;background:var(--yellow);border-left:4px solid var(--ink);z-index:50;visibility:hidden;pointer-events:none;flex-direction:column;gap:1rem;width:min(18.5rem,86vw);height:100dvh;max-height:100dvh;padding:1rem 1rem 1.25rem;transition:transform .22s cubic-bezier(.16,1,.3,1),visibility .22s;display:flex;position:fixed;top:0;left:auto;right:0;overflow-y:auto;transform:translate(100%);box-shadow:-6px 0 #2b2d421f}.nav-panel-header{flex-shrink:0;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.nav-panel-title{letter-spacing:.02em;font-size:1.1rem;font-weight:900}.nav-close{border:3px solid var(--ink);width:44px;height:44px;box-shadow:3px 3px 0 var(--ink);cursor:pointer;background:#fff;flex-shrink:0;place-items:center;padding:0;font-size:1.75rem;font-weight:800;line-height:1;display:grid}.nav-close:active{box-shadow:2px 2px 0 var(--ink);transform:translate(1px,1px)}.shell.nav-open .nav-panel{visibility:visible;pointer-events:auto;transform:translate(0)}.shell.nav-open .nav-backdrop{opacity:1;pointer-events:auto}.topnav{flex-direction:column;flex:auto;gap:.55rem;width:100%;min-height:0;margin:0}.topnav a{text-align:center;place-items:center;width:100%;min-height:48px;display:grid}.topbar-user{border-top:3px solid var(--ink);flex-direction:column;align-items:stretch;width:100%;margin-top:auto;padding-top:.75rem}.topbar-user .user-chip{justify-content:center}.topbar-user .user-name{text-align:center;max-width:none;font-size:1rem;display:block}.topbar-user .user-avatar{width:48px;height:48px}.topbar-user .btn-ghost,.topbar-user .play-btn{width:100%}.topbar-user .score-chip{justify-content:center}.home-layout{gap:.85rem}.mobile-only{display:flex!important}.desk-only{display:none!important}.home-stats-offcanvas{padding:4.35rem .75rem 1rem}.home-banner{flex-direction:column;align-items:stretch;gap:.65rem;padding:.85rem .8rem}.home-banner:after{display:none}.home-banner-copy{flex:none;min-width:0}.home-kicker{margin:0;font-size:.65rem}.home-banner h1{overflow-wrap:anywhere;font-size:clamp(1.35rem,7vw,1.7rem);line-height:1.15}.home-sub{max-width:none;font-size:.82rem;line-height:1.35}.home-stats{flex-wrap:nowrap;grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem;width:100%;display:grid}.home-stats .link-box{grid-column:auto}.home-stat-box{min-width:0;box-shadow:2px 2px 0 var(--ink);border-width:2px;flex:1;padding:.45rem .3rem}.home-stat-num{font-size:1.05rem}.home-stat-num.small{word-break:break-word;font-size:.72rem;line-height:1.15}.home-stat-label{margin-top:.1rem;font-size:.65rem}.home-rank-banner{flex-direction:column;align-items:flex-start;gap:.45rem;padding:.7rem .75rem}.home-rank-banner-main{font-size:.9rem;line-height:1.3}.home-rank-banner-cta{white-space:normal;text-align:center}.home-filter-block{gap:.55rem}.home-tools{flex-wrap:nowrap;justify-content:center;align-items:end;gap:.5rem;width:100%;display:flex}.home-tools .search-bar{flex:1 1 0;width:auto;min-width:0;max-width:none}.search-bar-label{font-size:.75rem}.search-bar-field{min-height:44px;box-shadow:2px 2px 0 var(--ink);border-width:2px;padding:.2rem .4rem}.search-bar-icon svg{width:15px;height:15px}.search-bar-field input{padding:.25rem 0;font-size:.9rem}.search-bar-clear{border-width:2px;width:1.45rem;height:1.45rem}.filter-select{flex:0 9.5rem;width:min(9.5rem,44%);min-width:0}.filter-select select{min-height:44px;box-shadow:2px 2px 0 var(--ink);border-width:2px;padding:.3rem .4rem;font-size:.85rem}.filter-rail{gap:.35rem}.filter-pill{min-height:2rem;padding:.18rem .6rem}.filter-main{font-size:.78rem}.home-section-head h2{font-size:1.05rem}.home-section-head p{font-size:.8rem}.home-section-head.row{flex-direction:column;align-items:flex-start;gap:.2rem}.home-games{gap:.65rem}.game-grid{grid-template-columns:repeat(2,minmax(0,1fr));justify-content:stretch;gap:.75rem}.game-grid>*{width:100%}.pagination{flex-wrap:wrap;gap:.4rem;margin-top:.15rem}.page-arrow{width:40px;height:40px;box-shadow:2px 2px 0 var(--ink)}.page-status{min-width:4.5rem;box-shadow:2px 2px 0 var(--ink);padding:.35rem .55rem;font-size:.8rem}.empty-state{padding:1.25rem .85rem}.empty-medal{width:2.75rem;height:2.75rem;font-size:1.15rem}.lb-hero{padding:.75rem .7rem}.lb-kicker{font-size:.65rem}.lb-hero h1{font-size:1.45rem}.lb-sub{font-size:.85rem}.lb-you-banner{box-sizing:border-box;width:100%;margin-top:.55rem;padding:.45rem .65rem;font-size:.8rem;display:block}.podium{grid-template-columns:1fr;gap:.5rem;width:100%;max-width:none}.podium-card{padding:.7rem .55rem .8rem}.podium-card.place-1,.podium-card.place-2,.podium-card.place-3{order:unset;transform:none}.podium-card.place-1{order:1}.podium-card.place-2{order:2}.podium-card.place-3{order:3}.medal{width:2.6rem;height:2.6rem;font-size:1.1rem}.podium-name{font-size:1rem}.lb-rest{gap:.5rem;width:100%}.lb-rest-heading{font-size:1rem}.lb-row{box-shadow:2px 2px 0 var(--ink);grid-template-columns:1fr auto;gap:.3rem .5rem;padding:.55rem .6rem}.rank-badge{flex-direction:row;grid-column:1/-1;align-items:baseline;gap:.4rem}.rank-num{font-size:.9rem}.rank-title{font-size:.65rem}.admin-hero{flex-direction:column;align-items:stretch;gap:.65rem;padding:.85rem}.admin-hero h1{font-size:1.35rem}.admin-hero p{font-size:.85rem}.admin-total{align-self:auto;padding:.45rem .75rem}.admin-total-num{font-size:1.35rem}.admin-hero-actions{justify-content:space-between;width:100%}.admin-list,.admin-list-full{box-shadow:4px 4px 0 var(--ink);padding:.85rem}.admin-list .search-bar{margin-top:.55rem}.admin-list .search-bar-label{clip:rect(0, 0, 0, 0);width:1px;height:1px;position:absolute;overflow:hidden}.admin-row{grid-template-columns:1fr;gap:.55rem;padding:.7rem}.admin-actions{width:100%}.admin-actions .btn-danger{width:100%;min-height:42px}.admin-modal{box-shadow:5px 5px 0 var(--ink);padding:1rem}.admin-modal-row{grid-template-columns:1fr}.play-page{gap:.2rem;padding:.2rem .25rem .25rem}.play-header{box-shadow:2px 2px 0 var(--ink);border-width:2px;flex-wrap:nowrap;gap:.3rem;padding:.25rem .35rem}.play-home-btn{width:32px;height:32px;box-shadow:2px 2px 0 var(--ink);border-width:2px}.play-home-btn svg{width:16px;height:16px}.play-header-user{max-width:min(10rem,50vw);font-size:.78rem}.play-header-text{flex:1;order:0;min-width:0}.play-header-text h1{font-size:.8rem}.play-header-text p{display:none}.complete-btn{min-height:32px;box-shadow:2px 2px 0 var(--ink);white-space:nowrap;border-width:2px;margin-left:0;padding:.2rem .45rem;font-size:.72rem}.play-page .toast{padding:.25rem .4rem;font-size:.75rem}.play-scorepanel{box-shadow:2px 2px 0 var(--ink), 0 0 0 2px #ffd54a59;padding:.3rem .45rem;animation:none}.play-score-inline{font-size:.85rem}.play-lb-btn{min-height:1.6rem;box-shadow:2px 2px 0 var(--ink);border-width:2px;padding:.25rem .45rem;font-size:.72rem}.play-score-bar-label{font-size:.62rem}.play-score-progress-track-lg{height:1.25rem}.play-score-rank{border-width:2px;padding:.15rem .35rem}.play-score-rank-label{font-size:.55rem}.play-score-rank-value{font-size:.82rem}.play-score-value{font-size:1.15rem}.play-score-title,.play-score-meta,.play-score-insight{font-size:.78rem}.play-panel-badge{padding:.08rem .35rem;font-size:.58rem}.play-body{grid-template-rows:minmax(0,1fr) auto;grid-template-columns:1fr;gap:.2rem}.play-sidepanels{min-width:0}.play-stage{min-height:0;box-shadow:2px 2px 0 var(--ink);border-width:2px;border-radius:.35rem}.play-iframe{overflow:auto}.next-games{box-shadow:2px 2px 0 var(--ink);border-width:2px;border-radius:.35rem;flex:1;min-width:0;min-height:0;padding:.2rem .3rem .25rem}.play-next-games{min-height:0}.play-game-lb h2,.next-games h2{margin:0 0 .1rem;font-size:.72rem;line-height:1.1;display:block}.next-hint{display:none}.next-games ul{-webkit-overflow-scrolling:touch;flex-direction:row;flex:1;align-items:stretch;gap:.25rem;min-height:0;padding-bottom:0;overflow:auto hidden}.next-games li{flex:none;max-width:7rem}.game-leaderboard-scroll{flex:1;min-height:0}.game-leaderboard-scroll:after{display:none}.game-leaderboard-list{-webkit-overflow-scrolling:touch;flex-direction:row;gap:.25rem;padding:0;overflow:auto hidden}.game-leaderboard-item{flex:none;min-width:10.5rem;padding:.3rem .4rem;font-size:.78rem;animation:none}.game-leaderboard-name{font-size:.78rem}.game-leaderboard-rank,.game-leaderboard-score{font-size:.72rem}.next-game-item{height:100%;box-shadow:1px 1px 0 var(--ink);border-width:2px;justify-content:center;gap:0;padding:.15rem .35rem}.next-game-title{white-space:nowrap;text-overflow:ellipsis;max-width:6.5rem;font-size:.65rem;line-height:1.1;overflow:hidden}.next-game-age{display:none}.login-page{padding:1rem .75rem;padding-top:max(1rem, env(safe-area-inset-top));align-items:start}.login-panel{padding:1.25rem 1rem}.login-brand{font-size:2rem}}@media (width<=420px){.home-tools{gap:.4rem}.filter-select{flex-basis:8.25rem;width:min(8.25rem,46%)}.game-grid{grid-template-columns:1fr}.home-stats{grid-template-columns:1fr 1fr}.home-stats .link-box{grid-column:1/-1}.brand-name{font-size:1.98rem}.brand-mark{width:2.69rem;height:2.69rem}.class-modal-mark{width:5.38rem;height:5.38rem}.shell-body{padding:.7rem .55rem 1.4rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.game-grid>*,.podium-card,.lb-row,.sa-domain-grid>li,.home-layout,.lb-hero,.empty-state,.play-scorepanel,.game-leaderboard-item,.flow-modal{animation:none!important}.nav-panel,.nav-backdrop,.nav-toggle-bars span{transition:none!important}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.sa-dash{grid-template-columns:minmax(220px,260px) minmax(0,1fr);align-items:start;gap:1rem;min-height:calc(100dvh - 5.5rem);display:grid}.sa-side{border:4px solid var(--ink);box-shadow:5px 5px 0 var(--ink);background:#fff;flex-direction:column;gap:1rem;max-height:calc(100dvh - 6rem);padding:1rem;display:flex;position:sticky;top:5rem;overflow:auto}.sa-side-brand h1{margin:.15rem 0;font-size:1.65rem}.sa-kicker{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:0;font-size:.72rem;font-weight:800}.sa-side-user{color:var(--muted);word-break:break-all;margin:0;font-size:.78rem;font-weight:700}.sa-nav{flex-direction:column;gap:.35rem;display:flex}.sa-nav-label{letter-spacing:.05em;text-transform:uppercase;color:var(--muted);margin:.65rem 0 .2rem;font-size:.7rem;font-weight:800}.sa-nav-btn,.sa-domain-btn{text-align:left;cursor:pointer;width:100%;color:var(--ink);background:0 0;border:3px solid #0000;border-radius:.45rem;padding:.55rem .65rem;font-weight:800}.sa-nav-btn:hover,.sa-domain-btn:hover{background:var(--cyan)}.sa-nav-btn.is-active,.sa-domain-btn.is-active{background:var(--yellow);border-color:var(--ink);box-shadow:2px 2px 0 var(--ink)}.sa-domain-list{flex-direction:column;gap:.2rem;margin:0;padding:0;list-style:none;display:flex}.sa-domain-btn{justify-content:space-between;align-items:center;gap:.5rem;font-size:.85rem;display:flex}.sa-domain-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sa-domain-count{font-family:var(--mono);background:var(--mint);border:2px solid var(--ink);border-radius:999px;flex-shrink:0;padding:.1rem .45rem;font-size:.75rem;font-weight:700}.sa-create{border-top:3px solid var(--ink);flex-direction:column;gap:.45rem;margin-top:auto;padding-top:.75rem;display:flex}.sa-create input{border:3px solid var(--ink);width:100%;font-family:var(--mono);background:#fff;border-radius:.45rem;padding:.5rem .6rem;font-size:.8rem;font-weight:700}.sa-main{flex-direction:column;gap:.85rem;min-width:0;display:flex}.sa-main-head{flex-wrap:wrap;justify-content:space-between;align-items:start;gap:.75rem;display:flex}.sa-main-head h2{margin:.15rem 0;font-size:1.75rem}.sa-main-head p{color:var(--muted);max-width:40rem;margin:.25rem 0 0;font-weight:700}.sa-back{color:var(--muted);cursor:pointer;background:0 0;border:0;margin-bottom:.25rem;padding:0;font-weight:800}.sa-back:hover{color:var(--ink)}.sa-overview{flex-direction:column;gap:1.5rem;display:flex}.sa-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem;display:grid}.sa-stat{border:4px solid var(--ink);box-shadow:4px 4px 0 var(--ink);background:#fff;flex-direction:column;gap:.25rem;padding:.85rem .95rem;display:flex}.sa-stat:first-child{background:var(--cyan)}.sa-stat:nth-child(2){background:var(--mint)}.sa-stat:nth-child(3){background:var(--yellow)}.sa-stat:nth-child(4){background:var(--orange)}.sa-stat-num{font-family:var(--display);font-size:1.85rem;line-height:1}.sa-stat-label{color:var(--muted);font-size:.78rem;font-weight:800}.sa-domain-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.85rem;margin:0;padding:0;list-style:none;display:grid}.sa-domain-grid>li{animation:.22s cubic-bezier(.16,1,.3,1) both sa-rise}@keyframes sa-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.sa-domain-card{text-align:left;border:4px solid var(--ink);width:100%;height:100%;box-shadow:4px 4px 0 var(--ink);cursor:pointer;transition:transform var(--motion) var(--ease-out), box-shadow var(--motion) var(--ease-out);background:linear-gradient(165deg,#fff 0%,#fffdf8 100%);border-radius:1rem;flex-direction:column;gap:.75rem;padding:1rem;display:flex}.sa-domain-card:hover{box-shadow:6px 8px 0 var(--ink);transform:translateY(-4px)}.sa-domain-card:active{box-shadow:2px 2px 0 var(--ink);transform:translateY(1px)}.sa-domain-card-top{flex-direction:column;gap:.25rem;display:flex}.sa-domain-card-top strong{font-size:1.1rem}.sa-domain-card-top code{font-family:var(--mono);color:var(--muted);font-size:.75rem;font-weight:700}.sa-domain-metrics{grid-template-columns:repeat(3,1fr);gap:.35rem;margin:0;display:grid}.sa-domain-metrics div{background:var(--bg);border:2px solid var(--ink);border-radius:.4rem;padding:.4rem .45rem}.sa-domain-metrics dt{text-transform:uppercase;color:var(--muted);margin:0;font-size:.65rem;font-weight:800}.sa-domain-metrics dd{font-family:var(--display);margin:.1rem 0 0;font-size:1.15rem}.sa-domain-cta{margin-top:auto;font-size:.85rem;font-weight:800}.domain-games-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.85rem;display:flex}.domain-games-title{margin:0;font-size:1.2rem}.domain-games-meta{color:var(--muted);margin:.2rem 0 0;font-size:.85rem;font-weight:700}.domain-games-compact{border:4px solid var(--ink);box-shadow:5px 5px 0 var(--ink);background:#fff;padding:1.1rem}.sa-domain-view,.sa-users{flex-direction:column;gap:.85rem;display:flex}.sa-users-filters{border:4px solid var(--ink);box-shadow:4px 4px 0 var(--ink);background:#fff;flex-wrap:wrap;align-items:end;gap:.75rem;padding:.85rem 1rem;display:flex}.sa-filter{flex-direction:column;gap:.3rem;font-size:.75rem;font-weight:800;display:flex}.sa-filter select{border:3px solid var(--ink);min-width:11rem;box-shadow:2px 2px 0 var(--ink);background:#fff;border-radius:.45rem;padding:.5rem .6rem;font-weight:700}.sa-users-search{flex:1;min-width:12rem}.sa-users-meta{color:var(--muted);margin:0;font-size:.85rem;font-weight:700}.sa-user-table{border:4px solid var(--ink);box-shadow:5px 5px 0 var(--ink);background:#fff;flex-direction:column;gap:.55rem;margin:0;padding:.75rem;list-style:none;display:flex}.sa-user-row{border:3px solid var(--ink);background:var(--bg);border-radius:.5rem;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem;display:flex}.sa-user-title{flex-wrap:wrap;align-items:center;gap:.45rem;display:flex}.sa-user-email{margin:.2rem 0 0;font-size:.9rem;font-weight:700}.sa-user-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:.35rem;margin:.25rem 0 0;font-size:.8rem;font-weight:700;display:flex}.sa-user-meta code{font-family:var(--mono);font-size:.75rem}.sa-role-badge{text-transform:uppercase;letter-spacing:.04em;border:2px solid var(--ink);border-radius:999px;padding:.12rem .45rem;font-size:.68rem;font-weight:800}.sa-role-player{background:#fff}.sa-role-admin{background:var(--cyan)}.sa-role-superadmin{background:var(--yellow)}.sa-user-actions{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:.45rem;min-width:7.5rem;display:flex}@media (width<=900px){.sa-dash{grid-template-columns:1fr}.sa-side{max-height:none;position:static}.sa-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}.sa-user-locked{color:var(--muted);font-size:.8rem;font-weight:800}.sa-domain-checks{border:3px solid var(--ink);border-radius:.65rem;gap:.55rem;margin:0;padding:.75rem .85rem;display:grid}.sa-domain-checks-hint{color:var(--muted);margin:0;font-size:.82rem;font-weight:700}.sa-domain-check-list{gap:.4rem;max-height:14rem;padding-right:.15rem;display:grid;overflow-y:auto}.sa-domain-checks legend{padding:0 .25rem;font-size:.85rem;font-weight:800}.sa-domain-check{cursor:pointer;background:#fff;border:2px solid #2b2d4233;border-radius:.45rem;align-items:center;gap:.55rem;padding:.35rem .45rem;font-weight:700;display:flex}.sa-domain-check:has(input:checked){border-color:var(--ink);background:var(--mint);box-shadow:2px 2px 0 var(--ink)}.sa-domain-check input{flex-shrink:0;width:1rem;height:1rem}@media (width<=560px){.sa-stats{grid-template-columns:1fr 1fr}.sa-stat-num{font-size:1.45rem}}@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-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{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-outline-style{syntax:"*";inherits:false;initial-value:solid}@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-ease{syntax:"*";inherits:false}
