:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg:#f4f5f7;--panel:#fff;--cell:#fff;--cell-disabled:#e4e7eb;--cell-diagonal:#c5cbd4;--hover:#2d69e11a;--grid:#dde1e7;--outline:#6b7482;--border:#d5dae1;--field-border:#7d8795;--accent:#1f5fd6;--on-accent:#fff;--text:#1c2129;--muted:#5f6979;--danger:#b3261e;--danger-bg:#fdecea;--success:#17683a;--success-bg:#e6f4ea;--strip:#39424f;--strip-alt:#556172;--on-strip:#fff;--on-relation:#fff;--rel-requires:#2563c9;--rel-excludes:#c8323c;--rel-recommends:#66788f;--rel-realizes:#1c8347;--rel-member:#7a3fc0;--rel-contains:#a86200;--rel-interface:#0e7a81}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#13161b;--panel:#1b1f26;--cell:#171a20;--cell-disabled:#252a32;--cell-diagonal:#3b424d;--hover:#78a5ff26;--grid:#2b313a;--outline:#8791a0;--border:#2f353f;--field-border:#7a8494;--accent:#74a4ff;--on-accent:#0d1320;--text:#e6e9ee;--muted:#9aa4b3;--danger:#ff8a80;--danger-bg:#3a1c1a;--success:#7fd69b;--success-bg:#17301f;--strip:#2e3641;--strip-alt:#404a59;--rel-requires:#3572d6;--rel-excludes:#cc444d;--rel-recommends:#6a7c95;--rel-realizes:#258c52;--rel-member:#8650cc;--rel-contains:#a8690c;--rel-interface:#14848a}}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font:14px/1.45 system-ui,sans-serif}h1{margin:0;font-size:22px}h2{margin:0 0 8px;font-size:15px}h3{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin:0 0 6px;font-size:12px;font-weight:600}a{color:var(--accent)}.muted{color:var(--muted)}button,input,select,textarea{font:inherit;color:inherit}button{background:var(--panel);border:1px solid var(--border);cursor:pointer;border-radius:6px;padding:5px 11px}button:hover:not(:disabled){border-color:var(--outline)}button:disabled{opacity:.45;cursor:default}button.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-weight:600}button.danger{border-color:var(--danger);color:var(--danger)}button.link{color:var(--muted);background:0 0;border:none;padding:0;text-decoration:underline}button.icon{color:var(--muted);background:0 0;border:none;border-radius:4px;padding:2px 5px;line-height:1.2}button.icon:hover:not(:disabled){background:var(--hover);color:var(--text)}input,select,textarea{background:var(--panel);border:1px solid var(--field-border);border-radius:6px;min-width:0;padding:5px 8px}:focus-visible{outline:2px solid var(--accent);outline-offset:1px}kbd{border:1px solid var(--border);background:var(--bg);color:var(--muted);border-bottom-width:2px;border-radius:4px;padding:0 4px;font:11px ui-monospace,monospace}.banner{border-radius:6px;margin:0 0 12px;padding:8px 12px}.banner.error{background:var(--danger-bg);color:var(--danger);border:1px solid var(--danger)}.banner ul{margin:6px 0 0;padding-left:18px}.empty{text-align:center;max-width:420px;margin:48px auto}.page{max-width:960px;margin:0 auto;padding:32px 24px}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;display:flex}.actions{flex-wrap:wrap;gap:8px;display:flex}.model-table{border-collapse:collapse;background:var(--panel);border:1px solid var(--border);border-radius:8px;width:100%;overflow:hidden}.model-table th,.model-table td{text-align:left;border-bottom:1px solid var(--border);padding:10px 14px}.model-table tr:last-child td{border-bottom:none}.model-table th{color:var(--muted);font-size:12px;font-weight:600}.model-table .number{text-align:right;font-variant-numeric:tabular-nums}.row-actions{justify-content:flex-end;align-items:center;gap:8px;display:flex}.page-footer{margin-top:24px;font-size:13px}.dialog{border:1px solid var(--border);background:var(--panel);color:var(--text);border-radius:10px;width:min(560px,100vw - 32px);padding:20px 24px}.dialog::backdrop{background:#0006}.dialog h3{margin-top:16px}.dialog-actions{justify-content:flex-end;gap:8px;margin-top:20px;display:flex}.summary{grid-template-columns:max-content 1fr;gap:2px 16px;margin:0;display:grid}.summary>div{display:contents}.summary dt{color:var(--muted)}.summary dd{margin:0}.conventions{max-height:160px;margin:8px 0;padding:0;font-size:13px;list-style:none;overflow:auto}.check{align-items:center;gap:8px;margin:8px 0;display:flex}.editor{grid-template-rows:auto auto minmax(0,1fr);grid-template-columns:320px minmax(0,1fr) 340px;height:100%;display:grid}.editor-bar{background:var(--panel);border-bottom:1px solid var(--border);grid-area:1/1/auto/-1;align-items:center;gap:8px;padding:8px 14px;display:flex}.back{white-space:nowrap;text-decoration:none}.model-name{background:0 0;border-color:#0000;width:min(360px,30vw);font-size:16px;font-weight:600}.model-name:hover{border-color:var(--border)}.save-state{color:var(--muted);white-space:nowrap;font-size:12px}.save-state.failed{color:var(--danger);font-weight:600}.spacer{flex:1}.notices{grid-area:2/1/auto/-1}.notice{justify-content:space-between;align-items:center;margin:8px 14px 0;display:flex}.sidebar{background:var(--panel);border-right:1px solid var(--border);flex-direction:column;grid-area:3/1;min-height:0;display:flex}.tabs{border-bottom:1px solid var(--border);display:flex}.tabs button{color:var(--muted);background:0 0;border:none;border-bottom:2px solid #0000;border-radius:0;flex:1;padding:9px 8px}.tabs button[aria-selected=true]{color:var(--text);border-bottom-color:var(--accent);font-weight:600}.sidebar-body{flex:1;min-height:0;padding:10px;overflow-y:auto}.filter{width:100%;margin-bottom:10px}.domain{margin-bottom:14px}.domain-header{align-items:center;gap:2px;display:flex}.name-input{text-overflow:ellipsis;background:0 0;border-color:#0000;flex:1;padding:3px 6px}.name-input:hover{border-color:var(--border)}.domain-name{font-weight:600}.count{color:var(--muted);font-variant-numeric:tabular-nums;padding:0 4px;font-size:12px}.kind{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin:0 0 4px 26px;font-size:11px}.elements,.groups,.legend{margin:0;padding:0;list-style:none}.element{border-radius:5px;align-items:center;gap:2px;padding-left:20px;display:flex}.element.highlighted{background:var(--hover)}.group-select{width:112px;color:var(--muted);flex:0 112px;padding:2px 4px;font-size:12px}.element-actions{visibility:hidden;display:flex}.element:hover .element-actions,.element:focus-within .element-actions{visibility:visible}.more,.intro{margin:4px 0 6px 26px;font-size:12px}.intro{margin-left:0}.add-form{gap:6px;margin:6px 0 0 20px;display:flex}.add-form input{flex:1}.add-domain{border-top:1px solid var(--border);margin-top:4px;padding-top:12px}.add-domain select{width:100%}.add-domain .add-form{margin-left:0}.group{border-bottom:1px solid var(--border);grid-template-columns:1fr auto;align-items:center;gap:4px 6px;padding:8px 0;display:grid}.groups+.add-form{margin-top:12px;margin-left:0}.matrix-pane{flex-direction:column;grid-area:3/2;min-width:0;min-height:0;display:flex}.domain-filters{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:6px 24px;padding:8px 14px;display:flex}.domain-filter{align-items:center;gap:6px;font-size:13px;display:flex}.chip{color:var(--muted);border-radius:999px;padding:2px 10px;font-size:12px}.chip.shown{background:var(--strip);border-color:var(--strip);color:var(--on-strip)}.chip.collapsed{border-color:var(--strip);color:var(--text)}.chip.hidden{text-decoration:line-through}.matrix{flex-direction:column;flex:1;min-height:0;display:flex}.matrix-scroller{background:var(--bg);flex:1;min-height:0;overflow:auto}.matrix-scroller:focus-visible{outline-offset:-2px}.matrix-extent{min-width:100%;min-height:100%;position:relative}.matrix-canvas{cursor:cell;display:block;position:sticky;top:0;left:0}.matrix-status{color:var(--muted);border-top:1px solid var(--border);background:var(--panel);white-space:nowrap;text-overflow:ellipsis;padding:5px 14px;font-size:12px;overflow:hidden}.side-pane{background:var(--panel);border-left:1px solid var(--border);flex-direction:column;grid-area:3/3;min-height:0;display:flex}.inspector{flex:1;min-height:0;padding:14px;overflow-y:auto}.cell-ends{grid-template-columns:max-content 1fr;gap:4px 10px;margin:0 0 12px;display:grid}.cell-ends dt{color:var(--muted);padding-top:2px;font-size:12px}.cell-ends dd{margin:0;font-weight:600}.cell-ends dd .muted{font-size:12px;font-weight:400;display:block}.sentence{background:var(--bg);border-radius:6px;margin:0 0 10px;padding:8px 10px}.type-buttons{flex-direction:column;gap:4px;display:flex}.type-button{text-align:left;align-items:center;gap:8px;display:flex}.type-button kbd{margin-left:auto}.type-button[aria-pressed=true]{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);font-weight:600}.swatch{width:20px;height:20px;color:var(--on-relation);border-radius:4px;flex:none;place-items:center;font-size:11px;font-weight:600;display:inline-grid}.swatch.blank{border:1px solid var(--grid);background:var(--cell)}.swatch.disabled{background:var(--cell-disabled)}.hint{margin:8px 0 0;font-size:12px}.field{color:var(--muted);flex-direction:column;gap:3px;margin-top:12px;font-size:12px;display:flex}.field input,.field select,.field textarea{color:var(--text);font-size:14px}.field textarea{resize:vertical}.inspector-section{border-top:1px solid var(--border);margin-top:20px;padding-top:14px}.keys{grid-template-columns:max-content 1fr;gap:4px 10px;margin:0;font-size:12px;display:grid}.keys dd{color:var(--muted);margin:0}.legend li{align-items:center;gap:8px;padding:2px 0;font-size:13px;display:flex}.validation-head{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.validation-head h2{margin:0}.validation-summary{margin:0 0 10px;font-weight:600}.banner.stale{background:var(--bg);border:1px solid var(--border);color:var(--muted);font-size:13px}.findings{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.finding{text-align:left;border-left-width:3px;flex-direction:column;gap:3px;width:100%;padding:8px 10px;font-size:13px;display:flex}.finding.error{border-left-color:var(--danger)}.finding.warning{border-left-color:var(--rel-contains)}.finding[aria-pressed=true]{background:var(--hover)}.finding-tag{letter-spacing:.04em;text-transform:uppercase;gap:8px;font-size:11px;display:flex}.level.error{color:var(--danger);font-weight:600}.level.warning{color:var(--rel-contains);font-weight:600}.shell{min-height:100%}.site-bar{background:var(--panel);border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:8px 24px;padding:10px 24px;display:flex}.brand{color:var(--text);font-weight:700;text-decoration:none}.site-bar nav{flex-wrap:wrap;flex:1;gap:4px 18px;display:flex}.site-bar nav a{color:var(--muted);border-bottom:2px solid #0000;padding:4px 0;text-decoration:none}.site-bar nav a:hover{color:var(--text)}.site-bar nav a[aria-current=page]{color:var(--text);border-bottom-color:var(--accent);font-weight:600}.site-user{align-items:center;gap:12px;display:flex}.page.narrow{max-width:440px}.small{font-size:12px}.failed{color:var(--danger)}.banner.success{background:var(--success-bg);color:var(--success);border:1px solid var(--success)}.table-scroll{overflow-x:auto}.pill{border:1px solid var(--border);color:var(--muted);white-space:nowrap;border-radius:999px;padding:1px 8px;font-size:11px;display:inline-block}.pill.published{border-color:var(--success);color:var(--success)}.card{background:var(--panel);border:1px solid var(--border);border-radius:8px;margin-top:16px;padding:16px}.card h3{margin-top:14px}.card-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.card-head h2{margin:0}.form{flex-direction:column;gap:14px;margin:16px 0;display:flex}.form label{color:var(--muted);flex-direction:column;gap:4px;font-size:13px;display:flex}.form input,.form select{color:var(--text);padding:8px 10px;font-size:15px}.form.inline{flex-flow:wrap;align-items:flex-end}.form.inline label{flex:180px}.form-actions{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.catalog{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.catalog-entry{background:var(--panel);border:1px solid var(--border);color:var(--text);border-radius:8px;flex-direction:column;gap:4px;padding:18px;text-decoration:none;display:flex}.catalog-entry:hover{border-color:var(--accent)}.catalog-name{font-size:16px;font-weight:600}.page.configurator{max-width:1120px}.configurator-layout{grid-template-columns:minmax(0,1fr) 360px;align-items:start;gap:24px;display:grid}.option-group{border:1px solid var(--border);background:var(--panel);border-radius:8px;min-width:0;margin:0 0 16px;padding:8px 16px 12px}.option-group legend{padding:0 6px;font-size:15px;font-weight:600}.option-group legend .muted{margin-left:6px;font-weight:400}.option{border-top:1px solid var(--grid);grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:12px;padding:2px 0;display:grid}.option:first-of-type{border-top:none}.option label{cursor:pointer;align-items:flex-start;gap:10px;min-height:44px;padding:10px 0;display:flex}.option input{width:18px;height:18px;accent-color:var(--accent);flex:none;margin:3px 0 0}.option-text{flex-direction:column;gap:2px;display:flex}.option.selected .option-name,.option.forced .option-name{font-weight:600}.option.blocked label,.option.forced label{cursor:default}.option.blocked .option-name{color:var(--muted);text-decoration:line-through}.option-tag{color:var(--muted);font-size:12px}.option.forced .option-tag{color:var(--accent)}.why,.clear{color:var(--accent);padding:10px 4px;font-size:13px}.explanation{background:var(--bg);border-radius:6px;grid-column:1/-1;margin:0 0 10px 28px;padding:10px 12px;font-size:13px}.explanation ol{margin:0;padding-left:18px}.explanation li+li{margin-top:4px}.config-summary{position:sticky;top:16px}.config-summary .card:first-child{margin-top:0}.card.status{border-left:4px solid var(--rel-contains)}.card.status.complete{border-left-color:var(--success);color:var(--success)}.choice-list{margin:0 0 8px;padding:0;list-style:none}.choice-list li{justify-content:space-between;gap:8px;padding:4px 0;display:flex}.choice-list .link,.config-summary>.card>.link{color:var(--accent);font-size:13px}.segmented{display:flex}.segmented button{border-radius:0;padding:3px 10px;font-size:12px}.segmented button:first-child{border-radius:6px 0 0 6px}.segmented button:last-child{border-left:none;border-radius:0 6px 6px 0}.segmented button[aria-pressed=true]{background:var(--strip);border-color:var(--strip);color:var(--on-strip)}.bom-tree{font-size:13px}.bom-tree details>details,.bom-tree details>.bom-leaf{margin-left:16px}.bom-tree summary{cursor:pointer;padding:3px 0}.bom-leaf{padding:3px 0 3px 16px}.bom-quantity{color:var(--muted);font-variant-numeric:tabular-nums}.bom-totals{border-collapse:collapse;width:100%;font-size:13px}.bom-totals td{border-bottom:1px solid var(--grid);padding:3px 6px}.bom-totals .number{text-align:right;font-variant-numeric:tabular-nums;width:48px}.versions-list{margin:12px 0 0;padding:0;list-style:none}.versions-list li{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:8px;padding:8px 0;display:flex}@media (width<=860px){.page{padding:20px 16px}.site-bar{padding:10px 16px}.configurator-layout{grid-template-columns:minmax(0,1fr)}.config-summary{position:static}}.button-row{flex-wrap:wrap;gap:6px;margin:8px 0;display:flex}.analysis-result{background:var(--bg);border-radius:6px;margin:8px 0;padding:8px 10px;font-size:13px}.analysis-result p{margin:0 0 4px}.analysis .segmented{margin:6px 0}.analysis .segmented button{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.reached{margin:0 0 8px;padding:0;font-size:13px;list-style:none}.reached .link{color:var(--accent)}.tabs button{white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.tree{margin:0;padding:0 0 0 16px;list-style:none}.tree.top{padding-left:0}.tree-row{align-items:center;gap:4px;min-height:28px;display:flex}.tree-name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.tree-quantity{text-align:right;width:52px;padding:2px 4px;font-size:12px}.tree-body{border-left:1px solid var(--grid);margin-left:10px;padding-bottom:6px}.tree-actions{padding:2px 0 4px 16px}.tree-actions select{max-width:100%;padding:2px 4px;font-size:12px}.element{flex-wrap:wrap}.element-details{flex:100%;padding:2px 8px 10px 6px}.element-details .field{margin-top:6px}.visibility{border:1px solid var(--border);border-radius:6px;margin:8px 0;padding:4px 10px 8px}.visibility legend{color:var(--muted);padding:0 4px;font-size:12px}.code{letter-spacing:.08em;-webkit-user-select:all;user-select:all;margin:4px 0 10px;font:600 22px ui-monospace,monospace}.code.inline{letter-spacing:.04em;margin:0;font-size:13px}.alternatives{border-top:1px solid var(--border);flex-direction:column;align-items:flex-start;gap:6px;margin-top:10px;padding-top:10px;display:flex}.version-report{padding:4px 0 8px}.version-report p{margin:0 0 6px}.page.narrow-wide{max-width:600px}.qr{background:#fff;border-radius:8px;margin:8px 0;padding:8px;display:block}.backup-codes ul{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:6px;margin:6px 0 14px;padding:0;list-style:none;display:grid}.site-user a{color:var(--text);text-decoration:none}.option-tag.suggestion{color:var(--success)}.diff h3{margin-top:12px}.diff-list{margin:0;padding:0;font-size:13px;list-style:none}.diff-list li{padding:2px 0}.diff-list .link{color:var(--accent);text-align:left}.added{color:var(--success)}.removed{color:var(--danger)}.metrics{border-collapse:collapse;width:100%;font-size:13px}.metrics th{color:var(--muted);text-align:left;font-size:11px}.metrics th,.metrics td{border-bottom:1px solid var(--grid);padding:3px 4px}.metrics .number{text-align:right;font-variant-numeric:tabular-nums}.analysis details{margin:6px 0;font-size:13px}.nowrap{white-space:nowrap}.skip-link{z-index:10;background:var(--panel);border:2px solid var(--accent);border-radius:6px;padding:8px 12px;position:absolute;top:-48px;left:8px}.skip-link:focus{top:8px}#content:focus{outline:none}.check input.months{width:80px;padding:4px 8px}.form .check{color:var(--text);flex-direction:row;align-items:center;font-size:14px}.limits{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px 24px;display:grid}.limit-input{color:var(--text);align-items:center;gap:8px;font-size:14px;display:flex}.limit-input input{width:110px}
