:root{--bg:oklch(100% 0 0);--panel:oklch(99.5% 0 0);--surface:oklch(96.7% .006 200);--ink:oklch(20.5% .025 230);--muted:oklch(43% .025 230);--primary:oklch(52% .105 200);--primary-dark:oklch(38% .095 200);--primary-soft:oklch(93% .035 200);--accent:oklch(58% .13 35);--border:oklch(89.5% .01 220);--border-strong:oklch(76% .025 220);--warning:oklch(52% .14 60);--danger:oklch(52% .16 28);--focus:oklch(76% .1 200/.55);--shadow:0 24px 70px oklch(20% .03 230/.08);color:var(--ink);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}body{background:radial-gradient(circle at 15% 0%, oklch(92% .04 200/.4), transparent 30%), linear-gradient(180deg, oklch(98.5% .004 200), var(--bg) 360px);min-width:320px;min-height:100vh;margin:0}button,input,textarea{font:inherit}button{-webkit-tap-highlight-color:transparent}::selection{color:#fff;background:var(--primary)}.app-shell{width:min(1180px,100% - 32px);margin:0 auto;padding:28px 0 56px}.topbar,.result-header{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:24px;display:flex}.result-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.brand-mark{color:var(--primary);margin:0 0 8px;font-size:14px;font-weight:700}.topbar h1,.hero-copy h2,.section-heading h2,.result-header h2,.history-panel h2{color:var(--ink);letter-spacing:-.02em;text-wrap:balance;margin:0}.topbar h1{font-size:30px;line-height:1.15}.step-pill{border:1px solid var(--border);color:var(--muted);background:var(--surface);border-radius:999px;flex:none;padding:8px 12px}.hero-panel,.wizard-grid,.result-page,.history-panel{border:1px solid var(--border);background:var(--panel);box-shadow:var(--shadow);border-radius:28px}.hero-panel{grid-template-columns:minmax(0,1.3fr) minmax(260px,.7fr);gap:28px;padding:42px;display:grid;overflow:hidden}.hero-copy{max-width:720px}.hero-copy h2{font-size:42px;line-height:1.12}.hero-copy p,.section-heading p,.summary-section p{color:var(--muted);text-wrap:pretty}.hero-copy p{max-width:66ch;margin:18px 0 28px;font-size:17px}.process-card{background:var(--surface);border:1px solid var(--border);border-radius:22px;align-content:center;align-self:stretch;gap:12px;padding:28px;display:grid}.process-card span,.process-card strong{background:var(--panel);border-radius:14px;padding:14px 16px;display:block}.process-card strong{color:#fff;background:var(--primary)}.wizard-grid{grid-template-columns:250px 1fr;min-height:620px;display:grid;overflow:hidden}.progress-panel{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;gap:8px;padding:22px;display:flex}.progress-item{color:var(--muted);text-align:left;cursor:default;background:0 0;border:1px solid #0000;border-radius:14px;align-items:center;gap:10px;padding:11px;display:flex}.progress-item.done,.progress-item.active{cursor:pointer}.progress-item span{background:var(--panel);width:24px;height:24px;color:var(--muted);border-radius:999px;place-items:center;font-size:13px;font-weight:700;display:grid}.progress-item.active{color:var(--ink);background:var(--panel);border-color:var(--border-strong)}.progress-item.active span,.progress-item.done span{color:#fff;background:var(--primary)}.form-panel,.result-page{padding:30px}.step-content{gap:24px;display:grid}.section-heading h2,.result-header h2,.history-panel h2{font-size:26px;line-height:1.2}.section-heading p{margin:8px 0 0}.field-grid,.result-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;display:grid}.text-field{color:var(--muted);gap:8px;font-size:14px;font-weight:650;display:grid}.text-field input,textarea{box-sizing:border-box;border:1px solid var(--border);width:100%;color:var(--ink);background:var(--surface);font:inherit;border-radius:14px;padding:12px 14px}textarea{resize:vertical;min-height:120px}.choice-group{border:0;gap:12px;margin:0;padding:0;display:grid}.choice-group legend{color:var(--ink);margin-bottom:12px;font-weight:750}.choice-grid{flex-wrap:wrap;gap:10px;display:flex}.choice{border:1px solid var(--border);min-height:42px;color:var(--ink);background:var(--surface);cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding:0 15px;transition:border-color .18s,background .18s,box-shadow .18s;display:inline-flex;position:relative}.choice:hover{border-color:var(--border-strong)}.choice.active{color:#fff;border-color:var(--primary);background:var(--primary);box-shadow:0 10px 24px oklch(45% .08 200/.18)}.choice input{block-size:14px;inline-size:14px;accent-color:var(--primary)}.choice.active input{accent-color:#fff}.notice,.disclaimer,.notice-list,.explain-box,.gate-box,.result-strip,.summary-section{background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:16px 18px}.gate-box{gap:10px;display:grid}.gate-box h3{color:var(--ink);margin:0;font-size:18px}.gate-box ul{color:var(--muted);gap:8px;margin:0;padding-left:20px;display:grid}.gate-box.blocked{background:oklch(97% .03 70);border-color:oklch(74% .12 60)}.gate-box.pass{background:oklch(96% .03 155);border-color:oklch(78% .08 155)}.notice,.disclaimer,.notice-list p,.explain-box p{color:var(--muted);margin:0}.notice-list,.explain-box{gap:8px;display:grid}.result-strip{justify-content:space-between;align-items:center;gap:12px;display:flex}.result-strip span{color:var(--muted)}.result-strip strong{color:var(--primary-dark);font-size:20px}.panel-picker{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;display:grid}.panel-row{border:1px solid var(--border);background:var(--surface);border-radius:18px;justify-content:space-between;align-items:center;gap:14px;padding:14px;display:flex}.panel-row.active{border-color:var(--primary);box-shadow:0 10px 24px oklch(45% .08 200/.12)}.panel-row strong,.panel-row span{display:block}.panel-row span{color:var(--muted);margin-top:4px;font-size:13px}.quantity-control{align-items:center;gap:6px;display:flex}.quantity-control button,.quantity-control input{box-sizing:border-box;border:1px solid var(--border);width:36px;height:36px;color:var(--ink);background:var(--panel);text-align:center;border-radius:12px}.quantity-control button{cursor:pointer;font-weight:800}.quantity-control input::-webkit-outer-spin-button{appearance:none;margin:0}.quantity-control input::-webkit-inner-spin-button{appearance:none;margin:0}.actions{justify-content:flex-end;gap:12px;padding-top:4px;display:flex}.primary-button,.secondary-button{font:inherit;cursor:pointer;border:1px solid #0000;border-radius:14px;padding:12px 18px;font-weight:750;transition:transform .16s,box-shadow .16s,background .16s}.primary-button{color:#fff;background:var(--primary);box-shadow:0 12px 28px oklch(45% .08 200/.22)}.secondary-button{color:var(--ink);background:var(--surface);border-color:var(--border)}.primary-button:hover,.secondary-button:hover{transform:translateY(-1px)}.primary-button:focus-visible,.secondary-button:focus-visible,.choice:focus-within,.text-field input:focus,textarea:focus,.progress-item:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.metric{border:1px solid var(--border);background:var(--surface);border-radius:18px;gap:8px;min-height:92px;padding:16px;display:grid}.metric span{color:var(--muted);font-size:14px}.metric strong{color:var(--ink);font-size:20px;line-height:1.2}.metric.warning strong{color:var(--warning)}.metric.danger strong{color:var(--danger)}.compact .metric{min-height:72px}.summary-section{gap:12px;margin-top:18px;display:grid}.summary-section.inline{margin-top:0}.summary-section h3{color:var(--ink);margin:0;font-size:18px}.chips{flex-wrap:wrap;gap:10px;display:flex}.chips span{color:var(--primary-dark);background:var(--primary-soft);border-radius:999px;padding:8px 12px;font-weight:700}.estimate-table{border:1px solid var(--border);border-radius:16px;grid-template-columns:minmax(150px,1.4fr) repeat(3,minmax(88px,1fr));display:grid;overflow:auto}.estimate-table span,.estimate-table strong{border-bottom:1px solid var(--border);padding:12px}.estimate-table span:nth-last-child(-n+4),.estimate-table strong:nth-last-child(-n+4){border-bottom:0}.estimate-table>span:nth-child(-n+4){color:var(--muted);background:var(--surface);font-weight:750}.mix-line{color:var(--ink);font-weight:700}.history-panel{margin-top:22px;padding:24px}.history-list{gap:10px;margin-top:16px;display:grid}.history-item{background:var(--surface);border:1px solid var(--border);border-radius:16px;gap:4px;padding:14px;display:grid}.history-item span{color:var(--muted)}@media (width<=860px){.app-shell{width:min(100% - 20px,1180px);padding-top:16px}.topbar,.result-header{flex-direction:column}.result-actions{width:100%}.topbar h1{font-size:24px}.hero-panel,.wizard-grid{grid-template-columns:1fr}.hero-panel,.form-panel,.result-page{padding:20px}.hero-copy h2{font-size:30px}.progress-panel{border-right:0;border-bottom:1px solid var(--border);flex-direction:row;overflow-x:auto}.progress-item{flex:none}.actions{flex-direction:column-reverse}.primary-button,.secondary-button{width:100%}.result-actions .secondary-button{flex:120px;width:auto}.estimate-table{min-width:560px}}@media print{body{background:#fff}.topbar,.progress-panel,.history-panel,.result-actions{display:none!important}.app-shell{width:100%;padding:0}.result-page{box-shadow:none;border:0;padding:0}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}
