:root{--night:#07090a;--ink:#e6e0d0;--dim:#9a9c92;--sodium:#e9a04a;--panel:#080a09b8;--type:"Courier New", ui-monospace, monospace;--body:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{background:var(--night);height:100%;color:var(--ink);font-family:var(--body);overscroll-behavior:none;margin:0;overflow:hidden}#app{position:fixed;inset:0}canvas.view{touch-action:none;width:100%;height:100%;display:block;position:absolute;inset:0}.title{z-index:20;background:#000 50%/cover no-repeat;place-items:end center;display:grid;position:absolute;inset:0}.title:after{content:"";background:linear-gradient(#00000026 40%,#000000e6);position:absolute;inset:0}.title .inner{z-index:1;width:100%;max-width:520px;padding:0 max(20px, env(safe-area-inset-left)) calc(36px + env(safe-area-inset-bottom));text-align:center;position:relative}.title h1{font-family:var(--type);letter-spacing:.02em;text-shadow:0 2px 18px #000;margin:0 0 8px;font-size:clamp(30px,8vw,44px);font-weight:400;line-height:1.05}.title p{color:var(--dim);margin:0 0 22px;font-size:15px}.title button{font:inherit;border:1px solid var(--sodium);color:var(--ink);background:#e9a04a29;border-radius:8px;min-width:200px;padding:14px 28px;font-size:17px}.title button:disabled{opacity:.5}.title .bar{background:#ffffff1f;border-radius:2px;max-width:260px;height:3px;margin:0 auto 18px;overflow:hidden}.title .bar>i{background:var(--sodium);width:0;height:100%;transition:width .3s;display:block}.place{left:50%;top:calc(18% + env(safe-area-inset-top));z-index:6;pointer-events:none;font-family:var(--type);letter-spacing:.08em;text-transform:uppercase;color:var(--ink);text-shadow:0 2px 10px #000;opacity:0;white-space:nowrap;font-size:18px;transition:opacity .8s;position:absolute;transform:translate(-50%)}.place.on{opacity:.9}.dot{z-index:5;pointer-events:none;background:#ffffff59;border-radius:50%;width:4px;height:4px;margin:-2px 0 0 -2px;position:absolute;top:50%;left:50%}.prompt{z-index:7;flex-direction:column;align-items:center;gap:8px;display:none;position:absolute;top:calc(50% + 26px);left:50%;transform:translate(-50%)}.prompt.on{display:flex}.prompt .what{color:var(--ink);text-shadow:0 1px 8px #000;white-space:nowrap;font-size:15px}.prompt button{font:inherit;background:var(--panel);color:var(--ink);border:1px solid #ffffff59;border-radius:20px;padding:9px 18px;font-size:15px}.say{left:50%;bottom:calc(24px + env(safe-area-inset-bottom));z-index:8;background:var(--panel);border-left:3px solid var(--sodium);border-radius:4px;width:min(92vw,560px);padding:12px 16px;display:none;position:absolute;transform:translate(-50%)}.say.on{display:block}.say b{letter-spacing:.08em;text-transform:uppercase;color:var(--sodium);margin-bottom:4px;font-size:13px;display:block}.say p{margin:0 0 10px;font-size:16px;line-height:1.45}.say .opts{flex-wrap:wrap;gap:8px;display:flex}.say .opts button{font:inherit;color:var(--ink);background:0 0;border:1px solid #ffffff4d;border-radius:16px;padding:8px 14px;font-size:14px}.stats{right:8px;top:calc(8px + env(safe-area-inset-top));z-index:9;color:#9f9;white-space:pre;pointer-events:none;background:#00000080;padding:4px 6px;font:11px ui-monospace,monospace;position:absolute}.joyzone{z-index:3;touch-action:none;width:50%;position:absolute;top:0;bottom:0;left:0}.joy{pointer-events:none;background:#ffffff0f;border:2px solid #ffffff2e;border-radius:50%;width:150px;height:150px;margin:-75px 0 0 -75px;display:none;position:absolute}.joy.on{display:block}.joy .knob{pointer-events:none;background:#e9a04a73;border-radius:50%;width:64px;height:64px;margin:-32px 0 0 -32px;position:absolute;top:50%;left:50%;box-shadow:0 0 18px #e9a04a59}.joyhint{display:none}.pad{right:max(16px, env(safe-area-inset-right));bottom:calc(28px + env(safe-area-inset-bottom));z-index:6;gap:12px;display:flex;position:absolute}.pad button{width:64px;height:64px;color:var(--ink);font:13px var(--body);touch-action:none;background:#080a098c;border:1px solid #ffffff47;border-radius:50%}.pad button.on{border-color:var(--sodium);color:var(--sodium)}.hint{left:50%;bottom:calc(110px + env(safe-area-inset-bottom));z-index:6;text-align:center;width:min(90vw,520px);color:var(--ink);background:var(--panel);opacity:0;pointer-events:none;border-radius:6px;padding:8px 12px;font-size:14px;transition:opacity .8s;position:absolute;transform:translate(-50%)}.hint.on{opacity:.92}
