:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#e9edf3;background:#11151b;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button{font:inherit}.shell{display:grid;grid-template-columns:240px minmax(0,1fr) 260px;grid-template-rows:64px minmax(600px,calc(100vh - 64px));min-height:100vh;background:#11151b}.topbar{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;padding:0 20px;border-bottom:1px solid #2a313d;background:#171c24}h1,h2,p{margin:0}h1{font-size:18px;font-weight:600}h2{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.08em}.eyebrow{margin-bottom:3px;color:#8e9aae;font-size:11px;text-transform:uppercase;letter-spacing:.12em}.status{color:#9db4d5;font-size:13px}.topbar-actions,.file-actions{display:flex;align-items:center}.topbar-actions{gap:18px;min-width:0}.file-actions{gap:7px;flex-wrap:wrap;justify-content:flex-end}.file-actions button{padding:6px 10px;border:1px solid #354154;border-radius:5px;color:#c9d5e5;background:#202936;cursor:pointer}.file-actions button:disabled{cursor:default;opacity:.4}.history,.properties{padding:18px 14px;background:#171c24}.history{border-right:1px solid #2a313d}.properties{border-left:1px solid #2a313d}.tree-item{width:100%;margin-top:12px;padding:9px 10px;border:0;border-radius:6px;color:#c9d1dc;background:transparent;text-align:left;cursor:pointer}.tree-item:hover{background:#222936}.tree-item.selected{color:#eaf2ff;background:#26354a}.tree-item.suppressed{opacity:.55;text-decoration:line-through}.tree-icon{display:inline-block;width:22px;color:#72a9f6}.planes{padding-left:12px}.features{margin-top:10px;padding-top:4px;border-top:1px solid #262e39}.tree-empty{margin:14px 10px 0;color:#687487;font-size:12px}.roadmap{margin-top:36px;border-top:1px solid #2a313d;padding-top:18px}.roadmap ol{margin:14px 0 0;padding-left:24px;color:#687487;font-size:12px}.roadmap li{margin:8px 0}.roadmap li.active{color:#8ebdff}.roadmap li.complete{color:#74c69d}.viewport{position:relative;overflow:hidden;background:radial-gradient(circle at 50% 42%,#202834,#151a21 60%,#10141a)}.cad-canvas{position:absolute;inset:0}.cad-canvas canvas{display:block;width:100%;height:100%}.workspace-switcher,.drawing-orientations{position:absolute;z-index:3;display:flex;gap:5px;padding:4px;border:1px solid #394453;border-radius:7px;background:#171c24e0}.workspace-switcher{left:18px;top:18px}.preview-banner{position:absolute;z-index:4;left:50%;top:20px;transform:translate(-50%);padding:7px 11px;border:1px solid #4879b8;border-radius:999px;color:#d9ebff;background:#193a62eb;font-size:12px;box-shadow:0 4px 16px #00000047}.drawing-orientations{left:18px;top:64px}.workspace-switcher button,.drawing-orientations button{padding:5px 9px;border:0;border-radius:4px;color:#9aa8ba;background:transparent;cursor:pointer;text-transform:capitalize}.workspace-switcher button.active,.drawing-orientations button.active{color:#eff6ff;background:#315b91}.workspace-switcher button:disabled{cursor:default;opacity:.4}.drawing-canvas{position:absolute;inset:0;display:grid;place-items:center;padding:34px;background:#c9c9c4}.sketch-canvas{position:absolute;inset:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto;padding:24px;background:#111821}.sketch-heading{z-index:2;display:flex;align-items:center;justify-content:space-between;padding:0 2px 16px}.sketch-heading h2{color:#edf3fb;font-size:17px;text-transform:none;letter-spacing:0}.sketch-heading>span{padding:5px 9px;border-radius:999px;font-size:11px}.sketch-heading>span.valid{color:#b9f6d2;background:#2c7a4e4d}.sketch-heading>span.warning{color:#ffe6a3;background:#956d1a4d}.sketch-heading>span.error{color:#ffc1c1;background:#9630304d}.sketch-canvas svg{width:100%;height:100%;min-height:0;border:1px solid #2c3746;border-radius:8px;background-image:linear-gradient(rgb(67 82 101 / 24%) 1px,transparent 1px),linear-gradient(90deg,rgb(67 82 101 / 24%) 1px,transparent 1px);background-size:24px 24px;background-color:#151d27}.sketch-grid line{stroke:#43546a;stroke-width:1;stroke-dasharray:5 8}.sketch-geometry line{stroke:#7db4ff;stroke-width:4;stroke-linecap:round}.sketch-geometry circle{fill:#dcecff;stroke:#2d6fb9;stroke-width:2}.sketch-dimensions text{fill:#a9cfff;font-size:15px;text-anchor:middle}.sketch-diagnostics{min-height:42px;padding-top:12px;color:#91a3b9;font-size:12px}.sketch-diagnostics p.warning{color:#ffe6a3}.sketch-diagnostics p.error{color:#ffc1c1}.sketch-empty{position:absolute;left:50%;top:42%;width:min(420px,calc(100% - 48px));transform:translate(-50%,-50%);text-align:center}.sketch-empty h2{margin:8px 0 10px;color:#edf3fb;font-size:20px;text-transform:none;letter-spacing:0}.sketch-empty p:last-child{color:#96a2b4;font-size:14px;line-height:1.55}.drawing-sheet{position:relative;width:min(88%,900px);aspect-ratio:1.414 / 1;border:1px solid #707070;box-shadow:0 8px 30px #00000038;background:#faf9f3}.drawing-sheet svg{width:100%;height:calc(100% - 48px);padding:7%}.drawing-sheet line{fill:none;stroke:#161b22;stroke-width:.8;vector-effect:non-scaling-stroke}.drawing-title{position:absolute;right:0;bottom:0;display:grid;grid-template-columns:minmax(180px,1fr) auto auto;min-width:55%;border-top:1px solid #555;border-left:1px solid #555;color:#1d232a;font-size:10px}.drawing-title>*{padding:8px 10px;border-right:1px solid #777}.viewport-grid{position:absolute;inset:50% -40% -40%;transform:perspective(700px) rotateX(62deg);transform-origin:50% 0;background-image:linear-gradient(#2e3744 1px,transparent 1px),linear-gradient(90deg,#2e3744 1px,transparent 1px);background-size:32px 32px;opacity:.5}.origin-gizmo{position:absolute;left:50%;top:55%;width:1px;height:1px}.origin-dot{position:absolute;width:10px;height:10px;border:2px solid #d8e2f1;border-radius:50%;transform:translate(-5px,-5px)}.axis{position:absolute;font-size:11px;font-weight:700}.axis.x{left:88px;top:22px;color:#f07777}.axis.y{left:-92px;top:25px;color:#69d49b}.axis.z{left:7px;top:-100px;color:#74a8ff}.origin-gizmo:before,.origin-gizmo:after{content:"";position:absolute;height:2px;width:95px;transform-origin:0 50%}.origin-gizmo:before{background:#d65a5a;transform:rotate(15deg)}.origin-gizmo:after{background:#48b87e;transform:rotate(165deg)}.empty-state{position:absolute;left:50%;top:35%;width:min(420px,calc(100% - 48px));transform:translate(-50%,-50%);text-align:center}.empty-state h2{margin:8px 0 10px;color:#edf3fb;font-size:20px;text-transform:none;letter-spacing:0}.empty-state p:last-child{color:#96a2b4;font-size:14px;line-height:1.55}.empty-state button{margin-top:18px;padding:9px 13px;border:1px solid #4d78b4;border-radius:6px;color:#edf5ff;background:#28528a;cursor:pointer}.empty-state button:disabled{cursor:wait;opacity:.65}.view-cube{position:absolute;right:24px;top:24px;width:72px;height:72px;border:1px solid #4a5667;background:#252d39;color:#b9c6d8;font-size:9px;transform:rotate(-8deg) skewY(5deg);display:grid;place-items:center}.view-cube b{font-size:10px}.properties dl{margin:18px 0 0}.properties dl div{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid #262e39}.properties dt{color:#8490a2;font-size:12px}.properties dd{margin:0;color:#d3dbe7;font-size:12px;text-align:right}.history-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:16px}.history-actions button{padding:7px 8px;border:1px solid #354154;border-radius:5px;color:#c9d5e5;background:#202936;cursor:pointer}.history-actions button:disabled{cursor:default;opacity:.4}.parameter-form{margin-top:28px;padding-top:18px;border-top:1px solid #2a313d}.feature-action{margin-top:24px;padding-top:18px;border-top:1px solid #2a313d}.form-hint{margin-top:10px;color:#8490a2;font-size:12px;line-height:1.5}.parameter-form label,.feature-action label{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;color:#8490a2;font-size:12px}.parameter-form label span,.feature-action label span{display:flex;align-items:center;gap:6px;color:#8490a2}.parameter-form input,.feature-action input{width:82px;padding:7px 8px;border:1px solid #354154;border-radius:5px;outline:none;color:#eaf2ff;background:#111821;font:inherit;text-align:right}.parameter-form input:focus,.feature-action input:focus{border-color:#72a9f6}.parameter-form button,.feature-action button{width:100%;margin-top:18px;padding:9px 10px;border:1px solid #4d78b4;border-radius:6px;color:#edf5ff;background:#28528a;cursor:pointer}.parameter-form button:disabled,.feature-action button:disabled{cursor:wait;opacity:.65}.property-hint{margin-top:28px;padding-top:18px;border-top:1px solid #2a313d;color:#8490a2;font-size:12px;line-height:1.55}.sketch-preview-actions{margin-top:28px;padding-top:18px;border-top:1px solid #2a313d}.sketch-preview-actions dl{margin-top:12px}.sketch-preview-actions button{width:100%;margin-top:10px;padding:9px 10px;border:1px solid #4d78b4;border-radius:6px;color:#edf5ff;background:#28528a;cursor:pointer}.sketch-preview-actions button.secondary{border-color:#354154;color:#c9d5e5;background:#202936}.sketch-preview-actions button:disabled{cursor:default;opacity:.5}button:focus-visible,input:focus-visible{outline:2px solid #8fc1ff;outline-offset:2px}@media(max-width:900px){.shell{grid-template-columns:200px minmax(0,1fr);grid-template-rows:auto minmax(520px,calc(100vh - 64px)) auto}.properties{grid-column:1 / -1;display:grid;grid-template-columns:minmax(180px,.7fr) minmax(260px,1fr);gap:0 28px;border-top:1px solid #2a313d;border-left:0}.properties>h2{grid-column:1 / -1;margin-bottom:8px}.properties dl{grid-column:1;margin-top:0}.properties>:not(h2):not(dl):not(.history-actions){grid-column:2}.properties .history-actions{grid-column:1}}@media(max-width:640px){.shell{grid-template-columns:1fr;grid-template-rows:auto auto minmax(420px,60vh) auto}.topbar{align-items:flex-start;gap:12px;padding:12px 14px}.topbar-actions{flex:1 1 220px;align-items:flex-start;flex-direction:column;gap:8px}.file-actions{justify-content:flex-start}.history{border-right:0;border-bottom:1px solid #2a313d}.viewport{min-height:420px}.properties{display:block}.properties>h2{margin-bottom:0}.workspace-switcher{left:12px;top:12px}.view-cube{right:14px;top:14px}}
