:root{color:#e5e7eb;background:#181a1b;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}html,body,#root{width:100%;height:100%;margin:0;overflow:hidden}button,input,select{font:inherit}button:focus-visible,input:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:2px solid #78b9ff;outline-offset:2px}.accessible-tooltip{position:fixed;z-index:100;width:max-content;max-width:min(240px,calc(100vw - 24px));padding:5px 7px;color:#e7eef7;background:#111416;border:1px solid #59616a;border-radius:4px;box-shadow:0 8px 20px #00000073;font-family:SFMono-Regular,Consolas,monospace;font-size:9px;line-height:1.35;pointer-events:none;text-align:center;white-space:normal}.accessible-tooltip[data-placement=top]{transform:translate(-50%,-100%)}.accessible-tooltip[data-placement=bottom]{transform:translate(-50%)}.app-shell{display:grid;grid-template-rows:48px minmax(0,1fr);width:100%;height:100%;background:#181a1b}.top-bar{position:relative;z-index:10;display:flex;align-items:center;gap:11px;padding:0 16px;background:#25282b;border-bottom:1px solid #35393d;box-shadow:0 8px 24px #00000029}.project-actions{display:flex;align-items:center;gap:5px;margin-left:10px}.project-actions button,.project-library button,.project-error button{min-height:27px;padding:0 8px;color:#cbd5e1;background:#202326;border:1px solid #41474d;border-radius:4px;cursor:pointer;font-size:9px;white-space:nowrap}.project-actions button:hover:not(:disabled),.project-library button:hover:not(:disabled),.project-error button:hover:not(:disabled){color:#e8f2ff;background:#4da3ff21;border-color:#4da3ff8c}.project-actions button:disabled,.project-library button:disabled{cursor:default;opacity:.42}.project-name-field{min-width:120px;max-width:190px;margin-left:auto}.project-name-field input{width:100%;height:28px;padding:0 8px;color:#e5edf6;background:#171a1c;border:1px solid #41474d;border-radius:4px;outline:none;font-size:10px}.project-name-field input:focus{border-color:#4da3ff;box-shadow:0 0 0 2px #4da3ff1f}.project-save-status{display:flex;min-width:72px;align-items:center;gap:6px;color:#aeb7c2;font-family:SFMono-Regular,Consolas,monospace;font-size:9px}.project-save-status.is-dirty,.project-save-status.is-unsaved{color:#ffcf8b}.project-save-status.is-saving{color:#8fc5ff}.project-save-status.is-error{color:#ff9e9e}.project-library{position:absolute;z-index:30;top:42px;right:16px;display:grid;width:min(480px,calc(100vw - 32px));gap:9px;padding:12px;color:#bac4cf;background:#202326;border:1px solid #485058;border-radius:6px;box-shadow:0 18px 48px #0000007a}.project-library-heading,.project-library-list article{display:flex;align-items:center;gap:7px}.project-library-heading{justify-content:space-between}.project-library p{margin:4px 0;color:#7f8994;font-size:10px}.project-library-list{display:grid;max-height:330px;gap:6px;overflow:auto}.project-library-list article{padding:8px;background:#181b1d;border:1px solid #353c42;border-radius:4px}.project-library-list article.is-active{background:#4da3ff14;border-color:#4da3ff6b}.project-library-list article>div{display:grid;min-width:0;flex:1;gap:3px}.project-library-list article strong,.project-library-list article time{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-library-list article strong{color:#e1e9f2;font-size:10px}.project-library-list article time{color:#7f8994;font-family:SFMono-Regular,Consolas,monospace;font-size:8px}.project-error{position:absolute;z-index:31;top:45px;left:50%;display:flex;max-width:min(680px,calc(100vw - 40px));align-items:center;gap:9px;padding:8px 10px;color:#ffcf8b;background:#2b241e;border:1px solid rgb(230 167 107 / 45%);border-radius:5px;box-shadow:0 12px 30px #00000059;font-size:9px;transform:translate(-50%)}.brand-mark{display:grid;width:28px;height:28px;place-items:center;color:#101214;background:#4da3ff;border-radius:6px;font-family:SFMono-Regular,Consolas,monospace;font-size:11px;font-weight:800;letter-spacing:-.04em}.brand-copy{display:flex;align-items:baseline;gap:9px;white-space:nowrap}.brand-copy strong{font-size:13px;letter-spacing:.01em}.brand-copy span{color:#9ca3af;font-size:11px}.document-pill{display:flex;align-items:center;gap:7px;margin-left:auto;padding:5px 9px;color:#b9c0ca;background:#202326;border:1px solid #35393d;border-radius:999px;font-family:SFMono-Regular,Consolas,monospace;font-size:10px;letter-spacing:.02em}.document-dot{width:6px;height:6px;background:#64d987;border-radius:50%;box-shadow:0 0 8px #64d9878c}.workspace-shell{min-width:0;min-height:0}.cad-workspace{display:grid;grid-template-columns:52px minmax(0,1fr) 300px;grid-template-rows:minmax(0,1fr) 44px 28px;width:100%;height:100%;min-height:0}.phase-rail{z-index:2;display:flex;flex-direction:column;align-items:center;gap:9px;padding:14px 0;background:#202326;border-right:1px solid #35393d;grid-row:1 / 3}.phase-chip{display:grid;width:28px;height:28px;place-items:center;color:#8e969f;background:#25282b;border:1px solid #35393d;border-radius:5px;font-family:SFMono-Regular,Consolas,monospace;font-size:10px}.phase-chip.is-active{color:#dcebff;background:#4da3ff24;border-color:#4da3ffa6}.canvas-panel{position:relative;min-width:0;min-height:0;overflow:hidden;background:#101214;grid-column:2;grid-row:1}.canvas-host,.canvas-host canvas{display:block;width:100%;height:100%}.canvas-host{position:absolute;inset:0;cursor:crosshair;touch-action:none}.canvas-host.is-panning{cursor:grabbing}.canvas-host.is-selecting,.canvas-host.is-selecting canvas{cursor:crosshair;-webkit-user-select:none;user-select:none}.canvas-host.is-grip-hover,.canvas-host.is-grip-hover canvas{cursor:pointer}.canvas-host.is-grip-editing,.canvas-host.is-grip-editing canvas{cursor:move;-webkit-user-select:none;user-select:none}.snap-tooltip,.selection-window-label{position:absolute;z-index:6;pointer-events:none;-webkit-user-select:none;user-select:none}.snap-tooltip{display:flex;align-items:center;min-height:22px;padding:4px 7px;color:#dcebff;background:#181a1bf0;border:1px solid rgb(77 163 255 / 62%);border-radius:4px;box-shadow:0 5px 16px #00000047;font-family:SFMono-Regular,Consolas,monospace;font-size:9px;font-weight:650;letter-spacing:.03em;white-space:nowrap;transform:translate(10px,10px)}.selection-window-label{padding:3px 6px;color:#dfeeff;background:#181a1be5;border:1px solid rgb(77 163 255 / 46%);border-radius:3px;font-family:SFMono-Regular,Consolas,monospace;font-size:8px;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;transform:translate(7px,7px)}.canvas-badge{position:absolute;top:12px;left:12px;display:grid;gap:2px;padding:8px 10px;color:#9ca3af;background:#181a1be0;border:1px solid rgb(53 57 61 / 85%);border-radius:5px;pointer-events:none;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.canvas-badge strong{color:#e5e7eb;font-family:SFMono-Regular,Consolas,monospace;font-size:11px;font-weight:600}.canvas-badge span{font-size:10px}.inspector{z-index:2;min-width:0;padding:15px;overflow:auto;background:#202326;border-left:1px solid #35393d;grid-column:3;grid-row:1}.inspector h2{margin:0 0 4px;color:#f2f4f7;font-size:12px;font-weight:650;letter-spacing:.02em}.inspector-intro{margin:0 0 17px;color:#818993;font-size:10px;line-height:1.5}.metric-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-bottom:18px}.metric{padding:9px;background:#25282b;border:1px solid #35393d;border-radius:5px}.metric span,.detail-row span{display:block;color:#7f8791;font-size:9px;letter-spacing:.07em;text-transform:uppercase}.metric strong{display:block;margin-top:5px;color:#dfe6ee;font-family:SFMono-Regular,Consolas,monospace;font-size:12px;font-weight:500}.detail-list{display:grid;gap:1px;overflow:hidden;border:1px solid #35393d;border-radius:5px}.detail-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 9px;background:#25282b}.detail-row output{min-width:0;max-width:124px;overflow:hidden;color:#cbd2dc;font-family:SFMono-Regular,Consolas,monospace;font-size:10px;text-align:right;text-overflow:ellipsis;white-space:nowrap}.hint-box{margin-top:18px;padding:10px;color:#aeb5bf;background:#4da3ff14;border:1px solid rgb(77 163 255 / 24%);border-radius:5px;font-size:10px;line-height:1.55}.tool-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-bottom:10px}.tool-section-label{display:block;margin:2px 0 7px;color:#78828d;font-size:8px;font-weight:700;letter-spacing:.11em;text-transform:uppercase}.modification-tools .command-tool{color:#ffe2b8;background:#ffb45414;border-color:#ffb45442}.modification-tools .command-tool:hover:not(:disabled){background:#ffb45429;border-color:#ffb45485}.drafting-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:0 0 14px}.drafting-toggle{display:flex;min-width:0;min-height:32px;align-items:center;justify-content:space-between;gap:7px;padding:7px 8px;color:#aeb7c2;background:#25282b;border:1px solid #3b4147;border-radius:5px;cursor:pointer;font-size:9px;font-weight:650;letter-spacing:.035em}.drafting-toggle:hover:not(:disabled){color:#dce9f8;background:#2a2e31;border-color:#50575e}.drafting-toggle.is-active{color:#dcebff;background:#4da3ff21;border-color:#4da3ff8c;box-shadow:0 0 0 1px #4da3ff14 inset}.drafting-toggle:disabled{cursor:default;opacity:.4}.drafting-toggle:focus-visible,.status-toggle:focus-visible{outline:2px solid #78b9ff;outline-offset:2px}.selection-summary{display:flex;min-height:34px;align-items:center;justify-content:space-between;gap:10px;margin:0 0 14px;padding:8px 9px;color:#9ca6b1;background:#4da3ff0f;border:1px solid rgb(77 163 255 / 20%);border-radius:5px;font-size:9px;line-height:1.4}.selection-summary strong,.selection-summary output{color:#dcebff;font-family:SFMono-Regular,Consolas,monospace;font-size:10px;font-weight:600;white-space:nowrap}.properties-panel{margin:0 0 14px;overflow:hidden;background:#25282b;border:1px solid #3a4046;border-radius:6px}.properties-panel h3{margin:0;padding:9px 10px;color:#dfeeff;background:#4da3ff12;border-bottom:1px solid #3a4046;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.properties-empty,.properties-summary,.properties-notice,.properties-error{margin:0;padding:10px;color:#9ba5b0;font-size:9px;line-height:1.5}.properties-summary{display:grid;gap:4px}.properties-summary strong,.properties-entity-heading strong{color:#dce9f8;font-size:10px}.properties-summary small,.properties-entity-heading span{color:#78828d;font-family:SFMono-Regular,Consolas,monospace;font-size:8px}.properties-entity-heading{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border-bottom:1px solid #35393d;text-transform:uppercase}.properties-notice,.properties-error{color:#ffcf8b;background:#e6a76b12;border-bottom:1px solid rgb(230 167 107 / 18%)}.property-fields{display:grid}.property-field{display:grid;grid-template-columns:minmax(82px,.9fr) minmax(0,1.1fr);align-items:center;gap:8px;min-height:34px;margin:0;padding:5px 8px;border-bottom:1px solid #30353a}.property-field>span{min-width:0;color:#9ba5b0;font-size:8px;line-height:1.3}.property-field>span small{display:block;color:#68727d;font-size:7px;letter-spacing:.05em;text-transform:uppercase}.property-field input,.property-field select,.property-field output{width:100%;min-width:0;height:24px;padding:3px 6px;color:#e3eaf2;background:#171a1c;border:1px solid #41484f;border-radius:3px;outline:none;font-family:SFMono-Regular,Consolas,monospace;font-size:8px}.property-field output{display:flex;align-items:center;color:#919ba6;background:#202326;border-color:#343a40}.property-field input:focus,.property-field select:focus{border-color:#4da3ff;box-shadow:0 0 0 2px #4da3ff1a}.property-field input:disabled,.property-field select:disabled{opacity:.55}.property-style-field>div{display:grid;gap:4px}.property-checkbox input{width:16px;justify-self:end}.property-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:8px}.property-actions button{min-height:27px;color:#dce9f8;background:#4da3ff1c;border:1px solid rgb(77 163 255 / 32%);border-radius:4px;cursor:pointer;font-size:8px}.property-actions button:disabled{cursor:default;opacity:.4}.layers-panel{display:grid;gap:8px;margin:0 0 14px;padding:9px;color:#aab4bf;background:#25282b;border:1px solid #3b4147;border-radius:5px;font-size:8px}.layers-heading{display:flex;align-items:center;justify-content:space-between}.layers-heading h3{margin:0;color:#c7d0da;font-size:9px;letter-spacing:.06em;text-transform:uppercase}.layers-heading output{color:#83909d;font-family:SFMono-Regular,Consolas,monospace}.layer-list{display:grid;gap:6px;max-height:260px;overflow:auto}.layer-row{display:grid;gap:5px;padding:6px;background:#1d2022;border:1px solid #343a40;border-radius:4px}.layer-row.is-active{background:#4da3ff12;border-color:#4da3ff7a}.layer-row-main,.layer-row-controls,.layer-row-color{display:flex;min-width:0;align-items:center;gap:5px}.layer-active-button,.layer-compact-action,.layer-delete,.layer-create button{min-height:24px;color:#bfc9d4;background:#292e32;border:1px solid #424950;border-radius:3px;cursor:pointer;font-size:8px}.layer-active-button{width:25px;flex:0 0 25px;color:#4da3ff}.layer-compact-action,.layer-delete{padding-inline:6px}.layer-delete{margin-left:auto;color:#e6a76b}.layer-active-button:disabled,.layer-compact-action:disabled,.layer-delete:disabled,.layer-create button:disabled{cursor:default;opacity:.4}.layer-name-input,.layer-row-color input,.layer-create input{min-width:0;height:24px;padding:0 6px;color:#e0e7ef;background:#111416;border:1px solid #3c434a;border-radius:3px;outline:none;font-family:SFMono-Regular,Consolas,monospace;font-size:8px}.layer-name-input{flex:1}.layer-row-color input{width:82px}.layer-row-controls label{display:inline-flex;align-items:center;gap:3px;color:#929da8}.layer-row-controls input{width:12px;height:12px;margin:0}.layer-entity-count{margin-left:auto;color:#6f7a85}.layer-color-swatch{width:14px;height:14px;flex:0 0 14px;border:1px solid rgb(255 255 255 / 35%);border-radius:2px}.layer-create{display:grid;grid-template-columns:minmax(0,1fr) 82px auto;align-items:end;gap:5px;padding-top:2px}.layer-create label{display:grid;gap:3px;min-width:0;color:#7f8a95}.layers-empty,.layers-error{margin:0;line-height:1.4}.layers-error{padding:6px;color:#ffcf8b;background:#e6a76b14;border:1px solid rgb(230 167 107 / 25%);border-radius:3px}.command-tool,.history-actions button{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:8px;padding:8px 9px;color:#dce9f8;background:#4da3ff1a;border:1px solid rgb(77 163 255 / 30%);border-radius:5px;cursor:pointer;font-size:10px;font-weight:650}.command-tool:hover:not(:disabled),.history-actions button:hover:not(:disabled){background:#4da3ff30;border-color:#4da3ff94}.command-tool:disabled,.history-actions button:disabled{cursor:default;opacity:.38}.tool-grid .command-tool:last-child:nth-child(odd){grid-column:1 / -1}.history-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-bottom:14px}.history-actions button{justify-content:center;padding-inline:7px;color:#b9c2cd;background:#25282b;border-color:#3b4147;font-size:9px;font-weight:550}kbd{padding:2px 5px;color:#aeb8c4;background:#1b1e20;border:1px solid #3b4147;border-radius:3px;box-shadow:0 1px #ffffff0d inset;font-family:SFMono-Regular,Consolas,monospace;font-size:9px;font-weight:500}.command-metrics{margin-top:0}.result-box{display:grid;gap:5px;margin-top:14px;padding:10px;color:#b9c5d2;background:#64d98712;border:1px solid rgb(100 217 135 / 22%);border-radius:5px;font-family:SFMono-Regular,Consolas,monospace;font-size:9px}.result-box strong{margin-bottom:2px;color:#64d987;font-family:inherit;font-size:9px;letter-spacing:.06em;text-transform:uppercase}.document-error{margin-top:12px;padding:9px;color:#ffcf8b;background:#e6a76b14;border:1px solid rgb(230 167 107 / 28%);border-radius:5px;font-size:9px;line-height:1.45}.command-line{z-index:4;display:grid;grid-column:2 / 4;grid-row:2;grid-template-columns:max-content minmax(150px,auto) minmax(170px,1fr) minmax(0,1fr) auto auto;align-items:center;gap:9px;min-width:0;padding:6px 10px;background:#1e2123;border-top:1px solid #35393d}.command-line.is-active{box-shadow:0 1px #4da3ff inset}.command-label{color:#4da3ff;font-family:SFMono-Regular,Consolas,monospace;font-size:9px;font-weight:700;letter-spacing:.05em}.prompt-message,.command-validation{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.prompt-message{color:#c5ccd5;font-size:10px}.command-line input{min-width:0;height:28px;padding:0 9px;color:#eef4fb;background:#111416;border:1px solid #41474d;border-radius:4px;outline:none;font-family:SFMono-Regular,Consolas,monospace;font-size:10px}.command-line input:focus{border-color:#4da3ff;box-shadow:0 0 0 2px #4da3ff1f}.command-validation{color:#e6a76b;font-size:9px}.command-validation[data-tone=neutral]{color:#8d98a4}.status-bar{z-index:3;grid-column:1 / -1;grid-row:3;display:flex;align-items:center;gap:15px;padding:0 12px;color:#858d97;background:#25282b;border-top:1px solid #35393d;font-family:SFMono-Regular,Consolas,monospace;font-size:9px;letter-spacing:.025em;overflow-x:auto;scrollbar-width:none;white-space:nowrap}.status-bar::-webkit-scrollbar{display:none}.status-bar output{color:#c8d0da}.status-spacer{flex:1}.status-toggle{display:inline-flex;min-width:0;height:20px;align-items:center;gap:5px;padding:0 6px;color:#858d97;background:transparent;border:1px solid transparent;border-radius:3px;cursor:pointer;font-family:inherit;font-size:inherit;letter-spacing:inherit}.status-toggle:hover:not(:disabled){color:#c8d0da;background:#ffffff0a;border-color:#41464b}.status-toggle.is-active{color:#dcebff;background:#4da3ff1c;border-color:#4da3ff61}.status-toggle:disabled{cursor:default;opacity:.4}.renderer-error{position:absolute;inset:0;display:grid;place-items:center;padding:24px;color:#ffcf8b;background:#101214;font-family:SFMono-Regular,Consolas,monospace;font-size:12px;text-align:center}@media(max-width:1080px){.cad-workspace{grid-template-columns:44px minmax(0,1fr) 250px}.brand-copy span{display:none}}@media(max-width:960px){.top-bar{overflow-x:auto;scrollbar-width:thin}.top-bar>*{flex:0 0 auto}.project-name-field{margin-left:8px}}
