:root{--blue:#0f6cbd;--blue-dark:#115ea3;--blue-soft:#eff6fc;--ink:#242424;--muted:#616161;--line:#d1d1d1;--soft-line:#e8e8e8;--canvas:#f5f5f5;--white:#fff;--fire:#c50f1f;--fire-soft:#fff4ce;--money:#107c10;--money-soft:#f1faf1;--shadow:0 8px 24px rgba(0,0,0,.08)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--canvas);color:var(--ink);font:14px/1.5 "Segoe UI",SegoeUI,system-ui,sans-serif}button,input,select{font:inherit}.shell{width:min(1280px,calc(100% - 48px));margin-inline:auto}.topbar{height:54px;background:var(--white);border-bottom:1px solid #e5e5e5}.topbar-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:10px;color:var(--ink);font-size:18px;font-weight:600;text-decoration:none}.brand-mark{width:25px;height:25px;display:grid;place-items:center;border-radius:5px;background:linear-gradient(135deg,#8b5cf6,var(--blue) 55%,#2aa0a4);color:#fff;font-weight:700}.topbar nav{display:flex;gap:24px}.topbar nav a{color:var(--ink);text-decoration:none}.topbar nav a:hover{text-decoration:underline}.hero{background:linear-gradient(105deg,#eef6fc,#f8f5ff 55%,#edf8f8);border-bottom:1px solid #dedede;padding:30px 0 28px}.eyebrow{margin:0 0 7px;color:var(--blue);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}h1{margin:0;font-size:32px;line-height:1.2;letter-spacing:-.025em}.lede{max-width:800px;margin:9px 0 0;font-size:16px}.notice{display:flex;gap:10px;max-width:920px;margin:18px 0 0;padding:10px 12px;border-left:3px solid var(--blue);background:rgba(255,255,255,.75)}main{padding-block:28px 52px}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:24px;align-items:start}.panel{background:var(--white);border:1px solid var(--soft-line);border-radius:8px;box-shadow:0 1px 2px rgba(0,0,0,.04)}.panel-section{padding:24px}.panel-section+.panel-section{border-top:1px solid var(--soft-line)}.step-heading{display:flex;gap:12px;margin-bottom:18px}.step-no{width:28px;height:28px;flex:none;display:grid;place-items:center;border-radius:50%;background:var(--blue);color:#fff;font-weight:600}.step-heading h2,.forecast h2{margin:0;font-size:20px}.step-heading p{margin:2px 0 0;color:var(--muted)}.depths{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:0;padding:0;border:0}.depth{position:relative;cursor:pointer}.depth input{position:absolute;opacity:0}.depth>span{min-height:128px;display:flex;flex-direction:column;padding:16px;border:1px solid var(--line);border-radius:6px}.depth strong{font-size:16px}.depth small{margin:5px 0;color:var(--muted);font-size:13px}.depth em{margin-top:auto;color:var(--muted);font-size:12px;font-style:normal}.depth input:checked+span{border:2px solid var(--blue);padding:15px;background:var(--blue-soft);box-shadow:inset 0 0 0 1px #fff}.depth input:focus-visible+span{outline:3px solid #000;outline-offset:2px}.questions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.field{display:flex;flex-direction:column;gap:6px}.field.full{grid-column:1/-1}.field label,.field legend{font-weight:600}.segment-field{min-width:0;margin:0;padding:0;border:0}.segment-field legend{width:100%;margin-bottom:6px}.field .hint{display:block;color:var(--muted);font-size:12px;font-weight:400}.field select,.field input[type=number]{width:100%;min-height:38px;padding:7px 10px;border:1px solid #8a8886;border-radius:4px;background:#fff;color:var(--ink)}.range-row{display:grid;grid-template-columns:1fr 84px;gap:12px;align-items:center}.range-row input[type=range]{accent-color:var(--blue)}.segments{display:grid;grid-template-columns:repeat(3,1fr)}.segments label{position:relative}.segments input{position:absolute;opacity:0}.segments span{min-height:38px;display:grid;place-items:center;padding:6px;border:1px solid var(--line);margin-left:-1px;font-weight:400;text-align:center}.segments label:first-child span{margin-left:0;border-radius:4px 0 0 4px}.segments label:last-child span{border-radius:0 4px 4px 0}.segments input:checked+span{position:relative;border-color:var(--blue);background:var(--blue-soft);color:var(--blue-dark);font-weight:600}.segments input:focus-visible+span,select:focus-visible,input:focus-visible,button:focus-visible,a:focus-visible{outline:3px solid #000;outline-offset:2px}.action-row{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:24px;padding-top:20px;border-top:1px solid var(--soft-line)}.action-row p{margin:0;color:var(--muted)}.action-row strong{color:var(--ink)}button{border:0;cursor:pointer}.primary{min-height:40px;padding:8px 16px;border-radius:4px;background:var(--blue);color:#fff;font-weight:600}.primary:hover{background:var(--blue-dark)}.primary:disabled{cursor:wait;opacity:.7}.forecast{position:sticky;top:20px;overflow:hidden}.forecast-head{display:flex;align-items:start;justify-content:space-between;gap:10px;padding:20px;border-bottom:1px solid var(--soft-line)}.status{display:block;margin-bottom:4px;color:var(--muted);font-size:12px}.status i{font-style:normal}.confidence{padding:4px 7px;border-radius:3px;background:#f3f2f1;color:var(--muted);font-size:11px}.result-visual{min-height:220px;display:grid;place-items:center;background:linear-gradient(150deg,#f8f8f8,#eee)}.result-visual span{font-size:80px;filter:drop-shadow(0 8px 12px rgba(0,0,0,.15))}.result-visual.fire{background:radial-gradient(circle at 50% 65%,#fff4ce,#fde7e9)}.result-visual.money{background:radial-gradient(circle at 50% 65%,#fff,#dff6dd)}.result-visual.loading span{font-size:44px;animation:pulse .8s ease-in-out infinite alternate}.result-body{padding:22px}.kicker{margin:0;color:var(--muted);font-size:12px}.amount{margin:3px 0 14px;font-size:42px;font-weight:650;letter-spacing:-.04em}.result-body h3{margin:0 0 7px;font-size:20px}.result-body>p:last-of-type{margin:0;color:var(--muted)}.result-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:18px}.secondary{min-height:38px;padding:7px 10px;border:1px solid var(--line);border-radius:4px;background:#fff;color:var(--ink);font-weight:600}.secondary:hover{background:#f5f5f5}.info-section,.receipt{margin-top:24px;padding:28px}.info-section h2,.receipt h2{margin:0 0 18px;font-size:24px}.method-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.method-grid p{margin:0;color:var(--muted)}.method-grid strong{color:var(--ink)}.receipt{display:grid;grid-template-columns:1.2fr .8fr;gap:28px}.receipt>div>p:last-child{max-width:720px;color:var(--muted)}.receipt-stats{margin:0}.receipt-stats div{display:flex;justify-content:space-between;gap:15px;padding:11px 0;border-bottom:1px solid var(--soft-line)}.receipt-stats dt{color:var(--muted)}.receipt-stats dd{margin:0;font-weight:650}.receipt-stats .total{border-bottom:0;font-size:17px}.receipt-note{grid-column:1/-1;margin:0;padding:10px 12px;background:var(--blue-soft);color:#424242;font-size:12px}footer{display:flex;justify-content:space-between;gap:30px;padding-block:24px 34px;border-top:1px solid var(--line);color:var(--muted);font-size:12px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@keyframes pulse{to{transform:scale(1.15)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.result-visual.loading span{animation:none}}@media(max-width:900px){.workspace{grid-template-columns:1fr}.forecast{position:static}.receipt{grid-template-columns:1fr}}@media(max-width:600px){.shell{width:min(100% - 28px,1280px)}.topbar{height:auto;min-height:54px}.topbar-inner{padding-block:10px}.topbar nav{gap:12px}.topbar nav a:first-child{display:none}.hero{padding:24px 0}h1{font-size:27px}.panel-section{padding:18px 16px}.depths,.questions,.method-grid{grid-template-columns:1fr}.depth>span{min-height:auto}.field.full{grid-column:auto}.segments{grid-template-columns:1fr}.segments span,.segments label:first-child span,.segments label:last-child span{margin:-1px 0 0;border-radius:0}.segments label:first-child span{margin-top:0;border-radius:4px 4px 0 0}.segments label:last-child span{border-radius:0 0 4px 4px}.action-row{align-items:stretch;flex-direction:column}.primary{width:100%}.forecast-head{padding:16px}.result-visual{min-height:170px}.result-body{padding:18px 16px}.amount{font-size:36px}.result-actions{grid-template-columns:1fr}.info-section,.receipt{padding:20px 16px}.receipt-stats div{flex-direction:column;gap:2px}footer{flex-direction:column;gap:4px}.topbar nav a{font-size:12px}}
