:root{--ink:#3a2418;--cream:#fff6e6;--paper:#fff6e6f0;--edge:#78462840;--gold:#f2b33d;--brick:#c8323a;--teal:#2f6f62;--plum:#6b3f5e;--nod:#3f9a5a;--jog:#ef8a2a;--face:#d4433b;--cold:#9a8a7e;--caught:#d9a52a;--nobody:#8a6ab0;--read:#3a9ab0;--font:ui-rounded, "SF Pro Rounded", "Nunito", "Segoe UI", system-ui, sans-serif;--serif:Georgia, "Times New Roman", serif}*{box-sizing:border-box}html,body{height:100%;color:var(--ink);font-family:var(--font);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;touch-action:none;overscroll-behavior:none;background:#2b1b14;margin:0;overflow:hidden}#game{width:100%;height:100%;display:block;position:fixed;inset:0}#vignette{pointer-events:none;z-index:1;background:radial-gradient(at 50% 45%,#0000 55%,#3c190a52 100%);position:fixed;inset:0}.hidden{display:none!important}.card{background:var(--paper);z-index:6;touch-action:auto;border:2px solid #e8cfa6;border-radius:26px;position:fixed;left:50%;transform:translate(-50%);box-shadow:inset 0 2px #fff,0 26px 70px #280f0573}.title-card{text-align:center;width:min(92vw,470px);padding:26px 26px 18px;animation:.6s cubic-bezier(.2,1.4,.4,1) both rise;top:max(6vh,20px)}@keyframes rise{0%{opacity:0;transform:translate(-50%,24px)scale(.96)}}.title-card h1{font:900 clamp(44px, 10vw, 66px) / 1 var(--serif);color:#b0463a;letter-spacing:.01em;text-shadow:0 3px #f2c55a,0 6px 18px #b0463a40;margin:0 0 6px}.title-card .tag{margin:10px 0 6px;font-size:18px;font-weight:800;line-height:1.35}.title-card .goal{color:#6a4430;margin:8px 0;font-size:15px;line-height:1.45}.title-card .how{color:var(--teal);background:#2f6f621a;border-radius:14px;margin:10px auto 4px;padding:8px 12px;font-size:14px;font-weight:700}.title-card .seed{color:#9a7a60;letter-spacing:.04em;text-transform:uppercase;margin:10px 0 0;font-size:12px;font-weight:700}.big-btn{font:900 18px var(--font);color:#3a1a08;cursor:pointer;background:linear-gradient(#ffe08a,#f2a83a);border:0;border-radius:999px;margin-top:14px;padding:14px 28px;transition:transform 80ms;box-shadow:0 5px #b06a1a,0 12px 26px #f0962859}.big-btn:active{transform:translateY(4px);box-shadow:0 1px #b06a1a}.big-btn:disabled{filter:grayscale(.6);opacity:.6;cursor:progress}.big-btn.alt{color:#fff6e6;background:linear-gradient(#3f8a7a,#2f6f62);box-shadow:0 5px #1d4a40}.text-btn{font:800 14px var(--font);color:#8a5a3a;text-underline-offset:3px;cursor:pointer;background:0 0;border:0;margin-top:10px;text-decoration:underline}.small-btn{font:800 13px var(--font);color:var(--cream);cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#2b1b1499;border:1px solid #ffe6c84d;border-radius:999px;padding:7px 12px}.small-btn.off{opacity:.5;text-decoration:line-through}.corner{z-index:8;gap:6px;display:flex;position:fixed;bottom:30px;right:10px}footer{z-index:7;pointer-events:none;justify-content:center;gap:14px;font-size:11px;display:flex;position:fixed;bottom:6px;left:0;right:0}footer a{color:#fff0dccc;pointer-events:auto;text-shadow:0 1px 3px #0009;text-decoration:none}.hud-top{top:max(10px, env(safe-area-inset-top));z-index:4;pointer-events:none;justify-content:space-between;align-items:flex-start;gap:10px;display:flex;position:fixed;left:10px;right:10px}.tokens{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#2b1b148c;border-radius:999px;gap:5px;padding:8px 10px;display:flex}.token{background:#fff0dc38;border-radius:50%;width:14px;height:14px;transition:background .3s;box-shadow:inset 0 0 0 2px #fff0dc59}.token.now{animation:1s infinite alternate pulse;box-shadow:inset 0 0 0 2px #ffe08a,0 0 0 3px #ffe08a59}.token.nod,.chip.nod{--c:var(--nod)}.token.read,.chip.read{--c:var(--read)}.token.jog,.chip.jog{--c:var(--jog)}.token.face,.chip.face{--c:var(--face)}.token.cold,.chip.cold{--c:var(--cold)}.token.caught,.chip.caught{--c:var(--caught)}.token.nobody,.chip.nobody{--c:var(--nobody)}.token[class*=\ nod],.token[class*=\ read],.token[class*=\ jog],.token[class*=\ face],.token[class*=\ cold],.token[class*=\ caught],.token[class*=\ nobody]{background:var(--c);animation:.35s cubic-bezier(.2,1.8,.4,1) pop;box-shadow:inset 0 0 0 2px #ffffff80}@keyframes pop{0%{transform:scale(.2)}}@keyframes pulse{to{transform:scale(1.18)}}.meter{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:var(--cream);background:#2b1b148c;border-radius:16px;flex-direction:column;align-items:flex-end;padding:6px 12px 7px;display:flex}.awk{font:900 24px var(--font);font-variant-numeric:tabular-nums;line-height:1;transition:color .2s}.awk.rising{color:#ff9a6a;animation:.12s infinite jitter}@keyframes jitter{50%{transform:translate(1px,-1px)rotate(-1deg)}}.awk-label{letter-spacing:.06em;text-transform:uppercase;opacity:.8;font-size:10px;font-weight:800}.who{color:var(--cream);font:800 14px var(--font);letter-spacing:.05em;text-transform:uppercase;text-shadow:0 2px 8px #280f05cc;opacity:0;z-index:4;pointer-events:none;position:fixed;top:64px;left:50%;transform:translate(-50%)}.who.show{animation:2.4s ease-out who}@keyframes who{0%{opacity:0;transform:translate(-50%,8px)}15%,70%{opacity:1;transform:translate(-50%)}to{opacity:0}}.stamp{background:var(--cream);border:3px solid var(--c,var(--teal));color:var(--c,var(--teal));opacity:0;pointer-events:none;z-index:5;text-align:center;border-radius:14px;flex-direction:column;align-items:center;gap:2px;max-width:88vw;padding:8px 18px;display:flex;position:fixed;top:22%;left:50%;transform:translate(-50%)rotate(-4deg);box-shadow:0 10px 30px #280f0559}.stamp-main{font:900 22px var(--font)}.stamp-plus{font:900 15px var(--font);color:var(--face)}.stamp.nod{--c:var(--nod)}.stamp.read{--c:var(--read)}.stamp.jog{--c:var(--jog)}.stamp.face{--c:var(--face)}.stamp.cold{--c:var(--cold)}.stamp.caught{--c:var(--caught)}.stamp.nobody{--c:var(--nobody)}.stamp.show{animation:2.2s cubic-bezier(.2,1.6,.4,1) stamp}@keyframes stamp{0%{opacity:0;transform:translate(-50%)rotate(-4deg)scale(1.8)}12%{opacity:1;transform:translate(-50%)rotate(-4deg)scale(1)}80%{opacity:1}to{opacity:0;transform:translate(-50%,-10px)rotate(-4deg)scale(1)}}.hold-hint{background:var(--cream);color:var(--ink);font:900 16px var(--font);opacity:0;pointer-events:none;z-index:5;white-space:nowrap;border-radius:999px;padding:12px 20px;transition:opacity .3s;position:fixed;bottom:64px;left:50%;transform:translate(-50%);box-shadow:0 0 0 4px #ffe08a99,0 10px 30px #280f0559}.hold-hint.show{opacity:1;animation:1.1s infinite alternate breathe}@keyframes breathe{to{transform:translate(-50%)scale(1.06)}}#hud.holding .meter{box-shadow:0 0 0 2px #ffe08ab3}#bubbles{pointer-events:none;z-index:3;position:fixed;inset:0}.bubble{max-width:200px;color:var(--ink);font:800 15px/1.25 var(--font);white-space:nowrap;background:#fffdf8;border:2px solid #3a2418;border-radius:16px;padding:7px 12px;animation:.25s cubic-bezier(.2,1.8,.4,1) bub;position:absolute;top:0;left:0;box-shadow:0 6px 16px #280f054d}.bubble:after{content:"";left:var(--tail,50%);background:#fffdf8;border-bottom:2px solid #3a2418;border-right:2px solid #3a2418;width:12px;height:12px;position:absolute;bottom:-9px;transform:translate(-50%)rotate(45deg)}.mark{color:#3a2418;width:30px;height:30px;font:900 20px var(--font);background:#ffd27a;border:2px solid #3a2418;border-radius:50%;place-items:center;animation:.35s cubic-bezier(.2,2,.4,1) mark;display:grid;position:absolute;top:0;left:0;box-shadow:0 4px 10px #280f054d}@keyframes mark{0%{rotate:-30deg;scale:.1}}.bubble.hero{background:#fff1c8}@keyframes bub{0%{scale:.3}}.end-card{grid-template-columns:minmax(0,300px) 1fr;align-items:center;gap:20px;width:min(94vw,820px);max-height:calc(100vh - 56px);padding:18px;animation:.5s cubic-bezier(.2,1.3,.4,1) both rise2;display:grid;top:50%;overflow:auto;transform:translate(-50%,-50%)}@keyframes rise2{0%{opacity:0;transform:translate(-50%,-46%)scale(.95)}}.clip-frame{aspect-ratio:4/5;background:#3a2418;border-radius:18px;width:100%;overflow:hidden;transform:rotate(-1.5deg);box-shadow:0 0 0 4px #fff,0 0 0 6px #e8cfa6,0 14px 30px #280f0559}.clip-img{object-fit:cover;width:100%;height:100%;display:block}.clip-wait{height:100%;color:var(--cream);font:800 15px var(--font);flex-direction:column;justify-content:center;align-items:center;gap:12px;display:flex}.clip-progress{background:#ffffff26;border-radius:99px;width:60%;height:8px;overflow:hidden}.clip-progress i{background:linear-gradient(90deg,#ffe08a,#f2a83a);width:0;height:100%;transition:width .2s;display:block}.end-side{text-align:center}.end-kicker{letter-spacing:.06em;text-transform:uppercase;color:#9a7a60;margin:0;font-size:12px;font-weight:800}.end-title{font:900 clamp(28px, 5vw, 40px) / 1.05 var(--serif);color:#b0463a;margin:4px 0}.end-line{margin:4px 0 10px;font-size:16px;font-weight:800}.end-best{color:#8a6a50;margin:-4px 0 8px;font-size:13px;font-weight:800}.end-best.new{color:var(--nod);font-size:15px}.end-unlock{color:#3a5a9a;margin:10px 0 0;font-size:14px;font-weight:900}.door-swap{font:900 15px var(--font);cursor:pointer;color:#eef2ff;background:linear-gradient(#3a4a7a,#222a4a);border:0;border-radius:999px;margin-top:10px;padding:10px 18px;box-shadow:0 4px #141a30}.door-swap.bakery{color:#3a1a08;background:linear-gradient(#ffe08a,#f2a83a);box-shadow:0 4px #b06a1a}.doors{flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;margin-top:12px;display:flex}.doors .pick{color:#9a7a60;text-transform:uppercase;letter-spacing:.05em;width:100%;font-size:12px;font-weight:800}.door-btn{font:800 13px var(--font);color:var(--ink);cursor:pointer;background:#fff;border:2px solid #e8cfa6;border-radius:999px;padding:6px 12px}.door-btn.on{background:#fff1e0;border-color:#b0463a}.chips{flex-wrap:wrap;justify-content:center;gap:6px;margin:6px 0 4px;display:flex}.chip{border:2px solid var(--c,#ccc);background:#fff;border-radius:999px;align-items:center;gap:6px;padding:3px 9px 3px 4px;font-size:12px;font-weight:700;display:inline-flex}.chip b{background:var(--c,#ccc);color:#fff;border-radius:999px;padding:1px 7px}.end-buttons{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}@media (max-width:640px){.end-card{grid-template-columns:1fr;gap:10px;max-height:calc(100vh - 50px);padding:12px;animation:none;top:10px;transform:translate(-50%)}.clip-frame{width:min(64vw,260px);margin:4px auto 0}.end-title{font-size:28px}.big-btn{padding:12px 20px;font-size:16px}.title-card{padding:20px 18px 14px}.title-card .goal{font-size:14px}.who{top:58px}.stamp{top:18%}.corner{bottom:26px}}.reduced *,.reduced :after{transition:none!important;animation-duration:.01ms!important;animation-iteration-count:1!important}
