:root{--night:#0a0d15;--glass:#0c101abf;--glass-strong:#0c101ad6;--line:#e8dcc429;--parchment:#ebe0c8;--dim:#b0a896;--dim-lit:#c4bca8;--lamp:#f2a65a;--ghost:#cfe2ff;--display:"IM Fell English SC","Iowan Old Style","Palatino Linotype",Georgia,serif;--ui:"Alegreya Sans","Gill Sans","Segoe UI",system-ui,sans-serif;--label:"Alegreya Sans SC","Alegreya Sans","Gill Sans",system-ui,sans-serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[hidden]{display:none!important}html,body{height:100%}body{background:var(--night);color:var(--parchment);font-family:var(--ui);-webkit-font-smoothing:antialiased;touch-action:none;-webkit-user-select:none;user-select:none;margin:0;font-size:15px;overflow:hidden}#scene{cursor:grab;outline:none;width:100%;height:100%;display:block;position:fixed;inset:0}#scene.dragging{cursor:grabbing}#scene:focus-visible{outline:2px solid var(--lamp);outline-offset:-4px}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.placard{z-index:1;top:calc(env(safe-area-inset-top,0px) + 18px);pointer-events:none;text-shadow:0 1px 14px #000000bf;max-width:min(360px,100vw - 40px);transition:opacity 1.6s;position:fixed;left:20px}.placard:before{content:"";z-index:-1;top:calc(-18px - env(safe-area-inset-top,0px));pointer-events:none;-webkit-mask-composite:source-in;background:#070910cc;position:absolute;bottom:-70px;left:-20px;right:-110px;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 130px),#0000),linear-gradient(#000 calc(100% - 80px),#0000);mask-image:linear-gradient(90deg,#000 calc(100% - 130px),#0000),linear-gradient(#000 calc(100% - 80px),#0000);-webkit-mask-composite:source-in;mask-composite:intersect}.placard.faded{opacity:0}.placard h1{font-family:var(--display);letter-spacing:.03em;text-wrap:balance;margin:0;font-size:clamp(30px,4.2vw,46px);font-weight:400;line-height:1}.placard h1 span{display:block}.placard p{color:var(--dim);max-width:34ch;margin:.45rem 0 0;line-height:1.4}.placard .tag{font-family:var(--label);letter-spacing:.14em;color:var(--lamp);margin:0 0 .4rem;font-size:12px;display:block}.placard p .ask{color:var(--parchment)}.hud{left:16px;right:16px;bottom:calc(env(safe-area-inset-bottom,0px) + 16px);pointer-events:none;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:10px;display:flex;position:fixed}.mode{pointer-events:auto;background:var(--glass);border:1px solid var(--line);-webkit-backdrop-filter:blur(10px);border-radius:999px;align-items:center;gap:10px;min-width:0;padding:9px 16px 9px 13px;display:flex}.mode .dot{background:var(--lamp);width:8px;height:8px;box-shadow:0 0 10px 1px var(--lamp);border-radius:50%;flex:none;transition:background .4s,box-shadow .4s}.mode.free .dot{background:var(--ghost);box-shadow:0 0 10px 1px var(--ghost)}.mode b{font-family:var(--label);letter-spacing:.1em;font-size:13px;font-weight:500}.mode span{color:var(--dim-lit);white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:14px;overflow:hidden}.actions{pointer-events:auto;flex-wrap:wrap;gap:8px;display:flex}button{font:500 14px/1 var(--ui);color:var(--parchment);background:var(--glass);border:1px solid var(--line);cursor:pointer;-webkit-backdrop-filter:blur(10px);border-radius:999px;align-items:center;gap:8px;padding:10px 14px;transition:border-color .2s,background .2s;display:inline-flex}button:hover{background:var(--glass-strong)}button[aria-pressed=true]{color:#fff3e1;border-color:#f2a65a99}button[aria-pressed=true]:before{content:"";background:var(--lamp);width:6px;height:6px;box-shadow:0 0 8px var(--lamp);border-radius:50%}button[data-waiting]:before{content:"";border:1px solid var(--lamp);border-radius:50%;width:4px;height:4px}button:focus-visible{outline:2px solid var(--lamp);outline-offset:2px}kbd{font:500 11px/1 var(--label);border:1px solid var(--line);color:var(--dim-lit);border-radius:4px;padding:3px 5px}.touch kbd{display:none}.touch button{min-height:44px}#help{z-index:3;right:16px;bottom:calc(env(safe-area-inset-bottom,0px) + 72px);background:var(--glass-strong);border:1px solid var(--line);-webkit-backdrop-filter:blur(12px);border-radius:14px;width:min(320px,100vw - 32px);padding:16px 18px;position:fixed}#help h2{font-family:var(--display);letter-spacing:.02em;margin:0 0 10px;font-size:20px;font-weight:400}#help dl{grid-template-columns:auto 1fr;gap:7px 14px;margin:0;font-size:14px;display:grid}#help dt{color:var(--parchment);white-space:nowrap}#help dd{color:var(--dim);margin:0}#help p{color:var(--dim);margin:12px 0 0;font-size:13px;line-height:1.4}#help .about{border-top:1px solid var(--line);padding-top:10px}#help .about a{margin:0 3px}#help a{color:var(--parchment);text-underline-offset:2px;text-decoration-color:#f2a65a99}#help a:hover{color:#fff3e1}#help a:focus-visible{outline:2px solid var(--lamp);outline-offset:2px;border-radius:2px}.touch #help .keys,#help .taps{display:none}.touch #help .taps{display:grid}#stick{left:24px;bottom:calc(env(safe-area-inset-bottom,0px) + 140px);border:1px solid var(--line);pointer-events:none;background:#0c101a59;border-radius:50%;width:112px;height:112px;position:fixed}#stickKnob{background:#cfe2ff2e;border:1px solid #cfe2ff59;border-radius:50%;width:46px;height:46px;margin:-23px 0 0 -23px;position:absolute;top:50%;left:50%}.altbtns{right:20px;bottom:calc(env(safe-area-inset-bottom,0px) + 140px);flex-direction:column;gap:10px;display:flex;position:fixed}.altbtns button{justify-content:center;width:52px;height:52px;padding:0;font-size:13px}#loader{background:linear-gradient(180deg,#0a0d1526 0%,#0a0d158c 42%,#0a0d158c 58%,#0a0d1533 100%),url(../loader/moonwick-wide.webp) center/cover no-repeat,var(--night);z-index:5;place-items:center;transition:opacity 1.8s;display:grid;position:fixed;inset:0}@media (max-aspect-ratio:1){#loader{background:linear-gradient(180deg,#0a0d1526 0%,#0a0d158c 42%,#0a0d158c 58%,#0a0d1533 100%),url(../loader/moonwick-tall.webp) center/cover no-repeat,var(--night)}}#loader .t,#loader .s{text-shadow:0 2px 18px #000000b3}#loader.gone{opacity:0;pointer-events:none}#loader div{text-align:center}#loader .t{font-family:var(--display);letter-spacing:.04em;font-size:clamp(34px,6vw,64px)}#loader .s{color:var(--parchment);margin-top:.6rem}#nogl{text-align:center;z-index:6;background:var(--night);place-items:center;padding:24px;display:grid;position:fixed;inset:0}#nogl p{max-width:42ch;color:var(--dim);line-height:1.5}@media (max-width:560px){.mode span{display:none}}@media (prefers-reduced-motion:reduce){#loader{transition:none}}@media (prefers-contrast:more){:root{--glass:var(--glass-strong);--dim:#d6cbb4;--dim-lit:#d6cbb4;--line:#e8dcc473}.placard p{color:var(--parchment)}}@media (forced-colors:active){button[aria-pressed=true]:before{forced-color-adjust:none;box-shadow:none;background:highlight}#scene:focus-visible{outline-color:highlight}}#help .extra{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}#help .extra button{padding:8px 12px;font-size:13px}#picture{z-index:4;top:calc(env(safe-area-inset-top,0px) + 16px);background:var(--glass-strong);border:1px solid var(--line);-webkit-backdrop-filter:blur(12px);border-radius:14px;align-items:center;gap:12px;max-width:calc(100vw - 32px);padding:10px 14px 10px 10px;display:flex;position:fixed;right:16px}#picture img{object-fit:cover;border-radius:8px;width:112px;height:auto;max-height:84px;display:block}#picture b{font-family:var(--label);letter-spacing:.1em;font-size:13px;font-weight:500;display:block}#picture span{color:var(--dim);margin-top:3px;font-size:13px;display:block}#picture .row{align-items:center;gap:8px;margin-top:8px;display:flex}#picture a{font:500 14px/1 var(--ui);color:#fff3e1;background:var(--glass);border:1px solid #f2a65a99;border-radius:999px;padding:9px 14px;text-decoration:none}#picture a:hover{background:var(--glass-strong)}#picture a:focus-visible{outline:2px solid var(--lamp);outline-offset:2px}#picture button{padding:9px 12px}.hud,#help,#picture,#stick,.altbtns{transition:opacity .6s,visibility linear}.bare .hud,.bare #help,.bare #picture,.bare #stick,.bare .altbtns{opacity:0;visibility:hidden;pointer-events:none;transition:opacity .6s,visibility 0s linear .6s}.bare .placard{opacity:0}.bare #scene,.bare #scene.dragging{cursor:none}.ending .hud,.ending #help,.ending #picture,.ending #stick,.ending .altbtns{opacity:0;visibility:hidden;pointer-events:none;transition:opacity 1.2s,visibility 0s linear 1.2s}.ending .placard{opacity:0;transition:opacity 1.2s}#veil{z-index:4;background:var(--night);opacity:0;pointer-events:none;transition:opacity 2.4s;position:fixed;inset:0}#veil.on{opacity:1}
