:root{--bg:#eceae4;--bg-grad:radial-gradient(1200px 500px at 70% -10%, #f2a90017, transparent 60%), radial-gradient(900px 400px at 0% 0%, #ffffffb3, transparent 55%);--panel:#fff;--panel-2:#f7f5f0;--panel-3:#efece5;--border:#e8e4dc;--border-strong:#d8d3c8;--text:#3b3b3b;--muted:#6f6c66;--faint:#a09b91;--brand:#f2a900;--brand-ink:#8a5c00;--brand-soft:#f2a90029;--brand-contrast:#2b2b2b;--success:#2f7d4f;--success-soft:#e9f2ec;--warning:#b06a12;--warning-soft:#faf0dd;--danger:#c8102e;--danger-soft:#fae7ea;--ai:#b06a12;--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 24px 60px #0f172a1a;--shadow-soft:0 12px 34px #0f172a12}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg-grad), var(--bg);color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;background-attachment:fixed;font-size:15px;line-height:1.55}.num{font-variant-numeric:tabular-nums}.shell{max-width:1180px;margin:0 auto;padding:0 28px 120px}.topbar{z-index:40;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);background:#ffffffd1;position:sticky;top:0}.topbar-inner{align-items:center;gap:20px;max-width:1180px;margin:0 auto;padding:14px 28px;display:flex}.wordmark{align-items:center;gap:12px;display:flex}.wordmark .hex{background:var(--brand);width:34px;height:34px;color:var(--brand-contrast);clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);font-family:var(--font-display);place-items:center;font-size:18px;font-weight:700;display:grid}.wordmark .name{font-family:var(--font-display);letter-spacing:.06em;font-size:17px;font-weight:700}.wordmark .sub{color:var(--muted);letter-spacing:.14em;text-transform:uppercase;margin-top:-3px;font-size:11px}.persona-switch{background:var(--panel-2);border:1px solid var(--border);border-radius:var(--radius-pill);margin-left:auto;padding:3px;display:flex}.persona-switch button{color:var(--muted);cursor:pointer;border-radius:var(--radius-pill);font:600 13px var(--font-body);background:0 0;border:0;padding:7px 16px;transition:all .15s}.persona-switch button.active{background:var(--brand);color:var(--brand-contrast)}.persona-note{color:var(--faint);font-size:12px}.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-ink);font:600 12px var(--font-body);letter-spacing:.22em;text-transform:uppercase}.hero h1{font-family:var(--font-display);letter-spacing:.01em;margin:8px 0 6px;font-size:34px;font-weight:700}.hero p{color:var(--muted);max-width:640px;margin:0}.stepper{align-items:center;gap:0;margin:30px 0 26px;display:flex}.step-node{align-items:center;gap:10px;display:flex}.step-dot{width:30px;height:30px;font:700 13px var(--font-body);background:var(--panel-2);color:var(--muted);border:1px solid var(--border-strong);border-radius:50%;flex-shrink:0;place-items:center;transition:all .2s;display:grid}.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{color:var(--faint);white-space:nowrap;font-size:13px;font-weight:600}.step-node.active .step-label{color:var(--text)}.step-node.done .step-label{color:var(--muted)}.step-line{background:var(--border-strong);flex:1;min-width:24px;height:1px;margin:0 14px}.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);margin-bottom:18px;padding:24px 26px}.card.active{border-color:var(--border-strong);box-shadow:var(--shadow)}.card h2{font-family:var(--font-display);align-items:center;gap:10px;margin:0 0 4px;font-size:19px;font-weight:600;display:flex}.card .card-sub{color:var(--muted);margin:0 0 18px;font-size:13.5px}.collapsed-step{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-md);align-items:center;gap:12px;margin-bottom:12px;padding:12px 18px;display:flex}.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{border:1px solid var(--border-strong);color:var(--muted);font:600 12px var(--font-body);border-radius:var(--radius-pill);cursor:pointer;background:0 0;margin-left:auto;padding:5px 12px}.collapsed-step button:hover{color:var(--text);border-color:var(--faint)}.input-row{gap:10px;display:flex}input[type=text],textarea{background:var(--panel-2);border:1px solid var(--border-strong);width:100%;color:var(--text);border-radius:var(--radius-md);font:500 15px var(--font-body);outline:none;padding:12px 16px;transition:border-color .15s}input[type=text]:focus,textarea:focus{border-color:var(--brand)}input::placeholder,textarea::placeholder{color:var(--faint)}.qty-input{background:var(--panel-2);border:1px solid var(--border-strong);width:64px;color:var(--text);border-radius:var(--radius-sm);font:500 14px var(--font-body);text-align:center;padding:6px 8px}.btn{cursor:pointer;border-radius:var(--radius-pill);font:600 14px var(--font-body);border:0;align-items:center;gap:8px;padding:11px 22px;transition:transform .1s,opacity .15s;display:inline-flex}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.45;cursor:default}.btn-brand{background:var(--brand);color:var(--brand-contrast)}.btn-ghost{color:var(--muted);border:1px solid var(--border-strong);background:0 0}.btn-ghost:hover{color:var(--text)}.btn-warn{background:var(--warning);color:#201a0c}.engine-list{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px;margin-top:14px;display:grid}.engine-card{text-align:left;cursor:pointer;background:var(--panel-2);border:1px solid var(--border-strong);border-radius:var(--radius-md);color:var(--text);padding:16px 18px;transition:border-color .15s,background .15s}.engine-card:hover{border-color:var(--brand);background:var(--panel-3)}.engine-card .machine-img{object-fit:contain;mix-blend-mode:multiply;width:100%;height:110px;margin:-2px 0 8px;display:block}.engine-card .serial{font:700 17px var(--font-display);letter-spacing:.04em}.engine-card .model{color:var(--brand-ink);margin-top:2px;font-size:12.5px;font-weight:600}.engine-card .acct{color:var(--muted);margin-top:6px;font-size:13px}.engine-detail{flex-wrap:wrap;gap:26px 44px;margin-top:4px;display:flex}.kv .k{color:var(--faint);text-transform:uppercase;letter-spacing:.1em;font-size:11.5px}.kv .v{margin-top:2px;font-size:15px;font-weight:600}.badge{border-radius:var(--radius-pill);font:600 12px var(--font-body);align-items:center;gap:6px;padding:3px 11px;display:inline-flex}.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)}.symptom-chips{flex-wrap:wrap;align-items:center;gap:7px;margin-top:14px;display:flex}.chips-label{font:600 11px var(--font-body);letter-spacing:.1em;text-transform:uppercase;color:var(--faint);margin-right:3px}.chip{border:1px solid var(--border-strong);background:var(--panel-2);color:var(--muted);border-radius:var(--radius-pill);font:500 12.5px var(--font-body);cursor:pointer;padding:5px 13px;transition:border-color .15s,color .15s}.chip:hover{border-color:var(--brand);color:var(--text)}.chip:disabled{opacity:.5;cursor:default}.candidate-list{gap:10px;margin-top:16px;display:grid}.candidate{text-align:left;cursor:pointer;background:var(--panel-2);border:1px solid var(--border-strong);border-radius:var(--radius-md);color:var(--text);align-items:flex-start;gap:14px;padding:15px 18px;transition:border-color .15s;display:flex}.candidate:hover{border-color:var(--brand)}.candidate .rank{background:var(--brand-soft);width:26px;height:26px;color:var(--brand-ink);font:700 13px var(--font-body);border-radius:50%;flex-shrink:0;place-items:center;display:grid}.candidate .title{font-size:14.5px;font-weight:600}.candidate .why{color:var(--muted);margin-top:3px;font-size:13px}.locate-grid{grid-template-columns:340px 1fr;align-items:start;gap:22px;display:grid}@media (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{color:var(--faint);text-transform:uppercase;letter-spacing:.1em;margin-bottom:8px;font-size:11.5px}table.parts{border-collapse:collapse;width:100%;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;border-bottom:1px solid var(--border-strong);padding:8px 10px}table.parts td{border-bottom:1px solid var(--border);padding:9px 10px}table.parts tr.lvl1 td{color:var(--brand-ink);letter-spacing:.04em;font-size:12.5px;font-weight:700}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:2px;stroke-linecap:round;stroke-linejoin:round}.art-hatch{fill:none;stroke:var(--faint);stroke-width:1px;stroke-linecap:round}.art-accent{fill:none;stroke:var(--brand);stroke-width:1.6px;stroke-linecap:round}.balloon-no{color:var(--faint);font-size:11.5px}.narration{background:var(--panel-2);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--muted);padding:16px 18px;font:13px ui-monospace,SF Mono,Menlo,monospace}.narration .line{gap:10px;padding:2.5px 0;display:flex}.narration .line .tick{color:var(--brand-ink)}.narration .line.done .tick{color:var(--success)}.timeline{flex-wrap:wrap;align-items:center;gap:8px;margin:14px 0 4px;display:flex}.timeline .node{background:var(--panel-2);border:1px solid var(--border-strong);border-radius:var(--radius-pill);font:600 13px var(--font-body);color:var(--muted);padding:6px 14px}.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(--muted);flex-direction:column;align-items:center;line-height:1.1;display:flex}.timeline .arrow .yr{color:var(--faint);font-size:10px}.resolve-panel{border:1px solid var(--success);background:var(--success-soft);border-radius:var(--radius-md);margin-top:16px;padding:18px 20px}.resolve-panel h3,.blocked-panel h3{font-family:var(--font-display);align-items:center;gap:9px;margin:0 0 6px;font-size:16px;display:flex}.blocked-panel{border:1px solid var(--warning);background:var(--warning-soft);border-radius:var(--radius-md);margin-top:16px;padding:18px 20px}.kit-list{gap:6px;margin:10px 0 0;display:grid}.kit-line{border-radius:var(--radius-sm);background:#ffffffbf;align-items:center;gap:10px;padding:8px 12px;font-size:13.5px;display:flex}.kit-line .sku{font-weight:600}.kit-line .qty{color:var(--muted);margin-left:auto}details.annotation{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:#fff9;margin-top:12px}details.annotation summary{cursor:pointer;font:600 12.5px var(--font-body);color:var(--muted);padding:9px 14px;list-style:none}details.annotation summary:before{content:"▸ ";color:var(--faint)}details.annotation[open] summary:before{content:"▾ "}details.annotation .body{color:var(--muted);border-top:1px dashed var(--border);padding:4px 14px 12px;font-size:13px;font-style:italic}.translation{margin-top:10px;font-size:14px}.translation .src-tag{color:var(--brand-ink);font:700 10.5px var(--font-body);text-transform:uppercase;letter-spacing:.12em}.quote-total-row td{border-bottom:0;font-size:15px;font-weight:700}.avail-in{color:var(--success);font-size:12.5px;font-weight:600}.avail-out{color:var(--warning);font-size:12.5px;font-weight:600}.quote-success{border:1px solid var(--success);background:var(--success-soft);border-radius:var(--radius-md);margin-top:16px;padding:20px 22px}.part-match{text-align:left;cursor:pointer;background:var(--panel-2);border:1px solid var(--border-strong);border-radius:var(--radius-md);width:100%;color:var(--text);align-items:center;gap:12px;padding:12px 16px;transition:border-color .15s;display:flex}.part-match:hover{border-color:var(--brand)}.part-match .sku{min-width:110px;font-size:14px;font-weight:700}.part-match .nm{color:var(--muted);font-size:13.5px}.part-match .tag{margin-left:auto}.ai-tag{color:var(--ai);font:600 11.5px var(--font-body);text-transform:uppercase;letter-spacing:.1em;align-items:center;gap:6px;display:inline-flex}.ai-dot{background:var(--ai);width:7px;height:7px;box-shadow:0 0 8px var(--ai);border-radius:50%}.powered{z-index:50;border:1px solid var(--border);border-radius:var(--radius-pill);font:600 12px var(--font-body);color:var(--muted);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffeb;align-items:center;gap:8px;padding:7px 15px;display:flex;position:fixed;bottom:16px;right:22px}.powered .tk{color:var(--text);font-weight:700}.spinner{border:2px solid var(--border-strong);border-top-color:var(--brand);border-radius:50%;flex-shrink:0;width:15px;height:15px;animation:.7s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.fade-in{animation:.25s fadeIn}@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);margin-top:12px;padding:10px 16px;font-size:13.5px}@media (width<=900px){.step-node:not(.active) .step-label{display:none}.step-line{min-width:12px;margin:0 8px}}@media (width<=760px){.shell{padding:0 16px 100px}.topbar-inner{flex-wrap:wrap;gap:10px 12px;padding:10px 16px}.wordmark .sub{display:none}.persona-switch button{padding:6px 12px;font-size:12px}.hero{padding:26px 0 4px}.hero h1{font-size:25px}.stepper{margin:20px 0 16px}.card{padding:18px 16px}.input-row{flex-wrap:wrap}.input-row input[type=text]{flex:100%;min-width:0}.collapsed-step{flex-wrap:wrap;padding:10px 14px}.collapsed-step button{margin-left:0}.engine-detail{gap:14px 24px}table.parts{font-size:12.5px}table.parts th,table.parts td{padding:7px 8px}.powered{padding:5px 12px;bottom:10px;right:12px}}
