:root{--chrome:#1c293a;--chrome-2:#243346;--bg:#f5f7fa;--panel:#fff;--line:#dce2e9;--text:#25354a;--muted:#7c899a;--accent:#e88331;--accent-pale:#fff2e8;--selected:#eaf1f9;--canvas-bg:#dfe5eb;color-scheme:light;font-family:Inter,'Segoe UI',Arial,sans-serif;font-size:14px}*{box-sizing:border-box}body{margin:0;color:var(--text);overflow:hidden}button,input,select,textarea{font:inherit}button{border:0;background:none;color:inherit;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap}button:hover{background:var(--selected)}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}button:disabled{opacity:.4;cursor:not-allowed}button svg{flex-shrink:0}input,select,textarea{color:var(--text);background:var(--panel);border:1px solid var(--line);border-radius:4px;padding:8px 10px;min-width:0}textarea{resize:vertical}#app{height:100dvh;display:flex;flex-direction:column}.titlebar{height:48px;flex-shrink:0;display:flex;align-items:center;gap:20px;padding:0 17px;background:var(--chrome);color:#f3f5f9}.brand{display:flex;align-items:center;gap:9px;color:inherit;text-decoration:none}.brandmark{font-family:Arial;font-weight:900;font-size:19px;letter-spacing:-3px;border:1.5px solid #f09348;border-radius:5px;padding:3px 6px 3px 4px;color:#f09348}.brandmark span{color:#fff}.brand strong{font-size:16px;font-weight:650;letter-spacing:-.3px}.brand strong span{font-weight:400;color:#acb7c7}.quick-access{display:flex;border-left:1px solid #445163;padding-left:14px;gap:4px}.quick-access button,.title-action{padding:7px;color:#bdc9d6}.titlebar button:hover{background:#35465e}.document-title{flex:1;text-align:center;font-size:13px;color:#b9c5d2}.save-status{font-size:12px;color:#b3c0ce}.avatar{width:29px;height:29px;border-radius:50%;background:#52637a;color:#fff;font-size:11px;font-weight:600}.ribbon-tabs{height:40px;display:flex;align-items:center;padding:0 16px;background:var(--panel);border-bottom:1px solid var(--line);gap:12px}.ribbon-tabs>div{display:flex;height:100%;align-items:stretch;flex:1}.ribbon-tabs [data-tab]{padding:0 17px;font-size:14px;border-bottom:2px solid transparent}.ribbon-tabs [data-tab].active{color:#d36c20;border-bottom-color:var(--accent);font-weight:600}.ribbon-tabs [data-tab="File"]{color:#d57425;font-weight:600}.command-search{border:1px solid var(--line);border-radius:5px;font-size:12px;color:var(--muted);padding:5px 9px;min-width:175px;justify-content:flex-start}.command-search kbd{margin-left:auto;color:#98a3b2;font-size:11px}.share-button{background:var(--accent);color:#fff;border-radius:4px;padding:7px 13px;font-size:13px;font-weight:600}.share-button:hover{background:#cf6c23}.ribbon{height:103px;flex-shrink:0;display:flex;gap:0;border-bottom:1px solid #c8d2de;background:var(--panel);padding:8px 14px 4px;overflow-x:auto}.ribbon-group{padding:0 15px;min-width:max-content;border-right:1px solid var(--line);display:flex;flex-direction:column}.ribbon-group:first-child{padding-left:0}.ribbon-group:last-child{border:0}.ribbon-group-content{display:flex;gap:3px;flex:1;align-items:stretch}.ribbon-group-label{text-align:center;color:var(--muted);font-size:11px;padding-top:4px}.ribbon-button{flex-direction:column;gap:5px;padding:5px 10px;border-radius:4px;font-size:12px;line-height:16px;min-width:52px}.ribbon-button svg{color:#526e8a}.ribbon-button.primary svg{color:var(--accent)}.ribbon-button.active{background:var(--accent-pale);color:#c56c28;box-shadow:inset 0 0 0 1px #e6a16b}.ribbon-stack{display:flex;flex-direction:column;gap:1px}.ribbon-stack button{justify-content:flex-start;padding:4px 7px;font-size:12px}.workspace{flex:1;display:flex;min-height:0}.panel{background:var(--panel);display:flex;flex-direction:column;flex-shrink:0}.navigator{width:246px;resize:horizontal;overflow:hidden;min-width:180px;max-width:380px;border-right:1px solid var(--line)}.panel-title{height:40px;display:flex;align-items:center;justify-content:space-between;padding:0 13px;flex-shrink:0}.panel-title strong{font-size:13px;font-weight:600}.panel-title button{width:24px;height:25px;color:var(--muted)}.panel-tabs{display:flex;border-bottom:1px solid var(--line);padding:0 9px}.panel-tabs button{font-size:12px;padding:9px 10px;border-bottom:2px solid transparent;color:var(--muted)}.panel-tabs button.active{border-bottom-color:var(--accent);color:var(--text);font-weight:600}.filter{margin:11px 12px 10px;display:flex;align-items:center;position:relative}.filter input{width:100%;font-size:12px;padding:7px 22px 7px 28px;background:var(--bg)}.filter span{position:absolute;left:8px;color:var(--muted);display:flex}.filter kbd{position:absolute;right:9px;color:var(--muted)}.project-root{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:600;margin:6px 12px 12px;white-space:nowrap}.project-root span{overflow:hidden;text-overflow:ellipsis}.project-root svg{color:#ca843e;flex-shrink:0}.nav-content{flex:1;overflow:auto;padding-bottom:12px}rf-tree,rf-property-grid,rf-data-table{display:block}.tree-item{display:flex;width:100%;justify-content:flex-start;text-align:left;gap:8px;padding:10px 12px;font-size:12px;border-left:3px solid transparent}.tree-item svg{color:#7089a1}.tree-item span{flex:1;overflow:hidden;text-overflow:ellipsis}.tree-item small{font-size:10px;color:#97a2b0}.tree-item.selected{background:var(--selected);border-left-color:var(--accent);color:#254c74}.navigator-foot{padding:10px 12px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;font-size:11px;color:var(--muted)}.navigator-foot button{padding:0}.drawing-main{display:flex;flex-direction:column;min-width:0;flex:1;background:var(--bg)}.document-tabs{height:37px;display:flex;flex-shrink:0;overflow-x:auto;border-bottom:1px solid var(--line);background:#edf1f5}.document-tab{font-size:12px;padding:0 15px;border-right:1px solid var(--line);gap:8px;max-width:230px}.document-tab span{overflow:hidden;text-overflow:ellipsis}.document-tab.active{background:var(--panel);border-top:2px solid var(--accent)}.document-tab svg{color:#6e8baa}.canvas-toolbar{height:35px;display:flex;align-items:center;padding:0 13px;border-bottom:1px solid var(--line);background:var(--panel);justify-content:space-between;flex-shrink:0}.breadcrumbs{font-size:11px;color:var(--muted);display:flex;align-items:center;gap:8px}.breadcrumbs b{font-weight:500;color:var(--text)}.canvas-actions{display:flex;gap:5px}.canvas-actions button{height:26px;width:28px;color:var(--muted)}#viewport{position:relative;flex:1;min-height:140px;overflow:hidden;touch-action:none;outline:none;--canvas-bg:#dfe5eb}#viewport.tool-wire,#viewport.tool-place,#viewport.tool-text{cursor:crosshair}#viewport.tool-pan{cursor:grab}.floating-tools{position:absolute;z-index:2;left:13px;top:15px;display:flex;flex-direction:column;background:var(--panel);border:1px solid #cbd5df;border-radius:6px;box-shadow:0 3px 12px #1f34421a;padding:4px;gap:4px}.floating-tools button{width:32px;height:33px;border-radius:3px;color:#597088}.floating-tools button.active{background:var(--accent-pale);color:#d37428}.floating-tools .tool-divider{height:1px;background:var(--line);margin:2px 4px}.canvas-hint{position:absolute;left:50%;bottom:14px;transform:translateX(-50%);z-index:2;border-radius:4px;padding:6px 10px;color:#718095;background:#f7fafbdb;font-size:11px;max-width:calc(100% - 180px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none}.zoom-control{position:absolute;right:16px;bottom:14px;z-index:2;display:flex;align-items:center;background:var(--panel);border:1px solid var(--line);border-radius:4px;box-shadow:0 2px 6px #22344910}.zoom-control button{height:27px;padding:0 9px;font-size:12px}.inspector{width:257px;border-left:1px solid var(--line)}#inspector-body{overflow:auto;flex:1}.selection-summary{padding:15px;background:var(--bg);display:flex;gap:12px;align-items:center;border-block:1px solid var(--line)}.selection-summary .summary-icon{width:37px;height:39px;background:var(--panel);border:1px solid var(--line);border-radius:5px;display:grid;place-items:center;color:#54779a}.selection-summary strong{display:block;font-size:14px}.selection-summary small{display:block;color:var(--muted);font-size:11px;margin-top:4px}.section-heading{padding:15px 13px 8px;font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.8px;font-weight:650}.prop-row{display:grid;grid-template-columns:42% 58%;min-height:34px;align-items:center;font-size:12px;border-bottom:1px solid var(--line);padding-left:13px}.prop-row>span{color:#748397;overflow:hidden;text-overflow:ellipsis}.prop-row input,.prop-row select{border:0;border-left:1px solid var(--line);border-radius:0;padding:8px;font-size:12px;width:100%}.prop-row input:read-only{color:var(--muted)}.inspector-note{font-size:12px;line-height:1.65;color:var(--muted);padding:0 14px}.crossref{display:flex;font-size:12px;justify-content:space-between;width:100%;padding:9px 14px;color:#4a749c}.bottom-panel{height:160px;flex-shrink:0;display:flex;flex-direction:column;background:var(--panel);border-top:1px solid #c9d3df}.bottom-panel.collapsed{height:35px}.bottom-panel.collapsed #bottom-content{display:none}.bottom-tabs{display:flex;justify-content:space-between;align-items:center;height:35px;flex-shrink:0;border-bottom:1px solid var(--line);padding:0 9px}.bottom-tabs>div{display:flex;height:100%}.bottom-tabs button{font-size:11px;padding:0 11px;border-bottom:2px solid transparent}.bottom-tabs button.active{border-bottom-color:var(--accent);font-weight:600}.bottom-tabs button span{background:var(--bg);padding:1px 5px;border-radius:3px;color:#b77832;font-size:10px}.bottom-tabs .quiet-action{font-size:11px;color:#71859b}#bottom-content{overflow:auto;flex:1;font-size:12px}table{width:100%;border-collapse:collapse;font-size:12px}th{text-align:left;position:sticky;top:0;background:var(--bg);font-weight:500;color:var(--muted);padding:8px 12px;border-bottom:1px solid var(--line);white-space:nowrap}td{padding:7px 12px;border-bottom:1px solid var(--line);white-space:nowrap}tbody tr:hover{background:var(--selected);cursor:pointer}.empty{padding:24px;text-align:center;color:var(--muted);font-size:13px}.statusbar{height:26px;background:var(--chrome);color:#b8c5d3;display:flex;align-items:center;gap:19px;padding:0 13px;font-size:10px;flex-shrink:0}.statusbar button{font-size:10px;padding:3px 0;color:#c7d6e4}.statusbar button:hover{background:#34455b}.status-spacer{flex:1}.status-separator{height:12px;width:1px;background:#57687a}.symbol-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;padding:8px 12px}.symbol-card{display:flex;flex-direction:column;padding:9px 4px;border:1px solid var(--line);border-radius:4px;gap:5px;background:var(--panel);min-height:86px}.symbol-card svg{height:45px;width:60px;color:#405976}.symbol-card span{font-size:10px;line-height:1.3;text-align:center;white-space:normal}.symbol-category{padding:10px 14px 0;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.5px}.symbol-card.active{border-color:var(--accent);background:var(--accent-pale)}dialog{border:1px solid var(--line);border-radius:9px;background:var(--panel);color:var(--text);padding:0;width:min(720px,90vw);max-height:85vh;box-shadow:0 24px 90px #09182855}dialog::backdrop{background:#0a172a65;backdrop-filter:blur(3px)}.dialog-head{display:flex;align-items:center;justify-content:space-between;padding:19px 23px;border-bottom:1px solid var(--line)}.dialog-head h2{margin:0;font-size:18px;font-weight:600}.dialog-head button{font-size:24px;color:var(--muted)}#dialog-body{padding:22px;overflow:auto;max-height:64vh}#dialog-footer{padding:15px 22px;display:flex;justify-content:flex-end;gap:8px;background:var(--bg);border-top:1px solid var(--line)}#dialog-footer:empty{display:none}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-grid label{display:flex;flex-direction:column;gap:7px;font-size:13px}.full-width{grid-column:1/-1}.btn{padding:9px 15px;border:1px solid var(--line);border-radius:4px;background:var(--panel);font-size:13px}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.danger{color:#c34c4c}.dialog-copy{color:var(--muted);font-size:13px;line-height:1.7;margin-top:0}.command-list{display:flex;flex-direction:column;gap:2px;margin-top:14px}.command-item{padding:12px 9px;justify-content:flex-start;border-radius:4px}.command-item kbd{margin-left:auto;color:var(--muted);font-size:12px}.project-card{border:1px solid var(--line);border-radius:5px;padding:13px;margin:8px 0;display:flex;align-items:center;gap:11px;cursor:pointer}.project-card:hover{background:var(--selected)}.project-card div{flex:1}.project-card strong{font-size:14px;display:block}.project-card small{color:var(--muted);font-size:11px}.comment-item{display:flex;gap:11px;padding:12px 15px;border-bottom:1px solid var(--line)}.comment-item p{margin:5px 0;color:var(--text)}.comment-item small{color:var(--muted);font-size:11px}.comment-form{display:flex;gap:8px;padding:10px 12px}.comment-form input{flex:1}.pill{background:var(--selected);padding:4px 8px;border-radius:4px;font-size:11px;color:#55779a}#toast{position:fixed;z-index:100;bottom:43px;left:50%;transform:translateX(-50%) translateY(20px);padding:12px 20px;color:#fff;background:#20344c;box-shadow:0 4px 18px #15243733;border-radius:6px;max-width:80vw;opacity:0;pointer-events:none;transition:.2s;font-size:13px}#toast.show{opacity:1;transform:translateX(-50%)}.dark{--panel:#253244;--bg:#202c3d;--line:#3a485b;--text:#e0e7ef;--muted:#9aaabd;--selected:#354861;--accent-pale:#59402e;color-scheme:dark}.dark .document-tabs{background:#1e2a3a}.dark #viewport{--canvas-bg:#182433}.dark .canvas-hint{background:#253246ee;color:#bbcadb}.dark .tree-item.selected{color:#ecc198}.dark .prop-row>span{color:#a0b1c4}.dark .ribbon-button svg{color:#a8bfd6}.dark .symbol-card svg{color:#b3c7dc}.dark .brandmark{background:transparent}@media(min-width:1700px){.navigator{width:280px}.inspector{width:290px}.tree-item,.panel-tabs button,.prop-row input,.prop-row select,.prop-row{font-size:13px}.bottom-panel{height:180px}}@media(max-width:1150px){.inspector{width:225px}.navigator{width:208px}.ribbon-tabs [data-tab]{padding:0 11px}.command-search{min-width:32px}.command-search span,.command-search kbd{display:none}.document-title{display:none}.save-status{margin-left:auto}.bottom-tabs button{padding:0 7px}.ribbon-group{padding:0 10px}}@media(max-width:900px){.inspector{display:none}.navigator{width:195px}.titlebar{gap:12px}.brand strong span{display:none}.ribbon-tabs [data-tab]{padding:0 8px;font-size:12px}.ribbon{height:94px}.bottom-tabs .quiet-action{display:none}.statusbar{gap:10px}.statusbar #page-status{display:none}}@media(max-width:640px){.navigator{display:none}.quick-access{display:none}.titlebar{height:43px}.brand strong{font-size:14px}.save-status{font-size:10px}.ribbon-tabs{overflow-x:auto;padding:0 5px;gap:5px}.ribbon-tabs [data-tab]{padding:0 9px}.command-search{display:none}.share-button{padding:6px;font-size:0}.ribbon-tabs>div{min-width:max-content}.ribbon{height:91px;padding-left:8px}.ribbon-button{font-size:11px;padding:4px 8px}.ribbon-group-label{font-size:10px}.document-tabs{height:33px}.document-tab{font-size:11px;padding:0 10px;max-width:190px}.bottom-panel{height:135px}.bottom-tabs button{font-size:10px;padding:0 6px}.bottom-tabs button[data-bottom="activity"]{display:none}.canvas-hint{display:none}.statusbar{gap:10px;font-size:9px}.statusbar #render-status,.statusbar #coords,.status-separator{display:none}.floating-tools{left:7px;top:9px}.form-grid{grid-template-columns:1fr}.share-button svg{width:16px}}
.advanced-tabs{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:15px}.advanced-tabs .btn{padding:7px 10px;font-size:12px}.calculation-status{margin:18px 0 12px;padding:11px 14px;border-radius:4px;font-weight:600}.calculation-status.pass{background:#e2f2e9;color:#28663f}.calculation-status.fail{background:#fae7e3;color:#a84d39}.formula{font-family:ui-monospace,monospace;background:var(--bg);padding:12px;font-size:14px}.cabinet-workspace{display:grid;grid-template-columns:minmax(300px,1fr) 230px;gap:15px;min-height:470px;margin-bottom:15px}#cabinet-viewport{height:470px;min-width:0;border-radius:5px;overflow:hidden}.cabinet-properties{border:1px solid var(--line);padding:12px 0}.cabinet-properties>strong,.cabinet-properties>p{padding:0 12px;font-size:12px}.ribbon-tabs{overflow-x:auto}.ribbon-tabs [data-tab]{padding:0 11px}.ribbon-tabs>div{min-width:max-content}.inspector-advanced{width:calc(100% - 24px);margin:14px 12px;padding:8px;border:1px solid var(--line);border-radius:4px;font-size:12px}.dark .calculation-status.pass{background:#224739;color:#b5e1c8}.dark .calculation-status.fail{background:#57322e;color:#efbaab}@media(max-width:800px){.cabinet-workspace{grid-template-columns:1fr}.cabinet-properties{max-height:240px;overflow:auto}#cabinet-viewport{height:360px}.ribbon-tabs [data-tab]{padding:0 9px}}
