: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;--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;--divider:#eef0f3;--ok:#0f8a2c;--error:#c1121f;--warning:#b45309;--info:#3b4452;--quadro-red:#d8161a;--quadro-green:#0f8a2c;--quadro-blue:#1236d6;--quadro-yellow:#f2d500;--quadro-black:#1b1d22;--quadro-white:#f2f2f2;--quadro-alu:#c9ccd2;--scene-accent:#b5179e;--scene-open:#d94fc4;--scene-marker:#8e0e7d;--scene-marker-dim:#9aa0aa;--scene-grid-major:#cfd3da;--scene-grid-minor:#dfe2e7;--scene-plate:#d8dbe0;--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;--divider:#232830;--ok:#3fbf62;--error:#ff7b88;--warning:#f2b65c;--info:#b9c0cc;--scene-accent:#f06be0;--scene-marker:#f2a3e8;--scene-marker-dim:#5b6270;--scene-grid-major:#3a3f4a;--scene-grid-minor:#2c3038;--scene-open:#ef7ee0;--scene-plate:#3a3f4a;--shadow-float:0 4px 16px #00000080;--shadow-tooltip:0 4px 16px #00000080;--shadow-segment:0 1px 2px #0006}}*,: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;flex-direction:column;height:100dvh;display:flex}.app input,.app select,.app textarea{-webkit-user-select:text;user-select:text}.app [hidden]{display:none}.header{background:var(--surface);border-bottom:1px solid var(--border);align-items:center;gap:var(--space-row);height:52px;padding:0 var(--space-bar);flex:none;display:flex}.logo{flex:none;grid-template-columns:1fr 1fr;gap:2px;width:22px;height:22px;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)}.brand{letter-spacing:-.01em;font-size:16px;font-weight:700}.file-pill{background:var(--surface-pill);border:1px solid var(--border);border-radius:var(--radius-control);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:8px;max-width:40vw;padding:5px 12px;font-size:13px;font-weight:600;display:inline-flex;overflow:hidden}.file-pill .stuck{background:var(--error);border-radius:50%;flex:none;width:6px;height:6px}.file-pill .stuck[hidden]{display:none}.file-pill .name{cursor:text;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.file-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:12ch;padding:1px 6px}.file-pill .btn.rename{min-width:18px;height:18px;padding:0}.file-pill .btn.rename svg{width:12px;height:12px}.file-pill .name-edit{height:18px}.open-menu{flex-direction:column;gap:8px;display:flex}.bauten{flex-direction:column;gap:2px;max-height:40vh;display:flex;overflow-y:auto}.bauten[hidden]{display:none}.bau-zeile{align-items:center;gap:4px;display:flex}.bau{border-radius:var(--radius-control);color:var(--text);cursor:pointer;font:inherit;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}.bau:hover{background:var(--surface-hover)}.bau-bild{background:var(--surface-scene);border:1px solid var(--border);border-radius:var(--radius-segment);object-fit:cover;flex:none;width:44px;height:30px}.bau-text{flex:auto;min-width:0}.bau-name{text-overflow:ellipsis;white-space:nowrap;font-weight:600;display:block;overflow:hidden}.bau-wann{color:var(--text-muted);flex:none;font-size:12px}.btn.wide{justify-content:center;width:100%}.build{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:12px}.header-actions{align-items:center;gap:6px;margin-left:auto;display:flex}.separator{background:var(--border);width:1px;height:20px;margin:0 4px}.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 svg{flex:none;width:16px;height:16px}.menu-wrap{position:relative}.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);right:0}.menu.open-menu{min-width:340px}.menu-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.menu-row+.menu-row{margin-top:6px}.menu-head{border-top:1px solid var(--divider);color:var(--text-muted);margin-top:8px;padding-top:8px;font-size:12px}.menu input[type=range]{width:110px}.options{background:var(--surface);border-bottom:1px solid var(--border);align-items:center;gap:var(--space-bar);height:68px;padding:5px var(--space-bar);flex:none;font-size:13px;display:flex;overflow:hidden}.options .tool-name{font-weight:700}.options .unit{color:var(--text-muted)}.thumb{flex:none;width:auto;height:22px;display:block}.chips{background:var(--surface-segment);border-radius:var(--radius-segment-group);box-sizing:border-box;align-items:stretch;gap:2px;height:56px;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:5px;padding:6px 10px 5px;font-size:12px;font-weight:600;line-height:1.1;display:flex}.chip.rare{margin-left:10px}.chip:hover:not(.active){background:var(--surface-hover)}.chip.active{background:var(--ink);box-shadow:var(--shadow-segment);color:var(--on-ink)}.segments{background:var(--surface-segment);border-radius:var(--radius-segment-group);gap:2px;padding:3px;display:inline-flex}.segments button{border-radius:var(--radius-segment);background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;padding:4px 10px;font-size:13px;font-weight:600;line-height:1.2;display:flex}.segments button:hover:not(.active){background:var(--surface-hover)}.segments button .key{opacity:.55;font-size:9px}.segments button.active{background:var(--ink);box-shadow:var(--shadow-segment);color:var(--on-ink)}.swatches{gap:8px;display:inline-flex}.swatch{border-radius:var(--radius-swatch);border:0;width:26px;height:26px;padding:0}.swatch:hover:not(.active){outline:2px solid var(--border);outline-offset:1px}.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.active{outline:2px solid var(--ink);outline-offset:2px}.options-curve,.options-plate,.options-special,.options-tube{display:contents}.main{flex:1;min-height:0;display:flex}.toolbar{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;flex:none;align-items:center;gap:4px;width:56px;padding:10px 0;display:flex}.tool{border-radius:var(--radius-tool);background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:1px;width:40px;height:40px;display:flex}.tool svg{width:18px;height:18px}.part-icon{width:26px;height:26px}.tool .key{opacity:.6;font-size:9px}.tool:hover:not(.active){background:var(--surface-hover)}.tool.active{background:var(--ink);color:var(--on-ink)}.scene{background:var(--surface-scene);flex:1;min-width:0;position:relative}.scene canvas{touch-action:none;width:100%;height:100%;display:block;position:absolute;inset:0}.scene.dropping:after{border:2px dashed var(--scene-accent);border-radius:var(--radius-tool);content:"";pointer-events:none;position:absolute;inset:8px}.overlay-bottom{bottom:var(--space-bar);align-items:center;gap:var(--space-row);left:var(--space-bar);pointer-events:none;right:var(--space-bar);flex-wrap:wrap;justify-content:space-between;display:flex;position:absolute}.status{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:12px}.tooltip{background:var(--ink);border-radius:var(--radius-control);box-shadow:var(--shadow-tooltip);color:var(--on-ink);bottom:64px;left:var(--space-bar);pointer-events:none;white-space:nowrap;padding:7px 12px;font-size:13px;position:absolute}.toast{background:var(--ink);border:1px solid var(--ink);border-radius:var(--radius-control);box-shadow:var(--shadow-tooltip);color:var(--on-ink);pointer-events:none;max-width:80%;padding:7px 12px;font-size:13px;font-weight:500;position:absolute;bottom:64px;left:50%;transform:translate(-50%)}.pill{background:var(--surface);border-radius:var(--radius-tool);box-shadow:var(--shadow-float);pointer-events:auto;padding:4px 8px}.mode-select{color:var(--text);font:inherit;background:0 0;border:0;min-height:32px;font-size:13px;font-weight:600}.mode-select:hover{background:var(--surface-hover)}.overlay-top{right:var(--space-bar);top:var(--space-bar);position:absolute}.overlay-left{align-items:center;gap:var(--space-row);flex-wrap:wrap;display:flex}.views{background:0 0;padding:0}.views button{min-height:32px;padding:4px 10px}.height-pill{align-items:center;gap:8px;min-height:40px;font-size:12px;display:flex}.height-range{accent-color:var(--ink);width:90px}.height-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}.showcase .toolbar,.showcase .options,.showcase .panel,.showcase .panel-toggle,.showcase .overlay-bottom,.showcase .overlay-top{display:none}.panel-toggle{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-control) 0 0 var(--radius-control);z-index:2;border-right:0;flex:none;justify-content:center;align-self:center;align-items:center;width:18px;height:44px;padding:0;display:flex;position:relative}.panel-toggle:hover{background:var(--surface-hover)}.panel-toggle svg{width:14px;height:14px}.panel-toggle.open svg{transform:rotate(180deg)}.panel{background:var(--surface);border-left:1px solid var(--border);gap:var(--space-section);flex-direction:column;flex:none;width:clamp(320px,22vw,520px);padding:18px 16px;display:flex;overflow-y:auto}.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}.panel h2{color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase;margin:0 0 10px;font-size:12px;font-weight:600}.panel .title{font-size:17px;font-weight:700}.panel .sub{color:var(--text-muted);font-size:13px}.panel .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}.gruppen{flex-direction:column;gap:2px;display:flex}.gruppen .leer{color:var(--text-muted);padding:6px 0;font-size:13px}.gruppe{border-radius:var(--radius-group);cursor:pointer;align-items:center;gap:8px;height:40px;padding:0 8px 0 6px;display:flex}.gruppe:hover,.gruppe.auf{background:var(--surface-segment)}.gruppe.error>svg{color:var(--error)}.gruppe.warning>svg{color:var(--warning)}.gruppe.info>svg{color:var(--info)}.gruppe-titel{text-overflow:ellipsis;white-space:nowrap;flex:auto;font-weight:600;overflow:hidden}.gruppe.overridden .gruppe-titel{color:var(--text-muted);text-decoration:line-through}.zaehler{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}.zaehler.error{background:var(--surface-error);color:var(--error)}.zaehler.warning{background:var(--surface-warning);color:var(--warning)}.zaehler.info{background:var(--surface-info);color:var(--info)}.gruppe .pfeil{color:var(--text-muted);flex:none;display:flex}.btn.kasten{color:var(--text-disabled);min-width:22px;height:22px;padding:0}.btn.kasten.an{color:var(--text)}.gruppe-koerper{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}.gruppe-koerper .text{font-size:13px}.gruppe-koerper .source{color:var(--text-muted);margin-top:2px;font-size:12px}.faelle{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:4px;display:grid}.fall{border:1px solid var(--border);border-radius:var(--radius-control);cursor:pointer;font-variant-numeric:tabular-nums;align-items:center;gap:6px;height:30px;padding:0 6px;font-size:12px;display:flex}.fall .ort{flex:auto;min-width:0}.ort.koordinate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.fall:has(.satz){grid-column:1/-1;height:auto;min-height:30px;padding:6px}.fall.an{background:var(--ink);border-color:var(--ink);color:var(--on-ink)}.btn.kreuz{color:var(--scene-accent);opacity:0;min-width:22px;height:22px;padding:0}.fall:hover .kreuz,.kreuz:focus-visible{opacity:1}.ueberstimmt{background:var(--surface);border-radius:var(--radius-control);flex-direction:column;gap:6px;padding:8px;display:flex}.fund-aktionen{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}.fund-aktionen[hidden]{display:none}.fund-aktionen .reihe{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.fund-aktionen .reihe:last-child{flex-direction:column;align-items:stretch}.fund-aktionen .gewaehlt{flex:auto;font-size:13px;font-weight:600}.fund-aktionen .zeiger{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:12px}.fund-aktionen .grund{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)}.untergrund{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}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.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)}.panel .swatches{margin-top:10px}@media (max-width:760px){.header{height:auto;min-height:52px;padding:6px var(--space-bar);flex-wrap:wrap;row-gap:6px}.header-actions{justify-content:flex-end;width:100%;margin-left:0}.header-actions .btn{min-width:40px;height:40px;padding:0 10px}.header-actions .btn .label,.build,.file-pill .btn.rename{display:none}.file-pill{max-width:50vw}.panel-toggle{display:none}.options{scrollbar-width:none;flex-wrap:nowrap;min-height:54px;overflow-x:auto}.segments button,.chip{min-width:40px;min-height:40px}.swatch{width:40px;height:40px}.main{position:relative}.panel{border-radius:var(--radius-tool) var(--radius-tool) 0 0;border-left:0;border-top:1px solid var(--border);box-shadow:var(--shadow-float);width:auto;height:45%;padding-top:6px;position:absolute;bottom:0;left:0;right:0}.panel.expanded{height:85%}.sheet-handle{display:flex}}
