:root{--brand: #0f5132;--accent: #f2c94c;--bg: #f5f6f4;--card: #ffffff;--text: #1d2521;--muted: #6b7570;--quiet: #3f4843;--line: #dde2de;--good: #1e7b45;--bad: #b3261e;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--text);background:var(--bg)}*{box-sizing:border-box}body{margin:0}a{color:var(--brand)}h2{margin:0}h3{margin:1.2rem 0 .5rem;font-size:1rem}.muted{color:var(--muted)}.spacer{flex:1}.error{color:var(--bad);margin:.6rem 0}.btn{background:var(--brand);color:#fff;border:none;border-radius:6px;padding:.5rem 1rem;cursor:pointer;font-size:1.05rem}.btn:disabled{opacity:.5;cursor:default}.btn.secondary{background:transparent;color:var(--brand);border:1px solid var(--line)}.btn.danger{background:var(--bad)}.badge{display:inline-block;padding:.1rem .5rem;border-radius:999px;font-size:.8rem;background:var(--line);margin-right:.3rem}.badge.good{background:#d9efe2;color:var(--good)}.badge.bad{background:#f6dcda;color:var(--bad)}.badge.role-sysop{background:var(--accent)}button.badge{border:0;font-family:inherit;cursor:pointer}button.badge:hover{text-decoration:underline}.bad-text{color:var(--bad)}.warn-text{color:var(--warn, #b7791f)}.modal.report{width:1000px;max-height:88vh;overflow-y:auto}.modal.report td{font-size:.88rem;vertical-align:top}.report-title{display:flex;align-items:center;gap:.6rem}.icon-btn{display:inline-grid;place-items:center;padding:.3rem;background:none;border:1px solid var(--line);border-radius:6px;color:var(--muted);cursor:pointer}.icon-btn:hover:not(:disabled){color:var(--brand);border-color:var(--brand)}.app-header{display:flex;align-items:center;gap:1rem;padding:.6rem 1.2rem;background:var(--brand);color:#fff}.app-title{display:flex;align-items:center;gap:.5rem;color:#fff;text-decoration:none;font-size:1.3rem;font-weight:700}.app-title img{width:28px;height:28px}.app-subtitle{font-size:1.05rem;font-weight:600;letter-spacing:.02em;opacity:.95;padding-left:.8rem;border-left:1px solid rgba(255,255,255,.4)}.login-tagline{margin:-.2rem 0 .4rem;font-size:1.1rem;font-weight:600;color:var(--brand)}.app-header .btn.secondary{color:#fff;border-color:#fff6}.app-body{padding:1.2rem;max-width:1400px;margin:0 auto}.app-body:has(>.project),.app-body:has(>.sessions){max-width:none}.login{min-height:100vh;display:grid;place-items:center}.login-card{background:var(--card);padding:2rem;border-radius:12px;width:360px;display:grid;gap:.9rem;box-shadow:0 4px 24px #00000014}.login-title{display:flex;align-items:center;gap:.6rem;margin:0;color:var(--brand)}.login-title img{width:40px;height:40px}.login-card label{display:grid;gap:.3rem;font-size:.9rem}input,select{padding:.45rem .6rem;border:1px solid var(--line);border-radius:6px;font-size:.95rem}.tabs{display:flex;gap:.3rem;border-bottom:1px solid var(--line);margin:.8rem 0}.tab{background:none;border:none;padding:.6rem 1rem;cursor:pointer;font-size:1.1rem;color:var(--muted);border-bottom:2px solid transparent}.tab.active{color:var(--brand);border-bottom-color:var(--brand);font-weight:600}.tab .count{font-size:.75rem;color:var(--muted);margin-left:.2rem}table.list{width:100%;border-collapse:collapse;background:var(--card);border-radius:8px;overflow:hidden}table.list th,table.list td{text-align:left;padding:.6rem .8rem;border-bottom:1px solid var(--line)}table.list th{font-size:.8rem;color:var(--muted);font-weight:600}td.actions{text-align:right;white-space:nowrap}td.actions .btn{margin-left:.4rem}.project-head{display:flex;align-items:baseline;gap:1rem}.status-row{margin:.4rem 0}.images{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(520px,100%),1fr));gap:1rem}.images figure{position:relative;margin:0;background:var(--card);border:1px solid var(--line);border-radius:8px;padding:.5rem;cursor:zoom-in}.images img{width:100%;display:block}.images.square img{aspect-ratio:1 / 1;object-fit:contain}.images.square .img-loading{aspect-ratio:1 / 1;height:auto}.pop{position:fixed;z-index:5;pointer-events:none;background:var(--card);border-radius:8px;box-shadow:0 10px 40px #00000059;opacity:0;transform:scale(var(--from));transition:transform .18s ease,opacity .18s ease}.pop.shown{opacity:1;transform:scale(1)}.pop img{display:block;width:100%;height:100%;border-radius:8px}.images figcaption{font-size:1.15rem;font-weight:700;color:var(--text);margin:.1rem 0 .5rem}.downloads li{margin:.4rem 0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:grid;place-items:center;z-index:10}.modal{background:var(--card);border-radius:12px;padding:1.4rem;width:440px;max-width:92vw}.modal .row{display:flex;gap:.5rem}.modal .row select{flex:1}.modal-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1rem}.share-list{padding-left:1.1rem}.share-list li{margin:.3rem 0}.share-list .btn{margin-left:.5rem;padding:.2rem .6rem}.zoom-box{position:relative;overflow:hidden;background:#fff;border-radius:6px;touch-action:none;-webkit-user-select:none;user-select:none}.zoom-box.panning{cursor:grabbing}.zoom-box img{position:absolute;left:0;top:0;max-width:none}.zoom-part{position:absolute;border:2px solid var(--brand);border-radius:2px;box-shadow:0 0 0 1px #fff;pointer-events:none}.zoom-part.ghost{border:2px dashed var(--bad);box-shadow:none;background:#ffffff8c}.zoom-coords{position:absolute;left:.8rem;bottom:.6rem;padding:.1rem .45rem;border-radius:4px;background:#ffffffe6;color:#000;font-size:.85rem;pointer-events:none}.status-row{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.job{margin:.6rem 0 1rem}pre.log{background:#111a15;color:#cfe3d6;font-size:.78rem;line-height:1.35;padding:.7rem .9rem;border-radius:8px;max-height:320px;overflow:auto;white-space:pre-wrap;margin:.5rem 0 0}.banner{background:var(--accent);color:var(--text);text-align:center;padding:.35rem;font-size:.9rem}.banner.notice{display:flex;justify-content:center;align-items:center;gap:.8rem}.banner.hold{background:#fde7c8;color:#7a3d00;font-weight:600}.banner.notice .icon-btn{padding:0 .4rem;color:var(--text)}.editor-bar{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap;margin:.4rem 0;padding:.35rem .7rem;border:1px solid var(--line);border-radius:6px;font-size:.9rem}.editor-bar.mine{border-color:var(--good)}.chat-input textarea:disabled{background:var(--bg);cursor:not-allowed}button.link{background:none;border:none;padding:0;color:var(--brand);text-decoration:underline;cursor:pointer;font-size:1rem}.img-loading{height:160px;display:grid;place-items:center;color:var(--muted);font-size:.85rem}.modal.wide{width:640px}.upload-modal{resize:both;overflow:hidden;display:flex;flex-direction:column;justify-self:start;align-self:start;margin:6vh 0 0 max(2vw,calc(50vw - 320px));min-width:440px;max-width:calc(98vw - max(2vw,calc(50vw - 320px)));max-height:92vh}.upload-modal>*{flex-shrink:0}.drag-handle{cursor:move;-webkit-user-select:none;user-select:none;touch-action:none}.upload-modal .log-wrap{position:relative;display:flex;flex:1 1 320px;min-height:5rem;margin-top:.5rem}.upload-modal .log{flex:1;max-height:none;margin:0;padding-right:2.8rem}.log-copy{position:absolute;top:.4rem;right:1.2rem;background:#111a15;color:#cfe3d6;border-color:#3a4a40}textarea.rules,pre.rules{width:100%;min-height:220px;box-sizing:border-box;font:inherit;font-size:.92rem;padding:.6rem;border:1px solid var(--line);border-radius:6px;resize:vertical}pre.rules-version{white-space:pre-wrap;overflow:auto;max-height:50vh;margin:0;background:var(--bg)}.rules-history{display:flex;flex-direction:column;align-items:flex-start;gap:.2rem;max-height:10rem;overflow:auto;margin:.5rem 0}.rules-history .link.current{font-weight:600}.house-style{width:760px}.rules-warnings{border:1px solid var(--warn, #b7791f);border-radius:8px;padding:.6rem .8rem;margin:.5rem 0;font-size:.9rem}.rules-warnings ul{margin:.4rem 0;padding-left:1.2rem}.model-tab section{margin-bottom:1.2rem}.model-purpose{border:1px solid var(--line);border-radius:8px;padding:.35rem .7rem;margin:.35rem 0}.model-purpose summary{cursor:pointer}.model-values th{white-space:nowrap;vertical-align:top;width:1%}.model-values code{font-size:.8rem;white-space:pre-wrap;word-break:break-word}.model-history{list-style:none;padding:0;margin:0;display:grid;gap:.4rem}.model-history code{font-size:.8rem;word-break:break-word}.capability-card{border:1px dashed var(--warn, #b7791f);border-radius:8px;padding:.45rem .7rem;margin:.4rem 0;font-size:.9rem}.hs-purposes{display:flex;flex-direction:column;gap:.6rem;max-height:60vh;overflow:auto;padding-right:.3rem}.hs-purpose{border:1px solid var(--line);border-radius:8px;padding:.5rem .8rem .7rem;margin:0}.hs-purpose legend{font-weight:600;padding:0 .3rem}.hs-fields{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:.35rem .8rem;margin-top:.4rem}.hs-field{display:flex;flex-direction:column;gap:.15rem;font-size:.85rem}.hs-field>span:first-child{color:var(--muted)}.hs-field.hs-group{grid-column:1 / -1}.hs-field.hs-group>.hs-fields{margin-top:0;padding-left:.8rem;border-left:2px solid var(--line)}.hs-number{display:flex;align-items:center;gap:.3rem}.hs-number input{width:7rem}.hs-choices{display:flex;gap:.8rem}.hs-label{border-top:1px dashed var(--line);padding-top:.4rem;margin-top:.4rem}.hs-label-head{display:flex;gap:.8rem;align-items:baseline}.hs-add{display:flex;gap:.4rem;margin-top:.5rem}.hs-add input{flex:1;max-width:18rem}.small{font-size:.8rem;margin-top:.3rem}.projects-head{display:flex;align-items:center;justify-content:space-between}.field{display:grid;gap:.3rem;margin:.7rem 0;font-size:.9rem}.dropzone{position:relative;display:block;border:2px dashed var(--line);border-radius:8px;padding:1.4rem 1rem;text-align:center;color:var(--muted);cursor:pointer;transition:border-color .15s,background .15s}.dropzone:hover,.dropzone:focus-within,.dropzone.over{border-color:var(--brand);background:#0f51320d}.dropzone.disabled{cursor:default;opacity:.6}.dropzone input{position:absolute;width:1px;height:1px;opacity:0}.dropzone b{color:var(--text)}.progress{height:6px;background:var(--line);border-radius:3px;overflow:hidden;margin:.6rem 0}.progress>div{height:100%;background:var(--brand);transition:width .2s}.asset-remove{position:absolute;top:.6rem;right:.6rem;display:grid;place-items:center;width:30px;height:30px;padding:0;border-radius:50%;border:1px solid var(--line);background:var(--card);color:var(--bad);cursor:pointer;opacity:0;transition:opacity .15s}.images figure:hover .asset-remove:not(:disabled),.asset-remove:focus-visible{opacity:1}.asset-remove:hover{background:var(--bad);border-color:var(--bad);color:#fff}.asset-add{display:grid;place-items:center;min-height:200px;border:2px dashed var(--line);border-radius:8px;background:none;color:var(--muted);cursor:pointer}.asset-add:hover:not(:disabled){border-color:var(--brand);color:var(--brand)}.asset-add:disabled{opacity:.5;cursor:default}.file-list{list-style:none;margin:.4rem 0;padding:0;display:grid;gap:.3rem}.file-list li{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.35rem .6rem;border:1px solid var(--line);border-radius:6px;font-size:.9rem}.confirm-body p{margin:.4rem 0}.project-body{display:grid;grid-template-columns:280px minmax(0,1fr);gap:1.5rem;align-items:start}.project-body>aside>h3{margin-top:.4rem}.designs{display:grid;gap:.8rem}.design-card{position:relative;background:var(--card);border:1px solid var(--line);border-radius:8px;padding:.5rem;cursor:pointer}.design-card img{display:block;width:100%}.design-card.inert{cursor:default}.design-name{margin-top:.35rem;font-weight:600;overflow-wrap:anywhere}.design-sub{font-size:.8rem;color:var(--muted)}.design-card:hover .asset-remove:not(:disabled){opacity:1}.design-card.selected,.images figure.selected{border-color:var(--brand);box-shadow:0 0 0 2px var(--brand)}.designs .asset-add{min-height:80px}@media(max-width:900px){.project-body{grid-template-columns:1fr}}.btn.small{padding:.3rem .8rem;font-size:.95rem}.project-body.with-chat{grid-template-columns:280px minmax(480px,1fr) minmax(340px,560px)}.project-body.chat-hidden{grid-template-columns:280px minmax(0,1fr) auto}.chat-rail{writing-mode:vertical-rl;padding:.8rem .3rem;border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--brand);cursor:pointer;font:inherit}.chat{position:sticky;top:1rem;display:flex;flex-direction:column;height:calc(100vh - 8rem);min-height:420px;background:var(--card);border:1px solid var(--line);border-radius:8px}.chat-head{display:flex;align-items:center;justify-content:space-between;padding:.4rem .8rem;border-bottom:1px solid var(--line)}.chat-head h3{margin:0}.chat-log{flex:1;overflow-y:auto;padding:.8rem;overflow-anchor:none;outline:none}.chat-content{display:grid;grid-template-columns:minmax(0,1fr);gap:.5rem;align-content:start}.msg{border-radius:8px;padding:.6rem .8rem;font-size:1.0625rem;line-height:1.6;overflow-wrap:anywhere}.msg.user{background:#e8f1ec}.msg-meta{font-size:.9rem;color:var(--muted);font-weight:500}.msg-text{white-space:pre-wrap}.msg.bot{padding:0 .2rem}.msg.bot p{margin:.4rem 0}.msg.bot ul,.msg.bot ol{margin:.3rem 0;padding-left:1.3rem}.msg.bot table{display:block;overflow-x:auto;border-collapse:collapse;font-size:.9375rem;margin:.4rem 0}.msg.bot th,.msg.bot td{border:1px solid var(--line);padding:.2rem .4rem;text-align:left}.msg.bot pre{overflow-x:auto;background:var(--bg);padding:.4rem;border-radius:6px}.msg.bot code{font-size:.85em}.msg.live{opacity:.85}.msg.error{background:#f6dcda;color:var(--bad)}.msg.stopped{background:var(--line);color:var(--muted)}.step{font-size:1.0625rem;color:var(--quiet);font-weight:500;overflow-wrap:anywhere}.step summary{cursor:pointer;list-style:none}.step summary::-webkit-details-marker{display:none}.step-mark{display:inline-block;width:1.1rem}.step.ok .step-mark{color:var(--good)}.step.failed .step-mark{color:var(--bad)}.step-checks{color:var(--text);font-weight:600}.step .link{margin-left:.4rem;font-size:1rem}.step .link.sheet-link{margin-left:0;font-size:inherit}.thought{font-size:1.0625rem;color:var(--quiet);font-weight:500;overflow-wrap:anywhere}.thought summary{cursor:pointer;list-style:none;font-style:italic}.thought summary::-webkit-details-marker{display:none}.thought-text{font-size:1.0625rem;color:var(--quiet);font-weight:500;font-style:italic;white-space:pre-wrap;overflow-wrap:anywhere;border-left:3px solid var(--line);padding:.1rem 0 .1rem .7rem;margin:.3rem 0}.step-detail{max-height:240px;overflow:auto;background:var(--bg);font-size:.9rem;padding:.4rem;white-space:pre-wrap;border-radius:6px}.turn-end{font-size:.95rem;color:var(--quiet);font-weight:600;text-align:right}.approved{font-size:.9375rem;color:var(--good)}.working{color:var(--bad);font-style:italic;font-size:1.0625rem;font-weight:700}.sweep-w{white-space:nowrap}.sweep-l,.sweep-l>span{display:inline-block;animation:sweep-pass 4s ease-in-out infinite}.sweep-l{animation-delay:calc(var(--i) * var(--step))}.sweep-l>span{animation-delay:calc(var(--j) * var(--step) + 1.2s)}@keyframes sweep-pass{0%,12%,to{transform:scale(1)}6%{transform:scale(1.45);color:#ff5a1f;text-shadow:0 0 6px rgba(255,90,31,.55)}}@media(prefers-reduced-motion:reduce){.sweep-l,.sweep-l>span{animation:none}}.chat-input{display:grid;gap:.4rem;padding:.6rem;border-top:1px solid var(--line)}.chat-input textarea{width:100%;font:inherit;font-size:1.0625rem;resize:none;padding:.5rem;border:1px solid var(--line);border-radius:6px;box-sizing:border-box}.chat-actions{display:flex;align-items:center;gap:.5rem}@media(max-width:1850px){.project-body.with-chat{grid-template-columns:minmax(0,1fr)}.project-body.with-chat .designs{grid-auto-flow:column;grid-auto-columns:220px;overflow-x:auto;padding-bottom:.3rem}.project-body.with-chat .chat{position:static;height:70vh}}.sessions-body{display:grid;grid-template-columns:minmax(0,560px) minmax(0,1fr);gap:1.5rem;align-items:start}.sessions-body aside tbody tr{cursor:pointer}table.list.compact th,table.list.compact td{padding:.35rem .5rem;font-size:.85rem;vertical-align:top}table.list tr.selected{background:#e8f1ec}.tl-what{white-space:pre-wrap;overflow-wrap:anywhere}.tl-what pre{white-space:pre-wrap;font-size:.8rem}tr.tl-prompt td{font-weight:600}tr.tl-ui td{color:var(--muted)}@media(max-width:1100px){.sessions-body{grid-template-columns:1fr}}.settings-card{display:flex;flex-wrap:wrap;align-items:flex-end;gap:1rem;margin-bottom:1rem;padding:.8rem 1rem;background:var(--card);border:1px solid var(--line);border-radius:8px}.settings-card h3{width:100%;margin:0}.settings-card label{display:grid;gap:.2rem;font-size:.85rem}.settings-card input{width:8rem}.repos-card{align-items:flex-start;flex-direction:column;gap:.6rem}.repos-card p{margin:0}.repos-token{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.8rem}.repos-token>span{width:100%}.repos-token input[type=password]{width:22rem}.repos-token input[type=date]{width:10rem}.repos-list{width:100%}.repos-list td{vertical-align:top}.repos-actions{display:flex;gap:.4rem;justify-content:flex-end;flex-wrap:wrap}.repos-check{display:grid;gap:.35rem;width:100%;padding:.6rem .8rem;border:1px solid var(--line);border-radius:6px}.repos-check>div:last-child{display:flex;gap:.5rem}.turn-stats{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.copy-btn{display:inline-flex;align-items:center;gap:.3rem;padding:.2rem .45rem;background:none;border:1px solid var(--line);border-radius:5px;color:var(--muted);font-size:.85rem;cursor:pointer}.copy-btn:hover{color:var(--brand);background:var(--bg)}.chat-head h3{font-size:1.15rem}.sessions-head{display:flex;align-items:baseline;gap:1rem}.continue-row{display:flex;justify-content:flex-end;margin:.3rem 0}.chat-divider{display:flex;align-items:center;gap:.6rem;margin:.6rem 0;font-size:.9rem;color:var(--quiet);font-weight:500}.chat-divider:before,.chat-divider:after{content:"";flex:1;border-top:1px solid var(--line)}.chat-head{gap:.5rem}.model-box{position:relative;width:94vw;height:90vh;background:#e9ecef;border-radius:8px;overflow:hidden}.model-box canvas{display:block}.model-status{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;color:var(--muted);font-size:1.05rem}.model-controls{position:absolute;left:.8rem;top:.6rem;display:grid;grid-template-columns:minmax(0,1fr);align-content:start;gap:.25rem;padding:.5rem .7rem;border-radius:6px;background:#ffffffd9;font-size:.75rem;font-weight:600;max-width:min(16rem,calc(100% - 1.6rem));max-height:calc(100% - 1.2rem);overflow:hidden auto;scrollbar-width:none}.model-controls::-webkit-scrollbar{display:none}.model-controls label{display:flex;align-items:center;gap:.4rem;min-width:0;cursor:pointer}.model-controls .part-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.model-help{position:absolute;left:.8rem;bottom:.6rem;padding:.2rem .6rem;border-radius:4px;background:#ffffffbf;color:var(--muted);font-size:.9rem;pointer-events:none}.notes{display:grid;grid-template-columns:13rem minmax(0,1fr);gap:1rem;align-items:start}.notes-list{display:flex;flex-direction:column;align-items:flex-start;gap:.3rem}.notes-list .link.current{font-weight:600}.notes-doc{border:1px solid var(--line);border-radius:6px;padding:.6rem 1rem}@media(max-width:700px){.notes{grid-template-columns:1fr}}.run-stats{display:flex;border:1px solid var(--line);border-radius:6px;background:var(--card);font-variant-numeric:tabular-nums}.run-stat{display:flex;flex-direction:column;align-items:flex-end;min-width:7ch;padding:.15rem .6rem;line-height:1.2}.run-stat+.run-stat{border-left:1px solid var(--line)}.agent-status{font-weight:700;font-size:.85rem;white-space:nowrap}.agent-status.working{color:var(--bad)}.agent-status.waiting{color:#c25e00}.agent-status.idle{color:var(--good)}.run-stat span{font-size:.75rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.run-stat b{font-size:1rem;color:var(--text);white-space:nowrap}.modal.datasheet{width:97vw;max-width:97vw;height:94vh;display:flex;flex-direction:column;padding:1rem}.modal.datasheet iframe{flex:1;min-width:0;width:100%;border:1px solid var(--line);border-radius:6px}.datasheet-body{flex:1;min-height:0;display:flex;gap:.8rem}.datasheet-summary{flex:0 0 42%;overflow:auto;border:1px solid var(--line);border-radius:6px;padding:.4rem .8rem;font-size:.95rem}.datasheet-summary table{border-collapse:collapse;font-size:.85rem;margin:.4rem 0}.datasheet-summary th,.datasheet-summary td{border:1px solid var(--line);padding:.15rem .35rem;text-align:left;vertical-align:top}.datasheet-summary h1{font-size:1.1rem}.datasheet-summary h2{font-size:1.05rem;margin-top:1rem}.datasheet-summary h3{font-size:.98rem;margin:.8rem 0 .2rem}.summary-missing{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap;padding:.4rem 0;border-bottom:1px solid var(--line)}.badge.confidence-high{background:#dcfce7;color:#166534}.badge.confidence-medium{background:#fef3c7;color:#92400e}.badge.confidence-low{background:#fee2e2;color:#991b1b}.modal.add-pdf{display:grid;gap:.6rem;width:min(560px,94vw)}.modal.add-pdf label{display:grid;gap:.2rem;font-weight:600}.modal.add-pdf input:not([type=file]){font:inherit;padding:.35rem .5rem;border:1px solid var(--line);border-radius:6px}@media(max-width:800px){.datasheet-body{flex-direction:column}.datasheet-summary{flex-basis:40%}}.datasheet-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.datasheet-picker{max-width:22rem;font:inherit;padding:.35rem .5rem;border:1px solid var(--line);border-radius:6px;background:var(--card)}.images figcaption{display:flex;align-items:baseline;flex-wrap:wrap;gap:0 .3rem}.caption-note{font-weight:400;color:var(--muted);font-size:.95rem}.coords{margin-left:auto;font-weight:400;font-size:.9rem;color:var(--brand);font-variant-numeric:tabular-nums}.chat-totals{display:grid;grid-template-columns:max-content repeat(4,minmax(6.5ch,max-content));gap:0 .9rem;align-items:baseline;padding:.35rem .8rem;border-bottom:1px solid var(--line);overflow-x:auto;font-size:.95rem;color:var(--text);font-variant-numeric:tabular-nums}.chat-totals .totals-head{font-size:.75rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;text-align:right}.chat-totals .totals-label{font-weight:600}.chat-totals b{text-align:right;white-space:nowrap}.plan-card{border:1px solid var(--line);border-radius:8px;padding:.6rem .8rem;background:var(--card);font-size:1rem}.plan-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.3rem 1rem;font-weight:700;margin-bottom:.4rem}.plan-meta{color:var(--muted);font-weight:600;font-size:.95rem;font-variant-numeric:tabular-nums}.plan-steps{list-style:none;margin:0;padding:0;display:grid;gap:.25rem}.plan-step{display:grid;grid-template-columns:1.4rem minmax(0,1fr) auto;gap:.5rem;align-items:baseline;font-weight:600}.plan-step.waiting{color:var(--muted);font-weight:500}.plan-step.running{color:var(--text);font-weight:700}.plan-step.running .plan-meta{color:var(--text)}.plan-step.ended .plan-mark{color:var(--bad, #b3261e)}.plan-mark{text-align:center;font-weight:700}.plan-title{overflow-wrap:anywhere}.plan-end{margin-top:.4rem;font-weight:600;color:var(--muted)}.plan-end.paused{color:var(--text)}.plan-actions{display:flex;gap:.5rem;margin-top:.5rem}.step-badge{display:inline-block;margin-right:.4rem;padding:0 .4rem;border-radius:4px;background:#e8f1ec;font-size:.9rem;font-weight:700}.plan-block{display:grid;gap:.4rem}.msg.user.step-prompt{background:#f1f6f3;font-size:1rem}.copy-note{align-self:center;font-size:.95rem;font-weight:600;color:var(--muted);white-space:nowrap}.viewer-close{position:absolute;top:.6rem;right:.6rem;z-index:2;background:#ffffffe6;color:var(--text)}.anim-zone{position:absolute;left:0;right:0;bottom:0;height:5rem;z-index:2}.anim-bar{position:absolute;left:1rem;right:1rem;bottom:.8rem;display:flex;align-items:center;gap:.8rem;padding:.4rem .8rem;border-radius:8px;background:#ffffffeb;opacity:0;transition:opacity .2s}.anim-zone:hover .anim-bar{opacity:1}.anim-bar input[type=range]{flex:1}.anim-clock{font-weight:700;font-variant-numeric:tabular-nums;min-width:7.5rem;text-align:right}.viewer-replay{position:absolute;top:.6rem;right:3.4rem;z-index:2;background:#ffffffe6;color:var(--text)}.model-controls-sep{width:100%;margin:.2rem 0;border:none;border-top:1px solid var(--line)}.model-controls-mounted{border-top:1px solid var(--line);margin-top:.3rem;padding-top:.3rem}.model-info{position:absolute;left:.8rem;bottom:2.6rem;z-index:2;max-width:min(34rem,calc(100% - 1.6rem));padding:.5rem .8rem;border-radius:6px;background:#fff;color:#000;font-size:.95rem;box-shadow:0 2px 8px #00000026;pointer-events:none}.model-box .model-info{left:auto;right:.8rem}.model-info-title{font-size:1.1rem;font-weight:700}.model-info-board{font-weight:500;color:#444}.model-info-desc{margin:.15rem 0 .3rem}.model-info-dnp{font-weight:700;color:var(--bad)}.model-info.pinned{pointer-events:auto}.model-info-note{margin:.2rem 0;color:var(--bad);font-size:.85rem}.part-model{margin-top:.4rem;display:grid;gap:.3rem}.part-model-actions{display:flex;flex-wrap:wrap;gap:.3rem}.part-model-adjust{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;font-size:.85rem}.part-model-adjust span{display:inline-flex;align-items:center;gap:.2rem}.part-model-adjust input{width:4.2rem}.model-info-fit{margin-top:.35rem}.model-info table{border-collapse:collapse}.model-info th{padding:.05rem .8rem .05rem 0;text-align:left;font-weight:700;white-space:nowrap;vertical-align:top}.model-info td{padding:.05rem 0}.model-info-purpose{margin:.15rem 0;font-weight:600}.unsaved-row td{font-weight:700;background:#fff8e1}.unsaved-row .btn{margin-left:1rem}.notes-doc-wrap{min-width:0}.notes-doc-bar{display:flex;align-items:center;gap:.8rem;margin-bottom:.4rem}.notes-doc-name{font-weight:700;color:var(--muted)}.open-items{display:grid;grid-template-columns:minmax(0,1fr);gap:.6rem;align-content:start;min-width:0}.open-item{border:1px solid var(--line);border-radius:8px;padding:.5rem .7rem;background:var(--card)}.open-item-head{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.open-item-n{font-weight:700;font-size:1.05rem;min-width:1.4rem}.open-item-text{margin-top:.3rem;line-height:1.5;overflow-wrap:anywhere}.badge.waits-you{background:#fff3cd}.badge.proposal-waits{background:var(--bad);color:#fff;font-weight:700;font-size:.95rem;padding:.15rem .6rem;margin:0 0 0 .4rem}.editor-bar-waiting{border:0;border-radius:6px;padding:.25rem .7rem;background:var(--bad);color:#fff;font:inherit;font-weight:700;cursor:pointer}.editor-bar-waiting:hover{filter:brightness(1.1)}.editor-bar-agents{display:inline-flex;align-items:center;gap:.4rem;color:var(--quiet)}.editor-bar-agents.paused{color:#8a5a00;background:#fff3cd;border-radius:6px;padding:.2rem .6rem;font-weight:600}.editor-bar-agents .link{font-weight:700}.editor-bar-step{display:inline-flex;align-items:center;gap:.4rem;background:#fff3cd;color:#6b4a00;border-radius:6px;padding:.2rem .6rem;font-weight:600}.editor-bar-step.bad{background:#fde2e1;color:var(--bad)}.editor-bar-step.quiet{background:none;color:var(--quiet);font-weight:400;padding:0}.editor-bar-step .link{font-weight:700}.ask-card{margin:.6rem 0;padding:.7rem .8rem;border:1px solid var(--line);border-left:4px solid var(--muted);border-radius:8px;background:var(--card);outline:none}.ask-card.waiting{border-left-color:var(--bad)}.ask-card.waiting:focus{box-shadow:0 0 0 2px #b3261e40}.ask-question{font-weight:700;margin-bottom:.5rem}.ask-recommended{margin:-.2rem 0 .5rem;color:var(--good)}.ask-option.recommended{border-color:var(--good);box-shadow:inset 3px 0 0 var(--good)}.ask-badge{margin-left:.5rem;padding:0 .4rem;border-radius:999px;background:#d9efe2;color:var(--good);font-size:.85em;font-weight:600}.ask-options{display:grid;gap:.4rem}.ask-option{display:grid;gap:.15rem;text-align:left;padding:.45rem .7rem;border:1px solid var(--line);border-radius:6px;background:var(--bg);font:inherit;cursor:pointer}.ask-option:hover:not(:disabled){border-color:var(--brand)}.ask-option:disabled{cursor:default;opacity:.6}.ask-own{display:flex;gap:.4rem;align-items:center;margin-top:.5rem}.ask-own input{flex:1;min-width:0}.editor-bar-agents .busy-spin,.status-row .busy-spin{width:.85rem;height:.85rem;border-color:#00000026;border-top-color:var(--brand)}@media(min-width:901px){.project-body.chat-hidden{height:calc(100vh - var(--body-top, 8rem) - 1.2rem);align-items:stretch}.project-body.chat-hidden>aside,.project-body.chat-hidden>.project-main{min-height:0;overflow-y:auto}}@media(min-width:1851px){.project-body.with-chat{height:calc(100vh - var(--body-top, 8rem) - 1.2rem);align-items:stretch}.project-body.with-chat>aside,.project-body.with-chat>.project-main{min-height:0;overflow-y:auto}.project-body.with-chat .chat{position:static;height:auto}}.project-main>.tabs{position:sticky;top:0;z-index:1;margin-top:0;padding-top:.2rem;background:var(--bg)}.new-conversation{font-weight:700;border-color:currentColor}.new-conversation:disabled{opacity:.8}.friction{margin-top:1.2rem}.friction-item{border:1px solid var(--line);border-radius:6px;padding:.4rem .6rem;margin-bottom:.4rem;background:var(--card)}.friction-head{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;width:100%;padding:0;border:none;background:none;font:inherit;text-align:left;cursor:pointer}.friction-when{font-weight:700}.friction-cost{color:var(--muted);font-variant-numeric:tabular-nums}.friction-prompt{margin-top:.2rem;font-size:.9rem;color:var(--muted);overflow-wrap:anywhere}.friction-detail ul{margin:.4rem 0;padding-left:1.2rem;font-size:.9rem}.friction-detail li{overflow-wrap:anywhere}.friction-item.dealt{opacity:.7}.friction-dealt{margin-top:.3rem;color:var(--good, #0f5132);overflow-wrap:anywhere}.friction-mark{display:flex;gap:.4rem;margin-top:.4rem}.friction-mark input{flex:1;min-width:0}.badge.friction-failed,.badge.friction-blind,.badge.friction-limit{background:#f6dcda;color:var(--bad)}.badge.friction-heavy,.badge.friction-review,.badge.friction-scripts,.badge.friction-rereads{background:#fff3cd}.plan-limit{display:flex;align-items:center;gap:.8rem}.plan-limit input[type=number]{width:8rem}.plan-limit input[type=number]:disabled{opacity:.55;cursor:not-allowed}.plan-recommended{display:flex;align-items:center;gap:.3rem;font-weight:500;white-space:nowrap}.thickness-edit{display:inline-flex;align-items:center;gap:.4rem}.thickness-edit input{width:5.5rem}.fit-switch{display:inline-flex;align-items:center;gap:.4rem;margin:.5rem 0 .2rem;font-size:.95rem}.stale{display:inline-flex;align-items:center;gap:.5rem;flex-wrap:wrap;font-size:.95rem;color:#8a5a00}.badge.stale-badge{background:#ffe8b3;color:#8a5a00;font-weight:700}.stale-text{color:#b36b00;font-weight:600}.ds-tab{display:grid;grid-template-columns:15rem minmax(0,1fr);gap:1rem;align-items:start}.ds-list{display:flex;flex-direction:column;gap:.3rem;position:sticky;top:3rem;max-height:calc(100vh - 8rem);overflow:auto}.ds-scope{display:flex;gap:.3rem}.ds-scope button{flex:1;font:inherit;padding:.3rem;border:1px solid var(--line);border-radius:6px;background:var(--card);cursor:pointer}.ds-scope button.current{background:var(--accent);font-weight:600}.ds-filter{font:inherit;padding:.3rem .5rem;border:1px solid var(--line);border-radius:6px}.ds-item{display:grid;gap:.15rem;text-align:left;font:inherit;padding:.4rem .5rem;border:1px solid var(--line);border-radius:6px;background:var(--card);cursor:pointer}.ds-item.current{border-color:var(--brand);box-shadow:inset 3px 0 0 var(--brand)}.ds-item-name{font-weight:600;overflow-wrap:anywhere}.ds-item-meta{font-size:.85rem;color:var(--muted);display:flex;gap:.3rem;align-items:center;flex-wrap:wrap}.ds-empty{padding:2rem 0}.ds-main{min-width:0}.ds-head{display:flex;align-items:baseline;gap:.8rem;flex-wrap:wrap}.ds-head h3{margin:0;overflow-wrap:anywhere}.ds-actions{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;margin:.4rem 0}.ds-parts,.ds-redo{display:inline-flex;gap:.4rem;align-items:center;flex-wrap:wrap}.ds-parts input,.ds-redo input,.ds-redo select{font:inherit;padding:.2rem .4rem;border:1px solid var(--line);border-radius:6px}.ds-views{margin:.4rem 0}.ds-split{display:flex;gap:.8rem;align-items:stretch;flex-wrap:wrap}.ds-data{flex:1 1 26rem;min-width:0;max-height:78vh;overflow:auto}.ds-pdf{flex:1 1 24rem;min-height:78vh;border:1px solid var(--line);border-radius:6px}.ds-data h4{margin:1rem 0 .3rem}.ds-table{border-collapse:collapse;font-size:.9rem;width:100%}.ds-table th,.ds-table td{border:1px solid var(--line);padding:.2rem .4rem;text-align:left;vertical-align:top}.ds-table th{background:var(--bg)}.cell-edit{font:inherit;text-align:left;background:none;border:1px dashed transparent;padding:0 .15rem;cursor:text;width:100%}.cell-edit:hover{border-color:var(--line);background:var(--bg)}.cell-input{font:inherit;width:100%;padding:.1rem .2rem}.cell-input.wide{min-height:3.5rem}.page-link{font-size:.85rem;white-space:nowrap}.ds-pages{display:grid;grid-template-columns:4.5rem minmax(0,1fr);gap:.6rem}.ds-page-list{display:flex;flex-direction:column;gap:.15rem;max-height:74vh;overflow:auto}.ds-page{font:inherit;font-size:.85rem;padding:.15rem .3rem;border:1px solid var(--line);border-radius:4px;background:var(--card);cursor:pointer;display:flex;justify-content:space-between;align-items:center}.ds-page.current{border-color:var(--brand);font-weight:700}.dot{width:.55rem;height:.55rem;border-radius:50%;display:inline-block}.dot.confidence-high{background:#16a34a}.dot.confidence-medium{background:#d97706}.dot.confidence-low{background:#dc2626}.ds-page-text pre{white-space:pre;overflow:auto;max-height:68vh;font-size:.78rem;background:var(--bg);padding:.4rem;border-radius:6px}.ds-page-text .btn{margin-left:.6rem}@media(max-width:900px){.ds-tab{grid-template-columns:1fr}.ds-list{position:static;max-height:none}}.open-items-group{margin:.4rem 0 0;font-size:1rem}.bom-wrap{overflow-x:auto;border-radius:8px}table.list.bom{font-size:.875rem}table.list.bom th,table.list.bom td{padding:.5em .55em}table.list.bom th.num,table.list.bom td.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}table.list.bom tfoot td{font-weight:600;border-bottom:none}table.list.bom .est{color:var(--quiet);font-style:italic;cursor:help}.bom-qty select{margin:0 .4rem}.ds-note{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;margin:.4rem 0 1rem}.ds-note p{flex-basis:100%;margin:0}.ds-note input{flex:1 1 12rem;min-width:0}.asset-add-menu{display:flex;flex-direction:column;gap:.4rem;padding:.6rem;border:1px dashed var(--line);border-radius:8px}.enclosure-tab{display:flex;flex-direction:column;gap:.6rem}.enclosure-view{position:relative;height:72vh;min-height:360px;border-radius:8px;overflow:hidden;background:#e9ecef}.enclosure-hover{position:absolute;left:.8rem;bottom:.6rem;background:#ffffffe0;padding:.15rem .6rem;border-radius:4px}.enclosure-report{max-height:40vh;overflow:auto}.enclosure-details{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1.5rem}.enclosure-numbers th{width:1%;white-space:nowrap;color:var(--muted);font-weight:600}@media(max-width:900px){.enclosure-details{grid-template-columns:minmax(0,1fr)}}.enclosure-panel{position:absolute;top:.6rem;left:.6rem;width:max-content;min-width:11rem;max-width:min(16rem,calc(100% - 1.2rem));max-height:calc(100% - 1.2rem);overflow:hidden auto;scrollbar-width:none;display:flex;flex-direction:column;gap:.35rem;padding:.5rem .6rem;background:#ffffffe6;border:1px solid var(--line);border-radius:8px;font-size:.75rem}.enclosure-panel::-webkit-scrollbar{display:none}.enclosure-view:not(.editor-view)>.enclosure-panel{max-height:calc(100% - 3.2rem)}.enclosure-panel.editor-panel{left:auto;right:.6rem}.enclosure-panel.folded{display:none}.panel-tab{position:absolute;top:.6rem;left:.6rem;display:grid;place-items:center;width:2.4rem;height:1.8rem;padding:0;background:#ffffffe6;border:1px solid var(--line);border-radius:6px;color:var(--muted);cursor:pointer}.panel-tab:hover{color:var(--brand);border-color:var(--brand)}.drag-scrolling{cursor:grabbing;-webkit-user-select:none;user-select:none}.enclosure-clear-row{display:flex;align-items:center;gap:.4rem}.enclosure-clear-row>.enclosure-clear-row{flex:1;min-width:0}.enclosure-clear-row input[type=range]{flex:1;min-width:0}.clear-icon{flex:none;width:.9rem;height:.9rem;border:1px solid rgba(0,0,0,.3);border-radius:2px;background-color:#fff;background-image:conic-gradient(#9aa0a6 25%,transparent 0 50%,#9aa0a6 0 75%,transparent 0);background-size:.45rem .45rem}.enclosure-clear-row span{width:2.6rem;text-align:right;white-space:nowrap}.enclosure-backgrounds{display:flex;flex-direction:column;gap:.25rem}.enclosure-note{position:absolute;left:50%;bottom:.8rem;transform:translate(-50%);padding:.3rem .7rem;background:#ffffffeb;border:1px solid var(--line);border-radius:6px;font-size:.9rem}.material-panel{position:absolute;top:.6rem;left:.6rem;width:15rem;max-height:calc(100% - 1.2rem);overflow:auto;display:flex;flex-direction:column;gap:.5rem;padding:.6rem .7rem;background:#fffffff2;border:1px solid var(--line);border-radius:8px;font-size:.9rem}.material-title{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.material-title .icon-btn{padding:0 .45rem;font-size:1.1rem;line-height:1.4}.material-reflect,.material-fit,.material-scope{display:flex;flex-direction:column;gap:.2rem}.model-controls-part{padding-left:1.2rem}.material-image{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap}.material-image-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.material-actions{display:flex;gap:.4rem;flex-wrap:wrap}.color-picker{display:flex;flex-direction:column;gap:.35rem}.color-map{position:relative;line-height:0}.color-map canvas{width:100%;height:6.5rem;border-radius:4px;cursor:crosshair;touch-action:none}.color-mark{position:absolute;width:.8rem;height:.8rem;margin:-.4rem 0 0 -.4rem;border:2px solid #fff;border-radius:50%;box-shadow:0 0 0 1px #0009;pointer-events:none}.color-value input{width:100%}.color-fields{display:flex;align-items:flex-end;gap:.3rem}.color-fields label{display:flex;flex-direction:column;flex:1;min-width:0;font-size:.8rem;color:var(--muted)}.color-fields input{width:100%;min-width:0;padding:.15rem .25rem;font-size:.85rem}.color-swatch{width:1.8rem;height:1.8rem;flex:none;border:1px solid rgba(0,0,0,.25);border-radius:4px}.color-hex{flex:2!important}@media(max-width:700px){.material-panel{top:auto;bottom:.6rem;left:.6rem;width:auto;max-height:60%}}.enclosure-backgrounds-row{display:flex;gap:2px}.enclosure-backgrounds-row button{flex:none;width:.9rem;height:.9rem;padding:0;border:1px solid rgba(0,0,0,.25);border-radius:3px;cursor:pointer}.enclosure-backgrounds-row button:hover{outline:2px solid rgba(15,81,50,.45);outline-offset:1px}.enclosure-backgrounds-row button.selected{outline:2px solid #0f5132;outline-offset:1px}.part-tree ul{list-style:none;margin:.15rem 0 0;padding-left:.9rem}.part-tree li label,.part-tree-root{display:flex;align-items:center;gap:.35rem;min-width:0}.part-tree .part-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.part-tree-root{font-weight:600}.part-tree .swatch{width:.6rem;height:.6rem;border-radius:50%;border:1px solid rgba(0,0,0,.25);flex:none}.part-tree input[type=checkbox]{width:.9rem;height:.9rem;margin:0;flex:none;accent-color:var(--brand)}.enclosure-stage{position:relative}.enclosure-stage .enclosure-view{height:var(--stage-height, 72vh)}.enclosure-drawer{position:absolute;left:50%;bottom:.6rem;transform:translate(-50%);z-index:2;display:flex;flex-direction:column;width:14rem;max-height:2.3rem;overflow:hidden;background:#fffffff5;border:1px solid var(--line);border-radius:8px;box-shadow:0 2px 8px #00000014;transition:width .2s ease,max-height .25s ease}.enclosure-drawer.open{width:min(calc(100% - 2rem),72rem);max-height:70%}@media(hover:hover){.enclosure-drawer:hover{width:min(calc(100% - 2rem),72rem);max-height:70%}}.enclosure-drawer-title{display:block;flex:none;width:100%;padding:.5rem .8rem;border:none;background:none;font:inherit;font-weight:600;text-align:center;cursor:pointer;color:inherit}.enclosure-drawer-title:after{content:" ▴";color:var(--muted)}.enclosure-drawer.open .enclosure-drawer-title:after{content:" ▾"}@media(hover:hover){.enclosure-drawer:hover .enclosure-drawer-title:after{content:" ▾"}}.enclosure-drawer-body{padding:0 .9rem .9rem;min-height:0;overflow-y:auto}.download-all{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;margin-bottom:.4rem;color:var(--muted);font-size:.85rem}.modal.file-viewer{width:94vw;max-width:94vw;height:90vh;display:flex;flex-direction:column;padding:1rem;gap:.6rem}.file-viewer-head{display:flex;align-items:center;gap:.6rem;min-width:0}.file-viewer-head h2{margin:0;font-size:1.05rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-viewer-head>.muted{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.file-viewer-body{flex:1;min-height:0;display:flex;border:1px solid var(--line);border-radius:6px;overflow:hidden;background:#fff}.file-viewer-body iframe{flex:1;width:100%;border:none}.file-viewer-status{margin:auto;padding:1rem;color:var(--muted);text-align:center}.file-viewer-scroll{flex:1;margin:0;padding:.6rem;overflow:auto;font-size:.82rem}.drawing-view{position:relative;flex:1;overflow:hidden;cursor:grab;touch-action:none}.drawing-view:active{cursor:grabbing}.drawing-view>div{position:absolute}.drawing-view img{width:100%;height:100%;object-fit:contain;-webkit-user-select:none;user-select:none}.step-preview{position:relative;flex:1;min-width:0}.step-preview>canvas{display:block}.step-preview .file-viewer-status{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center}.enclosure-editor{display:grid;grid-template-columns:300px minmax(0,1fr);gap:.8rem;height:var(--stage-height, 72vh)}.enclosure-editor .enclosure-view{height:100%}.editor-side{min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:.7rem;padding-right:.2rem;font-size:.92rem}.editor-side .spacer{flex:1}.editor-tree ul{padding-left:1rem;margin:.1rem 0 0}.editor-tree>ul{padding-left:.3rem}.tree-row{display:flex;align-items:center;gap:.45rem;min-width:0;padding:.15rem .3rem;border-radius:4px}.tree-row.selected{background:#d977062e}.tree-check{display:inline-flex;cursor:pointer;border-radius:3px}.tree-check:focus-visible{outline:2px solid var(--brand);outline-offset:1px}.tree-check input{pointer-events:none}.tree-row .muted{margin-left:auto}.tree-name{flex:1;min-width:0;padding:0 .25rem;border:none;border-radius:3px;background:none;font:inherit;color:inherit;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.tree-name:hover{background:#0f513214}.editor-tree .swatch{width:1.15rem;height:1.15rem;padding:0;cursor:pointer}.editor-tree .swatch:hover:not(:disabled){box-shadow:0 0 0 2px #0f513273}.editor-tree .swatch:disabled{cursor:default}.enclosure-editor{position:relative}.editor-busy{position:absolute;top:0;right:0;bottom:0;left:0;z-index:15;display:grid;place-items:center;background:#f5f6f459;cursor:progress}.busy-pill{display:flex;align-items:center;gap:.6rem;padding:.55rem 1.1rem;border-radius:999px;background:var(--brand);color:#fff;font-weight:600;box-shadow:0 4px 16px #0003}.busy-spin{width:1rem;height:1rem;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:busy-spin .8s linear infinite}@keyframes busy-spin{to{transform:rotate(360deg)}}.color-pop{z-index:20;position:fixed;display:flex;flex-direction:column;gap:.5rem;padding:.7rem;background:var(--card);border:1px solid var(--line);border-radius:8px;box-shadow:0 6px 24px #0000002e;max-height:calc(100vh - 16px);overflow-y:auto}.group-row .tree-name,.tree-root .tree-name{font-weight:600}.tree-translate{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.editor-selection,.editor-history,.editor-import{display:flex;flex-direction:column;gap:.45rem;padding:.6rem .7rem;border:1px solid var(--line);border-radius:8px;background:var(--card)}.selection-head{display:flex;align-items:center;gap:.4rem;min-width:0}.selection-head b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.triple{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:.3rem;align-items:end}.triple-title{grid-column:1 / -1;color:var(--muted);font-size:.85rem}.triple label,.edit-form label{display:flex;flex-direction:column;gap:.1rem;font-size:.8rem;color:var(--muted);min-width:0}.triple input,.edit-form input,.edit-form select{width:100%;min-width:0;padding:.2rem .3rem;font:inherit;font-size:.9rem;color:var(--text);border:1px solid var(--line);border-radius:4px;box-sizing:border-box}.selection-actions{display:flex;flex-wrap:wrap;gap:.3rem}.selection-actions .btn.small{padding:.2rem .55rem;font-size:.88rem}.btn.secondary.active{background:#0f51321a}.btn.secondary.danger-text{color:var(--bad)}.edit-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.35rem;padding:.5rem;background:var(--bg);border-radius:6px}.edit-form .wide{grid-column:1 / -1}.edit-form label.check{flex-direction:row;align-items:center;gap:.3rem;grid-column:span 2}.edit-form label.check input{width:auto}.edit-form-actions{grid-column:1 / -1;display:flex;justify-content:flex-end;gap:.4rem}.editor-note{padding:.4rem .6rem;border-left:3px solid var(--good);background:var(--card);font-size:.88rem}.editor-note.bad-text{border-left-color:var(--bad)}.editor-history ol{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.3rem;font-size:.85rem;max-height:14rem;overflow-y:auto}.step-picture{display:block;padding:0;margin:.2rem 0 .4rem 1.4rem;border:1px solid var(--line);border-radius:6px;overflow:hidden;cursor:zoom-in;background:none;max-width:22rem}.step-picture img{display:block;width:100%}.step-selected{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:900px){.enclosure-editor{grid-template-columns:minmax(0,1fr);height:auto}.enclosure-editor .enclosure-view{height:60vh}}.face-tools{display:flex;flex-direction:column;gap:.35rem;padding-top:.4rem;border-top:1px solid var(--line)}.face-tools .selection-head .muted{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.face-tools .edit-form-actions{grid-column:auto;align-self:end}.tree-grip{margin-left:auto;padding:0 .25rem;color:var(--muted);cursor:grab;font-size:1.05rem;line-height:1;-webkit-user-select:none;user-select:none}.tree-grip:hover{color:var(--brand)}.tree-row.drop-before{box-shadow:inset 0 2px 0 var(--brand)}.tree-row.drop-after{box-shadow:inset 0 -2px 0 var(--brand)}.view-labels{position:absolute;top:0;left:0;pointer-events:none}.view-label{padding:.05rem .35rem;border-radius:4px;font-size:.85rem;font-weight:600;white-space:nowrap}.view-label.measure{background:#ffffffeb;color:#1d2521;border:1px solid #1d2521;font-size:.95rem}.view-label.axis-tick{padding:0;font-size:.72rem;font-weight:500;color:var(--quiet)}.view-label.axis-x{color:#d64545}.view-label.axis-y{color:#2f9e44}.view-label.axis-z{color:#3b6fd8}.units-toggle,.explode-axes{display:flex;border:1px solid var(--line);border-radius:6px;overflow:hidden}.units-toggle button,.explode-axes button{flex:1;padding:.15rem .3rem;border:none;background:none;font:inherit;color:var(--muted);cursor:pointer}.units-toggle button.on,.explode-axes button.on{background:var(--brand);color:#fff}.explode-axes.off{opacity:.4}.explode-axes button:disabled{cursor:default}.size-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.3rem;font-size:.85rem;color:var(--muted)}.size-row .triple-title{grid-column:1 / -1}.size-row b{color:var(--text);font-weight:600}.steph-tag{background:#e8f1ec;color:var(--brand);white-space:nowrap}.panel-rule{width:100%;margin:.15rem 0;border:none;border-top:1px solid var(--line)}.explode-controls{display:flex;flex-direction:column;gap:.3rem;padding:.35rem .4rem;border:1px solid var(--line);border-radius:6px}.explode-toggle{flex:none;width:1.3rem;height:1.3rem;padding:0;border:1px solid var(--line);border-radius:4px;background:var(--card);color:var(--muted);font:inherit;font-size:1rem;line-height:1;cursor:pointer}.explode-toggle.on{background:var(--brand);border-color:var(--brand);color:#fff}.explode-row{display:flex;align-items:center;gap:.5rem}.explode-row input{flex:1;min-width:4rem}.explode-row input:disabled{opacity:.4}.editor-panel .off{opacity:.4}.printing-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.regions-edit{display:flex;flex-direction:column;gap:.35rem;padding:.5rem;border:1px dashed var(--brand);border-radius:6px}.view-label.region-number{padding:0 .3rem;background:var(--brand);color:#fff;font-size:.75rem}.view-label.region-number.chosen{background:#d97706}.ink-swatches{display:flex;flex-wrap:wrap;gap:.35rem .6rem}.ink-chip{display:inline-flex;align-items:center;gap:.2rem}.ink-chip .swatch{width:1.15rem;height:1.15rem;padding:0;border-radius:50%;border:1px solid rgba(0,0,0,.3);cursor:pointer}.ink-chip span.swatch{cursor:default}.ink-chip button.link{padding:0 .15rem;text-decoration:none;color:var(--bad)}.surface-pop .material-panel{position:static;width:20rem;max-height:none;overflow:visible;padding:0;background:none;border:none}.surface-open{align-self:flex-start}.spot-name{display:flex;gap:.4rem;align-items:center}.spot-name input{flex:1;min-width:0}.editor-spots{display:flex;flex-direction:column;gap:.35rem;padding:.6rem .7rem;border:1px solid var(--line);border-radius:8px;background:var(--card)}.spot-row{display:flex;flex-direction:column;gap:.15rem;padding:.3rem 0 .3rem .5rem;border-left:3px solid #868e96}.spot-row.lined{border-left-color:#2f9e44}.spot-row.apart{border-left-color:#e03131}.spot-line{display:flex;align-items:center;gap:.4rem;min-width:0}.spot-form{display:flex;flex-wrap:wrap;gap:.3rem;align-items:center}.spot-form input{width:5.5rem}.view-label.spot-label{font-size:.72rem;font-weight:600;padding:0 .25rem;border-radius:4px;background:#ffffffd9;color:#495057}.view-label.spot-label.lined{color:#2b8a3e}.view-label.spot-label.apart{color:#c92a2a}.color-queue{display:flex;flex-wrap:wrap;align-items:center;gap:.3rem .6rem;max-width:24rem}.area-printing{display:flex;align-items:center;flex-wrap:wrap;gap:.4rem}.area-printing .swatch{width:1.3rem;height:1.3rem;padding:0;border-radius:50%;border:1px solid rgba(0,0,0,.3);cursor:pointer}.printing-actions{display:flex;gap:.4rem;flex-wrap:wrap}.chat,.chat h3{font-size:.805rem}.chat .chat-head h3{font-size:.9257rem}.chat input,.chat select{font-size:.7647rem}.chat .btn{font-size:.8452rem}.chat .btn.small{font-size:.7647rem}.chat .small{font-size:.644rem}.chat button.link{font-size:.805rem}.chat .msg{font-size:.8553rem}.chat .msg-meta{font-size:.7245rem}.chat .msg.bot{line-height:1.45}.chat .msg.bot p{margin:.3rem 0}.chat .msg.bot table{font-size:.7547rem}.chat .msg.user.step-prompt{font-size:.805rem}.chat .thought,.chat .thought-text,.chat .step{font-size:.8553rem}.chat .step .link{font-size:.805rem}.chat .step .link.sheet-link{font-size:inherit}.chat .step-detail,.chat .step-badge{font-size:.7245rem}.chat .turn-end{font-size:.7647rem}.chat .approved{font-size:.7547rem}.chat .working{font-size:.805rem}.chat .chat-input textarea{font-size:.8553rem}.chat .chat-divider{font-size:.7245rem}.chat .run-stat span{font-size:.6038rem}.chat .run-stat b{font-size:.805rem}.chat .chat-totals{font-size:.7647rem}.chat .chat-totals .totals-head{font-size:.6038rem}.chat .plan-card{font-size:.805rem}.chat .plan-meta{font-size:.7647rem}.chat .capability-card{font-size:.7245rem}.chat .copy-note{font-size:.7647rem}.msg.user.handed{border-left:3px solid var(--brand)}.handoff-card{border:1px solid var(--brand);border-radius:8px;padding:.45rem .7rem;margin:.4rem 0;font-size:.9rem;white-space:pre-wrap}.handoff-card.failed,.handoff-card.stopped{border-color:var(--bad, #c53030)}.chat .handoff-card{font-size:.7245rem}.queue-strip{display:flex;flex-direction:column;gap:.25rem;padding:.35rem .6rem;border-top:1px solid var(--line);font-size:.75rem}.queue-item{display:flex;align-items:baseline;gap:.5rem;min-width:0}.queue-item.running b{color:var(--brand)}.queue-text{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.queue-paused{display:flex;gap:.6rem;align-items:baseline;color:var(--muted)}.to-chip{align-self:flex-start;display:inline-flex;align-items:center;gap:.3rem;padding:.05rem .2rem .05rem .55rem;border:1px solid var(--brand);border-radius:999px;font-size:.75rem;color:var(--brand)}.agent-tabs{display:flex;flex-wrap:wrap;gap:.2rem;min-width:0}.agent-tab{display:inline-flex;align-items:center;border-bottom:2px solid transparent}.agent-tab>button[role=tab]{background:none;border:none;padding:.25rem .5rem;cursor:pointer;font-size:.85rem;font-weight:600;color:var(--muted)}.agent-tab.active{border-bottom-color:var(--brand)}.agent-tab.active>button[role=tab]{color:var(--brand)}.agent-tab .icon-btn{padding:0 .25rem}.unread-dot{display:inline-block;width:.5rem;height:.5rem;margin-left:.3rem;border-radius:50%;background:var(--brand);vertical-align:middle}.agent-tab.running>button[role=tab]{font-weight:800;color:var(--text)}.working-dot{display:inline-block;width:.55rem;height:.55rem;margin-right:.35rem;border-radius:50%;background:var(--bad);vertical-align:middle;animation:working-pulse 1.2s ease-in-out infinite}@keyframes working-pulse{50%{opacity:.3}}.modal.interface-dialog{width:min(980px,96vw);max-height:90vh;overflow-y:auto}.interface-sides{display:flex;flex-wrap:wrap;gap:.4rem 1.6rem;margin:.4rem 0}.interface-proposal{border:1px solid var(--brand);border-radius:8px;padding:.5rem .8rem;margin:.5rem 0}.interface-proposal ul{margin:.3rem 0;padding-left:1.2rem}.interface-reject,.interface-propose{display:flex;gap:.5rem;align-items:center;margin-top:.4rem}.interface-reject input,.interface-propose input{flex:1}.interface-keys{width:100%;border-collapse:collapse;margin:.5rem 0;font-size:.92rem}.interface-keys th,.interface-keys td{text-align:left;padding:.2rem .4rem;border-bottom:1px solid var(--line)}.interface-keys input{width:100%;min-width:3.5rem}.interface-keys input.num{width:4.5rem}.interface-dialog h3{margin:.9rem 0 .2rem;font-size:1rem}.interface-wires{margin:.2rem 0 .4rem;padding-left:1.6rem;columns:2;font-size:.85rem}.bom-layout{display:flex;gap:1rem;align-items:flex-start}.bom-layout .bom-wrap{flex:1;min-width:0}.bom-model{position:sticky;top:3.5rem;flex:none;width:240px;display:flex;flex-direction:column;gap:.25rem}table.list.bom tr.bom-shown td{background:var(--hover, rgba(0, 0, 0, .04))}table.list.bom tr.bom-group td{padding-top:.7rem;font-weight:600;color:var(--muted);background:none}.bom-drawing+.bom-drawing{margin-left:.45rem}table.list.bom tbody tr{cursor:pointer}.part-turntable{position:relative;border-radius:6px;overflow:hidden;flex:none;background-color:#fff;background-image:conic-gradient(#dfe2e7 25%,transparent 0 50%,#dfe2e7 0 75%,transparent 0);background-size:18px 18px}.part-turntable.light-part{background-color:#5f636a;background-image:conic-gradient(#1c1e21 25%,transparent 0 50%,#1c1e21 0 75%,transparent 0)}.part-turntable-loading{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center}.model-info .part-turntable{margin-bottom:.4rem}@media(max-width:900px){.bom-layout{flex-direction:column-reverse}.bom-model{position:static}}
