@font-face{font-family:Outfit;src:url(/fonts/outfit-var.woff2) format("woff2");font-weight:100 900;font-display:swap}
@font-face{font-family:Inter;src:url(/fonts/inter-latin-var.woff2) format("woff2");font-weight:100 900;font-display:swap}
:root{--ink:#231f20;--mut:#5b5550;--acc:#ff5a36;--acch:#e8482a;--ok:#2f9e5b;--card:#fff;--sh:0 10px 30px rgba(35,31,32,.10);--sh2:0 14px 36px rgba(35,31,32,.16)}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
html{min-height:100%;background:linear-gradient(180deg,#f0ede7 0%,#f3e3c0 100%) #f0ede7}
body{margin:0;min-height:100vh;font:400 17px/1.6 Inter,system-ui,sans-serif;color:var(--ink);}
a{color:var(--ink);text-decoration-color:var(--acc);text-underline-offset:3px;text-decoration-thickness:2px}a:hover{color:var(--acch)}
h1,h2,h3,.brand,.lv b,.num b{font-family:Outfit,Inter,sans-serif}
h1{font-weight:800;font-size:44px;line-height:1.1;margin:.2em 0 .3em;letter-spacing:-.01em}h2{font-weight:800;font-size:28px;line-height:1.2;margin:1.6em 0 .5em}h3{font-weight:600;font-size:20px;margin:1.2em 0 .3em}
.wrap{max-width:1120px;margin:0 auto;padding:0 16px}
.skip{position:absolute;left:-999px}.skip:focus{left:8px;top:8px;background:#fff;padding:8px;z-index:9}
header.top .wrap{display:flex;align-items:center;justify-content:space-between;height:64px}
.brand{font-weight:800;font-size:26px;text-decoration:none;color:var(--ink)}.brand i{font-style:normal;color:var(--acc);margin-left:2px}
nav.main{display:flex;gap:22px}nav.main a{text-decoration:none;font-weight:600}nav.main a[aria-current]{color:var(--acc)}
.menu{display:none;position:relative}.menu summary{list-style:none;cursor:pointer;font-weight:600;border:2px solid var(--ink);border-radius:999px;padding:4px 14px}.menu summary::-webkit-details-marker{display:none}
.menu div{position:absolute;right:0;top:44px;background:#fff;border-radius:16px;box-shadow:var(--sh2);padding:8px;z-index:20;min-width:180px}.menu div a{display:block;padding:10px 14px;text-decoration:none;font-weight:600}
.lead{font-size:19px;color:var(--mut);margin:0 0 16px}
.hero{display:grid;grid-template-columns:5fr 7fr;grid-template-areas:"t g" "c g";column-gap:40px;align-items:start;margin-top:0}.hero .game{max-width:464px}
.hero>*{min-width:0}.hero .ht{grid-area:t}.hero .game{grid-area:g}.hero .hc{grid-area:c}
.chips{display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:0 0 16px;list-style:none}.chips li{background:#fff;border-radius:999px;padding:6px 14px;font-weight:600;font-size:15px;box-shadow:var(--sh)}
.card{background:var(--card);border-radius:20px;box-shadow:var(--sh);padding:20px 22px;margin:16px 0}
.streak b{font-family:Outfit;font-size:34px;font-weight:800;color:var(--ok);margin-right:6px}
.game{position:relative;margin:0 auto 8px;max-width:560px;width:100%}
.pill{display:flex;justify-content:space-between;gap:8px;background:#fff;border-radius:999px;padding:6px 16px;font-size:15px;box-shadow:var(--sh);margin-bottom:10px;font-variant-numeric:tabular-nums}
.bcard{background:#fff;border-radius:20px;box-shadow:var(--sh);padding:12px;overflow-x:auto}
.board{position:relative;width:100%;aspect-ratio:1;--n:5;touch-action:manipulation}
.board .dot{position:absolute;width:calc(100%/var(--n));height:calc(100%/var(--n));pointer-events:none}.board .dot::after{content:"";position:absolute;left:50%;top:50%;width:4px;height:4px;margin:-2px;border-radius:50%;background:#e6e0d8}
.ar{position:absolute;width:calc(100%/var(--n));height:calc(100%/var(--n));padding:3px;border:0;background:none;cursor:pointer;transition:transform 280ms ease-in,opacity 280ms ease-in;-webkit-tap-highlight-color:transparent}
.ar::before{content:"";position:absolute;inset:3px;border-radius:10px;background:var(--c,#231f20)}
.ar svg{position:relative;width:62%;height:62%;fill:none;stroke:#fff;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;transform:rotate(var(--r))}
.ar:active{transform:scale(.94)}.ar:focus-visible{outline:3px solid var(--acc);outline-offset:-1px;border-radius:12px}
.ar.go{transform:translate(var(--dx),var(--dy));opacity:0;pointer-events:none}
.ar.bump{animation:bump 120ms 2}.ar.bump::before{box-shadow:0 0 0 4px rgba(255,90,54,.3);background:color-mix(in srgb,var(--c,#231f20) 70%,#ff5a36)}
@keyframes bump{25%{translate:-4px 0}75%{translate:4px 0}}
.ar.hint::after{content:"";position:absolute;inset:0;border-radius:13px;border:4px solid var(--acc);animation:ring 600ms 2 ease-out}
@keyframes ring{0%{opacity:0;scale:.85}40%{opacity:1;scale:1}100%{opacity:.9;scale:1.04}}
.tools{display:flex;justify-content:center;gap:22px;padding:12px 0 8px;margin-top:6px}
.tools button{display:flex;flex-direction:column;align-items:center;gap:3px;border:0;background:none;cursor:pointer;color:var(--ink);font:inherit}
.tools button span{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:#fff;box-shadow:var(--sh)}.tools button:hover span{box-shadow:var(--sh2)}
.tools svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.tools small{font-size:13px;font-weight:600}
.tools [aria-pressed=false] svg{opacity:.45}
.result{position:relative;overflow:hidden;text-align:center;background:#fff;border-radius:20px;box-shadow:var(--sh2);padding:18px;margin-top:12px}
.result .won{font-family:Outfit;font-weight:800;font-size:30px;color:var(--ok);margin:0}.result p{margin:.3em 0}
.confetti i{position:absolute;top:-10px;width:8px;height:12px;border-radius:2px;animation:fall 1.2s ease-in forwards;opacity:0}
@keyframes fall{0%{opacity:1;transform:translateY(0) rotate(0)}100%{opacity:0;transform:translateY(160px) rotate(300deg)}}
.btn{display:inline-block;border:2px solid var(--ink);background:#fff;color:var(--ink);border-radius:999px;padding:9px 20px;font:600 16px Inter,sans-serif;text-decoration:none;cursor:pointer;margin:4px 2px}
.btn.primary{background:var(--acc);border-color:var(--acc);color:#fff}.btn.primary:hover{background:var(--acch);border-color:var(--acch);color:#fff}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.lgrid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}
.lv{display:flex;flex-direction:column;align-items:center;background:#fff;border-radius:16px;box-shadow:var(--sh);padding:12px 6px;text-decoration:none;transition:transform .15s,box-shadow .15s}
a.lv:hover{transform:translateY(-2px);box-shadow:var(--sh2);color:var(--ink)}.lv b{font-size:26px;font-weight:800;line-height:1.1}.lv span{color:var(--acc);font-size:14px;letter-spacing:1px}.lv.ok b{color:var(--ok)}.lv.lock{opacity:.5}
.glab{font-size:22px;margin:1.4em 0 .6em}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding:0;list-style:none}.steps li{background:#fff;border-radius:20px;box-shadow:var(--sh);padding:18px}.steps b{display:block;font-family:Outfit;font-size:20px}
.steps svg{width:30px;height:30px;fill:none;stroke:var(--acc);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
details.faq{background:#fff;border-radius:16px;box-shadow:var(--sh);padding:12px 18px;margin:10px 0}details.faq summary{font-weight:600;cursor:pointer}
.prose{max-width:70ch}.article{max-width:760px}.article .game{max-width:300px;margin:16px 0 24px}
.paper{background:#fff;border-radius:20px;box-shadow:var(--sh);padding:8px 28px 24px;max-width:780px}
.kv th{text-align:left;padding:4px 16px 4px 0;vertical-align:top}
.nums{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.num{background:#fff;border-radius:20px;box-shadow:var(--sh);padding:16px;text-align:center}.num b{display:block;font-size:40px;font-weight:800}.num span{color:var(--mut);font-size:15px}
#chart{display:flex;align-items:flex-end;gap:8px;height:180px;background:#fff;border-radius:20px;box-shadow:var(--sh);padding:16px}.bar{flex:1;background:var(--acc);border-radius:8px 8px 0 0;position:relative;min-width:14px}.bar span{position:absolute;top:-22px;width:100%;text-align:center;font-size:13px}
.daytop{display:flex;flex-wrap:wrap;gap:8px 20px;align-items:baseline;color:var(--mut)}
footer{margin-top:56px;padding:28px 0 40px;font-size:15px;color:var(--mut);border-top:1px solid rgba(35,31,32,.1)}footer ul{display:flex;flex-wrap:wrap;gap:6px 18px;list-style:none;padding:0}footer a{color:var(--ink)}
.cookie{position:fixed;left:16px;bottom:16px;z-index:30;background:#fff;border-radius:14px;box-shadow:var(--sh2);padding:8px 10px 8px 14px;display:flex;gap:10px;align-items:center;font-size:13px;line-height:1.4;max-width:360px}.cookie[hidden]{display:none}.cookie p{margin:0}.cookie .btn{padding:4px 14px;font-size:14px;margin:0;flex:none}
@media (max-width:760px){
 h1{font-size:30px}.hero h1{font-size:26px}h2{font-size:24px}
 nav.main{display:none}.menu{display:block}header.top .wrap{height:56px}
 .hero{grid-template-columns:1fr;grid-template-areas:"t" "g" "c";margin-top:0}.hero .lead{display:none}.hero h1{margin:0 0 8px}
 .bcard{padding:8px}.board.big{width:calc(var(--n)*36px)}
 .tools{position:sticky;bottom:0;z-index:5;background:linear-gradient(180deg,rgba(243,227,192,0),#f2e6cf 30%);padding-bottom:calc(8px + env(safe-area-inset-bottom));gap:18px}
 .lgrid{grid-template-columns:repeat(3,1fr)}.steps{grid-template-columns:1fr}.nums{grid-template-columns:repeat(2,1fr)}.paper{padding:4px 18px 18px}
 .pill{font-size:14px;padding:5px 12px}
 .cookie{left:0;right:0;bottom:0;max-width:none;border-radius:0;padding:6px 10px calc(6px + env(safe-area-inset-bottom)) 14px;box-shadow:0 -4px 16px rgba(35,31,32,.12)}
 body.ckon .tools{bottom:var(--ckh,48px)}
 .hero h1{font-size:28px;line-height:1.15}.hero .h1x{display:none}
}
@media (prefers-reduced-motion:reduce){.ar{transition-duration:1ms}.confetti{display:none}}
