:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--stone:#c4a574;--timber:#8b5a2b;--linen:#e8dcc8;--ink:#2c2416;--sky-day:#7ba3c4;--dusk:#3d4f6f;--elf:#4a7c59;--iron:#6b7280;--threat:#8b3a3a;--gold:#c9a227;--ok:#4a7c59;--bg:#1a1612;--panel:#2a231c;--text:var(--linen);--muted:#a89880;--border:#3d342a;--btn:#3a3028;--btn-border:#524536;font-family:Segoe UI,system-ui,sans-serif;line-height:1.45}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}*{box-sizing:border-box}body{background:radial-gradient(ellipse at top, #2c241c 0%, var(--bg) 60%);min-height:100vh;color:var(--text);margin:0;transition:background .35s}body.lighting-day{background:radial-gradient(ellipse at top, #3a3228 0%, var(--bg) 65%)}body.lighting-dusk{background:radial-gradient(ellipse at top, var(--dusk) 0%, #12151c 55%)}#app{max-width:720px;margin:0 auto;padding:1.25rem}h1{letter-spacing:.02em;color:var(--linen);margin:0 0 .25rem;font-size:1.25rem;font-weight:600}.sub{color:var(--muted);margin-bottom:1rem;font-size:.9rem}.panel{background:var(--panel);border:1px solid var(--border);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--timber) 25%, transparent);border-radius:10px;margin-bottom:.75rem;padding:1rem 1.1rem}.scene-bedroom{border-color:color-mix(in srgb, var(--timber) 55%, var(--border));background:linear-gradient(180deg, #322820 0%, var(--panel) 55%)}.scene-inn{border-color:color-mix(in srgb, var(--gold) 35%, var(--timber));background:linear-gradient(#3a2a18 0%,#2a231c 60%);box-shadow:inset 0 0 40px #c45a201f}.scene-street{border-color:color-mix(in srgb, var(--stone) 40%, var(--border));background:linear-gradient(180deg, #2a3038 0%, var(--panel) 55%)}body.lighting-dusk .scene-street{border-color:color-mix(in srgb, var(--dusk) 70%, var(--threat));background:linear-gradient(#243048 0%,#1a1612 60%)}.scene-tag{letter-spacing:.06em;text-transform:uppercase;color:var(--gold);margin-bottom:.5rem;font-size:.75rem;display:inline-block}.meta{flex-wrap:wrap;gap:.75rem 1.25rem;font-size:.9rem;display:flex}.meta strong{color:var(--stone);font-weight:600}.threat-bar{background:#3a3028;border-radius:4px;height:8px;margin-top:.35rem;overflow:hidden}.threat-bar>span{background:linear-gradient(90deg, var(--ok), var(--gold), var(--threat));height:100%;display:block}.beat{white-space:pre-wrap;margin:0;font-size:1.05rem}.actions{flex-direction:column;gap:.4rem;display:flex}button.action{text-align:left;background:var(--btn);color:var(--text);border:1px solid var(--btn-border);cursor:pointer;font:inherit;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--gold) 20%, transparent);border-radius:8px;padding:.55rem .75rem}button.action:hover{border-color:var(--gold);background:#453828}button.action .dur{color:var(--muted);float:right;font-size:.85rem}.row{flex-wrap:wrap;gap:.5rem;margin-top:.5rem;display:flex}button.secondary{border:1px solid var(--iron);color:var(--stone);cursor:pointer;font:inherit;background:0 0;border-radius:8px;padding:.4rem .7rem}button.danger{border-color:var(--threat);color:#e8a090}.modal-backdrop{z-index:200;background:#0000008c;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal{background:var(--panel);border:1px solid var(--threat);z-index:201;border-radius:12px;width:100%;max-width:420px;padding:1.25rem;position:relative}.modal-wide{max-width:520px}.settings-actions{flex-direction:column;gap:.45rem;margin:.75rem 0;display:flex}.settings-row{text-align:left;background:var(--btn);color:var(--text);border:1px solid var(--btn-border);cursor:pointer;font:inherit;border-radius:8px;align-items:center;gap:.65rem;padding:.65rem .8rem;display:flex}.settings-row:hover{border-color:var(--gold);background:#453828}.clues span{background:#3a3028;border:1px solid #524536;border-radius:50%;width:.65rem;height:.65rem;margin-right:.25rem;display:inline-block}.clues span.on{background:var(--ok);border-color:var(--ok)}.err{color:#e8a090;margin:.35rem 0 0;font-size:.9rem}.topbar{z-index:20;background:color-mix(in srgb, var(--bg) 92%, transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);align-items:center;gap:.35rem;margin:-.25rem 0 .55rem;padding:.25rem 0;display:flex;position:sticky;top:0}.topbar-spacer{flex:auto}.topbar-chip{max-width:42%;min-height:2rem;color:var(--text);font:inherit;cursor:pointer;text-align:left;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:6px;align-items:center;gap:.25rem;padding:.25rem .45rem;font-size:.8rem;display:inline-flex;overflow:hidden}.topbar-chip:hover{border-color:var(--btn-border);background:color-mix(in srgb, var(--panel) 70%, transparent)}.topbar-icon{width:2rem;height:2rem;color:var(--text);font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;flex:none;justify-content:center;align-items:center;padding:0;font-size:1rem;display:inline-flex;position:relative}.topbar-icon:hover{border-color:var(--btn-border);background:color-mix(in srgb, var(--panel) 70%, transparent)}.topbar-icon .badge{background:var(--gold);min-width:.95rem;height:.95rem;color:var(--ink);text-align:center;border-radius:999px;padding:0 .2rem;font-size:.65rem;font-weight:700;line-height:.95rem;position:absolute;top:-.15rem;right:-.2rem}.activity ul,.log,.inv,.map{margin:.5rem 0 0;padding-left:1.1rem}.activity li,.log li{color:var(--muted);margin:.25rem 0;font-size:.92rem}.map li.here{color:var(--gold);font-weight:600}.linkish{color:var(--linen);font:inherit;cursor:pointer;text-align:left;background:0 0;border:none;padding:.35rem 0}.muted{color:var(--muted);font-size:.85rem}#app{max-width:720px;padding:.75rem}@media (width<=480px){#app{padding:.55rem}.topbar{gap:.25rem}.topbar-chip{max-width:38%;font-size:.72rem}button.action{min-height:2.75rem;padding:.7rem .75rem}.modal{max-width:100%;max-height:85vh;overflow:auto}.row{gap:.4rem}.row .secondary{flex:auto;min-height:2.5rem}}.threat-bar,.clues{display:none}.graphics{z-index:1;padding:.6rem;position:relative}.scene-stage{aspect-ratio:16/9;border:1px solid var(--border);z-index:1;background:#111;border-radius:8px;width:100%;position:relative;overflow:hidden}.scene-bg-hit{z-index:0;cursor:default;background:0 0;border:none;margin:0;padding:0;position:absolute;inset:0}.scene-bg{z-index:1;object-fit:fill;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.player-sprite{object-fit:contain;pointer-events:none;filter:drop-shadow(0 2px 4px #00000080);width:auto;height:42%;position:absolute;bottom:2%;right:4%}.hotspot{border:1px dashed color-mix(in srgb, var(--gold) 50%, transparent);background:color-mix(in srgb, var(--gold) 8%, transparent);cursor:pointer;padding:0;position:absolute}.hotspot:hover,.hotspot.active{background:color-mix(in srgb, var(--gold) 22%, transparent);border-color:var(--gold)}@media (width<=480px){.scene-stage{aspect-ratio:16/9}.player-sprite{height:36%}}.scene-layer{cursor:pointer;background:0 0;border:2px solid #0000;padding:0;position:absolute;overflow:hidden}.scene-layer img{object-fit:contain;pointer-events:none;filter:drop-shadow(0 2px 4px #00000059);width:100%;height:100%}.scene-layer:hover,.scene-layer.active{border-color:color-mix(in srgb, var(--gold) 80%, white);border-radius:6px}.scene-layer.character img{object-fit:contain;object-position:bottom center}.scene-layer.item{pointer-events:auto}button.scene-layer{cursor:pointer;background:0 0;border:1px solid #0000;padding:0;position:absolute;overflow:hidden}button.scene-layer img{object-fit:contain;pointer-events:none;filter:drop-shadow(0 2px 4px #00000073);width:100%;height:100%}button.scene-layer:hover,button.scene-layer.active{border-color:color-mix(in srgb, var(--gold) 70%, transparent);background:0 0}.topbar-settings{margin-left:0}.settings-btn{text-align:left;background:var(--btn);color:var(--text);border:1px solid var(--btn-border);cursor:pointer;font:inherit;border-radius:8px;align-items:center;gap:.65rem;padding:.65rem .8rem;display:flex}.settings-btn:hover{border-color:var(--gold);background:#453828}.modal-window{max-width:520px}.window-view{aspect-ratio:16/9;object-fit:cover;border:1px solid var(--border);border-radius:8px;width:100%;margin:.5rem 0 .75rem}
