:root{--bg:#0b0d12;--panel:#131722;--line:#232a3a;--fg:#dde3ee;--dim:#8892a6;--accent:#7fd4ff;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{height:100%;margin:0}body{background:var(--bg);color:var(--fg);font:13px/1.5 system-ui,-apple-system,Segoe UI,sans-serif}#app{grid-template-columns:1fr 340px;height:100%;display:grid}main{position:relative;overflow:hidden}canvas{cursor:crosshair;touch-action:none;width:100%;height:100%;display:block;position:absolute;inset:0}#exterior,#interior{cursor:grab}#exterior:active,#interior:active{cursor:grabbing}.views{border:1px solid var(--line);background:#0a0d14db;border-radius:6px;gap:0;display:flex;position:absolute;top:12px;left:12px;overflow:hidden}.views button{background:0 0;border:none;border-radius:0;width:auto;margin:0;padding:6px 14px;font-size:12px}.views button.active{color:var(--accent);background:#1d2942}#spin{inset:12px 12px auto auto}.labels3d{pointer-events:none;position:absolute;inset:0;overflow:hidden}#app.no-labels .labels3d{display:none}.labels3d span{white-space:nowrap;color:#e2ecfae6;text-shadow:0 0 4px #05070d,0 0 8px #05070d;letter-spacing:.04em;font:11px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;position:absolute;transform:translate(-50%,-50%)}.labels3d span small{color:var(--dim);letter-spacing:0;display:block}#int-labels span:hover{color:var(--accent)}.overlay{border:1px solid var(--line);pointer-events:none;white-space:pre;background:#0a0d14db;border-radius:6px;padding:8px 10px;font:11px/1.6 ui-monospace,SFMono-Regular,Menlo,monospace;position:absolute;bottom:12px;left:12px}#sightline{left:auto;right:12px}.hidden{display:none!important}.status[hidden]{display:none}.status{box-sizing:border-box;border:1px solid var(--line);text-align:center;z-index:5;pointer-events:none;background:#0b0d12eb;border-radius:8px;width:min(420px,100% - 32px);padding:18px 20px 20px;position:absolute;top:42%;left:50%;transform:translate(-50%,-50%)}.status p{margin:0}.status-title{letter-spacing:.12em;text-transform:uppercase;color:var(--dim);font-size:11px}.status-line{min-height:1.3em;font-size:15px;margin:10px 0 14px!important}.status-bar{background:#1b2130;border-radius:2px;height:3px;overflow:hidden}#status-fill{background:var(--accent);width:0;height:100%;transition:width .25s ease-out}aside{background:var(--panel);border-left:1px solid var(--line);padding:0 14px 24px;overflow-y:auto}header{align-items:center;gap:8px;padding:14px 0 10px;display:flex}h1{letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:15px}#branch{width:auto;margin:0 0 0 auto;padding:3px 6px;font-size:11px}details.sec{border-top:1px solid var(--line)}details.sec[hidden]{display:none}details.sec>summary{cursor:pointer;text-transform:uppercase;letter-spacing:.08em;color:var(--dim);align-items:center;gap:8px;padding:12px 0;font-size:11px;list-style:none;display:flex}details.sec>summary::-webkit-details-marker{display:none}details.sec>summary:after{content:"";border-bottom:1.5px solid;border-right:1.5px solid;width:6px;height:6px;margin-left:auto;transition:transform .12s;transform:rotate(45deg)translate(-2px,-2px)}details.sec[open]>summary{color:var(--fg)}details.sec[open]>summary:after{transform:rotate(-135deg)translate(-2px,-2px)}details.sec>summary:hover{color:var(--fg)}details.sec>:not(summary):last-child{margin-bottom:14px}.dim{color:var(--dim);font-weight:400}.hint{color:var(--dim);margin:8px 0 14px;font-size:11px}code{background:#0b0d12;border-radius:3px;padding:1px 4px}button{border:1px solid var(--line);width:100%;color:var(--fg);font:inherit;cursor:pointer;background:#1b2130;border-radius:6px;margin-bottom:6px;padding:7px 10px;font-size:12px}button:hover{background:#222a3d}button:disabled,select:disabled,input:disabled{opacity:.45;cursor:default}button:disabled:hover{background:#1b2130}button.active{border-color:var(--accent);color:var(--accent);background:#16233a}.list{max-height:260px;margin:0;padding:0;list-style:none;overflow-y:auto}.list li{cursor:pointer;border-radius:5px;align-items:center;gap:8px;padding:5px 6px;display:flex}.list li:hover{background:#1b2130}.list li.sel{background:#1d2942}.list .swatch{border-radius:50%;flex:none;width:9px;height:9px}.list .nm{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.list .kd{color:var(--dim);font-size:10px}#detail p{margin:0 0 8px}#d-name{font-size:14px;font-weight:600}label{color:var(--dim);margin-bottom:9px;font-size:11px;display:block}label.row{color:var(--fg);align-items:center;gap:7px;font-size:12px;display:flex}input[type=number],select{border:1px solid var(--line);width:100%;color:var(--fg);font:inherit;background:#0e1219;border-radius:5px;margin-top:3px;padding:6px 8px;font-size:12px}input[type=range]{width:100%;accent-color:var(--accent);margin-top:6px}.warn{color:#e8c46a}.links{flex-wrap:wrap;gap:4px 12px;margin:0 0 14px;font-size:11px;display:flex}.links a{color:var(--accent);text-decoration:none}.links a:hover{text-decoration:underline}.board{margin:0 0 10px;padding:0;list-style:none}.board li{border-bottom:1px solid var(--line);padding:6px 0;font-size:12px}.board li.now{color:var(--accent)}.board .rev{color:var(--dim);margin-top:2px;font-size:11px}.board s{color:var(--dim)}#panel-toggle,#panel-close,.scrim{display:none}@media (max-width:720px){#app{grid-template-columns:1fr}aside{z-index:20;width:min(340px,86vw);transition:transform .18s;position:fixed;top:0;bottom:0;right:0;transform:translate(100%);box-shadow:-12px 0 28px #00000080}#app.panel-open aside{transform:translate(0)}#panel-toggle{z-index:21;background:#0a0d14db;width:auto;margin:0;padding:6px 14px;font-size:12px;display:block;position:fixed;top:12px;right:12px}#app.panel-open #panel-toggle{display:none}#panel-close{width:auto;margin:0 0 0 auto;padding:4px 12px;display:block}#branch:not([hidden])+#panel-close{margin-left:0}#app.panel-open .scrim{z-index:19;background:#05070d8c;display:block;position:fixed;inset:0}#spin{top:54px}.overlay{padding:6px 8px;font-size:9px}}.tour-fade{pointer-events:none;opacity:0;background:#000;position:absolute;inset:0}.tour-caption{text-align:center;white-space:pre-line;border:1px solid var(--line);pointer-events:none;background:#0a0d14b8;border-radius:6px;max-width:min(640px,100% - 32px);padding:8px 14px;font-size:13px;line-height:1.5;position:absolute;top:12px;left:50%;transform:translate(-50%)}@media (max-width:720px){.tour-caption{font-size:11px;top:56px}}
