:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--font:IBM Plex Sans, system-ui, -apple-system, Segoe UI, sans-serif;--radius-chip:4px;--radius-segment:6px;--radius-swatch:6px;--radius-control:6px;--radius-segment-group:8px;--radius-group:8px;--radius-tool:10px;--shadow-float:0 4px 16px #14171c1a;--shadow-tooltip:0 4px 16px #14171c1a;--shadow-segment:0 1px 2px #14171c14;--space-bar:14px;--space-row:12px;--space-section:24px;--sheet-width:clamp(320px, 22vw, 520px);--touch-target:40px;--scene-marker-dim-opacity:.6;--scene-ground-grass:#445c28;--scene-ground-topsoil:#7b6951;--scene-ground-protected:#723327;--scene-ground-parquet:#9b7b5d;--scene-ground-carpet:#bcb093;--scene-ground-tiles:#cdcdcd;--ink:#14171c;--text:#14171c;--text-secondary:#5b6270;--text-muted:#5b6270;--text-disabled:#c3c8d1;--on-ink:#fff;--surface:#fff;--surface-page:#f3f4f6;--surface-scene:#e8eaee;--surface-segment:#f3f4f6;--surface-hover:#e8eaee;--surface-pill:#f3f4f6;--surface-error:#fbe9eb;--surface-warning:#fdf1e2;--surface-info:#eef0f3;--surface-success:#eef0f3;--border:#dde0e6;--border-strong:#7c828d;--divider:#eef0f3;--ok:#0f8a2c;--error:#c1121f;--warning:#b45309;--info:#3b4452;--quadro-red:#fa291e;--quadro-green:#01ab3d;--quadro-blue:#0078dd;--quadro-yellow:#f9da11;--quadro-black:#3c3c3c;--quadro-white:#f2f2f2;--quadro-alu:#c9ccd2;--quadro-glass:#dcebf2;--quadro-clamp:#f4f4ee;--quadro-pearl-white:#ebebe1;--quadro-dark-grey:#75736e;--quadro-dove-blue:#bedcf0;--quadro-moody-blue:#506e87;--quadro-may-green:#d2e6b4;--quadro-emerald-green:#50735f;--quadro-bunnys-nose:#f5cdcd;--quadro-tawny-port:#785a6e;--scene-accent:#b5179e;--scene-open:#d94fc4;--scene-marker:#8e0e7d;--scene-marker-dim:#353b46;--scene-grid-major:#cfd3da;--scene-grid-minor:#dfe2e7;--scene-plate:#d8dbe0;--scene-light-sky:#fff;--scene-light-ground:#9a9ca2;--scene-light-sun:#fff;--contrast-1:#e69f00;--contrast-2:#56b4e9;--contrast-3:#009e73;--contrast-4:#f0e442;--contrast-5:#0072b2;--contrast-6:#d55e00;--contrast-7:#cc79a7;--contrast-8:#999}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--ink:#eef0f4;--text:#eef0f4;--text-secondary:#a3a9b5;--text-muted:#a3a9b5;--text-disabled:#5b6270;--on-ink:#1b1e25;--surface:#1b1e25;--surface-page:#14161b;--surface-scene:#0f1115;--surface-segment:#14161b;--surface-hover:#232830;--surface-pill:#14161b;--surface-error:#3a1c22;--surface-warning:#3a2a12;--surface-info:#262b34;--surface-success:#262b34;--border:#2c313a;--border-strong:#767c88;--divider:#232830;--ok:#3fbf62;--error:#ff7b88;--warning:#f2b65c;--info:#b9c0cc;--scene-accent:#f06be0;--scene-marker:#f2a3e8;--scene-marker-dim:#a3a9b5;--scene-grid-major:#3a3f4a;--scene-grid-minor:#2c3038;--scene-open:#ef7ee0;--scene-plate:#3a3f4a;--scene-light-sky:#fff;--scene-light-ground:#9a9ca2;--scene-light-sun:#fff;--shadow-float:0 4px 16px #00000080;--shadow-tooltip:0 4px 16px #00000080;--shadow-segment:0 1px 2px #0006}}@font-face{font-display:swap;font-family:IBM Plex Sans;font-style:normal;font-weight:100 700;src:url(/fonts/ibm-plex-sans-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-display:swap;font-family:IBM Plex Sans;font-style:normal;font-weight:100 700;src:url(/fonts/ibm-plex-sans-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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}*,:before,:after{box-sizing:border-box}html,body{height:100%;margin:0}body{background:var(--surface-page);color:var(--text);font-family:var(--font);font-size:14px;line-height:1.45;overflow:hidden}button{color:inherit;cursor:pointer;font:inherit}.app{height:100vh;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;height:100dvh}.app input,.app select,.app textarea{-webkit-user-select:text;user-select:text}.btn{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-control);white-space:nowrap;align-items:center;gap:6px;padding:7px 12px;font-size:13px;font-weight:600;display:inline-flex}.btn:disabled{color:var(--text-disabled);cursor:default}.btn:hover:not(:disabled,.active,.primary){background:var(--surface-hover)}.btn.primary,.btn.active{background:var(--ink);border-color:var(--ink);color:var(--on-ink)}.btn.icon{justify-content:center;width:32px;height:32px;padding:0}.btn.small{padding:6px 11px}.btn.danger{color:var(--error)}.btn.wide{justify-content:center;width:100%}.btn svg{flex:none;width:16px;height:16px}.menu{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-control);box-shadow:var(--shadow-float);z-index:20;min-width:200px;padding:10px;position:absolute;top:calc(100% + 6px)}.menu-separator{background:var(--border);height:1px}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.scene{background:var(--surface-scene);height:100%;position:relative;overflow:hidden}.scene canvas{touch-action:none;width:100%;height:100%;display:block;position:absolute;inset:0}.scene canvas:focus{outline:none}.scene canvas:focus-visible{outline:2px solid var(--scene-accent);outline-offset:-2px}.scene.dropping:after{border:2px dashed var(--scene-accent);border-radius:var(--radius-tool);content:"";pointer-events:none;position:absolute;inset:8px}.bottom-stack>.tooltip{background:var(--ink);border-radius:var(--radius-control);box-shadow:var(--shadow-tooltip);color:var(--on-ink);pointer-events:none;text-overflow:ellipsis;white-space:nowrap;padding:7px 12px;font-size:13px;overflow:hidden}.toast{background:var(--ink);border:1px solid var(--ink);border-radius:var(--radius-control);box-shadow:var(--shadow-tooltip);color:var(--on-ink);align-items:center;gap:10px;padding:7px 12px;font-size:13px;font-weight:500;display:flex}.toast .toast-close{color:inherit;cursor:pointer;background:0 0;border:0;margin:-4px -6px -4px 0;padding:4px;display:flex}.toast .toast-action{border-radius:var(--radius-control);color:inherit;cursor:pointer;font:inherit;background:0 0;border:1px solid;padding:2px 8px}.range-input{accent-color:var(--ink);width:90px}.range-value{color:var(--text-muted);font-variant-numeric:tabular-nums;min-width:44px}.toast.error{background:var(--surface-error);border-color:var(--error);color:var(--error)}.toast.success{background:var(--surface-success);border-color:var(--ok);color:var(--ok)}.select-band{border:1px solid var(--scene-accent);height:var(--band-h,0);left:var(--band-x,0);pointer-events:none;top:var(--band-y,0);width:var(--band-w,0);position:absolute}.turn-axis-handle{cursor:grab;height:40px;left:var(--axis-x,0);top:var(--axis-y,0);touch-action:none;background:0 0;border:0;border-radius:50%;width:40px;padding:0;position:absolute;transform:translate(-50%,-50%)}.turn-axis-handle:active{cursor:grabbing}.turn-axis-handle:focus-visible{box-shadow:0 0 0 2px var(--scene-accent);outline:none}.wizard-end{background:var(--surface);border-radius:var(--radius-tool);box-shadow:var(--shadow-float);color:var(--text);cursor:pointer;height:var(--touch-target);right:var(--space-bar);top:var(--space-bar);width:var(--touch-target);border:0;justify-content:center;align-items:center;padding:0;display:flex;position:absolute}.wizard-end:hover{background:var(--surface-hover)}.view-dock{--cube:56px;--view-button:40px;align-items:center;gap:var(--space-row);pointer-events:none;right:var(--space-bar);top:var(--space-bar);z-index:6;flex-direction:column;display:flex;position:absolute}.view-cube{height:calc(var(--cube) + 20px);perspective:400px;pointer-events:auto;width:calc(var(--cube) + 20px)}.view-cube .cube{height:var(--cube);transform-style:preserve-3d;width:var(--cube);margin:10px;position:relative;transform:rotateX(-28deg)rotateY(-40deg)}.view-cube .face{background:var(--surface);border:1px solid var(--border);color:var(--text);cursor:pointer;font:inherit;white-space:nowrap;justify-content:center;align-items:center;padding:0;font-size:9px;font-weight:700;display:flex;position:absolute;inset:0}.view-cube .face.front{transform:translateZ(calc(var(--cube) / 2))}.view-cube .face.right{background:var(--surface-segment);transform:rotateY(90deg) translateZ(calc(var(--cube) / 2))}.view-cube .face.top{background:var(--surface-hover);transform:rotateX(90deg) translateZ(calc(var(--cube) / 2))}.view-cube .face.active{background:var(--ink);color:var(--on-ink)}.view-group{background:var(--surface);border-radius:var(--radius-tool);box-shadow:var(--shadow-float);pointer-events:auto;flex-direction:column;gap:2px;padding:4px;display:flex}.view-button{border-radius:var(--radius-control);color:var(--text);cursor:pointer;height:var(--view-button);width:var(--view-button);background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:flex}.view-button:hover{background:var(--surface-hover)}.view-button.active{background:var(--ink);color:var(--on-ink)}.view-flyout{background:var(--surface);border-radius:var(--radius-tool);box-shadow:var(--shadow-float);pointer-events:auto;align-items:center;min-height:40px;padding:4px 12px;display:flex}.view-flyout[hidden]{display:none}.view-flyout .range-input{width:140px}.view-flyout.lift{flex-direction:column;gap:8px;width:52px;height:220px;padding:10px 4px;font-size:11px}.lift .range-input{accent-color:var(--ink);writing-mode:vertical-lr;direction:rtl;flex:1;width:28px;min-height:0}.lift .range-value{color:var(--text);text-align:center;min-width:0;font-weight:600}.pill-wrap{left:var(--space-bar);max-width:calc(100% - 2 * var(--space-bar));top:var(--space-bar);z-index:6;position:absolute}.build-pill{background:var(--surface);border-radius:var(--radius-tool);box-shadow:var(--shadow-float);height:var(--touch-target);white-space:nowrap;align-items:center;gap:8px;max-width:100%;padding:0 12px 0 10px;font-size:13px;font-weight:600;display:inline-flex}.logo{flex:none;grid-template-columns:1fr 1fr;gap:2px;width:20px;height:20px;display:grid}.logo span{border-radius:2px}.logo span:first-child{background:var(--quadro-red)}.logo span:nth-child(2){background:var(--quadro-blue)}.logo span:nth-child(3){background:var(--quadro-yellow)}.logo span:nth-child(4){background:var(--quadro-green)}.save-state{color:var(--text-muted);flex:none;display:flex}.save-state[data-save-state=notSaved]{color:var(--error)}.build-button{color:inherit;cursor:pointer;font:inherit;background:0 0;border:0;align-self:stretch;align-items:center;gap:6px;min-width:0;padding:0;display:inline-flex}.build-button svg{color:var(--text-muted);flex:none}.build-pill .name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.build-pill .name-edit{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-segment);color:var(--text);font:inherit;width:24ch;min-width:0;height:28px;padding:1px 6px}.pill-wrap .menu{max-height:calc(100dvh - 2 * var(--space-bar) - var(--touch-target) - 12px);left:0;overflow-y:auto}.open-menu{--build-row:44px;width:min(340px, 100vw - 2 * var(--space-bar));flex-direction:column;gap:8px;display:flex}.open-menu>:not(.builds){flex:none}.builds{flex-direction:column;flex:0 auto;gap:2px;max-height:40vh;display:flex;position:relative;overflow-y:auto}.builds:has(>:nth-child(4)){min-height:calc(3 * var(--build-row) + 4px)}.build-row{align-items:center;gap:4px;display:flex}.build{border-radius:var(--radius-control);color:var(--text);cursor:pointer;font:inherit;min-height:var(--build-row);text-align:left;background:0 0;border:0;flex:auto;justify-content:space-between;align-items:center;gap:8px;min-width:0;padding:7px 8px;font-size:13px;display:flex}.build:hover{background:var(--surface-hover)}.build-image{background:var(--surface-scene);border:1px solid var(--border);border-radius:var(--radius-segment);object-fit:cover;flex:none;width:44px;height:30px}.build-text{flex:auto;min-width:0}.build-name{text-overflow:ellipsis;white-space:nowrap;font-weight:600;display:block;overflow:hidden}.build-when{color:var(--text-muted);flex:none;font-size:12px}.bottom-stack{bottom:var(--space-bar);left:var(--space-bar);max-height:calc(100% - 2 * var(--space-bar) - var(--touch-target) - 8px);pointer-events:none;right:var(--space-bar);z-index:5;flex-direction:column;align-items:center;gap:8px;width:-moz-fit-content;width:fit-content;margin-inline:auto;display:flex;position:absolute}.bottom-stack>*{pointer-events:auto;flex:none;max-width:100%}.dock,.context-row,.overflow-menu{background:var(--surface);border-radius:var(--radius-tool);box-shadow:var(--shadow-float);align-items:center;gap:2px;padding:4px;display:flex}.dock-button,.row-button{border-radius:var(--radius-control);color:var(--text);cursor:pointer;height:var(--touch-target);width:var(--touch-target);background:0 0;border:0;flex:none;justify-content:center;align-items:center;padding:0;display:flex;position:relative}.dock-button:hover:not(.active,:disabled),.row-button:hover:not(.active,:disabled){background:var(--surface-hover)}.dock-button.active,.row-button.active{background:var(--ink);color:var(--on-ink)}.dock-button:disabled,.row-button:disabled{color:var(--text-disabled);cursor:default}.dock-button:disabled .part-icon{opacity:.35}.row-button.danger{color:var(--error)}.part-icon{width:26px;height:26px}.dock-separator,.row-separator{background:var(--border);flex:none;align-self:stretch;width:1px;margin:6px 4px}.count-badge{background:var(--error);color:var(--on-ink);font-variant-numeric:tabular-nums;border-radius:8px;min-width:16px;padding:0 4px;font-size:10px;font-weight:700;line-height:16px;position:absolute;top:0;right:0}.context-row{scrollbar-width:thin;gap:6px;font-size:13px;overflow:auto hidden}.row-part{flex:none;align-items:center;gap:6px;display:flex}.row-separator{display:none}.context-row.both .row-separator{display:block}.thumb{flex:none;width:auto;height:22px;display:block}.chips{background:var(--surface-segment);border-radius:var(--radius-segment-group);flex:none;align-items:stretch;gap:2px;height:52px;padding:3px;display:inline-flex}.chip{border-radius:var(--radius-segment);white-space:nowrap;background:0 0;border:0;flex-direction:column;justify-content:flex-end;align-items:center;gap:4px;padding:5px 9px 4px;font-size:12px;font-weight:600;line-height:1.1;display:flex}.chip:hover:not(.active){background:var(--surface-hover)}.chip.active{background:var(--ink);box-shadow:var(--shadow-segment);color:var(--on-ink)}.swatches{flex:none;align-items:center;gap:10px;display:inline-flex}.swatch-group{gap:4px;display:inline-flex}.swatch{border-radius:var(--radius-swatch);box-shadow:inset 0 0 0 1px var(--border-strong);border:0;flex:none;width:26px;height:26px;padding:0}.swatch:hover:not(.active){outline:2px solid var(--border);outline-offset:1px}.swatch.active{outline:2px solid var(--ink);outline-offset:2px}.swatch[data-color=red]{background:var(--quadro-red)}.swatch[data-color=green]{background:var(--quadro-green)}.swatch[data-color=blue]{background:var(--quadro-blue)}.swatch[data-color=yellow]{background:var(--quadro-yellow)}.swatch[data-color=pearl-white]{background:var(--quadro-pearl-white)}.swatch[data-color=dark-grey]{background:var(--quadro-dark-grey)}.swatch[data-color=dove-blue]{background:var(--quadro-dove-blue)}.swatch[data-color=moody-blue]{background:var(--quadro-moody-blue)}.swatch[data-color=may-green]{background:var(--quadro-may-green)}.swatch[data-color=emerald-green]{background:var(--quadro-emerald-green)}.swatch[data-color=bunnys-nose]{background:var(--quadro-bunnys-nose)}.swatch[data-color=tawny-port]{background:var(--quadro-tawny-port)}.swatch-auto{background:var(--surface-segment);color:var(--text);cursor:pointer;justify-content:center;align-items:center;display:inline-flex}.overflow-menu{flex-wrap:wrap;justify-content:center;gap:10px;padding:8px}.overflow-menu .chips,.overflow-menu .swatches{flex-wrap:wrap;flex:0 auto;justify-content:center;max-width:100%;height:auto}.showcase .dock,.showcase .context-row,.showcase .overflow-menu{display:none}.sheet{background:var(--surface);border-radius:var(--radius-tool);bottom:var(--space-bar);box-shadow:var(--shadow-float);gap:var(--space-section);left:var(--space-bar);top:calc(2 * var(--space-bar) + var(--touch-target));width:var(--sheet-width);flex-direction:column;padding:18px 16px;display:flex;position:fixed;overflow:hidden auto;container-type:inline-size}.sheet-open .bottom-stack{left:calc(var(--sheet-width) + 2 * var(--space-bar))}@container (width>=440px){.bom{grid-template-columns:1fr 1fr;column-gap:24px;display:grid}.bom li.actions{grid-column:1/-1}.rule-groups{grid-template-columns:1fr 1fr;gap:2px 12px;display:grid}.rule-group-body{grid-column:1/-1}}.sheet-handle{background:0 0;border:0;justify-content:center;align-items:center;width:100%;height:28px;margin:-6px 0 0;padding:0;display:none}.sheet-handle .grip{background:var(--border);border-radius:2px;width:40px;height:4px}.sheet h2{color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase;margin:0 0 10px;font-size:12px;font-weight:600}.sheet .sel-title{color:inherit;letter-spacing:normal;text-transform:none;margin:0;font-size:17px;font-weight:700}.sheet .sub{color:var(--text-muted);font-size:13px}.sheet .actions{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.bom{margin:0;padding:0;list-style:none}.bom li{border-bottom:1px solid var(--divider);justify-content:space-between;gap:8px;padding:7px 0;font-size:13px;display:flex}.bom li span:last-child{font-variant-numeric:tabular-nums;font-weight:600}.bom li.actions{border-bottom:0;justify-content:flex-end}.rule-groups{flex-direction:column;gap:2px;display:flex}.rule-groups .empty{color:var(--text-muted);padding:6px 0;font-size:13px}.rule-group{border-radius:var(--radius-group);cursor:pointer;align-items:center;gap:8px;height:40px;padding:0 8px 0 6px;display:flex}.rule-group-button{color:inherit;cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;flex:auto;align-items:center;gap:8px;min-width:0;height:100%;padding:0;display:flex}.rule-group:hover,.rule-group.open{background:var(--surface-segment)}.rule-group.error .rule-group-button>svg{color:var(--error)}.rule-group.warning .rule-group-button>svg{color:var(--warning)}.rule-group.info .rule-group-button>svg{color:var(--info)}.rule-group-title{text-overflow:ellipsis;white-space:nowrap;flex:auto;font-weight:600;overflow:hidden}.rule-group.overridden .rule-group-title{color:var(--text-muted);text-decoration:line-through}.counter{font-variant-numeric:tabular-nums;text-align:center;border-radius:10px;flex:none;min-width:22px;font-size:12px;font-weight:600;line-height:20px}.counter.error{background:var(--surface-error);color:var(--error)}.counter.warning{background:var(--surface-warning);color:var(--warning)}.counter.info{background:var(--surface-info);color:var(--info)}.rule-group .chevron{color:var(--text-muted);flex:none;display:flex}.btn.check{color:var(--text-disabled);min-width:22px;height:22px;padding:0}.btn.check.on{color:var(--text)}.rule-group-body{background:var(--surface-segment);border-radius:0 0 var(--radius-group) var(--radius-group);flex-direction:column;gap:10px;margin-top:-2px;padding:2px 10px 12px 30px;display:flex}.rule-group-body .text{font-size:13px}.rule-group-body .source{color:var(--text-muted);margin-top:2px;font-size:12px}.cases{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:4px;display:grid}.case{border:1px solid var(--border);border-radius:var(--radius-control);font-variant-numeric:tabular-nums;align-items:center;gap:6px;height:30px;padding:0 6px 0 0;font-size:12px;display:flex}.case-check{border-radius:var(--radius-control);color:inherit;cursor:pointer;font:inherit;text-align:left;min-width:0;-webkit-text-decoration:inherit;text-decoration:inherit;background:0 0;border:0;flex:auto;align-self:stretch;align-items:center;gap:6px;padding:0 0 0 6px;display:flex}.case .place{flex:auto;min-width:0}.place.coordinate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.case:has(.sentence){grid-column:1/-1;height:auto;min-height:30px}.case:has(.sentence) .case-check{padding:6px 0 6px 6px}.case.on{background:var(--ink);border-color:var(--ink);color:var(--on-ink)}.case.overridden:not(.on){color:var(--text-muted);text-decoration:line-through}.btn.crosshair{color:var(--scene-accent);opacity:0;min-width:22px;height:22px;padding:0}.case:hover .crosshair,.crosshair:focus-visible{opacity:1}.override-note{background:var(--surface);border-radius:var(--radius-control);flex-direction:column;gap:6px;padding:8px;display:flex}.finding-actions{background:var(--surface);border-top:1px solid var(--border);flex-direction:column;gap:8px;margin:auto -16px -18px;padding:10px 12px;display:flex;position:sticky;bottom:0}.finding-actions[hidden]{display:none}.finding-actions .row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.finding-actions .row:last-child{flex-direction:column;align-items:stretch}.finding-actions .marked-count{flex:auto;font-size:13px;font-weight:600}.finding-actions .reveal-index{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:12px}.finding-actions .reason{background:var(--surface-pill);border:1px solid var(--border);border-radius:var(--radius-control);color:var(--text);font:inherit;resize:none;flex:auto;min-width:0;padding:6px 8px;font-size:13px}.sev-counts{gap:10px;display:flex}.sev-count{font-variant-numeric:tabular-nums;align-items:center;gap:4px;font-size:12px;font-weight:600;display:flex}.sev-count.error{color:var(--error)}.sev-count.warning{color:var(--warning)}.sev-count.info,.sev-count.ok{color:var(--text-muted)}.surface-field{color:var(--text-muted);align-items:center;gap:8px;font-size:13px;display:flex}.hint-head{justify-content:space-between;align-items:baseline;display:flex}.hint-head span{color:var(--text-muted);letter-spacing:0;text-transform:none;font-size:12px}.hints li.overridden{color:var(--text-muted)}.hints li.overridden:before{background:var(--text-disabled)}.hints li .btn.small{flex:none;padding:3px 8px}.surface-row{justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;display:flex}.inline-select{background:var(--surface-pill);border:1px solid var(--border);border-radius:var(--radius-control);color:var(--text);font:inherit;min-height:32px;padding:0 8px;font-size:13px}.inline-select:hover{background:var(--surface-hover)}.sheet .swatches{margin-top:10px}.sheet .status{color:var(--text-muted);font-size:12px}.sheet .swatches,.sheet .swatch-group{flex-wrap:wrap}.radial{height:0;left:var(--radial-x,0);top:var(--radial-y,0);z-index:30;width:0;position:fixed}.radial-ring{border:2px solid var(--border);pointer-events:none;border-radius:50%;width:152px;height:152px;position:absolute;top:-76px;left:-76px}.radial-item{background:var(--surface);box-shadow:var(--shadow-float);color:var(--text);cursor:pointer;font-variant-numeric:tabular-nums;height:44px;left:calc(var(--x,0) - 22px);top:calc(var(--y,0) - 22px);border:0;border-radius:50%;justify-content:center;align-items:center;width:44px;padding:0;font-size:13px;font-weight:600;display:flex;position:absolute}.radial-item:hover:not(.active,:disabled){background:var(--surface-hover)}.radial-item.active{background:var(--ink);color:var(--on-ink)}.radial-item:disabled{color:var(--text-disabled);cursor:default}.radial-item:focus-visible{box-shadow:0 0 0 2px var(--scene-accent);outline:none}.appearance-flyout{max-height:calc(100dvh - 2 * var(--space-bar));pointer-events:auto;right:calc(100% + var(--space-row));flex-direction:column;display:flex;position:absolute;top:0}.appearance{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-control);box-shadow:var(--shadow-float);min-height:0;width:min(380px, 100vw - 2 * var(--space-bar) - var(--cube) - 20px - var(--space-row));padding:0 18px;overflow-y:auto}.appearance-group{row-gap:12px;padding-block:18px;display:grid}.appearance-group+.appearance-group,.appearance-footer{border-top:1px solid var(--divider)}.tile-row{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;display:grid}.tile-group{display:contents}.tile-row.palette-row{margin-top:-4px}.tile{background:var(--surface);border-radius:var(--radius-control);color:var(--text);cursor:pointer;outline:1px solid var(--border);outline-offset:-2px;border:0;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-width:0;height:58px;padding:4px;display:flex;overflow:hidden}.tile:hover:not(:disabled){background:var(--surface-hover)}.tile.on{outline:2px solid var(--ink)}.tile:focus-visible{box-shadow:0 0 0 2px var(--scene-accent)}.tile:disabled{cursor:default;opacity:.4}.tile:disabled.on{outline-color:var(--text-muted)}.tile:disabled img{filter:grayscale()}.tile-empty{height:58px}.tile-image{object-fit:contain;width:38px;height:38px}.tile-photo{object-fit:cover;border-radius:4px;width:100%;height:100%}.tile-part{object-fit:contain;width:44px;height:44px}.tile[data-quality] .tile-image{width:26px;height:26px}.levels{gap:3px;display:flex}.level{background:var(--text-disabled);border-radius:50%;width:5px;height:5px}.level.on{background:var(--ink)}.tile[role=switch]:not(.on) img{filter:grayscale();opacity:.45}.tile[aria-pressed=false]{outline:1.5px dashed var(--text-muted)}.tile[aria-pressed=false] img{opacity:.3}.checkerboard{border-radius:3px;grid-template-rows:repeat(2,15px);grid-template-columns:repeat(2,15px);display:grid;overflow:hidden}.stored{position:relative}.badge{background:var(--surface);box-shadow:var(--shadow-segment);border-radius:4px;justify-content:center;align-items:center;width:18px;height:18px;display:flex;position:absolute;bottom:-6px;right:-6px}.types{align-items:center;gap:0;display:flex}.type-part{width:20px;height:36px;-webkit-mask:none 50%/contain no-repeat;mask:none 50%/contain no-repeat}.type-tube{-webkit-mask-image:url(/parts/tube.png);mask-image:url(/parts/tube.png)}.type-coupling{-webkit-mask-image:url(/parts/coupling.png);mask-image:url(/parts/coupling.png)}.type-plate{width:24px;-webkit-mask-image:url(/parts/plate.png);mask-image:url(/parts/plate.png)}.tile-row.palette-row .tile{border-radius:999px;height:40px}.dots{display:flex}.dot{box-shadow:0 0 0 1px var(--border);border-radius:50%;width:14px;height:14px}.dot+.dot{margin-left:-4px}[data-fill=red]{background:var(--quadro-red)}[data-fill=green]{background:var(--quadro-green)}[data-fill=blue]{background:var(--quadro-blue)}[data-fill=yellow]{background:var(--quadro-yellow)}[data-fill=pearl-white]{background:var(--quadro-pearl-white)}[data-fill=dark-grey]{background:var(--quadro-dark-grey)}[data-fill=dove-blue]{background:var(--quadro-dove-blue)}[data-fill=moody-blue]{background:var(--quadro-moody-blue)}[data-fill=may-green]{background:var(--quadro-may-green)}[data-fill=emerald-green]{background:var(--quadro-emerald-green)}[data-fill=bunnys-nose]{background:var(--quadro-bunnys-nose)}[data-fill=tawny-port]{background:var(--quadro-tawny-port)}[data-fill=contrast-1]{background:var(--contrast-1)}[data-fill=contrast-2]{background:var(--contrast-2)}[data-fill=contrast-3]{background:var(--contrast-3)}[data-fill=contrast-4]{background:var(--contrast-4)}[data-fill=contrast-5]{background:var(--contrast-5)}[data-fill=contrast-6]{background:var(--contrast-6)}[data-fill=contrast-7]{background:var(--contrast-7)}[data-fill=contrast-8]{background:var(--contrast-8)}.appearance-footer{justify-content:space-between;align-items:center;gap:8px;min-height:40px;font-size:12px;display:flex}.footer-name{font-weight:500}.footer-value{color:var(--text-muted)}.timeline{background:var(--surface);border-radius:var(--radius-tool);box-shadow:var(--shadow-float);pointer-events:auto;align-items:center;gap:8px;min-width:0;max-width:100%;padding:4px;display:flex}.timeline.idle{visibility:hidden}.tl-part{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.tl-part[hidden]{display:none}.tl-play{background:var(--ink);border-radius:var(--radius-control);color:var(--on-ink);cursor:pointer;border:0;flex:none;justify-content:center;align-items:center;width:40px;height:40px;padding:0;display:flex}.tl-play:disabled,.tl-button:disabled,.tl-chip:disabled{cursor:default;opacity:.4}.tl-symbol{color:var(--text-muted);flex:none;display:flex}.tl-range{accent-color:var(--ink);flex:1;width:180px;min-width:60px}.tl-value{color:var(--text-muted);font-variant-numeric:tabular-nums;white-space:nowrap;flex:none;min-width:44px;padding-right:4px;font-size:12px}.tl-separator{background:var(--border);flex:none;align-self:stretch;width:1px;margin-block:6px}.tl-button,.tl-chip{border-radius:var(--radius-control);color:var(--text);cursor:pointer;font:inherit;background:0 0;border:0;flex:none;justify-content:center;align-items:center;width:40px;height:40px;padding:0;display:flex}.tl-chip{font-variant-numeric:tabular-nums;width:48px;font-size:12px;font-weight:600}.tl-button:hover,.tl-chip:hover{background:var(--surface-hover)}.tl-button.on{background:var(--ink);color:var(--on-ink)}.tl-record{color:var(--error)}.tl-record.on{background:var(--error);color:var(--on-ink)}.tl-play:focus-visible,.tl-button:focus-visible,.tl-chip:focus-visible,.play-timeline:focus-visible{box-shadow:0 0 0 2px var(--scene-accent);outline:none}.play-timeline{cursor:pointer;touch-action:none;flex:1;min-width:80px;height:40px;position:relative}.play-timeline.locked{pointer-events:none}.play-rail,.play-fill{border-radius:2px;height:4px;margin-top:-2px;position:absolute;top:50%}.play-rail{background:var(--border);left:0;right:0}.play-fill{background:var(--scene-accent);width:var(--t,0%);left:0}.play-knob{background:var(--scene-accent);height:12px;left:var(--t,0%);border-radius:50%;width:12px;margin:-6px 0 0 -6px;position:absolute;top:50%}@media (max-width:480px){.timeline.showcase-mode .tl-clock,.timeline.showcase-mode .tl-separator{display:none}.timeline{gap:4px}.timeline.showcase-mode .tl-showcase{flex-wrap:wrap;gap:4px}.timeline.showcase-mode .play-timeline{flex-basis:100%}}@media (any-pointer:coarse){.tl-range{height:40px}.btn{min-height:var(--touch-target);min-width:var(--touch-target)}.btn.icon{height:var(--touch-target);width:var(--touch-target)}.chip{min-height:var(--touch-target);min-width:var(--touch-target)}.chips{height:auto}.swatch{height:var(--touch-target);width:var(--touch-target)}.sheet-handle{height:var(--touch-target);flex:none}.lift .range-input{width:var(--touch-target)}.inline-select{min-height:var(--touch-target)}.btn.check,.btn.crosshair{height:var(--touch-target);min-width:var(--touch-target)}.btn.crosshair{opacity:1}.case{height:44px}.case:has(.sentence){min-height:44px}.view-flyout .range-input,.build-pill .name-edit{height:var(--touch-target)}}@media (any-pointer:coarse) and (not (max-width:760px)){.view-dock{--cube:72px}}@media (max-width:760px){.range-input{width:64px}.range-value{min-width:36px}.view-dock{align-items:flex-end}.view-group{flex-direction:row}.view-flyout,.appearance-flyout{margin-top:var(--space-row);position:absolute;top:100%;right:0}.appearance-flyout{--view-column:calc(var(--cube) + 20px + var(--view-button) + 8px + 2 * var(--space-row));max-height:calc(100dvh - 2 * var(--space-bar) - var(--view-column))}.appearance{width:min(380px, 100vw - 2 * var(--space-bar))}.sheet-handle{display:flex}.sheet{max-height:min(60dvh,100dvh - 220px);width:min(560px, 100vw - 2 * var(--space-bar));position:static}.sheet-open .bottom-stack{left:var(--space-bar)}}@media (max-width:480px){.pill-wrap{max-width:calc(100% - 3 * var(--space-bar) - 76px)}.bottom-stack{align-items:stretch;width:auto}.bottom-stack>.toast,.bottom-stack>.tooltip{align-self:center}.dock{scrollbar-width:none;justify-content:space-between;gap:0;overflow:auto hidden}.dock-separator{margin-inline:2px}.context-row{scrollbar-width:none}.sheet{width:auto;height:calc(50dvh - 140px);max-height:none;padding-top:6px}.sheet.expanded{height:calc(100dvh - 220px)}}body .app [hidden],.wizard>.app .pill-wrap,.wizard>.app .view-dock,.wizard>.app .dock,.wizard>.app .context-row,.wizard>.app .overflow-menu,.wizard>.app .sheet,.wizard>.app .timeline,.wizard>.app .tooltip{display:none}
