.sp-page{--sil:brightness(0) invert(0);max-width:1000px;padding-block:max(clamp(16px,3.5vw,40px),env(safe-area-inset-top,0px)) calc(56px + env(safe-area-inset-bottom,0px));padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));align-content:start;gap:clamp(22px,4.5vw,44px);margin:0 auto;display:grid}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .sp-page{--sil:brightness(0) invert(.88)}}:root[data-theme=dark] .sp-page{--sil:brightness(0) invert(.88)}.sp-nav{flex-wrap:wrap;gap:10px;display:flex}.sp-nav .pill,.sp-bottom .pill,.sp-finish .pill,.sp-again .pill{text-decoration:none}.sp-bottom{justify-content:center;margin:0;display:flex}.sp-bottom .pill{text-align:center;justify-content:center;max-width:100%}.sp-head{justify-items:start;gap:4px;display:grid}.sp-head .brand{margin:0 0 6px}.sp-head h1{font-family:var(--font-display),sans-serif;text-wrap:balance;margin:0;font-size:clamp(2.8rem,1.4rem + 6.4vw,5.2rem);font-weight:800;line-height:.98}.sp-head h1 span{color:var(--accent-text)}.sp-head.sm h1{font-size:clamp(2.2rem,1.4rem + 3.6vw,3.6rem)}.sp-head .sub{color:var(--ink-soft);text-wrap:pretty;max-width:44ch;margin:10px 0 0;font-size:clamp(1.1rem,1rem + .5vw,1.3rem)}.sp-h2{font-family:var(--font-display),sans-serif;margin:0 0 16px;font-size:clamp(1.6rem,1.2rem + 1.8vw,2.3rem);font-weight:800}.sp-starcount{background:var(--paper);box-shadow:0 8px 18px -12px rgb(var(--shadow) / .6);border-radius:999px;align-items:center;gap:8px;margin:12px 0 0;padding:6px 16px 6px 10px;font-size:1.05rem;font-weight:700;display:inline-flex}.sp-starcount .sp-icon{width:28px;height:28px}.sp-icon{display:block}.sp-icon svg,.sp-art svg{width:100%;height:100%;display:block}.sp-art{display:block}.sp-tiles-grid{grid-template-columns:1fr;gap:clamp(16px,3vw,26px);margin:0;padding:0;list-style:none;display:grid}@media (min-width:820px){.sp-tiles-grid{grid-template-columns:repeat(3,1fr)}}.sp-gametile{background:var(--paper);height:100%;color:var(--ink);box-shadow:0 22px 40px -26px rgb(var(--shadow) / .55),0 2px 0 rgb(var(--shadow) / .06);transition:transform .22s var(--ease-out),box-shadow .22s var(--ease-out);touch-action:manipulation;border-radius:32px;flex-direction:column;text-decoration:none;display:flex;overflow:hidden}.sp-gametile:active{transform:scale(.985)}.sp-gametile:focus-visible{outline:4px solid var(--ink);outline-offset:4px}@media (hover:hover) and (pointer:fine){.sp-gametile:hover{box-shadow:0 34px 50px -26px rgb(var(--shadow) / .6);transform:translateY(-8px)rotate(-.5deg)}}.sp-gametile-art{background:color-mix(in srgb,var(--fc,#ffd43b) 26%,var(--paper));height:clamp(190px,46vw,260px);padding:18px;display:block;position:relative}@media (min-width:820px){.sp-gametile-art{height:220px}}.sp-gametile-art>.sp-art:first-child{width:100%;height:100%}.sp-gametile-art .mini{width:28%;height:44%;position:absolute;bottom:10px;right:12%}.sp-gametile-art.sil>.sp-art:first-child svg{filter:var(--sil)}.sp-gametile-body{justify-items:start;gap:8px;padding:18px 22px 24px;display:grid}.sp-gametile-title{font-family:var(--font-display),sans-serif;font-size:clamp(1.8rem,1.4rem + 1.2vw,2.2rem);font-weight:800;line-height:1}.sp-gametile-text{color:var(--ink-soft);text-wrap:pretty;font-size:1.1rem}.sp-play{margin-top:6px}.sp-start{display:block}.sp-levels{gap:14px;margin:0;padding:0;list-style:none;display:grid}@media (min-width:720px){.sp-levels{grid-template-columns:repeat(3,1fr)}}.sp-level{background:var(--paper);width:100%;min-height:96px;color:var(--ink);text-align:left;box-shadow:0 18px 34px -24px rgb(var(--shadow) / .5);transition:transform .16s var(--ease-out);touch-action:manipulation;border-radius:28px;align-items:center;gap:18px;padding:14px 22px;display:flex}.sp-level:active{transform:scale(.98)}.sp-level:focus-visible{outline:4px solid var(--ink);outline-offset:4px}@media (hover:hover) and (pointer:fine){.sp-level:hover{transform:translateY(-4px)}}.sp-level-n{background:var(--accent);width:64px;height:64px;color:var(--accent-ink);font-family:var(--font-display),sans-serif;border-radius:50%;flex:none;place-items:center;padding-top:3px;font-size:2rem;font-weight:800;display:grid}.sp-level-ic{flex:none;width:68px;height:68px}.sp-level-t{gap:2px;display:grid}.sp-level-t b{font-family:var(--font-display),sans-serif;font-size:1.6rem;font-weight:800;line-height:1.05}.sp-level-t span{color:var(--ink-soft);font-size:1.05rem}.sp-intro{background:var(--paper);box-shadow:0 18px 34px -24px rgb(var(--shadow) / .5);border-radius:28px;justify-items:start;gap:18px;padding:clamp(20px,4vw,34px);display:grid}.sp-intro p{max-width:30ch;margin:0;font-size:clamp(1.2rem,1.05rem + .6vw,1.5rem)}.sp-round{justify-items:center;gap:clamp(14px,3vw,24px);display:grid}.sp-dots{gap:10px;margin:0;display:flex}.sp-dots i{background:var(--track);width:14px;height:14px;transition:background-color .2s,transform .2s var(--ease-out);border-radius:50%}.sp-dots i.done{background:var(--ok)}.sp-dots i.now{background:var(--accent);transform:scale(1.25)}.sp-msg{text-align:center;min-height:2.6em;color:var(--ink-soft);text-wrap:balance;align-items:center;margin:0;font-size:clamp(1.1rem,1rem + .5vw,1.35rem);font-weight:700;display:grid}.sp-msg.good{color:var(--ok)}.sp-bar{flex-wrap:wrap;justify-content:center;align-items:center;gap:14px 18px;width:100%;display:flex}.sp-bar .sp-msg{flex:220px;min-height:0}.sp-bar .pill.big{flex:none}.sp-next{margin:0}.sp-again{justify-content:center;margin:20px 0 0;display:flex}.sp-live{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.sp-memgrid{grid-template-columns:repeat(3,1fr);gap:clamp(8px,2vw,14px);max-width:520px;margin:0 auto;padding:0;list-style:none;display:grid}.sp-memgrid[data-n="8"]{grid-template-columns:repeat(4,1fr);max-width:700px}.sp-memgrid[data-n="12"]{max-width:540px}@media (min-width:600px){.sp-memgrid[data-n="12"]{grid-template-columns:repeat(4,1fr);max-width:min(700px,max(420px,96dvh - 240px))}.sp-memgrid[data-n="8"]{max-width:min(700px,max(420px,120dvh - 240px))}.sp-memgrid[data-n="6"]{max-width:640px}}.sp-cell{display:block}.sp-cell.hop .sp-card{animation:sp-hop .7s var(--ease-out)}@keyframes sp-hop{0%{transform:translateY(0)scale(1)}30%{transform:translateY(-16px)scale(1.07)rotate(-3deg)}55%{transform:translateY(0)scale(.98)}75%{transform:translateY(-6px)scale(1.02)rotate(2deg)}to{transform:translateY(0)scale(1)}}.sp-card{aspect-ratio:3/4;perspective:800px;touch-action:manipulation;cursor:pointer;-webkit-tap-highlight-color:transparent;border-radius:20px;width:100%;display:block;position:relative}.sp-card:focus-visible{outline:4px solid var(--ink);outline-offset:3px}.sp-card[data-found=true]{cursor:default}.sp-card-in{transform-style:preserve-3d;transition:transform .42s var(--ease-out);position:absolute;inset:0}.sp-card:active .sp-card-in{scale:.97}.sp-card[data-up=true] .sp-card-in{transform:rotateY(180deg)}.sp-face{backface-visibility:hidden;box-shadow:0 14px 26px -16px rgb(var(--shadow) / .6),0 2px 0 rgb(var(--shadow) / .06);border-radius:20px;position:absolute;inset:0;overflow:hidden}.sp-back{background:var(--accent);background-image:radial-gradient(circle at 20% 18%,#ffffff38 0 18%,#0000 19%),radial-gradient(circle at 82% 86%,#ffffff2e 0 22%,#0000 23%);place-items:center;display:grid}.sp-back:after{content:"";border:3px dashed #ffffff8c;border-radius:14px;position:absolute;inset:8px}.sp-back .sp-icon{aspect-ratio:1;width:46%;transform:rotate(-8deg)}.sp-front{background:color-mix(in srgb,var(--fc,#ffd43b) 30%,var(--paper));color:var(--ink);flex-direction:column;display:flex;transform:rotateY(180deg)}.sp-front .sp-art{flex:1;min-height:0;padding:8px 6px 0}.sp-card-name{text-align:center;font-family:var(--font-display),sans-serif;padding:2px 4px 8px;font-size:clamp(.78rem,.5rem + 1.5vw,1.1rem);font-weight:800;line-height:1.05}.sp-card[data-found=true] .sp-face{box-shadow:0 0 0 4px var(--ok),0 14px 26px -16px rgb(var(--shadow) / .6)}.sp-ask{text-align:center;margin:0;font-size:clamp(1.3rem,1.1rem + 1vw,1.8rem);font-weight:700}.sp-pick{justify-items:center;gap:clamp(14px,3vw,22px);width:100%;display:grid}.sp-bigword{background:var(--paper);font-family:var(--font-body),sans-serif;letter-spacing:.04em;box-shadow:0 18px 34px -24px rgb(var(--shadow) / .5);border-radius:28px;margin:0;padding:6px 34px 0;font-size:clamp(3rem,1.6rem + 8vw,6rem);font-weight:700;line-height:1.3}.sp-options{grid-template-columns:repeat(3,1fr);gap:clamp(10px,2.4vw,18px);width:100%;max-width:640px;margin:0;padding:0;list-style:none;display:grid}.sp-options[data-n="4"]{grid-template-columns:repeat(2,1fr);max-width:480px}@media (min-width:720px){.sp-options[data-n="4"]{grid-template-columns:repeat(4,1fr);max-width:760px}}.sp-opt{aspect-ratio:1/1.12;background:var(--paper);width:100%;color:var(--ink);box-shadow:0 16px 30px -22px rgb(var(--shadow) / .55),inset 0 0 0 4px transparent;transition:transform .14s var(--ease-out),opacity .2s,box-shadow .2s;touch-action:manipulation;-webkit-tap-highlight-color:transparent;border-radius:26px;grid-template-rows:1fr auto;padding:12px 10px 6px;display:grid}.sp-opt .sp-icon{width:100%;height:100%;min-height:0}.sp-opt:active{transform:scale(.96)}.sp-opt:focus-visible{outline:4px solid var(--ink);outline-offset:3px}.sp-opt-w{min-height:1.5em;font-family:var(--font-body),sans-serif;text-align:center;font-size:clamp(1rem,.8rem + .9vw,1.35rem);font-weight:700}.sp-opt.wrong{opacity:.4;box-shadow:inset 0 0 0 4px var(--line);cursor:default}.sp-opt.right{box-shadow:inset 0 0 0 5px var(--ok),0 16px 30px -22px rgb(var(--shadow) / .55);background:var(--ok-bg);animation:sp-pulse .52s var(--ease-out)}.sp-opt.dim{opacity:.45;cursor:default}@keyframes sp-pulse{0%{transform:scale(1)}40%{transform:scale(1.07)}to{transform:scale(1)}}.sp-build{justify-items:center;gap:clamp(14px,3vw,24px);width:100%;display:grid}.sp-pic{aspect-ratio:1;background:var(--paper);width:clamp(140px,38vw,200px);box-shadow:0 18px 34px -24px rgb(var(--shadow) / .5);border-radius:32px;padding:16px}.sp-pic .sp-icon{width:100%;height:100%}.sp-slots,.sp-tiles{flex-wrap:wrap;justify-content:center;gap:10px;margin:0;padding:0;list-style:none;display:flex}.sp-slot,.sp-tile-l{width:clamp(56px,13vw,76px);min-width:56px;height:clamp(64px,15vw,84px);font-family:var(--font-body),sans-serif;touch-action:manipulation;-webkit-tap-highlight-color:transparent;border-radius:20px;place-items:center;padding-bottom:4px;font-size:clamp(2rem,1.4rem + 3vw,3rem);font-weight:700;line-height:1;display:grid}.sp-slot{color:var(--ink);border:4px dashed var(--ink-soft);transition:background-color .16s,border-color .16s,transform .16s var(--ease-out);background:0 0}.sp-slot:not(:disabled){background:var(--paper);border-style:solid;border-color:var(--ink-soft);cursor:pointer}.sp-slot:disabled{cursor:default}.sp-slot.right,.sp-slot.ok{background:var(--ok-bg);border-color:var(--ok);border-style:solid}.sp-slot.off{border-color:var(--accent-text)}.sp-slot:focus-visible,.sp-tile-l:focus-visible{outline:4px solid var(--ink);outline-offset:3px}.sp-tile-l{background:var(--chip);color:var(--ink);box-shadow:0 10px 20px -14px rgb(var(--shadow) / .6);transition:transform .14s var(--ease-out),opacity .16s}.sp-tile-l:active:not(:disabled){transform:scale(.94)}.sp-tile-l:disabled{opacity:.18;cursor:default;box-shadow:none}.sp-stage{background:color-mix(in srgb,var(--fc,#ffd43b) 24%,var(--paper));width:100%;max-width:560px;box-shadow:0 18px 34px -24px rgb(var(--shadow) / .5);border-radius:32px;padding:clamp(88px,20vw,96px) 20px 14px;position:relative}.sp-sil{height:clamp(190px,28dvh,340px)}.sp-sil .sp-art{width:100%;height:100%}.sp-sil svg{filter:var(--sil);transition:filter .7s ease-out}.sp-stage.shown .sp-sil svg{filter:brightness()invert(0)}.sp-stage.shown .sp-sil{animation:sp-pulse .6s var(--ease-out)}.sp-say{background:var(--paper);min-height:50px;color:var(--ink);opacity:0;transition:opacity .22s,transform .26s var(--ease-out);box-shadow:0 10px 20px -14px rgb(var(--shadow) / .6);border-radius:22px;padding:10px 16px;font-size:clamp(1rem,.9rem + .6vw,1.2rem);font-weight:700;line-height:1.25;position:absolute;top:12px;left:14px;right:14px;transform:translateY(8px)scale(.97)}.sp-say:after{content:"";background:inherit;border-radius:0 0 5px;width:18px;height:18px;position:absolute;bottom:-9px;left:46%;transform:rotate(45deg)}.sp-say.on{opacity:1;transform:none}.sp-names{grid-template-columns:1fr;gap:12px;width:100%;max-width:560px;margin:0;padding:0;list-style:none;display:grid}@media (min-width:640px){.sp-names{grid-template-columns:repeat(3,1fr)}}.sp-name{background:var(--chip);width:100%;min-height:60px;color:var(--ink);font-family:var(--font-display),sans-serif;transition:transform .14s var(--ease-out),opacity .2s,background-color .16s;touch-action:manipulation;-webkit-tap-highlight-color:transparent;border-radius:999px;place-items:center;padding:6px 14px 2px;font-size:1.5rem;font-weight:800;display:grid;box-shadow:inset 0 0 0 4px #0000}.sp-name:active{transform:scale(.97)}.sp-name:focus-visible{outline:4px solid var(--ink);outline-offset:3px}@media (hover:hover) and (pointer:fine){.sp-name:hover:not(.wrong):not(.dim){color:#1f2a44;background:#ffd866}}.sp-name.wrong{opacity:.4;cursor:default}.sp-name.right{background:var(--ok-bg);box-shadow:inset 0 0 0 4px var(--ok);color:var(--ink)}.sp-name.dim{opacity:.4;cursor:default}.sp-finish{text-align:center;background:var(--paper);box-shadow:0 22px 40px -26px rgb(var(--shadow) / .55);border-radius:32px;justify-items:center;gap:12px;width:100%;max-width:640px;margin:20px auto 0;padding:clamp(24px,5vw,40px) clamp(18px,4vw,36px);display:grid;position:relative}.sp-finish h2{font-family:var(--font-display),sans-serif;margin:0;font-size:clamp(2rem,1.4rem + 2.6vw,3rem);font-weight:800;line-height:1.05}.sp-finish-text{color:var(--ink-soft);text-wrap:pretty;max-width:34ch;margin:0;font-size:1.2rem}.sp-finish-note{color:var(--accent-text);margin:0;font-size:1.15rem;font-weight:700}.sp-finish-btns{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:10px;display:flex}.sp-bigstar{width:96px;height:96px;animation:sp-starpop .7s var(--ease-out)}.sp-bigstar .sp-icon{width:100%;height:100%}.sp-bigstar.off{opacity:.35;filter:grayscale();animation:none}@keyframes sp-starpop{0%{opacity:0;transform:scale(.2)rotate(-40deg)}60%{opacity:1;transform:scale(1.2)rotate(8deg)}to{transform:scale(1)rotate(0)}}.sp-confetti{pointer-events:none;z-index:30;position:fixed;inset:0;overflow:hidden}.sp-confetti i{opacity:0;border-radius:3px;width:10px;height:15px;animation:1.8s ease-in forwards sp-fall;position:absolute;top:-24px}@keyframes sp-fall{0%{opacity:1;transform:translate(0,0)rotate(0)}to{opacity:0;transform:translate3d(var(--dx),110dvh,0) rotate(var(--r))}}@media (prefers-reduced-motion:reduce){.sp-confetti{display:none}.sp-cell.hop .sp-card,.sp-opt.right,.sp-bigstar,.sp-stage.shown .sp-sil{animation:none}.sp-card-in{transition:none;transform:none!important}.sp-face{backface-visibility:visible;transition:opacity .16s}.sp-front{opacity:0;transform:none}.sp-back,.sp-card[data-up=true] .sp-front{opacity:1}.sp-card[data-up=true] .sp-back{opacity:0}.sp-sil svg,.sp-say,.sp-dots i,.sp-gametile,.sp-level,.sp-opt,.sp-name,.sp-tile-l,.sp-slot{transition:none}.sp-gametile:hover,.sp-level:hover{transform:none}}
