*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.6 system-ui,-apple-system,sans-serif}a{color:var(--accent);text-underline-offset:4px}button,input,select{font:inherit}button,.button{display:inline-block;cursor:pointer;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--text);padding:.65rem 1rem;text-decoration:none}button:hover,.button:hover{border-color:var(--accent)}button:disabled{opacity:.55;cursor:wait}.primary{background:var(--accent);color:var(--on-accent);font-weight:700;border-color:var(--accent)}:focus-visible{outline:3px solid var(--accent);outline-offset:4px}header{background:var(--surface);border-bottom:1px solid var(--line);padding:1rem max(1rem,calc((100vw - 1120px)/2));display:flex;align-items:center;gap:1.2rem;flex-wrap:wrap}.brand{font-weight:800;text-decoration:none;color:var(--text);letter-spacing:-.04em}nav{display:flex;gap:1rem;align-items:center}nav a[aria-current=page]{font-weight:750}main{max-width:1060px;margin:0 auto;padding:2.5rem 1rem 5rem}h1{font-size:clamp(1.8rem,5vw,2.8rem);line-height:1.2;letter-spacing:-.04em;margin:.5rem 0 1rem}h2{font-size:1.25rem}h3{font-size:1.05rem}.lead{font-size:1.15rem;max-width:65ch}.muted,dt{color:var(--muted)}.eyebrow{color:var(--accent);font-size:.8rem;font-weight:750;text-transform:uppercase;letter-spacing:.12em}.panel,.hero{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:clamp(1.2rem,4vw,2rem);margin:1.2rem 0;box-shadow:var(--shadow)}.hero{border-top:4px solid var(--accent)}.narrow{max-width:740px}.cards,.metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:1rem}.inset,.metric{padding:1rem;background:var(--bg);border-radius:12px}dd{margin:0;font-weight:750;font-size:1.3rem;overflow-wrap:anywhere}.metric dt{font-size:.85rem}.actions,.examples,.filters{display:flex;gap:.65rem;flex-wrap:wrap}.field{margin:1.5rem 0}label{display:block;font-weight:650;margin-bottom:.4rem}input,select{width:100%;padding:.8rem;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--text)}.filters>div{flex:1;min-width:180px}.chip{display:inline-block;padding:.15rem .6rem;margin:.15rem;border-radius:6px;background:var(--soft);color:var(--accent);font-size:.75rem;font-weight:750}.decision{font-size:clamp(1.8rem,6vw,3rem);font-weight:850;color:var(--accent);overflow-wrap:anywhere}.decision[data-decision=REJECT]{color:#bd4444}.notice{border-left:4px solid var(--accent)}.error{color:#b52d35}ol.steps{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.5rem}.steps li{border-top:4px solid var(--line);padding:.65rem;color:var(--muted)}.steps .done,.steps .current{border-color:var(--accent);color:var(--text)}.steps .current{background:var(--soft);font-weight:750}progress{width:100%;accent-color:var(--accent);height:12px}.job{display:block;text-decoration:none;color:var(--text);border:1px solid var(--line);border-radius:12px;padding:1.2rem;margin:.75rem 0}.job:hover{border-color:var(--accent)}.job h2{margin:0}.evidence{padding-left:1.2rem}.evidence li{padding:1rem 0;border-bottom:1px solid var(--line)}pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:450px;overflow:auto;font-size:.8rem}.skip{position:absolute;left:-9999px}.skip:focus{left:1rem;top:1rem;z-index:5;background:var(--surface)}[hidden]{display:none!important}#feedback{min-height:1.6em}.account-email{overflow-wrap:anywhere}@media(max-width:550px){header{gap:.6rem}header nav{order:3;width:100%;justify-content:space-between}.brand{font-size:.9rem}main{padding-top:1.5rem}.actions>*{flex:1;text-align:center}}@media print{header,.no-print,.skip,#verify-banner{display:none!important}body{background:white;color:black}.panel,.hero{box-shadow:none;break-inside:avoid}main{padding:0;max-width:none}pre{max-height:none}}
/* SVG fills inherit theme-aware semantic colors; text alternatives remain visible. */
.chart{margin-inline:0}.chart svg{width:100%;height:auto;display:block}.chart text{fill:var(--text);font:14px system-ui,sans-serif}.chart .present{fill:var(--accent)}.chart .profit{fill:var(--profit)}.chart .loss{fill:var(--loss)}.chart .cost{fill:var(--cost)}.chart .price-user{fill:var(--accent)}.chart .missing-group{fill:var(--line)}.chart .axis{stroke:var(--muted);stroke-width:1}.chart .break-even{stroke:var(--text);stroke-width:2;stroke-dasharray:5 4}.chart figcaption{font-size:.9rem}.chart figcaption ul{padding-left:1.2rem}.decision[data-decision=GO]{color:var(--profit)}.decision[data-decision=TEST]{color:var(--accent)}.decision[data-decision=HOLD]{color:var(--warning)}.decision[data-decision=REJECT]{color:var(--loss)}.decision[data-decision=INSUFFICIENT_DATA]{color:var(--muted)}.guided{margin-bottom:1.5rem}.guided-steps{grid-template-columns:repeat(5,minmax(0,1fr))!important}.guided-steps li{overflow-wrap:anywhere}.guided-steps .upcoming{color:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(max-width:550px){.guided-steps{grid-template-columns:1fr!important;gap:.2rem!important}.guided-steps li{border-top:0;border-left:4px solid var(--line);padding:.35rem .7rem}.guided-steps li.done,.guided-steps li.current{border-left-color:var(--accent)}}
/* C2 report tabs retain every panel in the printed report. */
.report-tabs{display:flex;gap:.5rem;border-bottom:1px solid var(--line);padding:.5rem 0;flex-wrap:wrap}.report-tabs [aria-selected=true]{background:var(--soft);border-color:var(--accent);color:var(--accent);font-weight:750}.report-tab-panel{min-width:0}.source-group{border-top:1px solid var(--line);padding:1rem 0}.source-group summary{cursor:pointer;font-weight:650;overflow-wrap:anywhere;min-height:44px}.source-group a{overflow-wrap:anywhere}.chart .range-track{stroke:var(--line);stroke-width:10;stroke-linecap:round}.chart .range-value{stroke:var(--accent);stroke-width:10;stroke-linecap:round}
@media(prefers-reduced-motion:no-preference){.report-tab-panel .chart svg{animation:report-chart-in .6s ease-out both;clip-path:inset(0)}@keyframes report-chart-in{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}}
@media print{.report-tab-panel[hidden]{display:block!important}.report-tabs{display:none!important}.chart svg{animation:none!important;clip-path:none!important}.metric .sr-only{position:static;width:auto;height:auto;clip-path:none;white-space:normal}.metric [aria-hidden=true]{display:none}}
.email-confirmation { text-align:center; max-width:520px; margin:auto; }
.email-confirmation h2 { font-size:2rem; letter-spacing:-.04em; }
.confirmation-icon { display:grid; place-items:center; width:72px; height:72px; margin:0 auto 24px; border:1px solid var(--accent); border-radius:50%; background:var(--soft); color:var(--accent); }
.confirmation-icon .icon { width:32px; height:32px; }
.confirmation-help { font-size:var(--type-sm); color:var(--muted); }
/* Focus the page title after a skip/intro transition without outlining the page. */
#main:focus { outline: none; }
#main:focus-visible h1 { text-decoration: underline; text-decoration-color: var(--accent); text-underline-offset: .2em; }
#main h1 { font-size: clamp(1.65rem, 3.5vw, 2.25rem); }
.guided-decide { margin-bottom: 24px; }
@media(max-width: 768px) {
  .guided { display: flex; align-items: center; gap: 8px; height: 56px; max-height: 56px; margin-bottom: 16px; }
  .guided ol.guided-steps { position: relative; display: flex; flex: 1; align-items: center; gap: 8px !important; height: 40px; min-width: 0; margin: 0; padding: 0; }
  .guided .guided-steps li { flex: 0 0 10px; width: 10px; height: 10px; padding: 0; border: 0; border-radius: 50%; background: var(--line); }
  .guided .guided-steps li.done, .guided .guided-steps li.current { background: var(--accent); }
  .guided .guided-steps li.current { box-shadow: 0 0 0 3px var(--soft); }
  .guided .guided-steps li > span[aria-hidden=true] { display: none; }
  .guided-steps .step-label, .guided > p { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
  .guided-steps .current .step-label { left: 100px; right: 0; top: 50%; transform: translateY(-50%); width: auto; height: auto; clip-path: none; white-space: normal; font-size: var(--type-sm); line-height: 20px; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
}
