@import "https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Noto+Serif+SC:wght@500;600;700&display=swap";:root{color:#24322c;font-synthesis:none;text-rendering:optimizelegibility;background:#18332d;font-family:DM Mono,SFMono-Regular,Consolas,monospace}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button{font:inherit;cursor:pointer}.app-shell{background:#edf0e8;min-height:100vh}.topbar{color:#f2f0e5;background:#17332d;border-bottom:1px solid #ffffff1f;grid-template-columns:1fr auto 1fr;align-items:center;height:62px;padding:0 20px;display:grid}.brand,.project-name,.top-actions,.canvas-head,.rail-title,.library-item,.measure,.constraint,.climate{align-items:center;display:flex}.brand{letter-spacing:0;gap:9px;font-family:Noto Serif SC,serif;font-size:20px;font-weight:700}.brand b{letter-spacing:.12em;color:#aec0ab;margin-left:3px;font:500 10px DM Mono,monospace}.project-name{color:#eef0e8;border:1px solid #ffffff24;gap:10px;padding:8px 11px;font-size:12px}.project-name em{color:#b9c8b7;font-size:10px;font-style:normal}.top-actions{justify-content:flex-end;gap:8px}.icon-btn,.toggle{color:inherit;background:0 0;border:1px solid #bac4b3;place-items:center;width:36px;height:34px;display:inline-grid}.icon-btn:hover,.toggle:hover{background:#e3e8dd}.topbar .icon-btn{color:#e9eee5;border-color:#fff3}.export-btn{color:#fff8ee;letter-spacing:.03em;background:#d56a45;border:0;padding:9px 13px;font-size:11px}.workspace{grid-template-columns:224px minmax(480px,1fr) 280px;height:calc(100vh - 62px);min-height:640px;display:grid}.left-rail,.inspector{background:#f5f4ed;border-right:1px solid #cbd0c5;padding:18px 14px;overflow-y:auto}.inspector{border-left:1px solid #cbd0c5;border-right:0;padding:18px}.rail-title,.inspector-head{text-transform:uppercase;letter-spacing:.08em;justify-content:space-between;font-size:12px;font-weight:500}.compact{border-color:#c9cec3;width:27px;height:27px}.library-section{margin-top:25px}.eyebrow{color:#66766b;text-transform:uppercase;letter-spacing:.12em;margin:0 0 9px;font-size:9px;line-height:1.2}.library-item{text-align:left;color:#3b4c43;background:0 0;border:0;border-top:1px solid #dbe0d6;gap:9px;width:100%;padding:10px 3px;font-size:11px}.library-item:last-child{border-bottom:1px solid #dbe0d6}.library-item small{color:#7a877d;margin-left:auto;font-size:9px}.library-item.active{color:#fff;background:#244b3f;border-color:#244b3f;margin-top:1px;padding-left:9px;padding-right:8px}.library-item.active small{color:#cad9c7}.library-item.brick{color:#913e2c}.brick-dot{background:#a54a35;width:13px;height:13px;display:inline-block}.orientation{color:#66766b;border-top:1px solid #dbe0d6;grid-template-columns:24px 22px 1fr;align-items:center;gap:6px;margin-top:44px;padding-top:15px;font-size:9px;display:grid}.north-mark{color:#244b3f;font-size:11px;font-weight:500}.compass{border:1px solid #9dad9e;place-items:center;width:18px;height:18px;display:grid;transform:rotate(45deg)}.compass i{border-inline:4px solid #0000;border-bottom:8px solid #d56a45;width:0;height:0;display:block;transform:rotate(-45deg)translateY(-2px)}.viewport-wrap{background:#e6e4dc;min-width:0;position:relative;overflow:hidden}.canvas{position:absolute;inset:0}.canvas canvas{outline:none;width:100%;height:100%;display:block}.canvas-head{z-index:2;pointer-events:none;gap:12px;position:absolute;top:18px;left:22px}.canvas-head strong{letter-spacing:0;font-family:Noto Serif SC,serif;font-size:15px;font-weight:600}.canvas-head .eyebrow{margin:0}.scale-note{color:#718078;font-size:9px;position:absolute;top:21px;right:21px}.view-controls{z-index:3;gap:5px;display:flex;position:absolute;bottom:22px;left:22px}.view-controls button{color:#435248;background:#f8f8f1e0;border:1px solid #c1c8bd;align-items:center;gap:6px;padding:9px 10px;font-size:10px;display:flex}.view-controls button.selected{color:#fff;background:#244b3f;border-color:#244b3f}.quick-controls{z-index:3;gap:5px;display:flex;position:absolute;bottom:22px;right:20px}.toggle{color:#3b4b42;background:#f8f8f1e0;width:34px}.toggle.on{color:#a54a35;border-color:#a54a35}.scene-tag{z-index:2;pointer-events:none;color:#9b3f2b;letter-spacing:.04em;font-size:9px;position:absolute}.scene-tag span{background:#fff9f0de;border-left:2px solid #a54a35;padding:5px 7px}.tag-kang{top:41%;left:42%}.tag-south{color:#426f71;bottom:20%;left:40%}.tag-south span{border-color:#426f71}.inspector-head{color:#35463d}.status-dot{color:#4b7964;letter-spacing:0;text-transform:none;font-size:9px}.status-dot:before{content:"";background:#4b7964;border-radius:50%;width:6px;height:6px;margin-right:5px;display:inline-block}.selection-card{padding-top:32px}.selection-card h1{letter-spacing:0;color:#24372e;margin:0 0 5px;font-family:Noto Serif SC,serif;font-size:22px;font-weight:600}.selection-subtitle{color:#8e4937;margin:0;font-size:10px}.measure{color:#244b3f;border:1px solid #cfd5ca;gap:8px;margin:19px 0 13px;padding:10px;font-size:11px}.selection-note{color:#68766e;margin:0;font:11px/1.7 Noto Serif SC,serif}.rule{background:#d9ded3;height:1px;margin:25px 0}.info-section{color:#4e5d54;font-size:10px}.constraint{border-bottom:1px solid #e1e5dc;gap:8px;padding:8px 0}.constraint b{color:#697b70;margin-left:auto;font-size:9px;font-weight:500}.dot{border-radius:50%;flex:none;width:7px;height:7px}.fixed{background:#3f775f}.warm{background:#a54a35}.cool{background:#79a1a5}.climate{gap:8px;font-size:10px}.sunline{color:#738178;align-items:center;gap:8px;margin-top:12px;font-size:9px;display:flex}.sunline div{background:#d5d9ce;flex:1;height:4px;position:relative}.sunline i{background:#d56a45;border-radius:50%;width:10px;height:10px;position:absolute;top:-3px;left:18%}.details-btn{color:#244b3f;background:0 0;border:1px solid #244b3f;width:100%;margin-top:29px;padding:11px;font-size:10px}.details-btn:hover{color:#fff;background:#244b3f}@media (width<=980px){.workspace{grid-template-columns:190px minmax(390px,1fr)}.inspector{display:none}}@media (width<=680px){.topbar{grid-template-columns:1fr auto;height:56px;padding:0 12px}.project-name,.topbar .icon-btn{display:none}.workspace{grid-template-columns:1fr;height:calc(100vh - 56px);min-height:570px}.left-rail{display:none}.canvas-head{top:14px;left:15px}.canvas-head strong{font-size:13px}.scene-tag{display:none}.view-controls{bottom:15px;left:15px}.quick-controls{bottom:15px;right:15px}.view-controls button{padding:8px;font-size:0}.view-controls button svg{margin:0}.brand b{display:none}}
