:root{--bg: #0f141b;--bg-grad: radial-gradient(1200px 500px at 70% -10%, rgba(242, 169, 0, .07), transparent 60%), radial-gradient(900px 400px at 0% 0%, rgba(76, 130, 195, .06), transparent 55%);--panel: #161d26;--panel-2: #1c2531;--panel-3: #222d3b;--border: #27313f;--border-strong: #35424f;--text: #e9edf2;--muted: #93a1b1;--faint: #6b7889;--brand: #f2a900;--brand-soft: rgba(242, 169, 0, .13);--brand-contrast: #171310;--success: #4cc38a;--success-soft: rgba(76, 195, 138, .13);--warning: #e6b455;--warning-soft: rgba(230, 180, 85, .12);--danger: #e5646e;--danger-soft: rgba(229, 100, 110, .12);--ai: #f2a900;--font-display: "Roboto Slab", "Rockwell", Georgia, serif;--font-body: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-pill: 999px;--shadow: 0 18px 44px rgba(0, 0, 0, .35);--shadow-soft: 0 8px 22px rgba(0, 0, 0, .25)}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg-grad),var(--bg);background-attachment:fixed;color:var(--text);font-family:var(--font-body);font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased}.num{font-variant-numeric:tabular-nums}.shell{max-width:1180px;margin:0 auto;padding:0 28px 120px}.topbar{position:sticky;top:0;z-index:40;background:#0f141bdb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border)}.topbar-inner{max-width:1180px;margin:0 auto;padding:14px 28px;display:flex;align-items:center;gap:20px}.wordmark{display:flex;align-items:center;gap:12px}.wordmark .hex{width:34px;height:34px;display:grid;place-items:center;background:var(--brand);color:var(--brand-contrast);clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);font-family:var(--font-display);font-weight:700;font-size:18px}.wordmark .name{font-family:var(--font-display);font-weight:700;font-size:17px;letter-spacing:.06em}.wordmark .sub{font-size:11px;color:var(--muted);letter-spacing:.14em;text-transform:uppercase;margin-top:-3px}.persona-switch{margin-left:auto;display:flex;background:var(--panel-2);border:1px solid var(--border);border-radius:var(--radius-pill);padding:3px}.persona-switch button{border:0;background:transparent;color:var(--muted);cursor:pointer;padding:7px 16px;border-radius:var(--radius-pill);font:600 13px var(--font-body);transition:all .15s ease}.persona-switch button.active{background:var(--brand);color:var(--brand-contrast)}.persona-note{font-size:12px;color:var(--faint)}.reset-btn{padding:7px 14px;font-size:12.5px}.input-row .btn{white-space:nowrap;flex-shrink:0}.hero{padding:44px 0 8px}.hero .kicker{color:var(--brand);font:600 12px var(--font-body);letter-spacing:.22em;text-transform:uppercase}.hero h1{font-family:var(--font-display);font-size:34px;font-weight:700;margin:8px 0 6px;letter-spacing:.01em}.hero p{color:var(--muted);margin:0;max-width:640px}.stepper{display:flex;align-items:center;gap:0;margin:30px 0 26px}.step-node{display:flex;align-items:center;gap:10px}.step-dot{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font:700 13px var(--font-body);flex-shrink:0;background:var(--panel-2);color:var(--muted);border:1px solid var(--border-strong);transition:all .2s ease}.step-node.active .step-dot{background:var(--brand);color:var(--brand-contrast);border-color:var(--brand)}.step-node.done .step-dot{background:var(--success-soft);color:var(--success);border-color:var(--success)}.step-label{font-size:13px;font-weight:600;color:var(--faint);white-space:nowrap}.step-node.active .step-label{color:var(--text)}.step-node.done .step-label{color:var(--muted)}.step-line{flex:1;height:1px;background:var(--border-strong);margin:0 14px;min-width:24px}.step-line.done{background:var(--success);opacity:.5}.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);padding:24px 26px;margin-bottom:18px}.card.active{border-color:var(--border-strong);box-shadow:var(--shadow)}.card h2{font-family:var(--font-display);font-size:19px;font-weight:600;margin:0 0 4px;display:flex;align-items:center;gap:10px}.card .card-sub{color:var(--muted);font-size:13.5px;margin:0 0 18px}.collapsed-step{display:flex;align-items:center;gap:12px;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-md);padding:12px 18px;margin-bottom:12px}.collapsed-step .step-tag{font:700 11px var(--font-body);letter-spacing:.1em;text-transform:uppercase;color:var(--success);flex-shrink:0}.collapsed-step .summary{color:var(--text);font-size:13.5px;font-weight:500}.collapsed-step .summary .dim{color:var(--muted);font-weight:400}.collapsed-step button{margin-left:auto;background:transparent;border:1px solid var(--border-strong);color:var(--muted);font:600 12px var(--font-body);padding:5px 12px;border-radius:var(--radius-pill);cursor:pointer}.collapsed-step button:hover{color:var(--text);border-color:var(--faint)}.input-row{display:flex;gap:10px}input[type=text],textarea{width:100%;background:var(--panel-2);border:1px solid var(--border-strong);color:var(--text);border-radius:var(--radius-md);padding:12px 16px;font:500 15px var(--font-body);outline:none;transition:border-color .15s}input[type=text]:focus,textarea:focus{border-color:var(--brand)}input::placeholder,textarea::placeholder{color:var(--faint)}.qty-input{width:64px;background:var(--panel-2);border:1px solid var(--border-strong);color:var(--text);border-radius:var(--radius-sm);padding:6px 8px;font:500 14px var(--font-body);text-align:center}.btn{border:0;cursor:pointer;border-radius:var(--radius-pill);font:600 14px var(--font-body);padding:11px 22px;display:inline-flex;align-items:center;gap:8px;transition:transform .1s ease,opacity .15s}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.45;cursor:default}.btn-brand{background:var(--brand);color:var(--brand-contrast)}.btn-ghost{background:transparent;color:var(--muted);border:1px solid var(--border-strong)}.btn-ghost:hover{color:var(--text)}.btn-warn{background:var(--warning);color:#201a0c}.engine-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px;margin-top:14px}.engine-card{text-align:left;cursor:pointer;background:var(--panel-2);border:1px solid var(--border-strong);border-radius:var(--radius-md);padding:16px 18px;color:var(--text);transition:border-color .15s,background .15s}.engine-card:hover{border-color:var(--brand);background:var(--panel-3)}.engine-card .serial{font:700 17px var(--font-display);letter-spacing:.04em}.engine-card .model{color:var(--brand);font-size:12.5px;font-weight:600;margin-top:2px}.engine-card .acct{color:var(--muted);font-size:13px;margin-top:6px}.engine-detail{display:flex;flex-wrap:wrap;gap:26px 44px;margin-top:4px}.kv .k{font-size:11.5px;color:var(--faint);text-transform:uppercase;letter-spacing:.1em}.kv .v{font-size:15px;font-weight:600;margin-top:2px}.badge{display:inline-flex;align-items:center;gap:6px;border-radius:var(--radius-pill);padding:3px 11px;font:600 12px var(--font-body)}.badge-success{background:var(--success-soft);color:var(--success)}.badge-warning{background:var(--warning-soft);color:var(--warning)}.badge-danger{background:var(--danger-soft);color:var(--danger)}.badge-brand{background:var(--brand-soft);color:var(--brand)}.badge-muted{background:var(--panel-3);color:var(--muted)}.candidate-list{display:grid;gap:10px;margin-top:16px}.candidate{text-align:left;cursor:pointer;display:flex;gap:14px;align-items:flex-start;background:var(--panel-2);border:1px solid var(--border-strong);border-radius:var(--radius-md);padding:15px 18px;color:var(--text);transition:border-color .15s}.candidate:hover{border-color:var(--brand)}.candidate .rank{width:26px;height:26px;flex-shrink:0;border-radius:50%;background:var(--brand-soft);color:var(--brand);display:grid;place-items:center;font:700 13px var(--font-body)}.candidate .title{font-weight:600;font-size:14.5px}.candidate .why{color:var(--muted);font-size:13px;margin-top:3px}.locate-grid{display:grid;grid-template-columns:340px 1fr;gap:22px;align-items:start}@media(max-width:980px){.locate-grid{grid-template-columns:1fr}}.schematic-box{background:var(--panel-2);border:1px solid var(--border);border-radius:var(--radius-md);padding:14px}.schematic-box .cap{font-size:11.5px;color:var(--faint);text-transform:uppercase;letter-spacing:.1em;margin-bottom:8px}table.parts{width:100%;border-collapse:collapse;font-size:13.5px}table.parts th{text-align:left;color:var(--faint);font:600 11px var(--font-body);text-transform:uppercase;letter-spacing:.1em;padding:8px 10px;border-bottom:1px solid var(--border-strong)}table.parts td{padding:9px 10px;border-bottom:1px solid var(--border)}table.parts tr.lvl1 td{font-weight:700;color:var(--brand);font-size:12.5px;letter-spacing:.04em}table.parts tr.selectable{cursor:pointer}table.parts tr.selectable:hover td,table.parts tr.hover-hot td{background:var(--panel-3)}table.parts tr.selected td{background:var(--brand-soft)}table.parts .indent{padding-left:26px}table.parts td.r,table.parts th.r{text-align:right}.art-line{fill:none;stroke:var(--muted);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.art-hatch{fill:none;stroke:var(--faint);stroke-width:1;stroke-linecap:round}.art-accent{fill:none;stroke:var(--brand);stroke-width:1.6;stroke-linecap:round}.balloon-no{color:var(--faint);font-size:11.5px}.narration{background:#10161e;border:1px solid var(--border);border-radius:var(--radius-md);padding:16px 18px;font:13px ui-monospace,SF Mono,Menlo,monospace;color:var(--muted)}.narration .line{padding:2.5px 0;display:flex;gap:10px}.narration .line .tick{color:var(--brand)}.narration .line.done .tick{color:var(--success)}.timeline{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:14px 0 4px}.timeline .node{background:var(--panel-2);border:1px solid var(--border-strong);border-radius:var(--radius-pill);padding:6px 14px;font:600 13px var(--font-body);color:var(--muted)}.timeline .node.final{background:var(--success-soft);border-color:var(--success);color:var(--success)}.timeline .node.blocked-node{background:var(--warning-soft);border-color:var(--warning);color:var(--warning)}.timeline .arrow{color:var(--faint);display:flex;flex-direction:column;align-items:center;line-height:1.1}.timeline .arrow .yr{font-size:10px;color:var(--faint)}.resolve-panel{border:1px solid var(--success);background:var(--success-soft);border-radius:var(--radius-md);padding:18px 20px;margin-top:16px}.resolve-panel h3,.blocked-panel h3{margin:0 0 6px;font-family:var(--font-display);font-size:16px;display:flex;align-items:center;gap:9px}.blocked-panel{border:1px solid var(--warning);background:var(--warning-soft);border-radius:var(--radius-md);padding:18px 20px;margin-top:16px}.kit-list{margin:10px 0 0;display:grid;gap:6px}.kit-line{display:flex;align-items:center;gap:10px;background:#0000002e;border-radius:var(--radius-sm);padding:8px 12px;font-size:13.5px}.kit-line .sku{font-weight:600}.kit-line .qty{margin-left:auto;color:var(--muted)}details.annotation{margin-top:12px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:#00000026}details.annotation summary{cursor:pointer;padding:9px 14px;font:600 12.5px var(--font-body);color:var(--muted);list-style:none}details.annotation summary:before{content:"▸ ";color:var(--faint)}details.annotation[open] summary:before{content:"▾ "}details.annotation .body{padding:4px 14px 12px;font-size:13px;color:var(--muted);font-style:italic;border-top:1px dashed var(--border)}.translation{font-size:14px;margin-top:10px}.translation .src-tag{color:var(--brand);font:700 10.5px var(--font-body);text-transform:uppercase;letter-spacing:.12em}.quote-total-row td{font-weight:700;font-size:15px;border-bottom:0}.avail-in{color:var(--success);font-weight:600;font-size:12.5px}.avail-out{color:var(--warning);font-weight:600;font-size:12.5px}.quote-success{border:1px solid var(--success);background:var(--success-soft);border-radius:var(--radius-md);padding:20px 22px;margin-top:16px}.part-match{display:flex;align-items:center;gap:12px;text-align:left;width:100%;cursor:pointer;background:var(--panel-2);border:1px solid var(--border-strong);border-radius:var(--radius-md);padding:12px 16px;color:var(--text);transition:border-color .15s}.part-match:hover{border-color:var(--brand)}.part-match .sku{font-weight:700;font-size:14px;min-width:110px}.part-match .nm{color:var(--muted);font-size:13.5px}.part-match .tag{margin-left:auto}.ai-tag{display:inline-flex;align-items:center;gap:6px;color:var(--ai);font:600 11.5px var(--font-body);text-transform:uppercase;letter-spacing:.1em}.ai-dot{width:7px;height:7px;border-radius:50%;background:var(--ai);box-shadow:0 0 8px var(--ai)}.powered{position:fixed;right:22px;bottom:16px;z-index:50;display:flex;align-items:center;gap:8px;background:#0f141be6;border:1px solid var(--border);border-radius:var(--radius-pill);padding:7px 15px;font:600 12px var(--font-body);color:var(--muted);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.powered .tk{color:var(--text);font-weight:700}.spinner{width:15px;height:15px;border-radius:50%;border:2px solid var(--border-strong);border-top-color:var(--brand);animation:spin .7s linear infinite;display:inline-block;flex-shrink:0}@keyframes spin{to{transform:rotate(360deg)}}.fade-in{animation:fadeIn .25s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.muted{color:var(--muted)}.small{font-size:12.5px}.error-box{background:var(--danger-soft);border:1px solid var(--danger);color:var(--danger);border-radius:var(--radius-md);padding:10px 16px;font-size:13.5px;margin-top:12px}
