:root{color-scheme:dark;--ink: #f4efe8;--muted: #cbbfb4;--amber: #e3a36a;--panel: rgba(12, 10, 14, .72)}*{box-sizing:border-box}html,body{margin:0;height:100%;height:100dvh;overflow:hidden;background:#100e12;font-family:Segoe UI,system-ui,sans-serif}#app,#hud,#touch,#veil,#vignette,#fade{position:fixed;top:var(--vv-top, 0px);left:var(--vv-left, 0px);width:var(--vv-width, 100%);height:var(--vv-height, 100dvh)}#app{touch-action:none;user-select:none;-webkit-user-select:none}#app canvas{display:block;width:100%;height:100%}#vignette{pointer-events:none;background:radial-gradient(ellipse at center,transparent 48%,rgba(10,7,8,.48) 100%);z-index:2}#fade{background:#07060a;opacity:0;pointer-events:none;transition:opacity .26s ease;z-index:6}#veil{z-index:6;touch-action:manipulation;user-select:text;-webkit-user-select:text;display:grid;place-items:center;padding:32px 20px;background:radial-gradient(ellipse at 50% 80%,rgba(196,122,86,.18),transparent 55%),linear-gradient(180deg,#0c0e1cb8,#100c0ee0);cursor:pointer}#veil[hidden]{display:none}.veil-card{max-width:38rem;text-align:left}.eyebrow,.keys,#shards,#prompt,#link-status,.who{letter-spacing:.16em;text-transform:uppercase}.eyebrow{margin:0 0 12px;color:var(--amber);font-size:12px}h1{margin:0;font-family:Georgia,Iowan Old Style,Palatino,serif;font-weight:500;font-size:clamp(56px,8vw,92px);letter-spacing:-.03em;color:var(--ink)}.lede{margin:18px 0 28px;max-width:36rem;color:var(--muted);font-family:Georgia,Palatino,serif;font-size:18px;line-height:1.45}.hint{margin:0;color:var(--ink);font-size:15px}.keys{margin:18px 0 0;color:#9c9086;font-size:11px;line-height:1.6}#hud{z-index:5;pointer-events:none}#hud[hidden]{display:none}#crosshair{position:absolute;left:50%;top:50%;width:18px;height:18px;transform:translate(-50%,-50%)}#crosshair:before,#crosshair:after{content:"";position:absolute;background:#f4efe8d9}#crosshair:before{left:50%;top:0;width:1px;height:100%;transform:translate(-50%)}#crosshair:after{top:50%;left:0;height:1px;width:100%;transform:translateY(-50%)}#shards{position:absolute;top:calc(16px + env(safe-area-inset-top));left:calc(16px + env(safe-area-inset-left));color:var(--ink);font-size:12px;text-shadow:0 1px 2px rgba(0,0,0,.6)}#shard-num{display:inline-block;margin-right:6px;font-family:Georgia,Palatino,serif;font-size:22px;letter-spacing:0;text-transform:none}#shard-num.tick{animation:tick .22s ease}#shard-spend{margin-left:8px;color:var(--amber);font-family:Georgia,Palatino,serif;font-size:20px;letter-spacing:0;text-transform:none}#shard-spend[hidden]{display:none}#shard-spend.show{animation:spend .28s ease}@keyframes spend{0%{transform:translateY(8px)}to{transform:none}}#build-cost{position:absolute;top:calc(46px + env(safe-area-inset-top));left:calc(16px + env(safe-area-inset-left));margin:0;max-width:16rem;color:var(--amber);font-size:13px;letter-spacing:.04em;text-transform:none;text-shadow:0 1px 2px rgba(0,0,0,.65)}#mark-open,#mark-panel button,#mark-restore{pointer-events:auto}#mark-open{position:absolute;top:calc(72px + env(safe-area-inset-top));left:calc(16px + env(safe-area-inset-left));min-width:64px;min-height:64px;padding:8px 12px;border-radius:999px;border:1px solid rgba(227,163,106,.7);background:#100c0eb8;color:var(--ink);font:600 12px/1 Segoe UI,system-ui,sans-serif;letter-spacing:.08em;text-transform:uppercase}#mark-panel{position:absolute;top:calc(116px + env(safe-area-inset-top));left:calc(16px + env(safe-area-inset-left));width:min(320px,calc(100% - 32px));padding:14px 14px 16px;background:#0e0b0cf0;border-top:2px solid rgba(227,163,106,.95);color:var(--ink);pointer-events:auto}#mark-panel[hidden]{display:none}#mark-panel p{margin:0 0 10px;font-size:14px;line-height:1.4;letter-spacing:0;text-transform:none}#mark-code{font-family:ui-monospace,monospace;font-size:12px;word-break:break-all}#mark-panel button{min-height:36px;margin:0 8px 8px 0;padding:8px 12px;border-radius:999px;border:1px solid rgba(227,163,106,.7);background:transparent;color:var(--ink);font:600 12px/1 Segoe UI,system-ui,sans-serif}#mark-restore{display:block;width:100%;margin-top:6px;min-height:36px;padding:8px 10px;border:1px solid rgba(244,239,232,.3);background:#0000004d;color:var(--ink);font:13px/1.3 ui-monospace,monospace}#mark-panel label{display:block;margin-top:8px;font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}@keyframes tick{0%{transform:translateY(-2px);color:var(--amber)}to{transform:none}}#link-status{position:absolute;top:calc(16px + env(safe-area-inset-top));right:calc(16px + env(safe-area-inset-right));margin:0;color:#d7c4b4;font-size:11px;min-height:1em}#prompt{position:absolute;left:50%;bottom:54px;transform:translate(-50%);margin:0;min-height:1.2em;color:var(--ink);font-size:13px;text-shadow:0 1px 3px rgba(0,0,0,.75)}#dialogue{position:absolute;left:50%;bottom:calc(18px + env(safe-area-inset-bottom));touch-action:auto;user-select:text;-webkit-user-select:text;pointer-events:auto;transform:translate(-50%);width:min(760px,calc(100% - 36px));padding:12px 22px 14px;background:#0e0b0ceb;border-top:2px solid rgba(227,163,106,.95);box-shadow:0 18px 40px #0006}#dialogue[hidden]{display:none}#talk{position:absolute;z-index:7;inset:8px;width:auto;max-height:none;transform:none;overflow:auto;display:flex;flex-direction:column;gap:8px;padding:12px 14px 14px;pointer-events:auto;background:#0e0b0cf0;border-top:2px solid rgba(227,163,106,.95);color:var(--ink)}#talk[hidden]{display:none}#talk-log{overflow:auto;min-height:72px;max-height:28vh;padding-right:4px}.talk-line{margin:0 0 10px}.talk-line p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;font-family:Georgia,Iowan Old Style,Palatino,serif;font-size:18px;line-height:1.35}#talk-notice{margin:0;color:var(--muted);font-size:14px}#talk-note,#talk-capacity{min-height:1.2em;margin:0;color:#e7b2a0;font-size:14px}#profile-chip{margin:0;color:var(--muted);font-size:13px}#talk-input{width:100%;min-height:72px;resize:vertical;padding:10px 12px;border:1px solid rgba(227,163,106,.7);border-radius:8px;background:#080608e6;color:var(--ink);font:16px/1.4 Segoe UI,system-ui,sans-serif}#profile-presets{display:flex;flex-wrap:wrap;gap:8px}#talk-consent,#talk-send,#talk-forget,#talk-close,.preset-btn{min-width:64px;min-height:64px;padding:8px 14px;border-radius:999px;border:2px solid rgba(227,163,106,.85);background:#100c0eb8;color:var(--ink);font:600 14px/1.1 Segoe UI,system-ui,sans-serif}.preset-btn[aria-pressed=true]{background:#e3a36a59}.talk-identity{position:sticky;top:0;z-index:2;display:flex;flex-direction:column;gap:8px;padding-bottom:8px;background:#0e0b0cfa}.talk-name{display:flex;flex-direction:column;gap:6px;font-size:14px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}#profile-name{width:100%;min-height:48px;margin-left:0;padding:8px 10px;border-radius:8px;border:1px solid rgba(227,163,106,.7);background:#080608e6;color:var(--ink);font:18px/1.2 Segoe UI,system-ui,sans-serif;letter-spacing:0;text-transform:none}html.typing #touch,html.typing #touch *{pointer-events:none!important}html.touch-play #talk{inset:8px;width:auto;transform:none}.who{color:var(--amber);font-size:13px;margin-bottom:10px}#name-tags{position:fixed;inset:0;z-index:3;pointer-events:none;overflow:hidden}.name-tag{position:absolute;transform:translate(-50%,-120%);color:var(--amber);font-size:13px;line-height:1.2;letter-spacing:.01em;text-shadow:0 1px 2px rgba(12,8,6,.85);white-space:nowrap}.name-tag[hidden]{display:none}.name-tag-badge{margin-left:6px;font-size:11px;letter-spacing:.08em}#dialogue-text{margin:0;color:var(--ink);font-family:Georgia,Iowan Old Style,Palatino,serif;font-size:28px;line-height:1.35}#prompt{bottom:18px}@media(max-width:700px){h1{font-size:48px}#dialogue-text{font-size:22px}.lede{font-size:16px}}#touch{z-index:4;pointer-events:none;touch-action:none;user-select:none;-webkit-user-select:none}#touch[hidden]{display:none}#stick-zone,#look-zone{position:absolute;top:0;bottom:0;pointer-events:auto;touch-action:none}#stick-zone{left:0;width:46%}#look-zone{right:0;width:54%}#touch-actions{position:absolute;z-index:6;right:calc(14px + env(safe-area-inset-right));bottom:calc(18px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:12px;pointer-events:auto;touch-action:none}#touch-actions button{width:76px;height:76px;min-width:64px;min-height:64px;padding:0;border-radius:50%;border:2px solid rgba(227,163,106,.85);background:#100c0eb8;color:#f4efe8;font:600 13px/1.1 Segoe UI,system-ui,sans-serif;letter-spacing:.04em;text-transform:uppercase;touch-action:none;user-select:none;-webkit-user-select:none}#btn-build{border-color:#f4efe873;color:#d9cbb8}#stick{position:absolute;width:136px;height:136px;margin-left:-68px;margin-top:-68px;border:2px solid rgba(244,239,232,.55);border-radius:50%;pointer-events:auto;touch-action:none;z-index:4}#stick.sprint{border-color:#e3a36af2}#stick-knob{position:absolute;left:50%;top:50%;width:56px;height:56px;margin:-28px 0 0 -28px;border-radius:50%;background:#e3a36ae6;pointer-events:none}#touch[data-move=buttons] #stick,#touch[data-move=buttons] #stick-zone,#touch[data-move=joystick] #pad{display:none}#pad{position:absolute;z-index:5;left:calc(16px + env(safe-area-inset-left));bottom:calc(18px + env(safe-area-inset-bottom));width:228px;height:228px;display:grid;grid-template-columns:72px 72px 72px;grid-template-rows:72px 72px 72px;gap:6px;pointer-events:none;touch-action:none;user-select:none;-webkit-user-select:none}#pad button{width:72px;height:72px;min-width:64px;min-height:64px;padding:0;border-radius:18px;border:2px solid rgba(227,163,106,.85);background:#100c0ec7;color:#f4efe8;font:600 20px/1 Segoe UI,system-ui,sans-serif;pointer-events:auto;touch-action:none;user-select:none;-webkit-user-select:none}#pad-forward{grid-column:2;grid-row:1}#pad-left{grid-column:1;grid-row:2}#pad-right{grid-column:3;grid-row:2}#pad-back{grid-column:2;grid-row:3}#settings-open{position:absolute;top:calc(16px + env(safe-area-inset-top));right:calc(16px + env(safe-area-inset-right));min-width:64px;min-height:64px;padding:8px 12px;border-radius:999px;border:1px solid rgba(227,163,106,.7);background:#100c0eb8;color:var(--ink);font:600 12px/1 Segoe UI,system-ui,sans-serif;letter-spacing:.08em;text-transform:uppercase;pointer-events:auto}#settings{position:absolute;z-index:8;top:calc(88px + env(safe-area-inset-top));right:calc(16px + env(safe-area-inset-right));width:min(300px,calc(100% - 210px));max-height:min(70vh,calc(100% - 210px));overflow:auto;padding:14px;background:#0e0b0cf5;border-top:2px solid rgba(227,163,106,.95);color:var(--ink);pointer-events:auto;touch-action:manipulation}#settings[hidden]{display:none}#settings .settings-title,#settings legend{margin:0 0 8px;color:var(--amber);font-size:12px;letter-spacing:.14em;text-transform:uppercase}#settings label,#settings button,#settings fieldset{letter-spacing:0;text-transform:none}#settings fieldset{margin:8px 0;padding:8px;border:1px solid rgba(227,163,106,.35)}.settings-check,#settings fieldset label{display:flex;align-items:center;gap:10px;min-height:64px;font-size:16px}.settings-check input,#settings fieldset input{width:28px;height:28px}.settings-bright{display:flex;flex-direction:column;gap:8px;margin:8px 0;font-size:16px}#settings-bright{width:100%;min-height:48px;accent-color:var(--amber)}#settings-reset,#settings-close{min-width:64px;min-height:64px;margin:8px 8px 0 0;padding:8px 14px;border-radius:999px;border:2px solid rgba(227,163,106,.85);background:#100c0eb8;color:var(--ink);font:600 14px/1 Segoe UI,system-ui,sans-serif}#room-count,#move-diag{position:absolute;left:50%;transform:translate(-50%);margin:0;pointer-events:none;text-shadow:0 1px 2px rgba(0,0,0,.65)}#room-count{top:calc(16px + env(safe-area-inset-top));color:var(--ink);font-size:13px;letter-spacing:.08em;text-transform:uppercase}#move-diag{top:calc(40px + env(safe-area-inset-top));color:var(--muted);font:11px/1.2 ui-monospace,monospace;letter-spacing:0;text-transform:none}#sprint-flag,#move-hint{position:absolute;left:50%;transform:translate(-50%);margin:0;pointer-events:none;text-align:center}#sprint-flag{top:calc(58px + env(safe-area-inset-top));color:var(--amber);font:700 12px/1 Segoe UI,system-ui,sans-serif;letter-spacing:.14em;text-transform:uppercase}#move-hint{top:calc(78px + env(safe-area-inset-top));max-width:min(280px,70vw);color:var(--muted);font:12px/1.3 Segoe UI,system-ui,sans-serif;letter-spacing:0;text-transform:none}html.touch-play #prompt{left:calc(16px + env(safe-area-inset-left));right:calc(108px + env(safe-area-inset-right));bottom:calc(22px + env(safe-area-inset-bottom));transform:none;text-align:left}html.touch-play #dialogue{left:calc(12px + env(safe-area-inset-left));width:min(640px,calc(100% - 120px - env(safe-area-inset-left) - env(safe-area-inset-right)));transform:none}
