html,body.desk-page{height:100%;overflow:hidden;background:var(--void)}body.desk-page{touch-action:none;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;overscroll-behavior:none}#stage{position:fixed;inset:0;width:100vw;height:100vh;height:100dvh;display:block;outline:none;image-rendering:auto}.only-kb,.only-touch,.only-pad{display:none}.kb .only-kb,.touch .only-touch,.pad .only-pad{display:inline-flex;align-items:center;gap:4px}kbd{display:inline-block;font:inherit;font-size:10px;line-height:1.5;padding:0 5px;border:1px solid currentColor;letter-spacing:1px;min-width:18px;text-align:center}[hidden]{display:none!important}@keyframes wipe-in{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}@keyframes wipe-out{0%{clip-path:inset(0 0 0 0)}to{clip-path:inset(0 0 0 100%)}}@keyframes drop{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:none}}@keyframes rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes pop-in{0%{opacity:0;transform:translate(-50%,-80%)}to{opacity:1;transform:translate(-50%,-100%)}}@keyframes stamp-in{0%{opacity:0;transform:translate(-50%,-50%) rotate(-6deg) scale(1.6)}60%{opacity:1;transform:translate(-50%,-50%) rotate(-3deg) scale(.94)}to{opacity:1;transform:translate(-50%,-50%) rotate(-3deg) scale(1)}}@keyframes bump{0%,to{transform:none}50%{transform:translate(-2px,-2px)}}@keyframes blink{0%,62%{opacity:1}63%,to{opacity:.25}}.title-card{position:fixed;inset:0;z-index:6;pointer-events:none;display:grid;grid-template-rows:1fr auto;justify-items:center;align-items:center;padding:24px 16px calc(44px + env(safe-area-inset-bottom))}.cart{pointer-events:auto;background:var(--paper);border:1px solid var(--ink);box-shadow:4px 4px 0 var(--ink);padding:18px 24px 20px;width:min(470px,100%)}.cart .hero{font-size:clamp(58px,10vw,108px);margin:6px 0 2px;letter-spacing:0}.cart .title{font-size:20px;text-transform:none;letter-spacing:1px}.cart .hint{margin-top:12px;text-wrap:pretty}.press{pointer-events:auto;background:var(--ink);color:var(--paper);border:1px solid var(--paper);padding:12px 20px;font-size:12px;letter-spacing:4px;box-shadow:3px 3px 0 var(--void);animation:blink 1.1s steps(1) infinite}.title-card.gone{animation:wipe-up .28s steps(4) forwards}@keyframes wipe-up{to{clip-path:inset(0 0 100% 0)}}.hud{position:fixed;inset:0;z-index:4;pointer-events:none}.hud>*{pointer-events:none}.banner{position:absolute;left:28px;top:28px;max-width:min(460px,calc(100vw - 56px));background:var(--paper);border:1px solid var(--ink);box-shadow:var(--sticker);padding:10px 14px 12px;display:flex;flex-direction:column;gap:2px;animation:wipe-in .24s steps(4) both}.banner b{font-family:var(--display);font-weight:700;font-size:clamp(28px,3.4vw,42px);line-height:1;color:var(--ink);letter-spacing:0}.banner i{font-style:normal;color:var(--graphite)}.banner.out,.toast.out,.stamp.out,.tut.out{animation:wipe-out .2s steps(3) both}.tracker{position:absolute;right:28px;top:28px;width:260px;background:var(--paper);border:1px solid var(--ink);box-shadow:var(--sticker);padding:9px 12px 11px;animation:drop .2s steps(3) both}.tracker .kicker{margin:0 0 3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tracker .task{margin:0;color:var(--ink);font-size:13px;line-height:1.4;text-wrap:pretty}.tracker .task:first-letter{text-transform:uppercase}.tracker .pips{display:flex;gap:4px;margin-top:7px;flex-wrap:wrap}.tracker .pips:empty{display:none}.tracker .pips i{width:12px;height:12px;border:1px solid var(--ink);background:var(--paper);display:block}.tracker .pips i.on{background:var(--screen)}.tracker.done{background:var(--bone)}.tracker.done .task{color:var(--smoke);text-decoration:line-through;text-decoration-color:var(--ash)}.tracker.bump{animation:bump .16s steps(2)}.map-wrap{position:absolute;right:28px;top:132px;display:flex;flex-direction:column;align-items:flex-end;gap:4px}.minimap{width:110px;height:110px;background:var(--paper);border:1px solid var(--ink);box-shadow:var(--sticker);image-rendering:auto}.map-note{margin:0;padding:2px 6px;background:var(--scrim);color:#efe9dc;font-size:10px;letter-spacing:2px;text-transform:uppercase}.bubble{position:absolute;left:0;top:0;transform:translate(-50%,-100%);display:flex;gap:6px;pointer-events:auto;animation:pop-in .16s steps(2) both}.bubble .act{background:var(--paper);color:var(--smoke);border:1px solid var(--ink);box-shadow:var(--sticker);padding:5px 9px;font-size:10px;letter-spacing:2px;text-transform:uppercase;white-space:nowrap;display:flex;align-items:center;gap:6px;pointer-events:auto}.bubble .act b{font-family:var(--display);font-weight:700;font-size:15px;letter-spacing:1px;color:var(--ink)}.bubble .act kbd{color:var(--ink)}.bubble .act:first-child:after{content:"";position:absolute;left:50%;bottom:-7px;width:12px;height:7px;margin-left:-6px;background:var(--ink);clip-path:polygon(0 0,100% 0,50% 100%)}.bubble .act{position:relative}.bubble .act:active{transform:translate(2px,2px);box-shadow:0 0 0 var(--ink)}.inspect{position:absolute;right:28px;top:50%;transform:translateY(-50%);width:min(300px,calc(100vw - 56px));background:var(--paper);border:1px solid var(--ink);box-shadow:4px 4px 0 var(--ink);padding:12px 14px;animation:wipe-in .2s steps(3) both}.inspect .kicker{margin:0 0 4px}.inspect .title{font-size:26px;text-transform:none;letter-spacing:0;font-weight:700;margin:0 0 6px;line-height:1}.inspect .text{margin:0 0 8px;color:var(--graphite);text-wrap:pretty}.inspect .hint{margin:0 0 8px;padding:5px 8px;border:1px solid #a9dcb2;color:#2f7a3c;font-size:11px;letter-spacing:1px;text-transform:uppercase}.inspect .close{margin:0;color:var(--fog);letter-spacing:1px;text-transform:uppercase;font-size:10px}.dialog{position:absolute;left:50%;bottom:calc(28px + env(safe-area-inset-bottom));translate:-50% 0;width:min(620px,calc(100vw - 32px));display:flex;gap:12px;align-items:stretch;background:var(--paper);border:1px solid var(--ink);box-shadow:4px 4px 0 var(--ink);padding:12px;pointer-events:auto;animation:rise .18s steps(3) both}.dialog .face{width:84px;height:84px;flex:none}.dialog .face canvas{width:100%;height:100%;display:block;image-rendering:pixelated}.dialog .speech{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.dialog .speech b{font-family:var(--display);font-weight:700;font-size:22px;line-height:1;color:var(--ink);letter-spacing:1px}.dialog .speech p{margin:0;font-size:15px;line-height:1.45;color:var(--ink);min-height:44px;text-wrap:pretty}.dialog .speech .more{align-self:flex-end;font-size:10px;letter-spacing:2px;color:var(--smoke);animation:blink .9s steps(1) infinite}.toast{position:absolute;left:50%;top:28px;translate:-50% 0;background:var(--ink);color:var(--paper);padding:7px 12px;font-size:11px;letter-spacing:2px;text-transform:uppercase;box-shadow:2px 2px 0 var(--void);animation:drop .16s steps(2) both;white-space:nowrap}.stamp{position:absolute;left:50%;top:42%;transform:translate(-50%,-50%) rotate(-3deg);background:var(--paper);border:3px solid var(--screen);box-shadow:4px 4px 0 var(--ink);outline:1px solid var(--ink);padding:14px 22px 12px;text-align:center;display:flex;flex-direction:column;gap:2px;animation:stamp-in .3s steps(4) both}.stamp b{font-family:var(--display);font-weight:700;font-size:clamp(36px,6vw,64px);line-height:1;color:var(--ink);text-transform:uppercase}.stamp i{font-style:normal;color:var(--smoke);font-size:11px;letter-spacing:2px;text-transform:uppercase}.tut{position:fixed;left:50%;bottom:calc(28px + env(safe-area-inset-bottom));translate:-50% 0;z-index:4;margin:0;padding:8px 12px;background:var(--scrim);color:#efe9dc;font-size:10px;letter-spacing:2px;text-transform:uppercase;display:flex;gap:16px;white-space:nowrap;pointer-events:none;animation:rise .16s steps(2) both}.legend-row{position:fixed;left:0;bottom:0;z-index:2;pointer-events:none}.legend-row .legend{display:block;padding:3px 7px;background:var(--scrim);font-size:10px;letter-spacing:2px;text-transform:uppercase;color:#efe9dc;line-height:1.5}.legend-row .legend b{color:#8f8778;font-weight:400}.stick{position:fixed;z-index:3;width:104px;height:104px;margin:-52px 0 0 -52px;pointer-events:none;border:1px solid rgba(252,250,244,.8);background:#12100c38;display:grid;place-items:center}.stick i{display:block;width:40px;height:40px;background:var(--paper);border:1px solid var(--ink);box-shadow:var(--sticker)}.pad-btn{position:fixed;z-index:5;display:none;place-items:center;background:var(--paper);color:var(--ink);border:1px solid var(--ink);box-shadow:var(--sticker);font-family:var(--display);font-weight:700;padding:0}.touch.state-play .pad-btn{display:grid}.hop-btn{right:24px;bottom:calc(28px + env(safe-area-inset-bottom));width:76px;height:76px;font-size:20px}.act-btn{right:112px;bottom:calc(40px + env(safe-area-inset-bottom));width:56px;height:56px;font-size:20px}.pause-btn{right:16px;top:calc(16px + env(safe-area-inset-top));width:44px;height:44px;font-size:16px}.pad-btn:active{transform:translate(2px,2px);box-shadow:0 0 0 var(--ink)}.pause,.fail{position:fixed;inset:0;z-index:8;background:#12100c6b;display:grid;place-items:center;padding:16px}.plaque{background:var(--bone);color:var(--graphite);border:1px solid var(--ink);box-shadow:4px 4px 0 var(--ink);width:min(560px,100%);max-height:calc(100dvh - 32px);overflow:auto;padding:18px 20px 14px;animation:drop .12s steps(2) both}.plaque header{padding-bottom:14px}.plaque .who{display:flex;gap:16px;align-items:center;margin-top:10px}.plaque .portrait{width:96px;height:96px;flex:none}.plaque .portrait canvas{width:100%;height:100%;display:block;image-rendering:pixelated}.plaque .guy-name{font-size:clamp(32px,5vw,46px)}.plaque .line{margin:4px 0 0;color:var(--graphite)}.facts{display:grid;grid-template-rows:auto auto;grid-auto-flow:column;grid-auto-columns:1fr;margin:14px 0 0;border-top:1px solid var(--mist);padding-top:10px;gap:2px 12px}.facts dt{font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--smoke)}.facts dd{margin:0;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px}.menu{list-style:none;margin:0;padding:0;border-bottom:1px solid var(--mist)}.menu .row{width:100%;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 12px;background:transparent;border:0;border-top:1px solid var(--mist);font-size:12px;letter-spacing:3px;text-transform:uppercase;color:var(--graphite);text-align:left}.menu .row .val{display:inline-flex;align-items:center;gap:4px;color:var(--ink)}.menu .row .val i{font-style:normal;padding:0 8px;color:var(--smoke);cursor:pointer}.menu .row .val b{font-weight:400;min-width:9ch;text-align:center}.menu .row.sel,.menu .row:focus-visible{background:var(--ink);color:var(--paper);outline:none}.menu .row.sel .val,.menu .row.sel .val i,.menu .row:focus-visible .val{color:var(--paper)}.keys{display:flex;flex-wrap:wrap;gap:6px 14px;margin:12px 0 0;font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--smoke)}.plaque .back{display:inline-block;margin-top:12px;font-size:11px;color:var(--smoke)}.fail .plaque p{margin:8px 0 14px}@media(max-width:760px){.banner{left:16px;top:calc(16px + env(safe-area-inset-top));padding:8px 11px 10px;max-width:calc(100vw - 150px)}.banner b{font-size:26px}.tracker{right:16px;top:calc(70px + env(safe-area-inset-top));width:min(220px,calc(100vw - 32px))}.map-wrap{right:16px;top:auto;bottom:calc(120px + env(safe-area-inset-bottom))}.minimap{width:82px;height:82px}.inspect{right:16px;left:16px;width:auto;top:auto;bottom:calc(130px + env(safe-area-inset-bottom));transform:none}.tut{font-size:9px;gap:10px;bottom:calc(126px + env(safe-area-inset-bottom))}.dialog{bottom:calc(120px + env(safe-area-inset-bottom))}.dialog .face{width:64px;height:64px}.dialog .speech p{font-size:14px}.pause{place-items:end center;padding:0}.plaque{width:100%;max-height:88dvh;box-shadow:none;border-width:1px 0 0;padding-bottom:calc(14px + env(safe-area-inset-bottom))}.plaque .portrait{width:72px;height:72px}.facts{grid-template-rows:auto auto auto auto;grid-auto-flow:row;grid-template-columns:auto 1fr}}@media(prefers-reduced-motion:reduce){.press,.dialog .speech .more{animation:none}}
