:root{color-scheme:dark;--bg:#121b20;--panel:#192329;--edge:#304047;--muted:#99adb7;--text:#e4edf0;--accent:#e9ae68;--blue:#8ac9db;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-size:13px}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:var(--bg);color:var(--text)}button,input,select,textarea{font:inherit}button{cursor:pointer;background:#233139;color:var(--text);border:1px solid #3a4c56;border-radius:5px;padding:7px 10px;white-space:nowrap}button:hover{background:#354650;border-color:#829ca9}button:disabled{opacity:.35;cursor:default}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.primary{background:var(--accent);border-color:var(--accent);color:#232220;font-weight:650}.primary:hover{background:#f7c58c}.hidden,[hidden]{display:none!important}input,textarea,select{min-width:0;max-width:100%;color:var(--text);background:#111c22;border:1px solid #3c4e58;border-radius:4px;padding:7px;width:100%}input[type=checkbox]{width:auto;accent-color:var(--accent)}#app{height:100dvh;display:flex;flex-direction:column}#app-header{display:flex;align-items:center;gap:18px;padding:12px 16px;border-bottom:1px solid var(--edge);height:72px;flex:none;background:#152026}.brand{display:flex;align-items:center;gap:9px;min-width:190px}.brand-mark{display:grid;place-items:center;width:34px;height:38px;border:1px solid var(--accent);color:var(--accent);font-size:23px;font-weight:500;border-radius:8px 3px 8px 3px}.brand strong{letter-spacing:.18em;font-size:12px}.brand small{display:block;color:var(--muted);margin-top:4px;font-size:10px}#project-name{font-size:16px;font-weight:500;line-height:1.5;margin:0;padding:5px 8px;border:1px solid transparent;border-radius:4px;min-width:140px;max-width:310px;overflow:hidden;white-space:nowrap}#project-name:hover,#project-name:focus{border-color:var(--edge);outline:none}.stage-badge{color:var(--accent);font-size:9px;letter-spacing:.1em;white-space:nowrap}.header-group{display:flex;gap:5px;align-items:center}.file-actions{margin-left:auto}#tool-bar{display:flex;align-items:center;gap:12px;padding:9px 14px;border-bottom:1px solid var(--edge);background:#1b272e;flex:none;overflow-x:auto}#tool-bar .header-group+.header-group{border-left:1px solid var(--edge);padding-left:12px}#tool-bar button{background:transparent;border-color:transparent}#tool-bar button:hover{background:#31414a}#tool-bar button.active{color:#122228;background:var(--blue);border-color:#bbdfeb}kbd{font:10px ui-monospace,monospace;opacity:.65;margin-left:7px}#workspace,#modeler-pane{display:flex;flex:1;min-height:0;min-width:0}#component-panel,#inspector-panel{width:236px;flex-shrink:0;background:var(--panel);display:flex;flex-direction:column;border-right:1px solid var(--edge)}#inspector-panel{width:272px;border-right:0;border-left:1px solid var(--edge)}.panel-title{padding:16px 14px 13px;letter-spacing:.13em;font-size:10px;color:var(--muted);font-weight:650;border-bottom:1px solid var(--edge)}#assembly-summary{display:block;letter-spacing:normal;margin-top:9px;font-size:13px;color:var(--text);font-weight:500}.panel-scroll{padding:14px;overflow:auto;flex:1}section{margin-bottom:24px}h3{font-size:12px;margin:0 0 12px;font-weight:600}h4{font-size:11px;color:var(--blue);font-weight:600;margin:19px 0 9px}p{line-height:1.65}.muted,small{font-size:11px;line-height:1.6;color:var(--muted)}.component-library-row{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #2b393f;padding:7px 0;gap:8px}.component-library-row button{padding:2px 9px;font-size:17px;color:var(--accent)}.component-library-row span{font-size:12px}#component-instance-list{list-style:none;padding:0;margin:0}#component-instance-list li{padding:8px;border-radius:5px;margin-bottom:4px}#component-instance-list li.selected{background:#2f4751;border-left:2px solid var(--blue)}#component-instance-list small{display:block;margin-top:4px;font-size:10px}button.part-select{background:none;border:0;padding:0;text-align:left;white-space:normal;width:100%;font-size:12px}details{border-top:1px solid var(--edge);padding:14px 0}summary{cursor:pointer;font-size:12px;color:var(--text);margin-bottom:10px}.inline-form,.action-row{display:flex;gap:5px;margin-top:12px}.inline-form input{width:100%;min-width:0}.wide{width:100%;font-size:11px;margin-top:14px}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:10px;font-size:11px;color:var(--muted)}.field input[type=checkbox]{align-self:start}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 8px}.field-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.field-grid input{font-size:12px;padding:6px}.warning{padding:8px;border-left:2px solid var(--accent);color:var(--accent);font-size:11px;background:#302c26}.weight{font-size:12px;color:var(--accent)}.next-stage{border:1px solid var(--edge);border-radius:8px;padding:13px;margin:16px 0}.next-stage h3{margin:8px 0}.next-stage p{font-size:11px;color:var(--muted);margin:0}.eyebrow{font-size:9px;letter-spacing:.14em;color:var(--accent)}#viewport-container{flex:1;min-width:120px;position:relative;overflow:hidden;background:#202a30}canvas{display:block;width:100%;height:100%;outline:none}#view-bar{position:absolute;top:14px;left:14px;right:14px;z-index:10;display:flex;flex-wrap:wrap;gap:3px;pointer-events:none}#view-bar button{pointer-events:auto;background:#172228df;padding:5px 8px;font-size:11px;border-color:#3a4b53}#view-options{position:absolute;left:16px;bottom:17px;z-index:10;display:flex;align-items:center;gap:12px;font-size:10px;color:#b9c9d1}#view-options label{display:flex;align-items:center;gap:4px}#empty-state{position:absolute;left:8%;right:8%;top:32%;z-index:2;pointer-events:none;text-align:center}#empty-state h2{font-weight:450;letter-spacing:-.04em;font-size:clamp(22px,2.3vw,38px);margin:16px 0;color:#f0efea}#empty-state p{font-size:12px;color:#b1c1c9}#empty-state small{font-size:10px}#dimension-panel{position:absolute;right:15px;bottom:15px;z-index:20;width:204px;padding:14px;background:#152127f2;border:1px solid #52636a;border-radius:8px;box-shadow:0 8px 25px #0003}#dimension-panel label{font-size:11px;color:#bbcbd2;display:block;margin-bottom:7px}#actual-movement-row{margin-bottom:12px}#pushpull-actual{display:block;background:#25343b;border-radius:4px;padding:8px;color:var(--accent);font:17px ui-monospace,monospace}#actual-movement-row small{display:block;margin-top:4px;font-size:10px}#vcb-input{font:16px ui-monospace,monospace}#status-bar{display:flex;align-items:center;gap:16px;border-top:1px solid var(--edge);padding:9px 14px;min-height:38px;font-size:10px;flex:none;background:#111b20}#status-feedback{flex:1;color:#d4e5ec;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}#status-save{color:#9dc3ad}#status-tool,#status-cam,#status-stack{color:#849aa6;white-space:nowrap}.dialog{position:fixed;inset:0;background:#061016c9;display:grid;place-items:center;z-index:100}.dialog-content{padding:28px;max-width:590px;background:#1b2931;border:1px solid #485f6b;border-radius:12px;box-shadow:0 18px 80px #0006}.dialog-content h3{font-size:22px;font-weight:500;margin:14px 0}.dialog-actions{display:flex;gap:9px;justify-content:flex-end}.dialog-actions button:first-child{background:var(--accent);color:#182126}.dialog-content p{color:var(--muted)}dialog{padding:0;max-height:85vh;max-width:640px;border:none;background:transparent;color:var(--text)}dialog::backdrop{background:#081118c9}dl{display:grid;grid-template-columns:135px 1fr;gap:10px;font-size:12px;line-height:1.5}dt{color:var(--accent)}dd{margin:0;color:#c3d2db}@media(max-width:1100px){#component-panel{width:195px}#inspector-panel{width:236px}.brand{min-width:0}.brand small,.stage-badge{display:none}#app-header{gap:9px}#status-cam,#status-stack{display:none}kbd{display:none}#tool-bar{gap:3px;padding:6px}#tool-bar .header-group+.header-group{padding-left:5px}#app-header .header-group{gap:3px}#app-header button{padding:6px}#project-name{max-width:200px}#view-options{gap:5px}}@media(max-width:800px){.brand div,#btn-download{display:none}#component-panel{width:165px}#inspector-panel{width:210px}#app-header{height:60px}.panel-scroll{padding:10px}#view-options{display:none}}
:root{--accent:#edb671;--blue:#9bd1df}
.inspector-heading,.dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.inspector-heading{padding:12px}.inspector-heading button{font-size:11px;letter-spacing:normal;color:var(--accent)}
#part-search{margin-bottom:5px}.selection-hint{margin:4px 0 10px;font-size:10px}#component-instance-list li{transition:background .12s}#component-instance-list li:hover{background:#25373f}
#model-envelope{position:absolute;top:65px;left:17px;z-index:3;pointer-events:none;font-size:10px;color:#b6c9d0;letter-spacing:.03em;background:#172228a0;border-radius:4px;padding:5px 7px}
.arrange-editor{border:1px solid var(--edge);border-radius:7px;padding:12px;margin-bottom:18px;background:#152229}.arrange-editor>button{margin:5px 3px 9px 0;font-size:11px}.arrange-editor summary{color:var(--blue)}.reference-part{padding:8px;border-left:2px solid var(--accent);background:#26383f;margin-bottom:6px}
.opening-row,.saved-row{display:flex;gap:5px;margin:6px 0}.opening-row button:first-child,.saved-row button:first-child{flex:1;min-width:0;text-align:left;white-space:normal}.opening-list{max-height:160px;overflow:auto}.sub-details{padding:8px 0}.opening-editor>button{width:100%;margin:5px 0 12px}.opening-editor .action-row{flex-wrap:wrap}.opening-editor .action-row button:first-child{color:var(--blue)}
.studio-dialog{width:min(700px,88vw);max-width:none}.check-card,.version-card{padding:15px;border:1px solid var(--edge);background:#142229;border-radius:7px;margin:12px 0}.check-card h3,.version-card h3{font-size:14px;margin:8px 0}.check-card p{font-size:12px;margin:7px 0}.check-card button,.version-card button{font-size:11px}.studio-dialog>h2{font-weight:500;font-size:25px;letter-spacing:-.03em}
#checks-dialog,#versions-dialog{max-width:740px}.focus-mode #component-panel,.focus-mode #inspector-panel{display:none}#btn-focus[aria-pressed=true]{color:var(--accent);border-color:var(--accent)}
.notice{position:absolute;top:105px;left:50%;transform:translateX(-50%);z-index:40;width:min(440px,90%);padding:12px 16px;background:#273d46;border:1px solid var(--blue);border-radius:7px;box-shadow:0 12px 30px #0006;color:var(--text);font-size:12px;line-height:1.5;pointer-events:none}.notice.error{background:#3c2b22;border-color:var(--accent)}
@media(min-width:1350px){#component-panel{width:248px}#inspector-panel{width:300px}#app-header{height:76px}.panel-scroll{padding:16px}}
#drawing-dialog{width:95vw;max-width:1500px;background:#e8edf0;border:1px solid #637f8c;border-radius:8px;max-height:92vh}#drawing-preview{display:block;width:100%;height:auto}.drawing-toolbar{position:sticky;top:0;background:#192b34;display:flex;align-items:center;padding:12px;gap:8px}.drawing-toolbar strong{margin-right:auto;font-size:12px}.wide{white-space:normal}
@media print{@page{size:A3 landscape;margin:0}body,html{height:auto;overflow:visible;background:white}app-shell>#app,app-shell>div.dialog,app-shell>dialog:not(#drawing-dialog),.drawing-toolbar{display:none!important}#drawing-dialog{display:block!important;position:static;width:420mm;max-width:none;max-height:none;margin:0;padding:0;border:0;border-radius:0;background:white;overflow:visible}#drawing-preview{width:420mm;height:297mm}dialog::backdrop{display:none}}
#drawing-preview{height:calc(88vh - 56px);object-fit:contain;background:white}@media print{#drawing-preview{height:297mm;object-fit:contain}}
/* Burn Lab — scoped styles, independent scroll panes, no model mutations. */
.burn-launch{color:var(--accent);border-color:#9b784c;background:#2d2b26;font-weight:600}.burn-dialog{width:min(1500px,96vw);height:94dvh;max-width:none;max-height:94dvh;background:#101d24;border:1px solid #536874;border-radius:12px;overflow:hidden;box-shadow:0 24px 90px #0007}.burn-dialog[open]{display:flex;flex-direction:column}.burn-header{display:flex;align-items:center;gap:20px;padding:19px 24px;border-bottom:1px solid var(--edge);background:#16252d;flex:none}.burn-header h2{font-size:25px;letter-spacing:-.03em;font-weight:450;margin:6px 0 0}.burn-header>button{margin-left:auto}.burn-badge{font-size:9px;letter-spacing:.1em;border:1px solid #67533b;background:#332e26;color:#edc495;padding:8px;border-radius:20px}.burn-scope{padding:10px 24px;font-size:11px;line-height:1.5;color:#b4c8d1;background:#1c303a;flex:none}.burn-layout{display:grid;grid-template-columns:300px minmax(0,1fr);min-height:0;flex:1}.burn-inputs{overflow-y:auto;border-right:1px solid var(--edge);padding:20px;background:#15242c}.burn-output{min-width:0;overflow:auto;padding:0 26px 30px}.burn-inputs details{padding:14px 0}.burn-inputs summary{font-weight:600;font-size:12px}.burn-inputs .field{font-size:11px;line-height:1.4;margin-bottom:13px}.burn-field-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 10px}.burn-field-grid label:has(input[id=burn-dryLhvMJ]),.burn-field-grid label:has(input[id=burn-releasePct]){grid-column:1/-1}.burn-field-grid input{padding:8px;font-variant-numeric:tabular-nums}.burn-inputs button{white-space:normal;width:100%}.burn-actions{position:sticky;top:0;z-index:2;display:flex;align-items:center;gap:8px;background:#101d24f5;padding:17px 0 10px;backdrop-filter:blur(8px)}.burn-actions>span{font-size:11px;color:var(--muted);margin-left:auto}.burn-message{font-size:12px;color:var(--blue);line-height:1.55;min-height:0;margin:0 0 16px}.burn-message.error{color:#f5b681}.burn-message button{display:block;margin-top:8px}.burn-empty{min-height:260px;padding:28px 18px 36px;display:flex;flex-direction:column;justify-content:center}.burn-empty h3{font-size:27px;font-weight:400;letter-spacing:-.025em;margin:16px 0 7px;max-width:480px;line-height:1.3}.burn-empty p{max-width:530px;color:var(--muted)}.burn-empty-path{border-top:1px solid var(--edge);border-bottom:1px solid var(--edge);padding:22px 0;margin:18px 0;color:var(--accent);font-size:16px;letter-spacing:.02em}.burn-result-title{display:flex;justify-content:space-between;gap:14px;align-items:baseline;margin:20px 0 10px;flex-wrap:wrap}.burn-result-title h3{font-size:19px;font-weight:500;margin:0}.burn-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0 18px}.burn-metric{padding:14px 12px;background:#1b303a;border:1px solid #344b57;border-radius:7px}.burn-metric small{display:block;font-size:10px;line-height:1.4}.burn-metric strong{display:block;font-weight:450;font-size:24px;margin-top:8px;letter-spacing:-.025em;white-space:nowrap;color:#f0cf9e}.burn-card{border:1px solid #2e454f;background:#15262f;border-radius:9px;padding:18px;margin:16px 0}.burn-card h3{font-size:13px;font-weight:550;margin:0 0 12px}.burn-card-heading{display:flex;align-items:baseline;gap:12px;justify-content:space-between}.burn-card-heading h3{margin-bottom:14px}.burn-result-actions{display:flex;gap:6px;flex-wrap:wrap}.burn-result-actions button{font-size:11px}.burn-chart svg{width:100%;height:auto;display:block;overflow:visible}.burn-chart svg text{font:10px ui-monospace,monospace;fill:#9fb7c2}.burn-legend{display:flex;gap:16px;flex-wrap:wrap;font-size:10px;margin:3px 0 0 28px}.burn-legend span:before{content:'— ';font-weight:bold}.burn-timeline{display:flex;align-items:center;gap:16px;margin-bottom:14px}.burn-timeline button{min-width:58px}.burn-timeline input{accent-color:var(--accent);padding:0}.burn-flow-nodes{display:grid;grid-template-columns:1fr 22px 1fr 22px 1fr;align-items:center;gap:8px}.burn-flow-nodes>div{border:1px solid #3c5764;padding:14px 10px;border-radius:6px;background:#1b303b}.burn-flow-nodes strong{font-size:21px;font-weight:450;color:#efd1a4;display:block;margin:7px 0}.burn-flow-nodes span{display:block;color:#a9c1cc;font-size:11px}.burn-flow-nodes>b{color:#83b2c5;text-align:center}.burn-energy-row{display:grid;grid-template-columns:1fr auto;gap:6px;margin:13px 0;font-size:11px}.burn-energy-row strong{font-weight:500;font-variant-numeric:tabular-nums}.burn-energy-track{grid-column:1/-1;height:5px;background:#253c47;border-radius:4px;overflow:hidden}.burn-energy-fill{height:100%;border-radius:4px}.burn-history-row{display:flex;align-items:center;gap:6px;border-bottom:1px solid var(--edge);padding:12px 0;flex-wrap:wrap}.burn-history-row>div{flex:1;min-width:180px}.burn-history-row strong{font-size:12px;font-weight:500}.burn-history-row small{display:block;font-size:10px}.burn-history-row button{font-size:10px;padding:6px}.burn-method p{font-size:12px;color:#a8bec8}.burn-dialog a{color:#9ad2e1}.burn-comparison{width:100%;border-collapse:collapse;font-size:11px;text-align:left}.burn-comparison th,.burn-comparison td{border-bottom:1px solid var(--edge);padding:9px 5px;line-height:1.5}.burn-comparison th{font-weight:550;color:#afc7d2}.burn-dialog input[type=file]{font-size:11px;margin:7px 0 12px}.burn-card>p{font-size:12px}.burn-dialog .warning{font-size:12px;line-height:1.6;padding:13px}
@media(max-width:1000px){.burn-layout{grid-template-columns:250px minmax(0,1fr)}.burn-output{padding:0 16px 24px}.burn-inputs{padding:15px}.burn-metrics{grid-template-columns:repeat(2,1fr)}.burn-header{padding:15px}.burn-badge{display:none}.burn-flow-nodes strong{font-size:17px}.burn-flow-nodes{gap:3px;grid-template-columns:1fr 12px 1fr 12px 1fr}}
@media(max-width:650px){.burn-dialog{height:96dvh;max-height:96dvh;width:98vw}.burn-layout{display:block;overflow:auto}.burn-inputs,.burn-output{overflow:visible}.burn-inputs{border-right:0;border-bottom:1px solid var(--edge)}.burn-header h2{font-size:20px}.burn-header>button{font-size:11px}.burn-header{gap:8px}.burn-scope{padding:10px 15px}.burn-card{padding:12px}.burn-comparison{font-size:10px}.burn-actions{position:static}}
