:root{--bg: #0d0c0b;--panel: #16141300;--line: #38322c;--line-soft: #262220;--ink: #e7e0d2;--ink-dim: #ada295;--ink-faint: #8b8177;--sel: #c9a227;--warn: #c98a4b;--bad: #c06a55;--ok: #7e966d;--mono: ui-monospace, "SF Mono", "Cascadia Mono", Consolas, monospace}*{margin:0;padding:0;box-sizing:border-box}body{display:grid;grid-template-columns:210px minmax(0,1fr) 312px;grid-template-rows:38px minmax(0,1fr) 24px;height:100vh;overflow:hidden;background:var(--bg);color:var(--ink);font:400 12.5px/1.65 "Alibaba PuHuiTi 2.0",PingFang SC,Microsoft YaHei,sans-serif;-webkit-font-smoothing:antialiased}#view{grid-area:2 / 2 / 3 / 3;position:relative;overflow:hidden;min-width:0}#view canvas{display:block;width:100%;height:100%}#top button.modeg{padding:3px 9px;min-width:30px}#top select{font:inherit;font-size:11px;color:var(--ink-dim);background:#0d0c0b;border:1px solid var(--line);padding:2px 4px}@media(max-width:860px){body{grid-template-columns:minmax(0,1fr)}#view{grid-area:2 / 1 / 3 / 2}#left,#right{position:absolute;top:38px;bottom:24px;width:260px;z-index:5;background:#0d0c0bf2;box-shadow:0 0 24px #000a}#left{left:0}#right{right:0;width:290px}body.hide-left #left,body.hide-right #right{display:none}}#top{grid-area:1 / 1 / 2 / 4;display:flex;align-items:center;gap:14px;padding:0 12px;border-bottom:1px solid var(--line);font-size:12px}#top .title{font-size:13.5px;letter-spacing:.06em}#top .sep{color:var(--ink-faint)}#top button{font:inherit;color:var(--ink-dim);background:transparent;border:1px solid var(--line);padding:3px 10px;cursor:pointer;transition:color .15s,border-color .15s}#top button:hover{color:var(--ink);border-color:var(--ink-faint)}#top button:disabled{opacity:.32;cursor:default}#top button.on{color:var(--sel);border-color:var(--sel)}#top .spacer{flex:1}#top .stat{font-family:var(--mono);font-size:11px;color:var(--ink-faint)}#top .narrow{display:none}@media(max-width:860px){#top .narrow{display:inline-block}#top button,#top .btn{padding:3px 7px;font-size:11px}#top{gap:8px}#bottom{font-size:9.5px;gap:9px}}#left{grid-area:2 / 1 / 3 / 2;border-right:1px solid var(--line);overflow-y:auto;padding:8px 0}.sec{padding:6px 12px 3px;font-size:10.5px;letter-spacing:.16em;color:var(--ink-faint)}.room{display:block;width:100%;text-align:left;font:inherit;color:var(--ink-dim);background:transparent;border:0;border-left:2px solid transparent;padding:7px 12px;cursor:pointer}.room:hover{color:var(--ink);background:#ffffff06}.room.on{color:var(--sel);border-left-color:var(--sel);background:#c9a2270d}.room .n{display:flex;justify-content:space-between;gap:6px}.room .ord{font-family:var(--mono);font-size:10px;color:var(--ink-faint)}.room .meta{font-family:var(--mono);font-size:10.5px;color:var(--ink-faint);margin-top:2px}.room .meta.warn{color:var(--warn)}.room{position:relative;padding-right:30px}.room .mv{position:absolute;right:7px;font-size:9px;line-height:1;color:var(--ink-faint);padding:2px 3px}.room .mv.up{top:5px}.room .mv.dn{bottom:5px}.room .mv:hover{color:var(--sel)}#right{grid-area:2 / 3 / 3 / 4;border-left:1px solid var(--line);overflow-y:auto;padding:8px 0 24px}#right .empty{padding:24px 14px;color:var(--ink-faint);line-height:1.9}.row{display:grid;grid-template-columns:66px minmax(0,1fr) 46px;gap:6px;align-items:center;padding:3px 12px}.row.pair{grid-template-columns:66px minmax(0,1fr) minmax(0,1fr)}.row>label{font-size:11px;color:var(--ink-dim)}.row input,.row select{font:inherit;font-family:var(--mono);font-size:11.5px;color:var(--ink);background:#ffffff0d;border:1px solid var(--line);padding:3px 6px;width:100%;min-width:0}.row input:focus,.row select:focus{outline:none;border-color:var(--ink-dim)}.row textarea.ta{font:inherit;width:100%;resize:vertical;color:var(--ink);background:#ffffff08;border:1px solid var(--line);padding:4px 6px}.row textarea.ta:focus{outline:none;border-color:var(--ink-faint)}#top .btn{line-height:1.55;text-decoration:none}.btn{font:inherit;font-size:11.5px;color:var(--ink-dim);background:transparent;border:1px solid var(--line);padding:3px 10px;cursor:pointer;transition:color .15s,border-color .15s}.btn:hover{color:var(--ink);border-color:var(--ink-faint)}.btn.danger{color:#c0705c;border-color:#4a2b24}.btn.danger:hover{color:#e08570;border-color:#7a4237}.row input[type=range]{padding:0;background:transparent;border:0}.row .val{font-family:var(--mono);font-size:11px;color:var(--ink-dim);text-align:right}.row.wide{grid-template-columns:minmax(0,1fr)}.row .hint{grid-column:1 / -1;font-size:10.5px;color:var(--ink-faint);line-height:1.7}.row>label:empty{display:none}.head{display:flex;align-items:baseline;gap:8px;padding:9px 12px 5px;border-bottom:1px solid var(--line-soft);margin-bottom:5px}.head .t{font-size:13px}.head .id{font-family:var(--mono);font-size:10.5px;color:var(--ink-faint)}.head .kind{font-size:10px;padding:1px 5px;border:1px solid var(--line);color:var(--ink-faint);margin-left:auto}.list{display:flex;flex-direction:column}.item{display:flex;align-items:center;gap:7px;padding:5px 12px;cursor:pointer;border-left:2px solid transparent}.item:hover{background:#ffffff06}.item.on{border-left-color:var(--sel);background:#c9a2270d}.item .nm{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.item .sz{font-family:var(--mono);font-size:10px;color:var(--ink-faint)}.item .dot{width:4px;height:4px;border-radius:50%;background:var(--bad)}.item .dot.ok{background:var(--bad);opacity:0}.item .warn{color:var(--warn);font-size:10.5px}#bottom{grid-area:3 / 1 / 4 / 4;display:flex;align-items:center;gap:16px;padding:0 12px;border-top:1px solid var(--line);font-family:var(--mono);font-size:10.5px;color:var(--ink-faint)}#bottom .k{color:var(--ink-dim)}#bottom .err{color:var(--bad)}#bottom .ok{color:var(--ok)}#auditSum{font-family:var(--mono);font-size:10.5px}#auditSum.bad{color:#d9836b}#auditSum.warn{color:var(--ink-dim)}#auditSum.info{color:var(--ink-faint)}#auditSum.ok{color:var(--ok)}#btnAudit{padding:1px 8px;font:inherit;font-size:10.5px;color:var(--ink-dim);background:transparent;border:1px solid var(--line);cursor:pointer}#btnAudit.on{color:var(--ink);border-color:var(--ink-faint)}#auditPick{max-width:420px}#hud{position:absolute;left:10px;bottom:10px;display:flex;gap:6px;flex-wrap:wrap;pointer-events:none}#hud .chip{font-family:var(--mono);font-size:10.5px;color:var(--ink-dim);background:#0d0c0bd9;border:1px solid var(--line);padding:2px 7px}#hud .chip.sel{color:var(--sel);border-color:var(--sel)}#hud .chip.vp{color:var(--ink-faint)}#tip{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#0d0c0bcc;font-size:13px;color:var(--ink-dim);text-align:center;line-height:2;pointer-events:none}#tip .bar{width:240px;height:1px;background:var(--line);margin:12px auto}#tip .num{font-family:var(--mono);color:var(--ink-faint)}#drag{position:absolute;left:10px;top:10px;font-family:var(--mono);font-size:10.5px;color:var(--sel);pointer-events:none;display:none}
