:root{color-scheme:dark;--ink:#d3d8dd;--shade:#1f21259e;font-family:ui-sans-serif,system-ui,-apple-system,sans-serif}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;color:var(--ink);background:#1f2125;overflow:hidden}#scene{touch-action:none;width:100%;height:100%;display:block;position:fixed;inset:0}#hint{left:50%;bottom:calc(1.6rem + env(safe-area-inset-bottom));background:var(--shade);backdrop-filter:blur(8px)saturate(.6);letter-spacing:.04em;white-space:nowrap;pointer-events:none;border-radius:999px;padding:.45rem .9rem;font-size:.85rem;transition:opacity .5s;position:fixed;transform:translate(-50%)}#hint.gone{opacity:0}#pause{z-index:5;color:inherit;font:inherit;cursor:pointer;touch-action:none;background:0 0;border:0;position:fixed;inset:0}#pause[hidden]{display:none}#pause span{left:50%;bottom:calc(1.6rem + env(safe-area-inset-bottom));background:var(--shade);backdrop-filter:blur(8px)saturate(.6);letter-spacing:.04em;white-space:nowrap;border-radius:999px;align-items:center;min-height:44px;padding:0 1.1rem;font-size:.95rem;display:flex;position:absolute;transform:translate(-50%)}#pause:focus-visible span{outline:2px solid var(--ink);outline-offset:3px}#pause:not([hidden])~#dial,#pause:not([hidden])~#hint{visibility:hidden}#upgrades{left:50%;bottom:calc(1.2rem + env(safe-area-inset-bottom));z-index:4;width:min(34rem, calc(100vw - 1.4rem - env(safe-area-inset-left) - env(safe-area-inset-right)));max-height:calc(44.6dvh - 1.2rem - 8px - env(safe-area-inset-bottom));overscroll-behavior:contain;touch-action:pan-y;gap:.5rem;display:flex;position:fixed;overflow-y:auto;transform:translate(-50%)}#upgrades[hidden]{display:none}#upgrades.is-folding{pointer-events:none;animation:.3s ease-in forwards upgrades-fold}@keyframes upgrades-fold{to{opacity:0;transform:translate(-50%,2rem)}}.upgrade{background:var(--shade);backdrop-filter:blur(8px)saturate(.6);min-width:0;min-height:44px;color:inherit;font:inherit;text-align:center;cursor:pointer;touch-action:pan-y;border:1px solid #d3d8dd3d;border-radius:14px;flex-direction:column;flex:1 1 0;align-items:center;gap:.25rem;padding:.7rem .45rem;font-size:.78rem;line-height:1.25;display:flex}.upgrade strong{letter-spacing:.02em;font-size:.9rem}.upgrade-mark{flex:none;width:1.9em;height:1.9em}.upgrade-diagram{opacity:.8;flex:none;width:4em;height:2em}.upgrade-pair{border-top:1px solid #d3d8dd3d;flex-wrap:wrap;justify-content:center;align-items:center;gap:.15em .3em;margin-top:.15rem;padding-top:.3rem;font-style:italic;display:flex}.upgrade-pair-mark{flex:none;width:1.2em;height:1.2em}.upgrade-join{opacity:.7;background:currentColor;flex:none;width:.7em;height:2px}.upgrade:hover{border-color:#d3d8dd99}.upgrade:focus-visible{outline:2px solid var(--ink);outline-offset:2px}#upgrades:not([hidden])~#offer,#upgrades:not([hidden])~#dial,#upgrades:not([hidden])~#hint,:root:has(#upgrades:not([hidden])) .sign:not(.is-cue){visibility:hidden}#kept{left:50%;bottom:calc(4.4rem + env(safe-area-inset-bottom));z-index:3;background:var(--shade);backdrop-filter:blur(8px)saturate(.6);letter-spacing:.04em;white-space:nowrap;opacity:0;pointer-events:none;border-radius:999px;align-items:center;gap:.45rem;margin:0;padding:.4rem .9rem .4rem .6rem;font-size:.85rem;display:flex;position:fixed;transform:translate(-50%)}#kept[hidden]{display:none}#kept.is-saying{animation:1.8s ease-out forwards kept-say}.kept-mark{flex:none;width:1.5em;height:1.5em}@keyframes kept-say{0%{opacity:0;transform:translate(-50%,.4rem)}12%,75%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%)}}@media (width<=30em){#upgrades{flex-direction:column;gap:.4rem}.upgrade{text-align:left;flex:none;grid-template-columns:2.4rem 1fr auto;align-items:center;gap:.1rem .6rem;padding:.55rem .9rem .55rem .5rem;display:grid}.upgrade-mark{grid-row:span 2;justify-self:center}.upgrade-diagram{grid-area:1/3/span 2}.upgrade strong,.upgrade-effect{grid-column:2}.upgrade-pair{grid-column:2/span 2;justify-content:flex-start}}#tally{left:50%;top:calc(1.1rem + env(safe-area-inset-top));background:var(--shade);backdrop-filter:blur(8px)saturate(.6);font-variant-numeric:tabular-nums;letter-spacing:.04em;white-space:nowrap;pointer-events:none;border-radius:999px;align-items:center;gap:.7rem;padding:.4rem .85rem;font-size:.9rem;transition:background-color .25s,transform .25s;display:flex;position:fixed;transform:translate(-50%)}#tally.paying{background:#604c1ab8;transform:translate(-50%)scale(1.07)}.tally-count,.tally-cents{align-items:center;gap:.3rem;display:inline-flex}.tally-mark{fill:currentColor;width:.55em;height:1.1em}.tally-wide{width:.95em}.tally-count.is-dry{color:#e5483a}.tally-cents{color:#e6bb3c}.tally-flyer{color:#f4f1e8;filter:drop-shadow(0 1px 2px #000c);pointer-events:none;will-change:transform;font-size:.9rem;line-height:0;display:block;position:fixed;top:0;left:0}.tally-flyer[hidden]{display:none}#laufzettel{left:50%;top:calc(3.7rem + env(safe-area-inset-top));max-width:calc(100vw - 32px - env(safe-area-inset-left) - env(safe-area-inset-right));color:#262b31;font-variant-numeric:tabular-nums;letter-spacing:.03em;white-space:nowrap;pointer-events:none;background:#d9d3c3;border-radius:.25rem;align-items:center;gap:.55rem;padding:.32rem .75rem;font-size:.8rem;transition:opacity .4s .9s,transform .4s .9s;animation:.35s ease-out zettel-in;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 .25rem .9rem #0006}.zettel-pips{letter-spacing:.08em;opacity:.7;font-size:.6rem}.zettel-count{font-weight:700}.zettel-reward{color:#8a6a12;font-weight:700}.zettel-need{color:#b03a2b;font-weight:700}.zettel-need:empty{display:none}.zettel-stamp{color:#c0392b;letter-spacing:.1em;text-transform:uppercase;opacity:0;background:#d9d3c3cc;border:2px double #c0392b;border-radius:.2rem;padding:.05rem .45rem;font-size:.72rem;font-weight:700;position:absolute;top:50%;left:50%;translate:-50% -50%;rotate:-4deg}.zettel-stamp.is-inked{animation:1.1s ease-out zettel-stamp}#laufzettel.is-folded{opacity:0;transform:translate(-50%)translateY(-.6rem)}@keyframes zettel-in{0%{opacity:0;transform:translate(-50%)translateY(-.5rem)}}@keyframes zettel-stamp{0%{opacity:0;scale:1.8}18%{opacity:1;scale:1}70%{opacity:1;scale:1}to{opacity:0;scale:1}}#again{z-index:5;padding:0 .5rem calc(1.2rem + env(safe-area-inset-bottom));cursor:pointer;touch-action:none;flex-wrap:wrap;place-content:flex-end center;align-items:flex-end;gap:.5rem;display:flex;position:fixed;inset:0}#again[hidden]{display:none}#again button{background:var(--shade);backdrop-filter:blur(8px)saturate(.6);min-height:44px;color:inherit;font:inherit;letter-spacing:.04em;white-space:nowrap;cursor:pointer;border:0;border-radius:999px;align-items:center;display:flex}#again .again-run{min-height:48px;padding:0 1.2rem;font-size:1rem}#again button{max-width:100%}#again .again-seed{opacity:.8;padding:0 .85rem;font-size:.8rem}#again button:focus-visible{outline:2px solid var(--ink);outline-offset:3px}#again:not([hidden])~#hint{visibility:hidden}#resume{left:50%;bottom:calc(4.4rem + env(safe-area-inset-bottom));background:var(--shade);backdrop-filter:blur(8px)saturate(.6);min-height:44px;color:inherit;font:inherit;letter-spacing:.04em;white-space:nowrap;opacity:.85;cursor:pointer;border:0;border-radius:999px;align-items:center;padding:0 .95rem;font-size:.8rem;display:flex;position:fixed;transform:translate(-50%)}#resume[hidden]{display:none}#resume:focus-visible{outline:2px solid var(--ink);outline-offset:3px}#offer{left:50%;bottom:calc(4.4rem + env(safe-area-inset-bottom));z-index:3;background:var(--shade);backdrop-filter:blur(8px)saturate(.6);min-height:44px;color:inherit;font:inherit;letter-spacing:.04em;white-space:nowrap;cursor:pointer;border:1px solid #d3d8dd3d;border-radius:999px;align-items:center;padding:0 1.1rem;font-size:.9rem;display:flex;position:fixed;transform:translate(-50%)}#offer[hidden]{display:none}#offer:focus-visible{outline:2px solid var(--ink);outline-offset:3px}#facts{left:50%;bottom:calc(4.8rem + env(safe-area-inset-bottom));width:max-content;max-width:calc(100vw - 32px - env(safe-area-inset-left) - env(safe-area-inset-right));color:#262b31;font-variant-numeric:tabular-nums;letter-spacing:.04em;white-space:nowrap;pointer-events:none;z-index:2;background:#d9d3c3;border-radius:.35rem;flex-direction:column;align-items:center;gap:.15rem;padding:0 0 .75rem;font-size:.85rem;display:flex;position:fixed;overflow:hidden;transform:translate(-50%);box-shadow:0 .4rem 1.4rem #00000073}#facts.is-beside{white-space:normal;left:0;transform:none}.facts-band{letter-spacing:.08em;background:#e6bb3c;justify-content:space-between;align-self:stretch;gap:1.4rem;margin-bottom:.45rem;padding:.3rem .9rem;font-size:.72rem;font-weight:600;display:flex}.facts-berlin{letter-spacing:.18em;text-transform:uppercase;opacity:.7;margin:0 1.2rem .15rem;font-size:.72rem}.facts-how{letter-spacing:.12em;margin:0 1.2rem .3rem;font-size:1rem;font-weight:600}.facts-far{opacity:.85;margin:-.1rem 1.2rem .15rem;font-style:italic}.facts-why{letter-spacing:.02em;margin:.25rem 1.2rem .35rem;font-weight:600}.facts-fact{opacity:.78;margin:0 1.2rem}.facts-build{justify-content:center;align-items:center;gap:.3rem;margin:.2rem 1.2rem 0;display:flex}.facts-mark{flex:none;width:1.15em;height:1.15em}.facts-named{letter-spacing:.02em;margin-left:.3rem;font-weight:700}.facts-lesson{margin:.1rem 1.2rem 0;font-weight:600}.facts-next{opacity:.78;margin:.1rem 1.2rem 0;font-style:italic}.facts-best{opacity:.7;margin:.1rem 1.2rem 0;font-size:.8em}.facts-stamps{white-space:nowrap;justify-content:center;gap:.35rem .5rem;max-width:calc(100% - 1.8rem);margin:.4rem .9rem 0;padding:.15rem .3rem;display:flex;overflow:hidden}.facts-stamp{color:#1d4e9c;letter-spacing:.1em;text-transform:uppercase;opacity:.85;border:2px double #1d4e9c;border-radius:.2rem;padding:.12rem .4rem;font-size:.66rem;font-weight:700;rotate:-3deg}.facts-stamp:nth-child(2n){rotate:2.5deg}.facts-stamp:nth-child(3n){rotate:-1deg}.facts-fine,.facts-slip{color:#c0392b;border-color:#c0392b}.stick{pointer-events:none;z-index:3;border:2px solid #d3d8dd47;border-radius:50%;width:112px;height:112px;margin:-56px 0 0 -56px;position:fixed;top:0;left:0}.stick-nub{background:#d3d8dd57;border-radius:50%;width:44px;height:44px;margin:-22px 0 0 -22px;position:absolute;top:50%;left:50%}@media (width<=430px){#tally{gap:.45rem;padding:.34rem .6rem;font-size:.78rem}.tally-count,.tally-cents{gap:.2rem}#laufzettel{top:calc(3.3rem + env(safe-area-inset-top));gap:.4rem;padding:.28rem .55rem;font-size:.74rem}}:root.is-still #hint,:root.is-still #tally,:root.is-still #laufzettel{transition:none}:root.is-still #tally.paying{transform:translate(-50%)}:root.is-still #laufzettel{animation:none}:root.is-still #laufzettel.is-folded{transform:translate(-50%)}:root.is-still .zettel-stamp.is-inked,:root.is-still #kept.is-saying,:root.is-still #upgrades.is-folding,:root.is-still .lookout{animation-name:still-fade}@keyframes still-fade{0%,70%{opacity:1}to{opacity:0}}#signs{pointer-events:none;z-index:2;position:fixed;inset:0}.sign{letter-spacing:.06em;white-space:nowrap;opacity:.88;flex-direction:column;align-items:center;gap:.1rem;font-size:.72rem;display:flex;position:fixed;top:0;left:0}.sign[hidden]{display:none}.sign-word{background:var(--shade);backdrop-filter:blur(6px)saturate(.6);border-radius:999px;padding:.2rem .5rem}.sign-word .tally-mark{vertical-align:-.2em;margin-right:.3em}.sign.is-struck{opacity:.4}.sign.is-struck .sign-word,.sign.is-gone .sign-word{text-decoration:line-through}.sign.is-gone{opacity:.4}.sign.is-owned .sign-word{outline-offset:-1px;outline:1px solid}.sign.is-owned .sign-word:before{content:"✓ "}.sign.is-waiting{opacity:.55}.sign.is-waiting .sign-word{outline-offset:-1px;outline:1px dashed}.sign.is-short{opacity:.7}.sign.is-short .sign-word{outline-offset:-1px;outline:1px dotted}.sign.is-short .sign-word:before{content:"○ "}.sign.is-urgent{opacity:1;color:#f2b64a}.sign.is-ask{opacity:.75}.sign.is-collapsed .sign-word{display:none}.sign.is-float{opacity:1;color:#e6bb3c;text-shadow:0 1px 3px #000000b3;font-weight:700}.sign.is-float .sign-word{backdrop-filter:none;background:0 0;animation:1.1s ease-out forwards sign-float}.sign.is-float.is-trade .sign-word{background:#141518c7;border-radius:999px;padding:.2rem .65rem;font-size:1.35rem;animation:1.7s cubic-bezier(.2,.8,.3,1) forwards trade-float}.sign.is-float.is-go{color:#8fe09a}.sign.is-float.is-water{color:#a9cdf5}.sign.is-float.is-flame{color:#ffd58a}.sign.is-float.is-amber{color:#f2c46b}@keyframes trade-float{0%{opacity:0;translate:0 .6rem;scale:.5}12%{opacity:1;scale:1.2}22%{scale:1}70%{opacity:1}to{opacity:0;translate:0 -2.8rem}}@keyframes sign-float{0%{opacity:0;translate:0 .4rem}15%{opacity:1}70%{opacity:1}to{opacity:0;translate:0 -1.6rem}}.sign.is-float.is-call{color:#f3e6c8}.sign.is-float.is-call .sign-word{background:#14151899;border-radius:999px;padding:.15rem .55rem;font-size:1.05rem;font-style:italic;animation:.4s ease-out forwards call-float}@keyframes call-float{0%{opacity:0;translate:0 .4rem}to{opacity:1;translate:0}}:root.is-still .sign.is-float .sign-word,:root.is-still .sign.is-float.is-trade .sign-word{animation-name:still-fade}:root.is-still .sign.is-float.is-call .sign-word{animation-name:call-fade}@keyframes call-fade{0%{opacity:0}to{opacity:1}}.sign.is-cue{opacity:1;text-shadow:0 1px 3px #000000b3;gap:.05rem}.sign.is-cue .sign-mark{font-size:1.15rem;font-weight:700;line-height:1}.sign.is-cue .sign-word{font-weight:600}.sign.is-heard{color:#f2c46b}.sign.is-has{color:#e5483a}.sign.is-lost{color:#c8ced8;opacity:.7}.sign.is-whistles{color:#f1efe6}.sign.is-cue .sign-arrow,.sign.is-cue.is-edge .sign-word,.sign.is-cue.is-edge .sign-mark{display:none}.sign.is-cue.is-edge .sign-arrow{font-size:1.1rem;display:block}.lookout{color:#fff3d6;text-shadow:0 1px 3px #000000e6;justify-content:center;align-items:center;font-size:.85rem;font-weight:700;animation:2.4s ease-out forwards lookout-flash;display:flex;position:fixed}.lookout.is-left,.lookout.is-right{width:3.5rem;top:0;bottom:0}.lookout.is-top,.lookout.is-bottom{height:3.5rem;left:0;right:0}.lookout.is-left{background:linear-gradient(90deg,#f2c46b 0 6px,#f2c46b80 6px,#0000);left:0}.lookout.is-right{background:linear-gradient(270deg,#f2c46b 0 6px,#f2c46b80 6px,#0000);right:0}.lookout.is-top{background:linear-gradient(#f2c46b 0 6px,#f2c46b80 6px,#0000);top:0}.lookout.is-bottom{background:linear-gradient(0deg,#f2c46b 0 6px,#f2c46b80 6px,#0000);bottom:0}.lookout.is-left .lookout-word,.lookout.is-right .lookout-word{writing-mode:vertical-rl}.lookout.is-left .lookout-word{transform:rotate(180deg)}@keyframes lookout-flash{0%,20%{opacity:1}30%{opacity:.3}40%,60%{opacity:1}to{opacity:0}}.sign-arrow{transform:rotate(var(--turn,0deg));font-size:.6rem;line-height:1}#dial{left:50%;bottom:calc(4.2rem + env(safe-area-inset-bottom));max-width:calc(100vw - 24px - env(safe-area-inset-left) - env(safe-area-inset-right));pointer-events:none;z-index:2;align-items:center;gap:.5rem;display:flex;position:fixed;transform:translate(-50%)}#dial svg{flex:none;width:44px;height:44px;transform:rotate(-90deg)}.dial-word{background:var(--shade);backdrop-filter:blur(8px)saturate(.6);letter-spacing:.04em;white-space:nowrap;text-overflow:ellipsis;border-radius:999px;padding:.35rem .7rem;font-size:.85rem;overflow:hidden}.dial-word:empty{display:none}#dial.is-let-go .dial-run{stroke:#d3d8dd73}#dial.is-let-go .dial-word{color:#d3d8ddbf}.dial-track{fill:#1f21258c;stroke:#d3d8dd38;stroke-width:3px}.dial-run{fill:none;stroke:#e6bb3c;stroke-width:3px;stroke-linecap:round}#debug{top:calc(.9rem + env(safe-area-inset-top));right:calc(.9rem + env(safe-area-inset-right));z-index:4;background:var(--shade);backdrop-filter:blur(8px)saturate(.6);user-select:none;border:1px solid #d3d8dd24;border-radius:12px;flex-direction:column;gap:6px;width:200px;padding:10px;font-size:12px;display:flex;position:fixed}#debug:has(.debug-bar[aria-expanded=false]){width:fit-content}.debug-bar,.debug-section{color:#d3d8dd9e;font:inherit;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;padding:0;font-size:10px;font-weight:600;display:flex}.debug-bar:hover,.debug-section:hover,.debug-section[aria-expanded=true]{color:var(--ink)}.debug-bar .chevron,.debug-section .chevron{transition:transform .12s}.debug-bar[aria-expanded=true] .chevron,.debug-section[aria-expanded=true] .chevron{transform:rotate(90deg)}.debug-section{margin-top:2px}.debug-body,.debug-list{flex-direction:column;gap:5px;display:flex}.debug-bar[aria-expanded=false]+.debug-body,.debug-list[hidden]{display:none}.debug-grant,.debug-action{color:var(--ink);font:inherit;cursor:pointer;background:#d3d8dd0d;border:none;border-radius:8px;align-items:center;gap:7px;padding:6px 8px;text-decoration:none;display:flex}.debug-grant:hover,.debug-action:hover{background:#d3d8dd1f}.debug-grant .label,.debug-action .label{text-align:left;flex:1;min-width:0}.debug-grant i{opacity:.6;font-variant-numeric:tabular-nums;font-style:normal}.debug-grant b{color:#e6bb3c;font-variant-numeric:tabular-nums}.debug-action b{color:#8fb4d8}.debug-camera{background:#d3d8dd0d;border-radius:8px;align-items:center;gap:8px;padding:6px 8px;display:flex}.debug-camera input{accent-color:#8fb4d8;cursor:pointer;flex:1;min-width:0;margin:0}.debug-camera output{text-align:right;color:#8fb4d8;font-variant-numeric:tabular-nums;min-width:3.4em}.debug-stats{opacity:.7;font-variant-numeric:tabular-nums}.debug-story{font-variant-numeric:tabular-nums;flex-direction:column;gap:3px;list-style:none;display:flex}.debug-story li{opacity:.45;align-items:center;gap:4px;display:flex}.debug-story li:before{content:"·";text-align:center;width:1em}.debug-story li[data-state=done]{opacity:.8}.debug-story li[data-state=done]:before{content:"✓";color:#7ed696}.debug-story li[data-state=next]{opacity:1;color:#e6bb3c}.debug-story li[data-state=next]:before{content:"▸"}
