:root{--bg:#16181c;--panel:#1e2126;--panel-2:#262a31;--border:#33383f;--text:#e6e8eb;--muted:#959ba5;--accent:#4da3ff;--accent-2:#2f7fd6;--danger:#ff6b6b;--grid:#ffffff0f;--wall:#8b9099;--wall-hover:#b5bac3;--plan-floor:#d6be9629;--radius:8px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:var(--text);background:var(--bg);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:13px}*{box-sizing:border-box}html,body{height:100%;margin:0;overflow:hidden}a{color:var(--accent)}kbd{background:var(--panel-2);border:1px solid var(--border);border-radius:4px;padding:0 4px;font-size:11px}h2,h3,h4{margin:0;font-weight:600}#app{height:100%;display:flex}#sidebar{background:var(--panel);border-right:1px solid var(--border);flex-direction:column;flex:none;width:340px;min-height:0;display:flex}.brand{letter-spacing:.2px;align-items:center;gap:8px;padding:12px 16px;font-size:15px;font-weight:700;display:flex}#workspaces{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);gap:2px;margin:0 12px 6px;padding:3px;display:flex}#workspaces button{color:var(--muted);cursor:pointer;font:inherit;white-space:nowrap;background:0 0;border:none;border-radius:6px;flex:auto;padding:6px 8px;font-weight:600}#workspaces button:hover{color:var(--text);background:#ffffff0a}#workspaces button.active{color:var(--text);background:var(--panel-2);box-shadow:0 1px 2px #0000004d}#tabs{border-bottom:1px solid var(--border);gap:2px;padding:0 8px;display:flex}#tabs button{color:var(--muted);cursor:pointer;font:inherit;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;flex:auto;padding:7px 6px 8px}#tabs button:hover{color:var(--text)}#tabs button.active{color:var(--text);border-bottom-color:var(--accent)}#panel{flex:1;min-height:0;overflow-y:auto}.panel{padding:4px 14px 24px}.section{border-bottom:1px solid var(--border);flex-direction:column;gap:8px;padding:12px 0;display:flex}.section:last-child{border-bottom:none}.section h3{text-transform:uppercase;letter-spacing:.8px;color:var(--muted);font-size:11px}h4{color:var(--muted);margin-top:6px;font-size:12px}.section.fold{display:block}.section.fold>summary{cursor:pointer;align-items:center;gap:6px;list-style:none;display:flex}.section.fold>summary::-webkit-details-marker{display:none}.section.fold>summary:before{content:"▸";color:var(--muted);font-size:10px;transition:transform .15s}.section.fold[open]>summary:before{transform:rotate(90deg)}.fold-body{flex-direction:column;gap:8px;padding-top:8px;display:flex}.row{align-items:center;gap:8px;min-height:28px;display:flex}.row-label{width:96px;color:var(--muted);flex:none}.row-control{flex:1;align-items:center;gap:6px;min-width:0;display:flex}.grid2{grid-template-columns:1fr 1fr;gap:4px 10px;display:grid}.grid2 .row-label,.grid3 .row-label{width:auto;min-width:42px}.grid3{grid-template-columns:1fr 1fr 1fr;gap:4px 8px;display:grid}.grid3 .row{flex-direction:column;align-items:stretch;gap:2px}.inline{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.grow{flex:1;min-width:0}.muted{color:var(--muted);margin:0}.small{font-size:11.5px}.error{color:var(--danger);margin:0}.ellipsis{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tip{border-radius:var(--radius);color:#c9d7e6;background:#4da3ff14;border:1px solid #4da3ff40;padding:8px 10px;line-height:1.45}input[type=text],input[type=number],input[type=url],input[type=search],select{background:var(--bg);color:var(--text);border:1px solid var(--border);font:inherit;border-radius:6px;width:100%;min-width:0;padding:5px 8px}input:focus,select:focus{border-color:var(--accent);outline:none}input.invalid{border-color:var(--danger)}input.wide{width:100%}input[type=color]{border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:6px;width:44px;height:26px;padding:0}input[type=checkbox]{accent-color:var(--accent);width:16px;height:16px}.slider{align-items:center;gap:8px;width:100%;display:flex}.slider input{accent-color:var(--accent);flex:1;min-width:0}.slider-value{text-align:right;width:64px;color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}.btn{background:var(--panel-2);color:var(--text);border:1px solid var(--border);font:inherit;cursor:pointer;white-space:nowrap;border-radius:6px;padding:6px 10px}.btn:hover{background:#2d323a;border-color:#4a515b}.btn:disabled{opacity:.4;cursor:default}.btn.primary{background:var(--accent-2);border-color:var(--accent-2);color:#fff}.btn.primary:hover{background:var(--accent)}.btn.danger{color:var(--danger)}.btn.ghost{background:0 0;border-color:#0000}.btn.ghost:hover{background:var(--panel-2)}.btn.small{padding:3px 8px;font-size:12px}.btn.icon{padding:4px 8px}.btn.wide{width:100%}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{background:var(--panel-2);border:1px solid var(--border);color:var(--text);cursor:pointer;font:inherit;padding:4px 10px;border-radius:999px!important}.chip:hover{border-color:var(--accent)}.list{flex-direction:column;gap:2px;display:flex}.list-item{cursor:pointer;border-radius:6px;align-items:center;gap:8px;padding:6px 8px;display:flex}.list-item:hover{background:var(--panel-2)}.list-item.active{background:#4da3ff26}.light-dot{background:#ffd24d;border-radius:50%;width:10px;height:10px;box-shadow:0 0 6px #ffd24d}.swatch{border:1px solid #ffffff1f;border-radius:6px;flex:none;display:inline-block;background-size:cover!important}.swatch.glass{background:linear-gradient(135deg,#c8e6ff80,#ffffff1a)!important}.swatch.metal{box-shadow:inset -6px -6px 10px #00000059,inset 4px 4px 8px #ffffff59}.swatch-grid{grid-template-columns:repeat(auto-fill,minmax(66px,1fr));gap:6px;display:grid}.swatch-cell{color:var(--text);cursor:pointer;font:inherit;background:0 0;border:1px solid #0000;border-radius:8px;flex-direction:column;align-items:center;gap:4px;padding:6px 2px;font-size:10.5px;display:flex}.swatch-cell span:last-child{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.swatch-cell:hover{background:var(--panel-2)}.swatch-cell.active{border-color:var(--accent);background:#4da3ff1a}.swatch-cell.used{position:relative}.swatch-cell.used:after,.used-dot{content:"";background:var(--accent);width:8px;height:8px;box-shadow:0 0 0 2px var(--panel);border-radius:50%;display:inline-block}.swatch-cell.used:after{position:absolute;top:4px;right:8px}.lib-group{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin:10px 0 4px;font-size:11px}.mat-picker-wrap{flex:1;gap:2px;min-width:0;display:flex}.mat-picker{background:var(--bg);border:1px solid var(--border);min-width:0;color:var(--text);cursor:pointer;font:inherit;border-radius:6px;flex:1;align-items:center;gap:8px;padding:3px 8px 3px 3px;display:flex}.mat-picker:hover{border-color:#4a515b}.pane-glass{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.swatch-pick{background:var(--bg);border:1px solid var(--border);cursor:pointer;border-radius:6px;padding:2px;display:inline-flex}.swatch-pick:hover{border-color:#4a515b}.swatch-pick.own{border-color:var(--accent)}.mat-name{text-align:left;text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.caret{color:var(--muted)}.mat-header{align-items:center;gap:10px;display:flex}.ral-popover{width:360px}.ral-popover h4{margin:6px 0 2px}.ral-grid{grid-template-columns:repeat(auto-fill,minmax(40px,1fr));gap:3px;display:grid}.ral-chip{color:var(--text);font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;flex-direction:column;align-items:center;gap:2px;padding:3px 1px;font-size:10px;display:flex}.ral-chip:hover{background:var(--panel-2)}.ral-chip.active{border-color:var(--accent);background:#4da3ff1a}.ral-swatch{border-radius:4px;width:28px;height:22px;box-shadow:inset 0 0 0 1px #ffffff26}.frame-strip{flex-wrap:wrap;align-items:center;gap:3px;display:flex}.frame-strip .swatch-pick .swatch{border-radius:4px}.popover{z-index:50;background:var(--panel);border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:8px;width:330px;max-height:60vh;padding:10px;display:flex;position:fixed;overflow-y:auto;box-shadow:0 12px 40px #00000080}.catalog{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.catalog-item{background:var(--panel-2);border:1px solid var(--border);color:var(--text);cursor:pointer;font:inherit;border-radius:8px;flex-direction:column;align-items:center;gap:4px;padding:10px 4px;font-size:11.5px;display:flex}.catalog-item:hover{border-color:var(--accent)}.catalog-item .icon{font-size:20px}.plan{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);position:relative}.plan-canvas{touch-action:none;width:100%;height:280px;display:block}.plan-expand{position:absolute;top:4px;right:4px}.plan-help.active{color:var(--text);background:#4da3ff1f}.plan-help{color:var(--muted);border-top:1px solid var(--border);padding:6px 8px;font-size:11px;line-height:1.4}.plan.large{z-index:30;flex-direction:column;display:flex;position:fixed;inset:60px 16px 16px 356px;box-shadow:0 12px 50px #0009}.plan.large .plan-canvas{flex:1;height:auto}#stage{flex:1;min-width:0;position:relative}#viewport{position:absolute;inset:0}#viewport canvas{outline:none;display:block}.stage3d{z-index:0;touch-action:none;outline:none;position:absolute;inset:0}.stage3d.walking{cursor:crosshair}.stage3d.rtx-on>canvas:not(.rtx-view){position:relative}.rtx-view{object-fit:contain;pointer-events:none;background:#000;width:100%;height:100%;position:absolute;inset:0}.drop-hint{border:1px solid var(--accent);pointer-events:none;background:#14161ad9;border-radius:999px;padding:8px 14px;display:none;position:absolute;top:60px;left:50%;transform:translate(-50%)}#viewport.drop-target .drop-hint{display:block}#viewport.drawing-fence canvas{cursor:crosshair}#viewport.garden-edit canvas{cursor:cell}.measure-overlay,.presence-overlay{pointer-events:none;z-index:1;width:100%;height:100%;position:absolute;inset:0}.presence-list{z-index:7;flex-wrap:wrap;gap:6px;max-width:calc(50% - 24px);display:flex;position:absolute;bottom:16px;left:12px}.presence-list[hidden]{display:none}.presence-chip{border:1px solid var(--border);background:#1e2126eb;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:12px;display:inline-flex;box-shadow:0 4px 16px #00000059}.presence-chip:hover{border-color:var(--accent)}#viewport.measuring canvas{cursor:crosshair}.measure-bar{z-index:6;border:1px solid var(--border);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#1e2126f0;border-radius:10px;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;max-width:calc(100% - 24px);padding:6px 8px;display:flex;position:absolute;bottom:16px;left:50%;transform:translate(-50%);box-shadow:0 6px 24px #0006}.measure-bar[hidden]{display:none}.measure-text{font-variant-numeric:tabular-nums;white-space:pre-wrap;padding:0 6px}.measure-bar .btn.active{background:var(--accent-2);border-color:var(--accent-2);color:#fff}@media (pointer:coarse){.measure-bar .btn{min-height:40px;padding:6px 12px}}.ortho-overlay{pointer-events:none;z-index:1;width:100%;height:100%;position:absolute;inset:0}.ortho-drawing{transform-origin:0 0;pointer-events:none;-webkit-user-select:none;user-select:none;z-index:1;max-width:none;position:absolute;top:0;left:0}.ortho-drawing[hidden]{display:none}.ortho-bar{z-index:6;border:1px solid var(--border);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#1e2126f0;border-radius:10px;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;max-width:calc(100% - 24px);padding:6px 8px;display:flex;position:absolute;bottom:16px;left:50%;transform:translate(-50%);box-shadow:0 6px 24px #0006}.ortho-bar[hidden]{display:none}.measure-bar:not([hidden])~.ortho-bar{bottom:76px}.ortho-bar .btn.active{background:var(--accent-2);border-color:var(--accent-2);color:#fff}.ortho-bar select{width:auto;padding:3px 6px;font-size:12px}.ortho-bar input[type=range]{width:80px}.ortho-cut,.ortho-drawing-ctl,.ortho-png{align-items:center;gap:4px;display:flex}.ortho-hint{text-align:center;color:var(--muted);flex-basis:100%;font-size:12px}.ortho-hint[hidden]{display:none}@media (pointer:coarse){.ortho-bar .btn,.ortho-bar .seg button{min-height:40px}}#toolbar{pointer-events:none;flex-wrap:wrap;align-items:center;gap:8px;display:flex;position:absolute;top:12px;left:12px;right:340px}#toolbar>*{pointer-events:auto}.seg{border:1px solid var(--border);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#1e2126e6;border-radius:8px;display:flex;overflow:hidden}.seg button{color:var(--text);cursor:pointer;font:inherit;background:0 0;border:none;padding:7px 10px}.seg button+button{border-left:1px solid var(--border)}.seg button:hover{background:#ffffff0f}.seg button.active{background:var(--accent-2);color:#fff}.seg button:disabled{opacity:.35;cursor:default}.seg .walk-height{border-left:1px solid var(--border);align-items:center;gap:4px;padding:0 6px 0 8px;display:flex}.walk-height-input{width:4.6em;padding:3px 5px}#toolbar>.btn{background:#1e2126e6}.status{color:var(--text);font-variant-numeric:tabular-nums;background:#1e2126cc;border-radius:999px;padding:5px 10px}.status:empty{display:none}@media (width<=1200px){.seg .label{display:none}}#inspector{border:1px solid var(--border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#1e2126f5;border-radius:12px;width:316px;max-height:calc(100% - 24px);position:absolute;top:12px;right:12px;overflow-y:auto;box-shadow:0 10px 40px #00000073}#inspector.empty{background:#1e2126cc}#inspector header{background:inherit;z-index:1;justify-content:space-between;align-items:center;padding:10px 12px 6px 14px;display:flex;position:sticky;top:0}#inspector header h2{font-size:14px}.insp-body{flex-direction:column;gap:8px;padding:0 14px 14px;display:flex}.insp-empty{padding:12px 14px}.insp-empty p{color:var(--muted);margin:4px 0 0;line-height:1.45}.insp-mat{background:#0000002e;border-radius:8px;flex-direction:column;gap:6px;padding:8px;display:flex}.insp-mat.hit{outline:1px solid #4da3ff80}.insp-mat .row-label{width:70px}.card{border:1px solid var(--border);cursor:pointer;border-radius:8px;flex-direction:column;gap:6px;padding:8px;display:flex}.card.active{cursor:default;border-color:#ffb020}.card-head{gap:6px;display:flex}.card-head select{flex:1}#toast{opacity:0;border:1px solid var(--border);pointer-events:none;background:#2b3038;border-radius:10px;max-width:70%;padding:9px 16px;transition:all .2s;position:absolute;bottom:18px;left:50%;transform:translate(-50%,20px);box-shadow:0 8px 30px #0006}#toast.show{opacity:1;transform:translate(-50%)}#toast.error{border-color:var(--danger)}.signin-bar{z-index:90;background:var(--panel);border:1px solid var(--border);border-radius:10px;align-items:center;gap:10px;max-width:calc(100vw - 32px);padding:8px 10px 8px 14px;display:flex;position:fixed;top:10px;left:50%;transform:translate(-50%);box-shadow:0 8px 30px #0006}.modal-overlay{z-index:100;background:#0000008c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--panel);border:1px solid var(--border);border-radius:14px;flex-direction:column;width:min(860px,92vw);max-height:86vh;display:flex;box-shadow:0 20px 80px #0009}.modal header{justify-content:space-between;align-items:center;padding:14px 18px 8px;display:flex}.modal header h2{font-size:16px}.modal>:not(header){padding:0 18px 18px;overflow-y:auto}.prompt,.image-chooser{flex-direction:column;gap:10px;display:flex}.image-chooser .inline input{flex:1}.prompt .actions{justify-content:flex-end;display:flex}.tex-search{flex-direction:column;gap:10px;min-height:60vh;display:flex}.tex-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px;display:grid}.tex-cell{background:var(--panel-2);border:1px solid var(--border);color:var(--text);cursor:pointer;font:inherit;text-align:left;border-radius:10px;flex-direction:column;gap:4px;padding:6px;font-size:12px;display:flex}.tex-cell:hover{border-color:var(--accent)}.tex-cell img{aspect-ratio:1;object-fit:cover;background:var(--bg);border-radius:6px;width:100%}.tex-cell small{color:var(--muted)}.tex-cell.loading{opacity:.5;pointer-events:none;position:relative}.tex-cell.loading:after{content:"Downloading…";justify-content:center;align-items:center;font-weight:600;display:flex;position:absolute;inset:0}dl.shortcuts{grid-template-columns:auto 1fr;gap:4px 12px;margin:0;display:grid}dl.shortcuts dt{color:var(--text);white-space:nowrap;font-weight:600}dl.shortcuts dd{color:var(--muted);margin:0}.ai-dialog{flex-direction:column;gap:14px;display:flex}.ai-key{background:#ffb02014;border:1px solid #ffb0204d;border-radius:10px;flex-direction:column;gap:8px;padding:10px 12px;line-height:1.45;display:flex}.ai-key p{margin:0}.ai-grid{grid-template-columns:1fr 1fr;gap:18px;display:grid}@media (width<=760px){.ai-grid{grid-template-columns:1fr}}.ai-drop{border:2px dashed var(--border);text-align:center;background:var(--bg);border-radius:12px;justify-content:center;align-items:center;min-height:280px;padding:16px;transition:border-color .15s;display:flex}.ai-drop.over{border-color:var(--accent);background:#4da3ff0f}.ai-drop.has-image{border-style:solid;padding:6px}.ai-drop img{border-radius:8px;max-width:100%;max-height:360px}.ai-drop-icon{margin-bottom:6px;font-size:36px}.ai-drop p{margin:6px 0 0}.ai-options{flex-direction:column;gap:14px;display:flex}.ai-options .stack,label.stack{flex-direction:column;gap:6px;display:flex}.ai-options select{width:auto}.ai-options .inline .length{width:110px}.ai-model{border:1px solid var(--border);cursor:pointer;border-radius:8px;align-items:flex-start;gap:10px;padding:8px 10px;display:flex}.ai-model.active{border-color:var(--accent);background:#4da3ff14}.ai-model input{accent-color:var(--accent);margin-top:3px}.ai-jobs{flex-direction:column;gap:6px;display:flex}.ai-job{background:var(--panel-2);border-radius:8px;align-items:center;gap:10px;padding:6px;display:flex}.ai-job img{object-fit:cover;border-radius:6px;width:40px;height:40px}.ai-job.failed{outline:1px solid var(--danger)}.spinner{border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;flex:none;width:16px;height:16px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.site-card{align-items:flex-start;gap:12px;display:flex}.fp-sketch{background:var(--bg);border:1px solid var(--border);border-radius:8px;flex:none}dl.facts{grid-template-columns:auto 1fr;gap:3px 10px;margin:0;font-size:12px;display:grid}dl.facts dt{color:var(--muted)}dl.facts dd{margin:0}.fp-dialog{flex-direction:column;gap:14px;display:flex}.fp-preview{border:1px solid var(--border);border-radius:10px;max-width:100%}.fp-summary{color:var(--muted);flex-direction:column;gap:4px;margin:0;padding-left:18px;font-size:12px;line-height:1.4;display:flex}.inline-seg{align-self:flex-start}.inline-seg button{padding:5px 10px;font-size:12px}.plan-tools{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:4px;padding:4px 64px 4px 4px;display:flex}.plan-tools .primary{background:var(--accent-2);border-color:var(--accent-2);color:#fff}.level-tabs-plan{margin-right:6px}.level-tabs-plan button{padding:4px 8px;font-size:12px}.level-tabs[hidden]{display:none}.level-card{border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:6px;margin-bottom:8px;padding:8px;display:flex}.level-card.active{border-color:var(--accent-2)}.level-card .inline input[type=text]{flex:1;min-width:0}.level-gap{color:#ffb347}.level-dialog{min-width:min(420px,90vw);max-height:70vh;overflow-y:auto}.ol-level{flex:1;margin-left:6px}.plan-fit{position:absolute;top:4px;right:36px}.proj-name{text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom;max-width:180px;display:inline-block;overflow:hidden}.projects{flex-direction:column;gap:4px;display:flex}.proj-group{border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:6px;padding:8px;display:flex}.proj-card{border-radius:8px;align-items:center;gap:12px;padding:6px;display:flex}.proj-card.active{background:#4da3ff1a;outline:1px solid #4da3ff66}.proj-card .inline{margin-left:auto}.proj-info{flex-direction:column;gap:2px;min-width:0;display:flex}.proj-thumb{background:var(--bg) center / cover no-repeat;border:1px solid var(--border);border-radius:6px;flex:none;width:96px;height:60px}.proj-thumb.small{width:64px;height:40px}.snap-list{flex-direction:column;gap:4px;max-height:240px;display:flex;overflow-y:auto}.snap{border-radius:8px;align-items:center;gap:10px;padding:4px 6px;display:flex}.snap:hover{background:var(--panel-2)}.chip-static{color:var(--accent);padding:3px 8px;font-size:12px}.detect-list{flex-direction:column;gap:4px;max-height:52vh;display:flex;overflow-y:auto}.detect-item{cursor:pointer;border-radius:6px;align-items:center;gap:8px;padding:3px 4px;display:flex}.detect-item:hover{background:var(--panel-2)}.ikea-grid .tex-cell img{object-fit:contain;background:#fff}.match-list{flex-direction:column;gap:12px;display:flex}.match-row{border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:8px;padding:10px;display:flex}.match-row.done{background:#4da3ff0f;border-color:#4da3ff80}.match-head{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.match-head .btn{margin-left:auto}.match-results{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;display:grid}.match-cell img{object-fit:contain;background:#fff}.match-cell.no-model{opacity:.4}.designer .section{min-height:calc(100vh - 110px)}.chat-log{flex-direction:column;flex:1;gap:8px;max-height:calc(100vh - 330px);padding-right:2px;display:flex;overflow-y:auto}.chat-msg{white-space:pre-wrap;border-radius:10px;padding:8px 10px;line-height:1.45}.chat-msg.user{background:#4da3ff24;align-self:flex-end;max-width:92%}.chat-msg.assistant{background:var(--panel-2)}.chat-msg.error{border:1px solid var(--danger);color:var(--danger)}.chat-activity{color:var(--muted);padding-left:4px;font-size:11.5px}.chat-activity.thinking{align-items:center;gap:6px;display:flex}.chat-input{flex-direction:column;gap:6px;display:flex}.chat-input textarea{background:var(--bg);color:var(--text);border:1px solid var(--border);font:inherit;resize:vertical;border-radius:8px;padding:8px}.chat-input textarea:focus{border-color:var(--accent);outline:none}.examples{flex-direction:column;gap:6px;display:flex}.examples .chip{text-align:left;line-height:1.35;border-radius:10px!important}.question-card{background:#4da3ff0d;border:1px solid #4da3ff66;border-radius:10px;flex-direction:column;gap:10px;padding:10px;display:flex}.question-card p{margin:0}.question{flex-direction:column;gap:6px;display:flex}.chip.on{background:var(--accent-2);border-color:var(--accent-2);color:#fff}.option-card{background:#5ac87812;border:1px solid #5ac87873;border-radius:10px;flex-direction:column;gap:6px;padding:10px;display:flex}.option-card p{margin:0;line-height:1.45}.crown-grid{grid-template-columns:repeat(auto-fill,minmax(62px,1fr));gap:4px;display:grid}.crown-cell{color:var(--text);font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;flex-direction:column;align-items:center;gap:2px;padding:5px 2px;font-size:10.5px;display:flex}.crown-cell:hover{background:var(--panel-2)}.crown-cell.active{border-color:var(--accent);background:#4da3ff1a}.crown-cell .crown-shape{fill:var(--text);fill-opacity:.85}.crown-cell .crown-edge{fill:none;stroke:var(--muted);stroke-width:1.5px}.door-grid{grid-template-columns:repeat(auto-fill,minmax(70px,1fr));margin-bottom:4px}.door-cell{position:relative}.door-cell span:not(.door-del){text-align:center;line-height:1.15}.door-cell .door-frame{fill:var(--panel-2);stroke:var(--muted);stroke-width:.02px}.door-cell .door-leaf{fill:var(--text);fill-opacity:.18;stroke:var(--text);stroke-opacity:.6;stroke-width:.015px}.door-cell .door-panel{fill:none;stroke:var(--text);stroke-opacity:.7;stroke-width:.015px}.door-cell .door-glass{fill:#7cc4ff;fill-opacity:.55;stroke:var(--text);stroke-opacity:.5;stroke-width:.012px}.door-cell .door-arrow{fill:none;stroke:var(--accent);stroke-width:.06px;stroke-linecap:round;stroke-linejoin:round}.slide-panel{align-items:center;gap:6px;margin:2px 0;display:flex}.slide-panel .slider{flex:1}.slide-warn{color:#e0a030;margin:2px 0 4px}.door-del{color:var(--muted);border-radius:4px;padding:0 2px;font-size:10px;position:absolute;top:1px;right:3px}.door-del:hover{color:var(--text);background:var(--panel)}.door-details{margin-top:6px}.door-details>summary{cursor:pointer;color:var(--muted);padding:4px 0;font-size:12px}.door-rows{flex-direction:column;gap:4px;margin-bottom:6px;display:flex}.door-rows.nested{border-left:2px solid var(--panel-2);margin:4px 0 0 8px;padding-left:6px}.door-row-edit{border:1px solid var(--panel-2);border-radius:6px;padding:4px}.door-row-head{align-items:center;gap:4px;margin-bottom:3px;display:flex}.door-row-head input[type=number],.door-cell-edit input[type=number]{width:52px}.door-cells{flex-wrap:wrap;gap:4px;display:flex}.door-cell-edit{flex-wrap:wrap;flex:140px;align-items:center;gap:3px;display:flex}.door-cell-edit select{max-width:120px}label.check{align-items:center;gap:3px;font-size:12px;display:inline-flex}.rug-preview{background:#0000002e;border-radius:8px;justify-content:center;min-height:40px;padding:6px;display:flex}.rug-preview canvas{image-rendering:auto;max-width:100%;height:auto}.tile-cards{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.tile-card{cursor:pointer;text-align:center;background:#0000002e;border-radius:6px;flex-direction:column;align-items:center;gap:2px;padding:5px 3px;display:flex}.tile-card:hover,.tile-card.hit{outline:1px solid #4da3ff99}.tile-card img{aspect-ratio:1;object-fit:cover;border-radius:2px;width:100%}.tile-card strong{font-size:12px}.tile-card .muted{font-size:10px;line-height:1.2}.finish-row{gap:4px!important}.finish-chips{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.finish-chip{cursor:pointer;background:0 0;border:2px solid #0000;border-radius:8px;padding:2px;line-height:0}.finish-chip:hover{border-color:var(--border)}.finish-chip.on{border-color:var(--accent)}.finish-chips input[type=color]{border-radius:8px;width:30px;height:30px;padding:1px}.chip.small{padding:2px 8px;font-size:11.5px}.appliance-row{background:#00000029;border-radius:8px;flex-direction:column;gap:4px;padding:6px 8px;display:flex}.appliance-row .length{width:72px}.front-row{border:1px solid var(--panel-2);border-radius:6px;flex-wrap:wrap;align-items:center;gap:4px;padding:4px;display:flex}.front-row select{max-width:118px}.front-row input[type=number]{width:52px}.kitchen-run{border-bottom:1px dashed var(--panel-2);flex-direction:column;gap:4px;padding:6px 0 8px;display:flex}.kitchen-run:last-of-type{border-bottom:none}.run-head{align-items:baseline;gap:6px;display:flex}.kitchen-run .list-item{padding:4px 6px}.kitchen-run .list-item.gap{opacity:.6;font-style:italic}.cab-list{border-radius:6px;min-height:8px}.cab-list.drop-end{box-shadow:inset 0 0 0 1px var(--accent)}.cab-list .list-item.drop-before{box-shadow:inset 0 2px 0 var(--accent)}.cab-list .list-item.drop-after{box-shadow:inset 0 -2px 0 var(--accent)}.cab-list .list-item.dragging{opacity:.4}.drag-grip{cursor:grab;color:var(--muted);letter-spacing:-2px;-webkit-user-select:none;user-select:none;font-size:11px}.level-icon{text-align:center;width:14px;color:var(--muted)}.run-details>summary{cursor:pointer;color:var(--muted);padding:2px 0;font-size:12px}.run-details[open]{flex-direction:column;gap:4px;display:flex}.drawing-thumbs{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.drawing-thumb{border:1px solid var(--border);cursor:zoom-in;aspect-ratio:1.41;background:#fff;border-radius:6px;padding:0;overflow:hidden}.drawing-thumb img{object-fit:contain;width:100%;height:100%}.drawing-full img{background:#fff;border-radius:6px;width:100%;height:auto}.kitchen-dialog textarea{resize:vertical;font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:6px 8px}.kitchen-drop{min-height:220px}.kitchen-drop.has-image{align-items:stretch}.page-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;width:100%;display:grid}.page-cell{flex-direction:column;gap:4px;display:flex;position:relative}.page-cell img{aspect-ratio:1.41;object-fit:contain;background:#fff;border-radius:6px;width:100%;max-height:none!important}.page-cell.off img{opacity:.35}.page-label{text-align:left;align-items:center;gap:6px;font-size:12px;display:flex}.page-remove{position:absolute;top:2px;right:2px;background:#0000008c!important}.kitchen-read{flex-direction:column;gap:6px;line-height:1.45;display:flex}.kitchen-read p{margin:0}.kitchen-read ul{margin:4px 0 0;padding-left:18px}.read-run>summary{cursor:pointer;padding:2px 0}.appliance-list{list-style:none;padding-left:0!important}.detect-item.sub{margin-left:22px}.plank-strip{border-radius:6px;flex-wrap:wrap;align-items:center;gap:4px;padding:4px;display:flex}.plank-strip.hit{outline:1px solid #4da3ff99}.plank-thumb{cursor:pointer;border-radius:2px;width:68px;height:17px;position:relative;overflow:hidden}.plank-thumb img{object-fit:cover;width:100%;height:100%;display:block}.plank-thumb:hover{outline:1px solid #4da3ff99}.plank-thumb .btn{background:#0000008c;height:17px;min-height:0;padding:0 3px;font-size:10px;line-height:1;display:none;position:absolute;top:0;right:0}.plank-thumb:hover .btn{display:block}#outliner{border:1px solid var(--border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#1e2126f0;border-radius:12px;flex-direction:column;width:250px;max-width:calc(100% - 24px);min-height:0;display:flex;position:absolute;top:60px;left:12px;box-shadow:0 10px 40px #00000073}#outliner.hidden{display:none}#outliner header{justify-content:space-between;align-items:center;padding:6px 6px 4px 12px;display:flex}#outliner header h2{font-size:13px}#outliner .ol-search{width:auto;margin:0 8px 6px;padding:3px 8px}#outliner footer{border-top:1px solid var(--border);align-items:center;gap:4px;padding:6px 8px;display:flex}#toolbar>.btn.on{background:var(--accent-2);border-color:var(--accent-2);color:#fff}.ol-tree{flex:1;min-height:0;padding:0 4px 4px;overflow-y:auto}.ol-row{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;border-radius:5px;align-items:center;gap:4px;min-height:24px;padding-right:6px;display:flex}.ol-row:hover{background:var(--panel-2)}.ol-row.active{background:#4da3ff38}.ol-row.within{background:#4da3ff14}.ol-row.drop{outline:1px dashed var(--accent);background:#4da3ff24}.ol-heading{text-transform:uppercase;letter-spacing:.6px;color:var(--muted);margin-top:4px;font-size:11px}.ol-heading:hover{color:var(--text);background:0 0}.ol-twisty{text-align:center;width:12px;color:var(--muted);flex:none;font-size:10px}.ol-icon{text-align:center;flex:none;width:18px;font-size:12px}.ol-name{text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.ol-meta{color:var(--muted);font-variant-numeric:tabular-nums;font-size:11px}.ol-rename{flex:1;padding:1px 4px!important}.ol-empty{padding:8px}.search{position:relative}.search-input{background:#1e2126e6;width:170px}.search-results{z-index:50;background:var(--panel);border:1px solid var(--border);border-radius:10px;width:340px;max-height:60vh;margin-top:4px;padding:4px;position:absolute;top:100%;left:0;overflow-y:auto;box-shadow:0 12px 40px #00000080}.search-item{cursor:pointer;border-radius:6px;padding:6px 8px}.search-item.active,.search-item:hover{background:var(--panel-2)}.search-flash{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px;animation:2s ease-out forwards search-flash}@keyframes search-flash{to{outline-color:#0000}}.lang-select{width:auto;padding:4px 6px}.share-dialog{gap:10px;max-width:34rem;display:grid}.share-dialog h3{margin:8px 0 0;font-size:13px}.share-row{border-top:1px solid var(--border,#7f7f7f40);grid-template-columns:1fr auto;align-items:end;gap:8px;padding:8px 0;display:grid}.share-row input{margin-top:4px;font-size:12px}.share-actions{gap:4px;display:flex}.people-btn{align-items:center;gap:3px;display:inline-flex}.people-dot{border:1px solid #00000059;border-radius:50%;flex:none;width:10px;height:10px;display:inline-block}.people-row{align-items:center;gap:8px;padding:2px 0;display:flex}.people-row .muted{margin-left:auto}.people-menu h4{margin:6px 0 0;font-size:12px}.jobs-tray{z-index:120;border:1px solid var(--border);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#1e2126f5;border-radius:10px;flex-direction:column;width:min(320px,100vw - 28px);display:flex;position:fixed;bottom:14px;right:14px;overflow:hidden;box-shadow:0 10px 36px #00000080}.jobs-tray.asking{border-color:var(--accent)}.jobs-head{color:var(--muted);font:inherit;text-align:left;cursor:pointer;white-space:nowrap;text-overflow:ellipsis;background:0 0;border:none;padding:7px 10px;font-size:12px;font-weight:600;overflow:hidden}.jobs-head:hover{color:var(--text)}.jobs-tray.collapsed .jobs-list{display:none}.jobs-list{flex-direction:column;max-height:50vh;display:flex;overflow-y:auto}.job{border-top:1px solid var(--border);flex-direction:column;gap:4px;padding:8px 10px;display:flex}.job.ask{cursor:pointer;background:#4da3ff1a}.job.failed .job-status{color:var(--danger);white-space:normal}.job.done .job-status{white-space:normal}.job-top{align-items:center;gap:6px;min-width:0;display:flex}.job-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:12.5px;overflow:hidden}.job-time{color:var(--muted);font-variant-numeric:tabular-nums;font-size:11px}.job-buttons{align-items:center;gap:4px;display:flex}.job-buttons .btn.icon{padding:1px 6px}.job-status{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.job-bar{background:var(--panel-2);border-radius:2px;height:4px;position:relative;overflow:hidden}.job-fill{background:var(--accent);border-radius:2px;width:0;height:100%;transition:width .4s}.job-bar.indeterminate .job-fill{width:35%;transition:none;animation:1.3s ease-in-out infinite job-slide;position:absolute}@keyframes job-slide{0%{left:-35%}to{left:100%}}.job-note{color:var(--muted);margin:0;font-size:12px}.gc-grid{grid-template-columns:auto 1fr;align-items:start;gap:18px;display:grid}@media (width<=760px){.gc-grid{grid-template-columns:1fr}}.gc-left{flex-direction:column;align-items:center;gap:8px;max-width:400px;display:flex}.gc-pane{box-sizing:border-box;touch-action:none;-webkit-user-select:none;user-select:none;background:#2b2622;border-radius:2px;display:flex}.gc-pane>*{flex:1 1 0}.gc-split{min-width:0;min-height:0;display:flex}.gc-split.cols{flex-direction:row}.gc-split.rows{flex-direction:column}.gc-cell{cursor:pointer;min-width:0;min-height:0}.gc-cell:hover{filter:brightness(1.08)}.gc-cell.sel{box-shadow:inset 0 0 0 2px var(--accent), inset 0 0 0 3px #fff}.gc-lead{background:#2b2622;flex:none}.gc-lead.cols{cursor:col-resize}.gc-lead.rows{cursor:row-resize}.gc-lead:hover{background:var(--accent)}.gc-tools{flex-direction:column;gap:10px;min-width:0;display:flex}.gc-head{align-items:center;gap:6px;display:flex}.gc-lab{min-width:56px}.gc-swatches{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.gc-swatch{border:1px solid var(--border);cursor:pointer;border-radius:4px;width:24px;height:24px;padding:0}.gc-swatch.on{outline:2px solid var(--accent);outline-offset:1px}.gc-swatches input[type=color]{background:0 0;border:none;width:28px;height:26px;padding:0}.gc-targets{flex-direction:column;gap:4px;display:flex}.gc-target{align-items:center;gap:8px;display:flex}.gc-target .btn.active{color:var(--accent);border-color:var(--accent)}
