:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#1a1612;--panel:#2a231c;--text:#e8dcc8;--muted:#a89880;--border:#3d342a;--btn:#3a3028;--accent:#c9a227;--floor:#3a3228;--wall:#1e1a16;--player:#4a7c59;--rat:#8b3a3a;font-family:Segoe UI,system-ui,sans-serif;line-height:1.4}*{box-sizing:border-box}body{background:radial-gradient(ellipse at top, #2c241c 0%, var(--bg) 60%);min-height:100vh;color:var(--text);margin:0}#app{max-width:960px;margin:0 auto;padding:.75rem}.topbar{background:var(--panel);border:1px solid var(--border);border-radius:8px;align-items:center;gap:.35rem;margin-bottom:.5rem;padding:.35rem .5rem;display:flex}.topbar .spacer{flex:1}.clock{font-variant-numeric:tabular-nums;color:var(--muted);margin-left:.35rem;font-size:.9rem}.icon-btn{background:var(--btn);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:6px;place-items:center;width:2.25rem;height:2.25rem;padding:0;font-size:1rem;display:grid}.ui-icon{object-fit:contain;pointer-events:none;width:1.25rem;height:1.25rem;display:block}.main{grid-template-rows:auto auto;grid-template-columns:7rem 1fr;gap:.75rem;display:grid}@media (width>=720px){.main{grid-template-rows:auto;grid-template-columns:7rem minmax(0,1fr) minmax(12rem,18rem)}}.modes{flex-direction:column;gap:.35rem;display:flex}.mode-btn{background:var(--btn);border:1px solid var(--border);color:var(--text);cursor:pointer;text-align:left;border-radius:6px;align-items:center;gap:.4rem;padding:.45rem .5rem;display:flex}.mode-btn.active{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.mode-btn.wait{opacity:.9;margin-top:.5rem}.stage-wrap{background-color:var(--panel);border:1px solid var(--border);background-image:url(/art/v2/scenes/bedroom_bg.jpg);background-position:50%;background-size:cover;border-radius:8px;padding:.5rem;overflow:auto}.grid{grid-template-columns:repeat(var(--cols), 64px);grid-template-rows:repeat(var(--rows), 64px);gap:2px;width:max-content;margin:0 auto;display:grid}.cell{cursor:pointer;background:var(--floor);width:64px;height:64px;color:var(--muted);border:1px solid #2a241c;border-radius:4px;place-items:center;padding:0;font-size:.65rem;display:grid;position:relative}.cell.wall{background:var(--wall);cursor:default}.cell.floor:hover{outline:1px solid var(--accent)}.cell.furn{color:#ddd}.furn-label{opacity:.7;text-transform:uppercase;letter-spacing:.04em}.token{color:#fff;border-radius:50%;place-items:center;width:36px;height:36px;font-size:.9rem;font-weight:700;display:grid;box-shadow:0 1px 3px #0006}.token.player{background:var(--player)}.token.rat{background:var(--rat)}.panel{background:var(--panel);border:1px solid var(--border);border-radius:8px;grid-column:1/-1;padding:.85rem 1rem}@media (width>=720px){.panel{grid-column:auto}}.examine{color:var(--muted,#b8a88a);margin:.35rem 0;font-style:italic}.beat{margin:0 0 .5rem}.adjacency{margin-top:.5rem}.adj-block{border-top:1px solid var(--border);margin-top:.5rem;padding-top:.5rem}.adj-block button{background:var(--btn);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:6px;margin-top:.25rem;margin-right:.35rem;padding:.35rem .6rem}.avail{color:var(--accent);font-size:.9rem}.error{color:#c97a7a}.feed{color:var(--muted);margin:.75rem 0 0;padding:0;font-size:.85rem;list-style:none}.feed li{margin-bottom:.25rem}.modal-backdrop{z-index:40;background:#0000008c;place-items:center;display:grid;position:fixed;inset:0}.modal{background:var(--panel);border:1px solid var(--border);z-index:50;border-radius:10px;width:90%;max-width:22rem;padding:1.1rem 1.25rem}.modal h2{margin:0 0 .5rem;font-size:1.1rem}.modal button{background:var(--btn);border:1px solid var(--border);width:100%;color:var(--text);cursor:pointer;border-radius:6px;margin:.35rem 0;padding:.5rem;display:block}.modal .close{opacity:.85;margin-top:.75rem}.modal .settings-action{justify-content:center;align-items:center;gap:.45rem;display:flex}.muted{color:var(--muted)}.cell{background-color:#2a231c;background-repeat:no-repeat}.token-img{object-fit:contain;pointer-events:none;filter:drop-shadow(0 1px 2px #0000008c);z-index:2;width:84%;height:84%;position:absolute;inset:8%}.prop{object-fit:contain;pointer-events:none;z-index:1;filter:drop-shadow(0 1px 1px #00000073);width:38%;height:38%;position:absolute;top:12%;right:10%}.prop-pile{width:auto;height:auto;inset:18% 12% 12%}
