:root{--bg:rgba(250,248,244,.94);--ink:#2b2a28;--mut:#857f76;--acc:#b5543c;--line:#e3ddd3}
*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;font:13px/1.35 -apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Roboto,sans-serif;color:var(--ink)}
#view{position:fixed;inset:0}#view canvas{display:block}
.labels{position:fixed;inset:0;pointer-events:none}
#loading{position:fixed;inset:0;display:grid;place-items:center;background:#e9e4dc;font-size:18px;color:#6b645a;z-index:9}
#panel{position:fixed;top:12px;left:12px;width:300px;max-height:calc(100% - 24px);overflow:auto;background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:12px 14px;box-shadow:0 6px 24px rgba(0,0,0,.12);backdrop-filter:blur(6px)}
#panel h1{font-size:18px;margin:0;letter-spacing:.2px}#panel .sub{margin:2px 0 4px;color:var(--mut)}
#panel h2{font-size:11px;text-transform:uppercase;letter-spacing:.8px;color:var(--mut);margin:12px 0 6px;font-weight:600}
section{border-top:1px solid var(--line);margin-top:8px}
.row{display:flex;gap:6px;margin:6px 0}.row.wrap{flex-wrap:wrap}
button{flex:1 1 auto;border:1px solid var(--line);background:#fff;border-radius:8px;padding:6px 8px;font:inherit;cursor:pointer;color:var(--ink)}
button:hover{border-color:#c9bfb0}button.on{background:var(--acc);border-color:var(--acc);color:#fff}
.seg button{flex:1}
.checks label{display:block;margin:4px 0;cursor:pointer}
.slider{display:block;margin:8px 0}.slider input{width:100%}.slider span{color:var(--mut);font-size:12px}
.muted{color:var(--mut);font-weight:400;text-transform:none;letter-spacing:0}
.facts table{width:100%;border-collapse:collapse}.facts td{padding:3px 0;border-bottom:1px dotted var(--line)}.facts td:last-child{text-align:right;font-variant-numeric:tabular-nums}
.facts a{color:var(--acc)}
#hud{position:fixed;left:50%;bottom:12px;transform:translateX(-50%);display:flex;gap:12px;background:rgba(30,28,25,.72);color:#fff;border-radius:8px;padding:6px 10px;font-size:12px;pointer-events:none}
#hud:empty,#hud span:empty{display:none}
.room{pointer-events:auto;cursor:pointer;background:rgba(255,255,255,.88);border:1px solid rgba(0,0,0,.15);border-radius:6px;padding:2px 7px;font-size:11px;font-weight:600;letter-spacing:.4px;white-space:nowrap}
.room b{color:var(--acc);margin-right:5px;font-weight:700}
.dim{background:#c0392b;color:#fff;border-radius:4px;padding:2px 6px;font-size:12px;font-weight:600;white-space:nowrap}
.dim.meas{background:#ff3b30;text-align:center}.dim small{display:block;font-weight:400;font-size:10px;opacity:.9}
#crosshair{display:none;position:fixed;left:50%;top:50%;width:6px;height:6px;margin:-3px;border-radius:50%;background:#fff;box-shadow:0 0 0 1px #0006}
body.walking #crosshair{display:block}body.walking #panel{opacity:.25;pointer-events:none}
@media (max-width:700px){#panel{width:calc(100% - 24px);max-height:45%}}
