:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#101820;--paper:#17232e;--ink:#f0f5fa;--muted:#b0c0cd;--line:#344656;--soft:#101b24;--plot:#111c26;--teal:#70e5cf;--teal-soft:#162e32;--teal-line:#365b5a;--amber:#f7d389;--mirror:#9dc2eb;--warn:#ffbfa4;--warn-soft:#342822;--warn-line:#705047;--mono:ui-monospace, "SFMono-Regular", Consolas, monospace;background:var(--bg);color:var(--ink);font-family:system-ui,-apple-system,Segoe UI,sans-serif}*,:before,:after{box-sizing:border-box}body{min-width:320px;margin:0}button,input,select{font:inherit}button{cursor:pointer}a{color:inherit}h1,h2,p{margin:0}:is(button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible){outline:2px solid var(--teal);outline-offset:2px}.shell{width:min(1220px,100% - 88px);margin-inline:auto}.topbar{background:var(--bg);border-bottom:1px solid var(--line)}.topbar-inner{justify-content:space-between;align-items:center;gap:20px;min-height:51px;display:flex}.brand{letter-spacing:-.055em;align-items:center;gap:10px;font-size:18px;font-weight:750;text-decoration:none;display:inline-flex}.brand-mark{background:var(--teal-soft);width:28px;height:28px;color:var(--teal);border:1px solid var(--teal-line);border-radius:7px;place-items:center;display:grid}.brand-ai{color:var(--teal)}.topbar-label{color:var(--muted);font-size:12px;font-weight:650}.main{padding-top:16px}.hero{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) minmax(235px,28%);align-items:center;gap:20px;padding-bottom:15px;display:grid}.hero-tag{color:var(--teal);font:700 .72rem var(--mono);letter-spacing:.12em;text-transform:uppercase;align-items:center;gap:7px;display:inline-flex}.hero h1{letter-spacing:-.04em;margin:3px 0 4px;font-size:clamp(1.8rem,4vw,2.85rem);font-weight:760;line-height:1.2}.hero p{color:var(--muted);font-size:1rem;line-height:1.45}.switch-drawing{justify-self:end;width:min(100%,315px);display:block}.switch-drawing text{fill:var(--muted);font:700 10px var(--mono);letter-spacing:.12em}.budget-notice{border:1px solid var(--teal-line);background:var(--teal-soft);color:var(--ink);border-radius:8px;align-items:flex-start;gap:10px;margin-top:16px;padding:12px 15px;display:flex}.budget-notice svg{color:var(--teal);flex:none;margin-top:1px}.budget-notice h2{margin-bottom:3px;font-size:14px;line-height:1.35}.budget-notice p{color:var(--muted);font-size:13px;line-height:1.5}.workbench{grid-template-columns:minmax(0,2fr) minmax(292px,1fr);align-items:start;gap:16px;margin-top:16px;display:grid}.inputs{gap:16px;min-width:0;display:grid}.panel{border:1px solid var(--line);background:var(--paper);border-radius:12px;min-width:0}.panel-top{justify-content:space-between;align-items:flex-start;gap:12px;padding:16px 16px 13px;display:flex}.panel-heading{align-items:flex-start;gap:8px;min-width:0;display:flex}.panel-index{color:var(--teal);font:700 .72rem var(--mono);letter-spacing:.12em;flex:none;padding-top:3px}.panel-heading h2,.reference h2{letter-spacing:-.015em;margin:0 0 3px;font-size:1.09rem;font-weight:720;line-height:1.25}.panel-heading p,.reference-heading p{color:var(--muted);font-size:12.5px;line-height:1.45}.plain-button,.add-button,.icon-button{white-space:nowrap;border-radius:7px;justify-content:center;align-items:center;gap:7px;min-height:36px;font-size:12px;font-weight:700;display:inline-flex}.plain-button{color:var(--muted);background:var(--soft);border:1px solid var(--line);padding:0 10px}.plain-button:hover{color:var(--teal);background:#203441}.switch-fields{grid-template-columns:.85fr 1fr 1.45fr;gap:12px;padding:0 16px;display:grid}.field{min-width:0;color:var(--muted);flex-direction:column;gap:6px;font-size:12px;font-weight:680;display:flex}.field input,.field select{border:1px solid var(--line);background:var(--soft);width:100%;min-width:0;height:39px;color:var(--ink);border-radius:7px;padding:0 10px;font-size:13px;font-weight:550;display:block}.field input::placeholder{color:var(--muted)}.field input[aria-invalid=true]{border-color:var(--warn);background:var(--warn-soft)}.field input[type=number]{-webkit-appearance:textfield;appearance:textfield;font-variant-numeric:tabular-nums}.field input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.field input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.field select{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='13' height='13' viewBox='0 0 13 13' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m3 5 3.5 3.5L10 5' fill='none' stroke='%23b0c0cd' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 8px center;background-repeat:no-repeat;padding-right:24px}.unit-input{display:block;position:relative}.unit-input input{padding-right:30px}.unit-input input:not([aria-invalid=true]){border-color:#478274}.unit-input>span{color:var(--muted);pointer-events:none;position:absolute;top:50%;right:11px;translate:0 -50%}.mixed-toggle{color:var(--muted);cursor:pointer;align-items:center;gap:7px;margin:12px 16px 16px;font-size:12px;font-weight:620;display:flex}.mixed-toggle input{width:15px;height:15px;accent-color:var(--teal);margin:0}.mixed-fields{background:var(--soft);border-radius:8px;margin:-4px 16px 16px;padding:12px}.mixed-fields p{color:var(--muted);font-size:12px}.mixed-fields p.bad{color:var(--warn);margin-top:8px}.mixed-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:10px;display:grid}.mixed-grid small{color:var(--muted);font-size:.92em}.device-grid{grid-template-columns:minmax(115px,1.4fr) minmax(40px,.45fr) minmax(118px,1.13fr) minmax(61px,.63fr) minmax(66px,.68fr) 33px;align-items:center;column-gap:8px;display:grid}.device-head{background:var(--soft);border-block:1px solid var(--line);color:var(--muted);padding:8px 16px;font-size:11px;font-weight:760}.device-list{padding:2px 16px 0}.device-row-wrap{border-bottom:1px solid var(--line);padding:8px 0}.device-row-wrap:last-child{border-bottom:0}.row-label{display:none}.device-row .field input,.device-row .field select{height:36px;padding-left:8px;font-size:12.5px}.subtotal{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;padding-left:2px;font-size:12.5px;font-weight:740}.icon-button{background:var(--soft);border:1px solid var(--line);width:33px;height:35px;min-height:0;color:var(--muted)}.icon-button:hover{color:var(--warn);background:var(--warn-soft);border-color:var(--warn-line)}.device-actions{justify-content:space-between;align-items:center;gap:10px;padding:7px 16px 16px;display:flex}.add-button{color:var(--bg);background:var(--teal);border:1px solid var(--teal);padding:0 11px}.add-button:hover{background:#a1eedc}.clear-button{background:0 0;border-color:#0000}.empty-devices{color:var(--muted);padding:14px 16px 7px;font-size:13px}.row-error{color:var(--warn);padding:6px 2px 0;font-size:11px}.result-body{padding:0 16px 16px}.status{border:1px solid;border-radius:8px;align-items:flex-start;gap:10px;padding:11px 12px;display:flex}.status svg{flex:none}.status.fail{background:var(--warn-soft);color:var(--warn);border-color:var(--warn-line)}.status.pass{background:var(--teal-soft);color:var(--teal);border-color:var(--teal-line)}.status.neutral{background:var(--soft);color:var(--muted);border-color:var(--line)}.status strong{margin-bottom:3px;font-size:14px;display:block}.status p{font-size:12px;line-height:1.45}.metric{margin-top:14px}.metric+.metric{border-top:1px solid var(--line);padding-top:13px}.metric-label{color:var(--muted);align-items:center;gap:7px;font-size:12px;font-weight:720;display:flex}.metric-values{font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:baseline;gap:6px;margin:4px 0 7px;display:flex}.metric-values strong{color:var(--teal);font:700 clamp(25px, 2.8vw, 38px)/1.05 var(--mono);letter-spacing:-.045em}.metric-values>span{color:var(--muted);font-size:12px;font-weight:650}.track{background:var(--line);border-radius:5px;height:6px;overflow:hidden}.track span{border-radius:inherit;background:var(--teal);height:100%;transition:width .18s;display:block}.metric-values:has(+.track.over) strong{color:var(--amber)}.track.over span{background:var(--amber)}.metric p{margin-top:5px;font-size:12px;font-weight:700;line-height:1.35}.metric:has(.metric-values>span:empty) p{color:var(--muted)}.bad{color:var(--warn)}.good{color:var(--teal)}.compatibility{border-top:1px solid var(--line);color:var(--muted);align-items:center;gap:7px;margin-top:14px;padding-top:12px;font-size:12px;font-weight:620;line-height:1.4;display:flex}.compatibility svg{flex:none}.compatibility.bad{color:var(--warn)}.reference{border:1px solid var(--line);background:var(--paper);border-radius:12px;margin-top:21px;padding:16px}.reference-heading{align-items:flex-start;gap:10px;display:flex}.reference-icon{height:32px;color:var(--teal);background:var(--teal-soft);border:1px solid var(--teal-line);border-radius:7px;flex:0 0 32px;place-items:center;display:grid}.reference h2{font-size:16px}.reference-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:13px 0 11px;display:grid}.reference-item{border:1px solid var(--line);background:var(--soft);border-radius:7px;align-items:center;gap:8px;min-width:0;padding:9px 10px;font-size:12px;display:flex}.reference-item div{flex:1}.reference-item div span{color:var(--muted);margin-top:2px;font-size:10.5px;display:block}.reference-item>strong{white-space:nowrap;font-variant-numeric:tabular-nums}.tier-dot{background:var(--mirror);border-radius:50%;flex:0 0 8px;height:8px}.tier-dot.violet{background:#cbb4e8}.tier-dot.teal{background:var(--teal)}.tier-dot.amber{background:var(--amber)}.reference-note{color:var(--muted);font-size:12px;line-height:1.55}.reference-note a{color:var(--teal);text-underline-offset:2px;white-space:nowrap;font-weight:700}.footer{color:var(--muted);justify-content:space-between;align-items:flex-start;gap:20px;padding:18px 0 23px;font-size:11.5px;line-height:1.5;display:flex}.footer span{white-space:nowrap;font-weight:700}@media (max-width:1040px){.shell{width:calc(100% - 52px)}.workbench{grid-template-columns:minmax(0,1.75fr) minmax(268px,1fr);gap:15px}.device-grid{grid-template-columns:minmax(97px,1.25fr) minmax(33px,.4fr) minmax(104px,1.08fr) minmax(51px,.56fr) minmax(54px,.58fr) 30px;gap:6px}.icon-button{width:30px}.device-row .field input,.device-row .field select{font-size:12px}}@media (max-width:875px){.workbench{grid-template-columns:1fr}.device-grid{grid-template-columns:minmax(110px,1.4fr) minmax(40px,.45fr) minmax(118px,1.13fr) minmax(61px,.63fr) minmax(66px,.68fr) 33px;gap:8px}.icon-button{width:33px}.result-body{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px 18px;display:grid}.status,.compatibility{grid-column:1/-1}.metric,.compatibility{margin:0}.metric+.metric{border:0;padding-top:0}}@media (max-width:580px){.shell{width:calc(100% - 30px)}.topbar-inner{gap:8px;min-height:48px}.topbar-label{text-align:right;font-size:10px}.main{padding-top:16px}.hero{grid-template-columns:1fr;gap:0}.hero p{font-size:14px}.switch-drawing{display:none}.workbench{margin-top:14px}.inputs{gap:14px}.panel-top{padding:15px 13px 12px}.panel-heading{gap:8px}.panel-heading h2{font-size:16px}.example-button{padding-inline:6px;font-size:11px}.example-button svg{display:none}.switch-fields{grid-template-columns:repeat(2,minmax(0,1fr));padding-inline:13px}.tier-field{grid-column:1/-1}.mixed-toggle,.mixed-fields{margin-inline:13px}.mixed-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.device-head{display:none}.device-list{padding:0 13px}.device-grid.device-row{grid-template-columns:minmax(37px,.6fr) minmax(100px,1.6fr) minmax(52px,.85fr) minmax(54px,.9fr);align-items:end;gap:8px 6px}.device-row-wrap{border-top:1px solid var(--line);border-bottom:0;padding-block:9px}.device-row .group-field{grid-column:1/4}.device-row .icon-button{grid-area:1/4;justify-self:end}.row-label{color:var(--muted);font-size:10px;display:block}.device-row .field{gap:4px}.device-row .field input,.device-row .field select{height:36px;padding-left:6px}.device-row .field select{background-position:right 3px center;padding-right:18px}.subtotal{padding-bottom:8px}.subtotal .row-label{margin-bottom:4px}.device-actions,.result-body{padding-inline:13px}.metric-values strong{font-size:22px}.metric-values>span{font-size:11px}.reference{margin-top:14px;padding:13px}.reference-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.reference-item{gap:5px;padding-inline:6px;font-size:11px}.footer{flex-direction:column;gap:8px}}@media (prefers-reduced-motion:reduce){.track span{transition:none}}.print-report{display:none}@media print{@page{margin:13mm}:root,body{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:#111;background:#fff;min-width:0}.screen-only{display:none!important}.print-report{font-size:10pt;line-height:1.4;display:block}.print-header{break-inside:avoid;border-bottom:1pt solid #333;margin-bottom:14pt;padding-bottom:9pt}.print-header p{margin-bottom:4pt;font-size:9pt}.print-header h1{font-size:21pt;line-height:1.15}.print-report section{margin-bottom:13pt}.print-report h2{break-after:avoid;margin-bottom:4pt;font-size:12pt}.print-summary,.print-config,.print-footer{break-inside:avoid}.print-summary{border:1pt solid #777;padding:8pt 10pt}.print-report dl{grid-template-columns:112pt 1fr;gap:2pt 8pt;margin:5pt 0 0;display:grid}.print-report dt{font-weight:700}.print-report dd{margin:0}.print-schedule table{table-layout:fixed;border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}.print-schedule thead{display:table-header-group}.print-schedule tr{break-inside:avoid}.print-schedule th,.print-schedule td{text-align:left;vertical-align:top;border-bottom:.5pt solid #aaa;padding:4pt 6pt}.print-schedule thead th{border-block:1pt solid #777}.print-schedule tbody th{overflow-wrap:anywhere;font-weight:400}.print-schedule th:first-child{width:36%}.print-schedule th:nth-child(2){width:10%}.print-schedule th:nth-child(3){width:22%}.print-schedule th:nth-child(n+4){width:16%}.print-schedule :is(th,td):is(:nth-child(2),:nth-child(4),:nth-child(5)){text-align:right}.print-footer{border-top:.5pt solid #aaa;padding-top:6pt;font-size:8.5pt}.print-footer p+p{margin-top:3pt}}
