.infotip.svelte-8owvk4{display:inline-flex;vertical-align:middle}.infotip-btn.svelte-8owvk4{width:16px;height:16px;padding:0;border-radius:var(--radius-pill);display:inline-flex;align-items:center;justify-content:center;font-size:10px;font-weight:600;line-height:1;color:var(--text-dim);background:none;border:1px solid var(--border-strong)}.infotip-btn.svelte-8owvk4:hover:not(:disabled),.infotip-btn[aria-expanded=true].svelte-8owvk4{color:var(--accent);border-color:var(--accent)}.infotip-pop.svelte-8owvk4{position:fixed;z-index:50;box-sizing:border-box;padding:8px 10px;font-size:12px;line-height:1.4;font-weight:400;text-transform:none;letter-spacing:normal;font-family:var(--font-body);color:var(--text);background:var(--panel);border:1px solid var(--border-strong);box-shadow:var(--shadow-float)}.nf.svelte-1kge0ju{min-width:0}.box.svelte-1kge0ju{position:relative;display:flex;align-items:center;gap:6px;box-sizing:border-box;height:36px;padding:0 10px;background:var(--panel-2);border-radius:0}.box.svelte-1kge0ju:focus-within{outline:1px solid var(--accent);outline-offset:-1px}.lab.svelte-1kge0ju{flex:0 1 auto;min-width:0;font-size:13px;color:var(--text-dim);cursor:ew-resize;touch-action:none;user-select:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.box.svelte-1kge0ju:focus-within .lab:where(.svelte-1kge0ju){color:var(--text)}.num.svelte-1kge0ju,.num.svelte-1kge0ju:hover:not(:disabled){flex:1 1 6ch;width:6ch;min-width:4ch;height:100%;padding:0;margin:0;border:0;border-radius:0;background:transparent;color:var(--text);outline:none;font-family:var(--font-mono);font-size:13.5px;font-weight:500;text-align:right;appearance:textfield;-moz-appearance:textfield}.num.wide.svelte-1kge0ju{flex-basis:110px;width:110px}.num.svelte-1kge0ju::-webkit-outer-spin-button,.num.svelte-1kge0ju::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.unit.svelte-1kge0ju{flex:none;font-size:12px;color:var(--text-dim);min-width:2ch}.disabled.svelte-1kge0ju .box:where(.svelte-1kge0ju){opacity:.55}.disabled.svelte-1kge0ju .lab:where(.svelte-1kge0ju){cursor:default}.scrubbing.svelte-1kge0ju .lab:where(.svelte-1kge0ju),.scrubbing.svelte-1kge0ju{cursor:ew-resize}.backdrop.svelte-1kes9dl{position:fixed;inset:0;z-index:90;background:#14120c2e}.sheet.svelte-1kes9dl{position:fixed;top:0;right:0;bottom:0;width:min(440px,100vw);z-index:91;box-sizing:border-box;padding:24px;overflow-y:auto;display:flex;flex-direction:column;gap:18px;background:var(--surface);color:var(--text);border-left:1px solid var(--border);box-shadow:var(--shadow-float)}.sheet.svelte-1kes9dl:focus{outline:none}.head.svelte-1kes9dl{display:flex;align-items:baseline;justify-content:space-between}h2.svelte-1kes9dl{margin:0;font:600 22px var(--font-display);letter-spacing:-.01em}h3.svelte-1kes9dl{margin:0 0 4px;font:600 13px var(--font-body);color:var(--text-dim)}.back.svelte-1kes9dl{border:0;background:none;padding:0;font-size:13px;color:var(--text);text-decoration:underline;cursor:pointer}.formats.svelte-1kes9dl{display:flex;gap:8px}.fmt.svelte-1kes9dl{flex:1 1 0;display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:12px;text-align:left;background:var(--surface);color:var(--text);border:2px solid var(--border);cursor:pointer}.fmt[aria-checked=true].svelte-1kes9dl{border-color:var(--text)}.fmt.svelte-1kes9dl strong:where(.svelte-1kes9dl){font-size:15px}.fmt.svelte-1kes9dl span:where(.svelte-1kes9dl){font-size:12px;color:var(--text-dim)}.row.svelte-1kes9dl{display:flex;gap:8px;align-items:flex-start;padding:6px 0;font-size:13px}.glyph.svelte-1kes9dl{flex:0 0 18px;font-weight:700}.glyph.ok.svelte-1kes9dl{color:var(--ok)}.glyph.warn.svelte-1kes9dl{color:var(--warn)}.glyph.none.svelte-1kes9dl{color:var(--muted)}.body.svelte-1kes9dl{flex:1 1 auto;min-width:0}.body.svelte-1kes9dl strong:where(.svelte-1kes9dl){font-weight:600}.why.svelte-1kes9dl{color:var(--text-dim)}.checking.svelte-1kes9dl{margin:4px 0 0;font-size:12px}.nozzle.svelte-1kes9dl{flex:0 0 140px}.tiles.svelte-1kes9dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;font-size:12px;color:var(--text-dim)}.tiles.svelte-1kes9dl>div:where(.svelte-1kes9dl){padding:10px;background:var(--panel-2)}.tiles.svelte-1kes9dl strong:where(.svelte-1kes9dl){font:500 14px var(--font-mono);color:var(--text)}.foot.svelte-1kes9dl{margin-top:auto;display:flex;flex-direction:column;gap:8px}.download.svelte-1kes9dl{height:48px;border:0;background:var(--accent-fill, #c45200);color:#fff;font:600 15px var(--font-body);cursor:pointer}.note.svelte-1kes9dl{font-size:12px;color:var(--muted);text-align:center}.bar.svelte-11dzl6o{position:absolute;left:0;right:0;bottom:-4px;width:100%;height:10px;margin:0;padding:0;background:transparent;appearance:none;-webkit-appearance:none;cursor:pointer}.bar.svelte-11dzl6o:disabled{cursor:default}.bar.svelte-11dzl6o::-webkit-slider-runnable-track{height:2px;border:0;background:linear-gradient(to right,var(--accent) var(--pct),var(--border) var(--pct))}.bar.svelte-11dzl6o::-moz-range-track{height:2px;border:0;background:var(--border)}.bar.svelte-11dzl6o::-moz-range-progress{height:2px;background:var(--accent)}.bar.svelte-11dzl6o::-webkit-slider-thumb{-webkit-appearance:none;width:10px;height:10px;margin-top:-4px;border:0;border-radius:50%;background:var(--accent);opacity:0;transition:opacity .1s}.bar.svelte-11dzl6o::-moz-range-thumb{width:10px;height:10px;border:0;border-radius:50%;background:var(--accent);opacity:0;transition:opacity .1s}.bar.svelte-11dzl6o:hover::-webkit-slider-thumb,.bar.svelte-11dzl6o:focus-visible::-webkit-slider-thumb,.bar.svelte-11dzl6o:active::-webkit-slider-thumb{opacity:1}.bar.svelte-11dzl6o:hover::-moz-range-thumb,.bar.svelte-11dzl6o:focus-visible::-moz-range-thumb,.bar.svelte-11dzl6o:active::-moz-range-thumb{opacity:1}.bar.svelte-11dzl6o:focus{outline:none}.pattern.svelte-h19bpa{display:flex;flex-direction:column;gap:10px}.seg.svelte-h19bpa{display:flex;border:1px solid var(--border-strong)}.seg.svelte-h19bpa button:where(.svelte-h19bpa){flex:1;height:32px;border:0;border-radius:0;background:transparent;color:var(--text-dim);font-size:12px;font-weight:500}.seg.svelte-h19bpa button:where(.svelte-h19bpa)+button:where(.svelte-h19bpa){border-left:1px solid var(--border)}.seg.svelte-h19bpa button[aria-pressed=true]:where(.svelte-h19bpa){background:var(--text);color:var(--bg)}.gallery.svelte-h19bpa{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.tile.svelte-h19bpa{display:flex;flex-direction:column;align-items:center;gap:3px;padding:4px 3px 5px;min-width:0;border:1px solid var(--border);border-radius:0;background:var(--bg);font-size:11px;color:var(--text-dim)}.tile.svelte-h19bpa span:where(.svelte-h19bpa){max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tile.svelte-h19bpa img:where(.svelte-h19bpa),.tile.svelte-h19bpa .wave-thumb:where(.svelte-h19bpa){display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover}.tile.svelte-h19bpa .wave-thumb:where(.svelte-h19bpa){aspect-ratio:5 / 3;background:var(--bg);border:1px solid var(--border)}.tile.active.svelte-h19bpa{border-color:var(--accent);outline:2px solid var(--accent);outline-offset:-2px;color:var(--text)}.fields.svelte-h19bpa{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px}.repeats.svelte-h19bpa{margin:0;font-family:var(--font-mono);font-size:12px;color:var(--text-dim)}.curve-editor.svelte-11k9y49{display:flex;flex-direction:column;gap:6px}svg.svelte-11k9y49{display:block;touch-action:none;user-select:none;max-width:100%}svg.svelte-11k9y49:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.plot-bg.svelte-11k9y49{fill:var(--bg);stroke:var(--border)}.grid.svelte-11k9y49 line:where(.svelte-11k9y49){stroke:var(--border);stroke-width:1;opacity:.6}.grid.svelte-11k9y49 line.axis:where(.svelte-11k9y49){stroke:var(--text-dim);opacity:.8}.grid.svelte-11k9y49 line.snap-grid:where(.svelte-11k9y49){opacity:.25;stroke-dasharray:1 3}.grid.svelte-11k9y49 text:where(.svelte-11k9y49){fill:var(--text-dim);font-size:10px;font-variant-numeric:tabular-nums}.shade.svelte-11k9y49{fill:var(--bad);opacity:.08}.limit.svelte-11k9y49{stroke:var(--bad);stroke-width:1;stroke-dasharray:5 4;opacity:.75}.limit-label.svelte-11k9y49{fill:var(--bad);font-size:10px}.limit.guide.svelte-11k9y49{stroke:var(--text-dim)}.limit-label.guide.svelte-11k9y49{fill:var(--text-dim)}.curve.svelte-11k9y49{fill:none;stroke:var(--accent);stroke-width:2.25;stroke-linejoin:round}.polygon.svelte-11k9y49{fill:none;stroke:var(--text-dim);stroke-width:1;stroke-dasharray:3 3;opacity:.7}.handle.svelte-11k9y49 .hit:where(.svelte-11k9y49){fill:transparent;cursor:grab;outline:none}.handle.svelte-11k9y49 .hit:where(.svelte-11k9y49):active{cursor:grabbing}.handle.svelte-11k9y49 .mark:where(.svelte-11k9y49){fill:var(--surface);stroke:var(--text);stroke-width:1.5;pointer-events:none}.handle.selected.svelte-11k9y49 .mark:where(.svelte-11k9y49){fill:var(--accent);stroke:var(--accent)}.handle.over.svelte-11k9y49 .mark:where(.svelte-11k9y49){stroke:var(--bad)}.handle.over.selected.svelte-11k9y49 .mark:where(.svelte-11k9y49){fill:var(--bad);stroke:var(--bad)}.handle.svelte-11k9y49 .hit:where(.svelte-11k9y49):focus-visible+.mark:where(.svelte-11k9y49){stroke:var(--accent);stroke-width:3}.curve-tools.svelte-11k9y49{display:flex;align-items:center;gap:6px}.snap-step.svelte-11k9y49{width:64px}.add-point.svelte-11k9y49{margin-left:auto}.selected-point.svelte-11k9y49{display:flex;flex-direction:column;gap:6px;padding:8px;background:var(--surface-2);border-radius:6px}.point-actions.svelte-11k9y49{display:flex;justify-content:space-between;align-items:center}.zoom-row.svelte-w2rghx{display:flex;align-items:center;gap:8px}.field-row.svelte-1e3dvn{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.auto-field.svelte-mx9uwh{display:flex;align-items:center;gap:8px}.grow.svelte-mx9uwh{flex:1;min-width:0}.auto-toggle.svelte-mx9uwh{flex:none;display:inline-flex;align-items:center;gap:4px;height:36px;padding:0 10px;box-sizing:border-box;background:var(--panel-2);color:var(--text-dim);font-size:12px;cursor:pointer}.auto-toggle.svelte-mx9uwh:focus-within{outline:1px solid var(--accent);outline-offset:-1px}.auto-toggle.svelte-mx9uwh input:where(.svelte-mx9uwh){margin:0;accent-color:var(--accent)}.keyframes.svelte-jb2ggo{display:flex;flex-direction:column;gap:8px}.keyframes.inactive.svelte-jb2ggo{opacity:.55}.block.svelte-1vn12m6{display:flex;flex-direction:column;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}h5.sub.svelte-1vn12m6{margin:0;font-size:13px;font-weight:600;color:var(--text-dim);text-transform:none;letter-spacing:0}.where.svelte-1vn12m6{display:flex;gap:14px;align-items:flex-start}.band-diagram.svelte-1vn12m6{flex:0 0 76px}.band-diagram.svelte-1vn12m6 .pot:where(.svelte-1vn12m6){fill:var(--panel-2);stroke:var(--border-strong)}.band-diagram.svelte-1vn12m6 .band:where(.svelte-1vn12m6){fill:var(--accent);opacity:.22}.band-diagram.svelte-1vn12m6 .fade:where(.svelte-1vn12m6){fill:var(--accent);opacity:.18}.band-diagram.svelte-1vn12m6 .edge:where(.svelte-1vn12m6){stroke:var(--accent);stroke-dasharray:3 2}.band-fields.svelte-1vn12m6{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:6px}.band-summary.svelte-1vn12m6{margin:0}.more.svelte-1vn12m6{margin-top:12px}.more.svelte-1vn12m6>summary:where(.svelte-1vn12m6){cursor:pointer;font-size:13px;font-weight:600;color:var(--accent)}.more-body.svelte-1vn12m6{display:flex;flex-direction:column;gap:8px;padding-top:10px}.layer-editor.svelte-wluxkb{display:flex;flex-direction:column;gap:10px;margin-top:16px}.tree.svelte-wluxkb{display:flex;flex-direction:column;gap:8px}h5.sub.svelte-wluxkb{margin:0;font-size:13px;font-weight:600;color:var(--text-dim)}.tree.svelte-wluxkb button:where(.svelte-wluxkb){align-self:flex-start}.fields.svelte-wluxkb{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px;align-items:end}.invert.svelte-wluxkb{font-size:13px;padding-bottom:8px}.switch.svelte-kepi9k{display:inline-flex;align-self:flex-start;border:1px solid var(--border-strong);margin-bottom:12px}.switch.svelte-kepi9k button:where(.svelte-kepi9k){height:28px;padding:0 12px;border:0;border-radius:0;background:transparent;color:var(--text-dim);font-size:12px;font-weight:500}.switch.svelte-kepi9k button:where(.svelte-kepi9k)+button:where(.svelte-kepi9k){border-left:1px solid var(--border)}.switch.svelte-kepi9k button[aria-pressed=true]:where(.svelte-kepi9k){background:var(--text);color:var(--bg)}.switch.svelte-kepi9k button:where(.svelte-kepi9k):disabled{opacity:.5}.empty.svelte-kepi9k{margin:0 0 8px;font-size:13px;color:var(--text-dim)}.rows.svelte-kepi9k{list-style:none;margin:0 0 6px;padding:0;display:flex;flex-direction:column;gap:6px}.tex-row.svelte-kepi9k{display:flex;align-items:center;gap:8px;height:44px;padding:0 4px 0 8px;border:1px solid var(--border);background:var(--bg);font-size:13px}.tex-row.selected.svelte-kepi9k{border-color:var(--accent)}.tex-row.dim.svelte-kepi9k .tex-name:where(.svelte-kepi9k),.tex-row.dim.svelte-kepi9k .depth:where(.svelte-kepi9k){opacity:.5}.tex-row.drop.svelte-kepi9k{box-shadow:0 -2px 0 var(--accent)}.thumb.svelte-kepi9k{flex:0 0 28px;width:28px;height:28px;background:var(--panel-2);border:1px solid var(--border);overflow:hidden}.thumb.svelte-kepi9k img:where(.svelte-kepi9k),.thumb.svelte-kepi9k svg:where(.svelte-kepi9k){display:block;width:28px;height:28px;object-fit:cover}.thumb.svelte-kepi9k .wave:where(.svelte-kepi9k){fill:none;stroke:var(--accent);stroke-width:1.5;stroke-linejoin:round}.tex-name.svelte-kepi9k{flex:1 1 auto;min-width:0;text-align:left;border:0;background:none;padding:4px 2px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.solo-tag.svelte-kepi9k{font-weight:400;color:var(--accent)}.depth.svelte-kepi9k{font-family:var(--font-mono);font-size:11px;color:var(--text-dim);white-space:nowrap}.icon.svelte-kepi9k{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:0;border-radius:0;background:transparent;color:var(--text-dim);cursor:pointer;list-style:none}.icon.svelte-kepi9k:hover{background:var(--panel-2);color:var(--text)}.row-menu.svelte-kepi9k>summary:where(.svelte-kepi9k){padding:0;border:0;background:transparent}.row-menu.svelte-kepi9k>summary:where(.svelte-kepi9k):hover{background:var(--panel-2);border:0}.row-menu.svelte-kepi9k .menu-items:where(.svelte-kepi9k){left:auto;right:0}.add-layer.svelte-kepi9k>summary:where(.svelte-kepi9k){display:flex;align-items:center;justify-content:center;height:40px;padding:0;border:1px dashed var(--border-strong);background:transparent;color:var(--text-dim);font-size:13px;font-weight:500}.add-layer.svelte-kepi9k>summary:where(.svelte-kepi9k):hover{border-color:var(--accent);color:var(--text)}.add-layer.svelte-kepi9k .menu-items:where(.svelte-kepi9k){position:static;box-shadow:none;margin-top:4px}.modal-backdrop.svelte-1b9t2w6{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:16px;background:#0006}.modal.svelte-1b9t2w6{width:min(520px,100%);max-height:min(720px,100%);display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--border-strong);box-shadow:var(--shadow-float);outline:none}.modal-head.svelte-1b9t2w6{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;border-bottom:1px solid var(--border)}.modal-tabs.svelte-1b9t2w6{display:flex;border-bottom:1px solid var(--border);overflow-x:auto}.modal-tabs.svelte-1b9t2w6 button:where(.svelte-1b9t2w6){flex:1;border:0;border-radius:0;background:none;padding:8px 10px;color:var(--text-dim);white-space:nowrap;border-bottom:2px solid transparent}.modal-tabs.svelte-1b9t2w6 button.active:where(.svelte-1b9t2w6){color:var(--text);border-bottom-color:var(--accent)}.modal-body.svelte-1b9t2w6{padding:4px 12px 14px;display:flex;flex-direction:column;gap:8px;overflow-y:auto}.modal-body.svelte-1b9t2w6 h4{margin:10px 0 0;font-family:var(--font-mono);font-size:10.5px;font-weight:500;text-transform:uppercase;letter-spacing:.14em;color:var(--muted)}.seg-fixed.svelte-1b9t2w6{width:220px}.about.svelte-1b9t2w6{margin:0;display:grid;gap:4px}.about.svelte-1b9t2w6>div:where(.svelte-1b9t2w6){display:flex;gap:12px}.about.svelte-1b9t2w6 dt:where(.svelte-1b9t2w6){width:96px;color:var(--text-dim)}.about.svelte-1b9t2w6 dd:where(.svelte-1b9t2w6){margin:0}.thumb.svelte-18pwdu{display:block;flex:none;background:var(--panel-2)}.update-btn.svelte-1fdr3f7{display:inline-flex;align-items:center;gap:5px;height:30px;padding:0 10px}.update-btn.pending.svelte-1fdr3f7{background:var(--accent-fill);border-color:var(--accent-fill);color:var(--accent-fg)}.file-menu.svelte-1fdr3f7>summary:where(.svelte-1fdr3f7){display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 10px;border:0;background:none;font-size:13px;font-weight:500;color:var(--text-dim)}.file-menu.svelte-1fdr3f7>summary:where(.svelte-1fdr3f7):hover,.file-menu[open].svelte-1fdr3f7>summary:where(.svelte-1fdr3f7){color:var(--text);background:var(--panel-2)}.file-menu-icon.svelte-1fdr3f7{display:none}.file-items.svelte-1fdr3f7{width:340px;padding:8px;gap:2px}.file-items.svelte-1fdr3f7 button:where(.svelte-1fdr3f7){display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13px;padding:8px 10px}.file-items.svelte-1fdr3f7 kbd:where(.svelte-1fdr3f7){font-family:var(--font-mono);font-size:11px;color:var(--muted)}.file-items.svelte-1fdr3f7 hr:where(.svelte-1fdr3f7){border:0;border-top:1px solid var(--border);margin:6px 0;width:100%}.menu-heading.svelte-1fdr3f7{font-size:12px;font-weight:600;color:var(--text-dim);padding:2px 4px 6px}.starter-grid.svelte-1fdr3f7{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}.file-items.svelte-1fdr3f7 .starter:where(.svelte-1fdr3f7){flex-direction:column;justify-content:flex-start;gap:4px;padding:6px 4px;font-size:12px;text-align:center;border:1px solid transparent;line-height:1.25}.file-items.svelte-1fdr3f7 .starter:where(.svelte-1fdr3f7):hover{border-color:var(--border-strong)}.menu-settings.svelte-1fdr3f7{display:none!important}.doc.svelte-1fdr3f7{display:inline-flex;align-items:baseline;gap:8px;min-width:0}.autosave.svelte-1fdr3f7{font-size:12px;color:var(--muted);white-space:nowrap}@media(max-width:720px){.file-menu-icon.svelte-1fdr3f7{display:block}.file-menu-label.svelte-1fdr3f7{display:none}.file-menu.svelte-1fdr3f7>summary:where(.svelte-1fdr3f7){width:44px;height:44px;padding:0;justify-content:center;color:var(--text)}.file-items.svelte-1fdr3f7{position:fixed;top:52px;left:0;width:min(360px,100vw);max-height:calc(100dvh - 60px);overflow-y:auto}.menu-settings.svelte-1fdr3f7{display:flex!important}.settings-btn.svelte-1fdr3f7,.redo.svelte-1fdr3f7,.autosave.svelte-1fdr3f7{display:none}}@font-face{font-family:Instrument Sans Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/tools/furnarius-3d/assets/instrument-sans-latin-ext-wght-normal-B5bTHO_g.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Instrument Sans Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/tools/furnarius-3d/assets/instrument-sans-latin-wght-normal-BbzFLZTg.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(data:font/woff2;base64,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) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/tools/furnarius-3d/assets/hanken-grotesk-vietnamese-wght-normal-CHiFlh_0.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/tools/furnarius-3d/assets/hanken-grotesk-latin-ext-wght-normal-Dg-wlmqe.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/tools/furnarius-3d/assets/hanken-grotesk-latin-wght-normal-CaVRRdDk.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(data:font/woff2;base64,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) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/tools/furnarius-3d/assets/jetbrains-mono-cyrillic-wght-normal-D73BlboJ.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/tools/furnarius-3d/assets/jetbrains-mono-greek-wght-normal-Bw9x6K1M.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/tools/furnarius-3d/assets/jetbrains-mono-vietnamese-wght-normal-Bt-aOZkq.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/tools/furnarius-3d/assets/jetbrains-mono-latin-ext-wght-normal-DBQx-q_a.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/tools/furnarius-3d/assets/jetbrains-mono-latin-wght-normal-B9CIFXIH.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--font-display: "Instrument Sans Variable", "Instrument Sans", system-ui, -apple-system, sans-serif;--font-body: "Hanken Grotesk Variable", "Hanken Grotesk", system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono Variable", "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--art: #ea6600;--art-hover: #d45100;--eng: #3a75e7;--eng-hover: #2760d1;--accent-fg: #ffffff;--bg: #ffffff;--surface: #ffffff;--plate: #ffffff;--ink: #16140f;--ink-soft: #54504a;--muted: #938e83;--line: #ececec;--shadow-float: 0 20px 36px rgb(20 18 12 / .16);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 18px;--radius-0: 0px;--radius-pill: 999px;--ease: cubic-bezier(.2, .7, .2, 1);--dur-fast: .2s;--dur-mid: .35s}:root[data-theme=dark]{--bg: #0c0c0d;--surface: #141416;--plate: #18181a;--ink: #ecebe5;--ink-soft: #9c9b93;--muted: #5c5b56;--line: #26262a;--shadow-float: 0 26px 50px rgb(0 0 0 / .6)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #0c0c0d;--surface: #141416;--plate: #18181a;--ink: #ecebe5;--ink-soft: #9c9b93;--muted: #5c5b56;--line: #26262a;--shadow-float: 0 26px 50px rgb(0 0 0 / .6)}}:root{--panel: var(--surface);--panel-2: #f4f3ee;--border: var(--line);--border-strong: #c9c3b4;--text: var(--ink);--text-dim: var(--ink-soft);--accent: var(--art);--accent-hover: var(--art-hover);--accent-text: var(--accent-fg);--accent-fill: #c45200;--accent-fill-hover: #a84500;--accent-ink: #b84d00;--canvas-bg: #edeae1;--warn: #9a6b00;--error: #c0392b;--ok: #2f7a45;--surface-2: var(--panel-2);--bad: var(--error);--viewport-bg: var(--canvas-bg);font-family:var(--font-body);font-size:13px;line-height:1.4;color-scheme:light}:root[data-theme=dark]{--panel-2: #1b1b1e;--border-strong: #3a3a40;--canvas-bg: #08090a;--warn: #f0b429;--error: #ff6666;--ok: #7fbf8f;--accent-ink: var(--art);color-scheme:dark}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--panel-2: #1b1b1e;--border-strong: #3a3a40;--canvas-bg: #08090a;--warn: #f0b429;--error: #ff6666;--ok: #7fbf8f;--accent-ink: var(--art);color-scheme:dark}}*{box-sizing:border-box}[hidden]{display:none!important}html,body{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:var(--font-body)}.shell{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto 1fr;overflow:hidden;height:100vh;height:100dvh}.workspace{--inspector-col: var(--inspector-w, 360px);display:grid;min-height:0;grid-template-columns:64px var(--inspector-col) 6px minmax(0,1fr);grid-template-areas:"rail inspector resizer stage"}.workspace.inspector-hidden{--inspector-col: 0px}.workspace>.rail{grid-area:rail}.workspace>.panel{grid-area:inspector;border-right:1px solid var(--border)}.workspace>.resizer{grid-area:resizer}.workspace>.stage{grid-area:stage}.workspace.inspector-hidden>.panel{display:none}.rail{display:flex;flex-direction:column;background:var(--panel);border-right:1px solid var(--border);padding-top:6px}.rail-btn{position:relative;width:64px;height:60px;padding:0;border:0;background:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:var(--text-dim);font-size:11px;font-weight:500}.rail-btn:hover:not(:disabled){color:var(--text);background:var(--panel-2)}.rail-btn.active{color:var(--text);background:var(--panel-2)}.rail-btn.active:before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:3px;background:var(--accent)}.rail-btn svg{display:block}.rail-dot{position:absolute;top:10px;right:16px;width:8px;height:8px;border-radius:50%;background:var(--accent-ink)}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.resizer{cursor:col-resize;position:relative;touch-action:none}.resizer:after{content:"";position:absolute;top:0;bottom:0;left:2px;width:2px;background:transparent}.resizer:hover:after,.resizer.dragging:after{background:var(--accent)}.workspace.inspector-hidden .resizer{cursor:default}.panel-toggle{position:absolute;top:50%;left:-4px;transform:translateY(-50%);z-index:3;width:14px;height:44px;padding:0;display:flex;align-items:center;justify-content:center;background:var(--panel);border:1px solid var(--border);color:var(--text-dim)}.panel-toggle:hover:not(:disabled){background:var(--panel-2);border-color:var(--accent);color:var(--accent)}.panel-toggle svg{display:block}.resizer.dragging .panel-toggle{opacity:0;pointer-events:none}.grow{flex:1}button{font:inherit;font-size:12px;color:inherit;background:var(--panel-2);border:1px solid var(--border);border-radius:0;padding:3px 10px;cursor:pointer;transition:border-color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease)}button:hover:not(:disabled){border-color:var(--border-strong)}button:disabled{opacity:.45;cursor:default}button.link{background:none;border:0;color:var(--accent-ink);text-decoration:underline;padding:0}button.primary{background:var(--accent-fill);border-color:var(--accent-fill);color:var(--accent-fg);font-weight:600}button.primary:hover:not(:disabled){background:var(--accent-fill-hover);border-color:var(--accent-fill-hover)}.icon-btn{width:28px;height:26px;padding:0;display:inline-flex;align-items:center;justify-content:center;color:var(--text-dim)}.icon-btn:hover:not(:disabled){color:var(--text)}.icon-btn svg,button.primary svg{display:block}button.primary.export{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 18px;font-size:13px}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.topbar{display:flex;align-items:center;gap:6px;padding:0 12px;height:48px;background:var(--panel);border-bottom:1px solid var(--border)}.brand{display:flex;align-items:center;gap:8px;margin-right:8px}.brand-name{font-family:var(--font-display);font-size:16px;font-weight:700;letter-spacing:-.01em;color:var(--text);white-space:nowrap}.hair{width:1px;height:20px;background:var(--border);flex:0 0 auto}.doc-name{color:var(--text);max-width:36ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-body);font-size:14px;font-weight:600;background:none;border:1px solid transparent;padding:3px 6px}.doc-name:hover:not(:disabled){border-color:var(--border-strong)}input[type=text].doc-name-input{width:28ch;max-width:40vw;font-size:14px;font-weight:600;height:30px}.topbar{position:relative}.progress{position:absolute;left:0;right:0;top:100%;height:3px;z-index:20;overflow:hidden;pointer-events:none;visibility:hidden}.progress.active{visibility:visible;background:color-mix(in srgb,var(--accent) 15%,transparent);animation:progress-in .15s linear .12s backwards}.progress.active:after{content:"";position:absolute;top:0;bottom:0;width:35%;background:var(--accent);animation:progress-sweep 1.1s ease-in-out infinite}@keyframes progress-sweep{0%{left:-35%}50%{left:65%}to{left:-35%}}@keyframes progress-in{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){.progress.active:after{animation:none;left:0;width:100%;opacity:.6}}.ok{color:var(--ok)}.bad{color:var(--bad)}.menu{position:relative}.menu>summary{list-style:none;cursor:pointer;padding:3px 10px;border:1px solid var(--border);border-radius:0;background:var(--panel-2);font-size:12px}.menu>summary:hover{border-color:var(--border-strong)}.menu>summary::-webkit-details-marker{display:none}.menu-items{position:absolute;z-index:10;top:calc(100% + 4px);left:0;min-width:150px;display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--border-strong);border-radius:0;padding:4px;box-shadow:var(--shadow-float)}.menu-items button{text-align:left;border:0;background:none;padding:6px 10px}.menu-items button:hover{background:var(--panel-2)}.panel{overflow-y:auto;overflow-x:hidden;background:var(--panel);scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}.stage-title{margin:0;padding:18px 16px 6px;font-family:var(--font-display);font-size:20px;font-weight:600;letter-spacing:-.01em}.section+.section{border-top:1px solid var(--border);margin-top:6px}.section-title{margin:0;padding:12px 16px 0;font-size:13px;font-weight:600;color:var(--text-dim)}.section-body{padding:8px 16px 16px;display:flex;flex-direction:column;gap:8px}.section-body h4{margin:8px 0 0;font-size:12px;font-weight:600;color:var(--text-dim)}.field{display:flex;align-items:center;justify-content:space-between;gap:8px}.field-label{color:var(--text-dim)}.field-input{display:inline-flex;align-items:center;gap:4px}input[type=number],input[type=text]{font:inherit;font-size:12px;color:inherit;background:var(--panel-2);border:1px solid var(--border);border-radius:0;padding:3px 4px;width:64px;height:24px}input:hover:not(:disabled),select:hover:not(:disabled){border-color:var(--border-strong)}input[type=text]{width:160px}input[type=number].wide{width:110px}input:disabled{opacity:.5}.unit{color:var(--text-dim);font-size:12px;width:2ch}.auto-field{display:flex;align-items:center;gap:8px}.auto-field>:first-child{flex:1}.auto-toggle{color:var(--text-dim);font-size:12px;display:inline-flex;align-items:center;gap:3px}.hint{margin:0;font-size:12px;color:var(--text-dim)}.hint.warn{color:var(--bad)}.viewport{position:relative;min-width:0;min-height:0;background:var(--viewport-bg)}.viewport-fail{position:absolute;inset:0;display:grid;place-items:center;margin:0;color:var(--bad)}.vp-pills{position:absolute;top:10px;left:10px;z-index:3;margin:0;padding:0;list-style:none;display:flex;flex-direction:column;align-items:flex-start;gap:6px;max-width:calc(100% - 300px)}.vp-pill{display:flex;align-items:center;gap:8px;padding:0 4px 0 10px;min-height:32px;background:var(--surface);border:1px solid var(--border-strong);font-size:12px;box-shadow:0 2px 8px #14120c0f}.vp-pill.stale{opacity:.6}.vp-dot{flex:0 0 auto;width:8px;height:8px;border-radius:50%;background:var(--accent-ink)}.vp-pill-text{border:0;background:none;padding:4px 0;font-size:12px;text-align:left;display:inline}.vp-pill-text strong{font-weight:600}.vp-pill-dim{color:var(--text-dim)}.vp-pill-show{height:24px;padding:0 8px;font-size:12px;color:var(--accent-ink);background:none;border:0;font-weight:600}.vp-pill-show[aria-pressed=true]{background:var(--panel-2)}.vp-readouts{position:absolute;left:10px;bottom:10px;z-index:2;margin:0;display:flex;flex-wrap:wrap;gap:6px;max-width:calc(100% - 340px)}.vp-readouts>div{padding:4px 8px;background:color-mix(in srgb,var(--surface) 88%,transparent);border:1px solid var(--border)}.vp-readouts dt{font-size:11px;color:var(--text-dim)}.vp-readouts dd{margin:0;font-family:var(--font-mono);font-size:12px;font-weight:500;font-variant-numeric:tabular-nums}.vp-stats{position:absolute;right:10px;bottom:10px;z-index:2;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:4px 10px;max-width:320px;font-family:var(--font-mono);font-size:11px;color:var(--text-dim);font-variant-numeric:tabular-nums}.vp-stats button.link{font-family:inherit;font-size:inherit}.vp-stats .warncount{color:var(--bad)}.vp-load-warnings{position:absolute;right:0;bottom:calc(100% + 6px);width:min(420px,80vw);max-height:40vh;overflow:auto;padding:8px 12px;background:var(--surface);border:1px solid var(--border-strong);box-shadow:var(--shadow-float);font-family:var(--font-body);font-size:12px;color:var(--text)}.vp-load-head{display:flex;justify-content:space-between;align-items:center}.vp-load-warnings ul{margin:6px 0 0;padding-left:18px}@media(max-width:720px){.vp-pills{max-width:calc(100% - 20px)}.vp-pill-dim,.vp-clay,.vp-stats>:not([data-testid=warning-count]):not([data-testid=mesh-check]){display:none}.vp-readouts{max-width:calc(100% - 140px);bottom:6px;left:6px}.vp-readouts>div{padding:2px 6px}.vp-stats{bottom:6px;right:6px;max-width:130px}}.segmented{display:flex}.segmented button{flex:1;border-radius:0}.segmented button:last-child{border-radius:0;border-left-width:0}.segmented button{height:32px;font-size:13px;background:var(--surface);border-color:var(--text);color:var(--text-dim)}.segmented button.active{background:var(--text);border-color:var(--text);color:var(--bg)}select{font:inherit;font-size:12px;color:inherit;background:var(--panel-2);border:1px solid var(--border);border-radius:0;padding:3px 6px;max-width:150px}.subsection{display:flex;flex-direction:column;gap:8px;padding:8px;border:1px solid var(--border);border-radius:0}.subsection>h5{margin:0;font-size:12px;font-weight:600;color:var(--text-dim);display:flex;justify-content:space-between;align-items:center}button.mini{padding:1px 5px;min-width:24px;font-size:12px;line-height:1.4}.layer-editor{display:flex;flex-direction:column;gap:8px}.env-plot{width:100%;height:auto;background:var(--bg);border:1px solid var(--border);border-radius:0}.env-plot .axis{stroke:var(--border)}.env-plot .area{fill:var(--accent);opacity:.2;stroke:none}.env-plot .line{fill:none;stroke:var(--accent);stroke-width:1.5}.wave-thumb{background:var(--bg);border:1px solid var(--border)}.wave-axis{stroke:var(--border);stroke-width:1}.wave-line{fill:none;stroke:var(--accent);stroke-width:1.75;stroke-linejoin:round;stroke-linecap:round}.image-row{display:flex;gap:8px;align-items:center}.image-thumb{image-rendering:pixelated;border:1px solid var(--border);border-radius:0;background:var(--bg);object-fit:contain}.image-meta{display:flex;flex-direction:column;gap:4px;align-items:flex-start}.stage{display:flex;flex-direction:column;min-width:0;min-height:0}.stage>.viewport{flex:1 1 0}.graph{flex:0 0 calc(var(--graph-frac, .55) * 100%);min-height:220px;max-height:80%;display:flex;flex-direction:column;background:var(--surface);border-top:2px solid var(--border)}.resizer-h{flex:0 0 6px;cursor:row-resize;position:relative;touch-action:none;margin-bottom:-2px;z-index:2}.resizer-h:after{content:"";position:absolute;left:0;right:0;top:2px;height:2px;background:var(--border)}.resizer-h:hover:after,.resizer-h.dragging:after,.resizer-h:focus-visible:after{background:var(--accent)}.graph-bar{display:flex;align-items:center;gap:8px;padding:4px 10px;border-bottom:1px solid var(--border)}.graph-bar .hint{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.graph-body{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 300px}@media(max-width:720px){.graph-body{grid-template-columns:1fr;grid-template-rows:1fr 1fr}}.graph-svg{width:100%;height:100%;background:var(--bg);cursor:grab;touch-action:none;user-select:none;display:block}.graph-svg:active{cursor:grabbing}.graph-side{overflow-y:auto;border-left:1px solid var(--border);padding:8px 10px;display:flex;flex-direction:column;gap:8px}.graph-edge{fill:none;stroke:var(--text-dim);stroke-width:1.6;opacity:.7}.graph-edge.sel{stroke:var(--accent);opacity:1;stroke-width:2.2}.graph-node{cursor:pointer;outline:none}.graph-node rect{fill:var(--surface-2);stroke:var(--border);stroke-width:1.5}.graph-node:hover rect{stroke:var(--accent)}.graph-node.sel rect,.graph-node:focus-visible rect{stroke:var(--accent);stroke-width:3}.graph-title{fill:var(--text);font-size:13px;font-weight:600}.graph-sub{fill:var(--text-dim);font-size:11px}.graph-port{fill:var(--surface);stroke:var(--text-dim);stroke-width:1.5}.graph-port.out{fill:var(--text-dim)}.inspector{display:flex;flex-direction:column;gap:8px}.inspector>h5{margin:0;display:flex;justify-content:space-between;align-items:baseline;font-size:13px}.op-row{display:flex;flex-wrap:wrap;gap:4px;align-items:flex-start}.op-menu .menu-items{position:static;box-shadow:none;margin-top:4px}.graph-message{padding:6px 8px;border:1px solid var(--border);border-radius:0;background:var(--bg)}.vp-nav{position:absolute;top:8px;right:8px;z-index:3;display:flex;gap:0;background:var(--surface);border:1px solid var(--border);opacity:.96}.vp-nav-btn{height:30px;min-width:32px;padding:0 8px;display:inline-flex;align-items:center;justify-content:center;border:0;border-left:1px solid var(--border);border-radius:0;background:none;color:var(--text-dim);font-size:11px}.vp-nav-btn:first-child{border-left:0}.vp-nav-btn:hover{color:var(--text);background:var(--panel-2)}.heat-legend{position:absolute;left:10px;bottom:64px;z-index:2;width:200px;display:grid;grid-template-columns:1fr auto auto;gap:2px 8px;padding:6px;background:var(--surface);border:1px solid var(--border);border-radius:0;font-size:11px;color:var(--text-dim);opacity:.96}.heat-bar{grid-column:1 / -1;height:8px;border-radius:0;border:1px solid var(--border)}.heat-hint{grid-column:1 / -1}.toasts{position:absolute;bottom:64px;left:50%;transform:translate(-50%);z-index:4;width:max-content;max-width:min(420px,calc(100% - 260px));display:flex;flex-direction:column-reverse;gap:4px;pointer-events:none}.toast{pointer-events:auto;display:flex;align-items:center;gap:8px;padding:4px 4px 4px 10px;font-size:12px;background:var(--surface);border:1px solid var(--border-strong);border-radius:0;box-shadow:var(--shadow-float)}.toast.error{color:var(--bad);border-color:var(--bad)}.toast-text{flex:1;min-width:0;overflow-wrap:anywhere}.toast-close{border:0;background:none;padding:0 6px;font-size:16px;line-height:1;color:var(--text-dim)}.toast-close:hover{color:var(--text)}.toast-action{padding:1px 8px;font-size:12px}.badge{display:inline-block;padding:0 6px;border-radius:var(--radius-pill);font-size:11px;line-height:1.6;border:1px solid var(--border);color:var(--text-dim)}.badge.warn{color:var(--bad);border-color:var(--bad)}.preset-note{margin:0;padding:6px 8px;font-size:12px;border:1px solid var(--border);border-radius:0;background:var(--bg);color:var(--text-dim)}.btn-row{display:flex;flex-wrap:wrap;gap:6px}.finding-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.finding{padding:6px 8px;border:1px solid var(--border);border-left:3px solid var(--bad);border-radius:0;background:var(--bg);font-size:12px}.finding .why,.finding .limit{color:var(--text-dim);margin-top:2px}.finding.stale{opacity:.55}.finding-group{margin:6px 0 2px;font-size:12px;font-weight:600;color:var(--text-dim)}@media(max-width:720px){.workspace,.workspace.inspector-hidden{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(220px,44dvh) auto minmax(0,1fr);grid-template-areas:"stage" "rail" "inspector"}.workspace.inspector-hidden{grid-template-rows:minmax(0,1fr) auto 0}.workspace>.resizer{display:none}.workspace>.panel{border-right:0}.rail{flex-direction:row;overflow-x:auto;padding:14px 6px 0;border-right:0;border-bottom:1px solid var(--border);box-shadow:0 -10px 24px #14120c1a;position:relative;z-index:2;scrollbar-width:none}.rail:before{content:"";position:absolute;top:6px;left:50%;width:36px;height:4px;margin-left:-18px;border-radius:2px;background:var(--border-strong)}.rail-btn{width:auto;flex:0 0 auto;height:44px;padding:0 14px;font-size:14px;background:none}.rail-btn svg{display:none}.rail-btn.active{background:none;box-shadow:inset 0 -2px 0 var(--accent)}.rail-btn.active:before{display:none}.rail-dot{top:8px;right:4px}.hair{display:none}.doc-name{max-width:none}input[type=text].doc-name-input{width:100%}.topbar{gap:4px;padding:0 8px 0 4px;height:52px}.brand{display:none}.doc{flex:1 1 auto}.doc-name{font-size:15px}.grow{display:none}.icon-btn{width:44px;height:44px}button.primary.export{height:36px;padding:0 14px;font-size:14px}.stage-title{padding-top:12px;font-size:18px}.toasts{max-width:calc(100% - 20px);bottom:96px}}
