:root{color-scheme:dark;--color-bg: #0b1318;--color-surface: #15232a;--color-text: #edf3f5;--color-text-muted: #b5c6cb;--color-accent: #74d8c5;--color-on-accent: #10262b;--color-light-bg: #f5f8f7;--color-light-text: #10262b;--color-light-accent: #176c60;--font-sans: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: ui-monospace, "SFMono-Regular", Consolas, "Liberation Mono", monospace;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--space-8: 64px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-pill: 999px;--motion-fast: .12s;--motion-base: .18s;--motion-slow: .24s;--motion-ease: cubic-bezier(.2, 0, 0, 1)}@media(prefers-reduced-motion:reduce){:root{--motion-fast: 0ms;--motion-base: 0ms;--motion-slow: 0ms}}:root{--muted: var(--color-text-muted);--accent: var(--color-accent);--panel: var(--color-surface);--line: color-mix(in srgb, var(--color-text-muted) 24%, var(--color-bg));--control-edge: color-mix(in srgb, var(--color-text-muted) 60%, var(--color-bg));--color-transparent: transparent;--color-warning: var(--color-text-muted);--color-danger: var(--color-text);--color-hover: color-mix(in srgb, var(--color-accent) 16%, var(--color-surface));--color-pressed: color-mix(in srgb, var(--color-accent) 24%, var(--color-surface));--color-print-bg: var(--color-light-bg);--color-print-text: var(--color-light-text);--color-print-muted: var(--color-light-text);--shadow-outline: inset 0 0 0 1px var(--line);--font-size-10: 10px;--font-size-11: 11px;--font-size-12: 12px;--font-size-13: 13px;--font-size-14: 14px;--font-size-15: 15px;--font-size-16: 16px;--font-size-18: 18px;--font-size-20: 20px;--font-size-22: 22px;--font-size-23: 23px;--font-size-24: 24px;--font-size-25: 25px;--font-size-28: 28px;--font-size-30: 30px;--font-size-39: 39px;--font-size-builder-title: clamp(34px,4.2vw,62px);--font-size-brand-title: clamp(40px,5.5vw,72px);--font-size-type-sample: clamp(24px,3vw,40px);--color-scene-frame: var(--color-text-muted);--color-scene-part: var(--color-accent);--color-scene-board: var(--color-surface);--color-scene-sky: var(--color-text);--color-scene-ground: var(--color-bg);--color-scene-light: var(--color-text);--color-scene-clearance: var(--color-warning)}.logo-preview[data-theme=dark]{--preview-ink:var(--color-text);--preview-accent:var(--color-accent);--preview-bg:var(--color-bg)}.logo-preview[data-theme=light]{--preview-ink:var(--color-light-text);--preview-accent:var(--color-light-accent);--preview-bg:var(--color-light-bg)}:root{--border-width: 1px;--comparison-min-width: 42rem;--control-min-size: 44px;--font-weight-strong: 700;--line-height-evidence: 1.7}:root{font-family:var(--font-sans);font-size:var(--font-size-16);color:var(--color-text);background:var(--color-bg);font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:5px}button{cursor:pointer}a{color:var(--accent)}header{max-width:1440px;margin:auto;padding:25px 4%;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:30px}.wordmark{font-size:var(--font-size-25);font-weight:800;letter-spacing:-1.5px;text-decoration:none;color:var(--color-text)}.wordmark span{font-weight:400}.wordmark .dot{color:var(--accent);font-weight:900}.edition,.mode,.eyebrow{font-size:var(--font-size-10);letter-spacing:1.8px;font-weight:700}.edition{color:var(--muted)}.mode{margin-left:auto;color:var(--accent);padding:8px 10px;border:1px solid var(--control-edge);border-radius:var(--radius-sm);letter-spacing:.8px}main{max-width:1440px;margin:auto;padding:0 4%}.intro{padding:52px 0 28px}.eyebrow{color:var(--accent);margin:0}.intro h1{font-size:var(--font-size-builder-title);font-weight:500;line-height:1.1;letter-spacing:-2.8px;margin:16px 0}.intro h1 span{color:var(--accent)}.intro>p:last-child{color:var(--muted);font-size:var(--font-size-15);line-height:1.6}.intent{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:28px;padding:23px 0 26px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}fieldset{margin:0;padding:0;border:0;min-width:0}legend,.intent>div>label{font-size:var(--font-size-11);color:var(--muted);display:block;margin-bottom:13px}.missions{display:flex;flex-wrap:wrap;gap:7px}.missions label{position:relative}.missions input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}.missions span{display:block;border:1px solid var(--line);padding:11px 12px;font-size:var(--font-size-12);border-radius:var(--radius-md)}.missions input:checked+span{background:var(--accent);color:var(--color-on-accent);border-color:var(--accent)}.missions input:focus-visible+span{outline:2px solid var(--color-text);outline-offset:4px}input[type=number],select{width:100%;border:1px solid var(--line);background:var(--color-bg);color:var(--color-text);padding:10px;border-radius:var(--radius-sm)}input[type=number]{font-size:var(--font-size-20);font-weight:600}.budget{position:relative}.presets{display:flex;gap:7px;margin-top:8px}.presets button{background:var(--color-transparent);color:var(--muted);border:1px solid var(--line);border-radius:var(--radius-sm);font-size:var(--font-size-10);padding:3px 9px}.hint{font-size:var(--font-size-11);line-height:1.65;color:var(--muted)}#status{color:var(--muted);font-size:var(--font-size-11);line-height:1.6;padding:15px 0;min-height:45px}.workspace{display:grid;grid-template-columns:1.12fr 1fr;gap:20px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);padding:24px;min-width:0}.panel-top{display:flex;justify-content:space-between;align-items:center;gap:12px}.panel-top>span{font-size:var(--font-size-10);color:var(--muted);letter-spacing:.5px}h2{font-weight:500;font-size:var(--font-size-18);margin:0}#scene{position:relative;width:100%;height:420px;touch-action:pan-y}#fallback{position:absolute;inset:0}#fallback svg{width:100%;height:100%}#scene canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:pan-y}.case{stroke:var(--muted);stroke-width:1.5;fill:var(--color-surface);fill-opacity:.35}.case.active{stroke:var(--accent)}.part{fill:var(--color-surface);stroke:var(--control-edge);stroke-width:1}.part.active{fill:var(--accent);stroke:var(--color-text);fill-opacity:.8}.visual-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:var(--font-size-11);letter-spacing:.5px;color:var(--muted)}.visual-footer b{color:var(--accent)}button{border:1px solid var(--control-edge);background:var(--color-surface);color:var(--accent);border-radius:var(--radius-sm);padding:9px 12px;font-size:var(--font-size-11)}button:hover{background:var(--color-hover)}button:disabled{cursor:default}.visual-footer button{font-size:var(--font-size-10);letter-spacing:0}.dimension{display:flex;justify-content:space-between;font-size:var(--font-size-11);margin-top:22px;color:var(--color-text)}.ruler{height:5px;background:var(--line);margin:10px 0}.ruler i{display:block;height:100%;background:var(--color-warning)}.part-row{display:flex;gap:16px;align-items:center;border-bottom:1px solid var(--line);padding:12px 0}.part-row:last-child{border:0}.index{font-size:var(--font-size-10);color:var(--muted)}.part-row label{flex:1;font-size:var(--font-size-11);color:var(--muted);min-width:0}.part-row select{font-size:var(--font-size-12);padding:7px 0;background:var(--color-transparent);border:0;display:block;color:var(--color-text);text-overflow:ellipsis}.part-row select option{background:var(--color-bg)}.selected-dot{color:var(--accent);font-size:var(--font-size-10)}.lower{display:grid;grid-template-columns:1.4fr 1fr;gap:20px;margin-top:20px}.empty{font-size:var(--font-size-13);color:var(--muted);padding:30px 0}.shop{margin-top:26px}h3{font-size:var(--font-size-13);font-weight:500;margin:12px 0}.purchase{display:flex;align-items:start;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding:12px 0}.purchase strong{font-size:var(--font-size-12);font-weight:500}.purchase b{font-size:var(--font-size-12);white-space:nowrap}small{display:block;font-size:var(--font-size-10);color:var(--muted);line-height:1.8;overflow-wrap:anywhere}.subtotal{display:flex;justify-content:space-between;font-size:var(--font-size-11);color:var(--muted)}.total{border-top:1px solid var(--line);padding:22px 0;display:flex;gap:12px;justify-content:space-between;align-items:center;font-size:var(--font-size-13)}.total strong{font-size:var(--font-size-23);color:var(--accent);white-space:nowrap}.single{border-top:1px solid var(--line);padding-top:12px}.single p{font-size:var(--font-size-12)}.single b{float:right}details{font-size:var(--font-size-11);color:var(--muted);padding:16px 0;overflow-wrap:anywhere}.actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.check{border-bottom:1px solid var(--line);padding:17px 0}.check>span{color:var(--color-warning);font-size:var(--font-size-10)}.check.pass>span{color:var(--accent)}.check.fail>span,.warning{color:var(--color-danger)}.check h3{font-size:var(--font-size-12);line-height:1.6}.check p{font-size:var(--font-size-11);line-height:1.7;color:var(--muted)}.warning{font-size:var(--font-size-12)}textarea{width:100%;margin-top:12px;background:var(--color-bg);color:var(--color-text);border:1px solid var(--line);padding:12px}.export-label{font-size:var(--font-size-12);margin-top:12px}footer{padding:35px 0;display:flex;justify-content:space-between;gap:20px;font-size:var(--font-size-10);color:var(--muted)}@media(max-width:900px){.intent{grid-template-columns:1fr 1fr}.intent fieldset{grid-column:1/-1}.workspace{grid-template-columns:1fr 1fr}.panel{padding:17px}#scene{height:380px}.visual-footer{flex-wrap:wrap}.lower{grid-template-columns:1fr 1fr}}@media(max-width:620px){input,select,textarea{min-height:44px}input,select,textarea,button,.part-row select{font-size:var(--font-size-16)}.presets button,.visual-footer button,button,.missions span{min-height:44px}.presets button{font-size:var(--font-size-16);padding:10px 12px}.visual-footer button{font-size:var(--font-size-16)}.missions input{min-height:44px}header{padding:19px 5%;gap:10px}.edition{display:none}.mode{font-size:var(--font-size-11);letter-spacing:0}main{padding:0 5%}.intro{padding:32px 0 20px}.intro h1{letter-spacing:-1.5px;font-size:var(--font-size-39);max-width:330px}.intro>p:last-child{font-size:var(--font-size-13)}.intent{gap:18px;grid-template-columns:1fr}.intent>div{min-width:0}.intent select{font-size:var(--font-size-16);padding:12px 7px}.missions{gap:6px}.missions span{font-size:var(--font-size-11);padding:10px}.workspace,.lower{grid-template-columns:1fr}.workspace{gap:14px}#scene{height:330px}.panel{padding:18px}.panel-top>span{font-size:var(--font-size-11)}.total strong{font-size:var(--font-size-20)}.purchase{gap:8px}.purchase strong,.purchase b{font-size:var(--font-size-11)}.single b{float:none;display:block;margin-top:5px}.lower{gap:14px;margin-top:14px}footer{display:block;line-height:1.8}footer span{display:block;margin-top:7px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}.print-only{display:none}.build-state{font-size:var(--font-size-13);color:var(--accent)}@media print{.print-only:not([hidden]){display:block;font-weight:700;color:var(--color-print-text)}.build-state{color:var(--color-print-text)}:root{color:var(--color-print-text);background:var(--color-print-bg)}header,.intro,.intent,.workspace,#status,.actions,footer,textarea,.export-label{display:none!important}main{max-width:none;padding:0}.lower{display:block}.panel{background:var(--color-print-bg);color:var(--color-print-text);border:0;padding:0;margin-bottom:25px;break-inside:auto}.panel-top>span,small,.hint,.subtotal,.check p{color:var(--color-print-muted)}.total strong{color:var(--color-print-text)}.purchase,.shop,.check{break-inside:avoid}details{display:block}details>*{display:block!important}.lower aside{margin-top:30px}.mode{display:block}}nav{display:flex;align-items:center;gap:var(--space-5);font-size:var(--font-size-13)}nav a{min-block-size:44px;display:inline-flex;align-items:center;text-decoration:none;color:var(--muted)}nav a[aria-current=page]{color:var(--color-text)}.mode,#bom-mock,#compat-mock,#visual-mock{font-size:var(--font-size-11);line-height:1.5}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:4px}button,input,select,textarea{transition:background var(--motion-base) var(--motion-ease),border-color var(--motion-base) var(--motion-ease)}button:active{background:var(--color-pressed)}button:disabled{opacity:.65;cursor:default}button:disabled:hover{background:var(--color-surface)}input[type=number],select,textarea{border-color:var(--control-edge)}.sr-only{position:absolute;inline-size:1px;block-size:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.build-tools{padding-block:var(--space-4) var(--space-5);margin-block-end:var(--space-5);border-block-end:1px solid var(--line)}.build-tools .actions{margin-block-start:0}.build-tools input:not([hidden]){padding:var(--space-3);background:var(--color-bg);border:1px solid var(--control-edge);color:var(--color-text);border-radius:var(--radius-md);min-block-size:44px;max-inline-size:100%}.build-tools button{min-block-size:44px}.build-tools #share{background:var(--accent);color:var(--color-on-accent);border-color:var(--accent)}#share-link{inline-size:100%;margin-block-start:var(--space-3)}#saved-builds{max-inline-size:440px}#saved-builds label{display:block;font-size:var(--font-size-13);margin-block-end:var(--space-2)}#build-message{color:var(--accent);font-size:var(--font-size-13);line-height:1.7}#build-message:empty{display:none}#data-stamp:empty{display:none}.total,.subtotal,.purchase b{font-variant-numeric:tabular-nums}@media(max-width:620px){header{flex-wrap:wrap;gap:var(--space-2) var(--space-4)}header nav{order:3;inline-size:100%;gap:var(--space-5)}header .mode{margin-inline-start:auto}.build-tools .actions{align-items:stretch}.build-tools #build-name{inline-size:100%}.panel-top{flex-wrap:wrap}.panel-top>span{overflow-wrap:anywhere}.part-row{gap:var(--space-3)}.visual-footer{letter-spacing:0}.purchase,.total{flex-wrap:wrap}}@media print{.build-tools{display:none}#data-stamp,.part,.case{color:var(--color-print-text)}}.evidence-panel{margin-block-start:var(--space-5);min-inline-size:0;overflow-wrap:anywhere}.evidence-panel h2{font-size:var(--font-size-20)}.evidence-panel h3{font-size:var(--font-size-16)}.evidence-panel p,.evidence-panel label{font-size:var(--font-size-13);line-height:var(--line-height-evidence)}.evidence-panel textarea{font-family:var(--font-sans);font-size:var(--font-size-13);border-radius:var(--radius-md);padding:var(--space-3);border:var(--border-width) solid var(--control-edge)}.part-row button{font-size:var(--font-size-11);padding:var(--space-2);min-block-size:var(--control-min-size)}.product-detail dl>div{padding-block:var(--space-3);border-block-end:var(--border-width) solid var(--line)}.product-detail dt{font-weight:var(--font-weight-strong)}.product-detail dd{margin-inline-start:0;margin-block-start:var(--space-2);font-size:var(--font-size-13)}.comparison-scroll{max-inline-size:100%;overflow-x:auto;margin-block:var(--space-4)}.comparison-scroll table{border-collapse:collapse;min-inline-size:var(--comparison-min-width);inline-size:100%;font-size:var(--font-size-13)}.comparison-scroll th,.comparison-scroll td{border:var(--border-width) solid var(--line);padding:var(--space-3);text-align:start;vertical-align:top}.comparison-scroll caption{padding-block:var(--space-3);text-align:start}.laptop{padding-block:var(--space-5);border-block-end:var(--border-width) solid var(--line)}@media print{.comparison-scroll{overflow:visible}.comparison-scroll table{min-inline-size:0}#close-product{display:none}.evidence-panel textarea{display:block!important;color:var(--color-print-text);background:var(--color-print-bg)}.evidence-panel{color:var(--color-print-text)}}
