.plan-editor{display:grid;grid-template-columns:180px minmax(0,1fr) 250px;min-height:680px;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--panel);box-shadow:var(--shadow)}.plan-tools,.plan-inspector{padding:18px;background:#f7f8f4;display:flex;flex-direction:column;gap:8px}.plan-tools{border-right:1px solid var(--line)}.plan-inspector{border-left:1px solid var(--line)}.plan-tools h2,.plan-inspector h2{font:500 19px Georgia,serif;margin:4px 0 8px}.plan-tools button{background:transparent;border:1px solid transparent;text-align:left;border-radius:7px;padding:8px;cursor:pointer;color:var(--ink)}.plan-tools button.active,.plan-tools button:hover{border-color:var(--line);background:#fff}.plan-tools hr{width:100%;border:0;border-top:1px solid var(--line)}.plan-tools small,.plan-inspector small{color:var(--muted);font-size:11px}.plan-inspector label{font-size:12px;font-weight:700;display:flex;flex-direction:column;gap:5px}.plan-inspector textarea,.plan-inspector select{width:100%}.plan-canvas-shell{min-width:0;background:#dce2de;display:flex;flex-direction:column;overflow:hidden}.plan-canvas-toolbar{background:var(--panel);border-bottom:1px solid var(--line);padding:11px 16px;display:flex;justify-content:space-between;font-size:12px}.plan-canvas-shell svg{flex:1;width:100%;height:100%;min-height:600px;touch-action:none}.plan-element{cursor:move}.plan-element.selected>*{stroke:#c05236!important;stroke-width:1!important}@media(max-width:1050px){.plan-editor{grid-template-columns:150px minmax(0,1fr)}.plan-inspector{grid-column:1/-1;border-left:0;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(3,1fr)}}@media(max-width:700px){.plan-editor{grid-template-columns:1fr}.plan-tools{border-right:0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:repeat(4,1fr)}.plan-tools h2,.plan-tools hr,.plan-tools small{grid-column:1/-1}.plan-inspector{grid-template-columns:1fr}.plan-canvas-shell svg{min-height:440px}}
.geometry-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;border:1px solid var(--line);border-radius:12px;overflow:hidden}.geometry-canvas{min-height:560px;background:#edf1ec;display:flex}.geometry-canvas svg{width:100%;min-height:560px;max-height:72vh}.geometry-properties{padding:20px;background:var(--panel);border-left:1px solid var(--line)}.geometry-properties h3{margin-top:0}.geometry-primitive{cursor:pointer;vector-effect:non-scaling-stroke}.geometry-primitive:hover,.geometry-primitive:focus{stroke:#173e32!important;stroke-width:.08!important;outline:none}.geometry-primitive.selected{stroke:#c05236!important;stroke-width:.10!important;fill:#f2c665!important}.split-header{display:flex;justify-content:space-between;align-items:start;gap:18px;margin-bottom:16px}.split-header h2{margin-bottom:6px}@media(max-width:800px){.geometry-layout{grid-template-columns:1fr}.geometry-properties{border-left:0;border-top:1px solid var(--line)}.geometry-canvas,.geometry-canvas svg{min-height:420px}}
.viewer-shell{display:grid;grid-template-columns:minmax(0,1fr) 290px;grid-template-rows:auto minmax(560px,72vh);border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--panel);box-shadow:var(--shadow)}.viewer-toolbar{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:12px 16px;border-bottom:1px solid var(--line)}.viewer-toolbar>div{display:flex;gap:8px}.viewer-stage{min-width:0;background:#e9eeeb}.viewer-stage canvas{display:block;width:100%;height:100%;touch-action:none}.viewer-inspector{padding:22px;border-left:1px solid var(--line)}.viewer-inspector h2{margin:0 0 18px;font:500 22px Georgia,serif}.viewer-inspector dl{display:grid;grid-template-columns:95px 1fr;gap:9px;font-size:13px}.viewer-inspector dt{font-weight:750}.viewer-inspector dd{margin:0;overflow-wrap:anywhere}.viewer-shell:fullscreen{width:100vw;height:100vh;grid-template-rows:auto 1fr}.project-tabs{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 24px}.project-tabs a{padding:10px 15px;border:1px solid var(--line);border-radius:999px;background:var(--panel);font-weight:750}.project-tabs a.active{background:var(--forest);color:#fff}@media(max-width:800px){.viewer-shell{grid-template-columns:1fr;grid-template-rows:auto minmax(440px,62vh) auto}.viewer-inspector{border-left:0;border-top:1px solid var(--line)}.viewer-toolbar{align-items:flex-start}.viewer-toolbar>div{flex-wrap:wrap;justify-content:flex-end}}
