:root{--ink:#292321;--muted:#665e59;--red:#d71920;--red-dark:#a7121a;--line:#dfd9d3;--canvas:#f5f2ee;--green:#236846;--green-bg:#ecf6ef;--red-bg:#fff0f1;--amber:#805600;--amber-bg:#fff6df;--blue:#305f7b}
*{box-sizing:border-box}body{margin:0;min-width:320px;background:var(--canvas);color:var(--ink);font:16px/1.5 Aptos,"Segoe UI",Arial,sans-serif}button,input,select{font:inherit}input,select{cursor:pointer}input:focus-visible,select:focus-visible,summary:focus-visible,a:focus-visible{outline:3px solid #d7192060;outline-offset:4px}.skip-link{position:absolute;top:-60px;left:16px;z-index:10;padding:10px;background:white}.skip-link:focus{top:12px}
.topbar{padding:18px 32px;background:var(--ink);color:white;display:flex;justify-content:space-between;align-items:center;gap:24px}.brand{display:flex;align-items:center;gap:18px}.brand img{width:110px;height:40px;object-fit:contain;filter:brightness(0) invert(1)}.divider{height:32px;width:1px;background:#ffffff40}.brand strong{display:block;font-size:21px}.brand div>span{font-size:14px;color:#ddd5cf}.prototype-label{font-size:14px;border:1px solid #ffffff30;border-radius:6px;padding:7px 12px;color:#e7dfd9}
main{max-width:1240px;margin:auto;padding:26px 32px 30px}.context{display:flex;justify-content:space-between;align-items:flex-start;gap:28px;margin-bottom:25px}.eyebrow{color:var(--red-dark);font-size:12px;letter-spacing:.06em;font-weight:700;margin:0 0 6px}h1{font-size:29px;letter-spacing:-.025em;line-height:1.2;margin:0;max-width:750px}.context-control{min-width:235px}.context-control>span{font-size:16px;font-weight:700;display:block}.context-control label{display:block;font-size:12px;color:var(--muted);margin:5px 0}select{width:100%;border:1px solid #c9bfb7;border-radius:7px;padding:9px 12px;background:white;color:var(--ink);font-size:14px}
.section{background:white;border:1px solid var(--line);border-radius:14px;margin-bottom:18px;padding:22px;box-shadow:0 5px 18px #32282005}.section-heading{display:flex;align-items:flex-start;gap:12px;margin-bottom:18px}.step{background:var(--ink);color:white;font-size:14px;font-weight:700;border-radius:8px;padding:8px 10px;flex-shrink:0}h2{font-size:22px;line-height:1.25;margin:0}.section-heading p{margin:4px 0 0;font-size:14px;color:var(--muted)}
.kpi-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:11px}.kpi{border:1px solid var(--line);border-top:3px solid var(--green);border-radius:8px;padding:14px 12px;background:#fcfbfa}.kpi.fail{border-color:#e7a1a6;border-top-color:var(--red);background:var(--red-bg)}.kpi .label{display:block;font-size:14px;font-weight:600;min-height:42px}.kpi strong{font-size:28px;line-height:1.2;display:block;margin:5px 0 9px}.kpi.fail strong{color:var(--red-dark)}.kpi small{font-size:14px;color:var(--muted);display:block}.kpi .result{margin-top:7px;display:block;font-weight:700;color:var(--green);font-size:14px}.kpi.fail .result{color:var(--red-dark)}
.release-banner{margin-top:14px;display:flex;align-items:flex-start;gap:16px;padding:15px 17px;border-radius:8px;background:var(--red-bg);border-left:4px solid var(--red)}.release-banner.clear{background:var(--green-bg);border-left-color:var(--green)}.release-banner .status{border:1px solid currentColor;border-radius:5px;font-size:14px;padding:3px 8px;font-weight:800;white-space:nowrap;color:var(--red-dark)}.release-banner.clear .status{color:var(--green)}.release-banner strong{font-size:16px}.release-banner p{font-size:14px;margin:4px 0 0}.readiness-line{display:flex;align-items:flex-start;gap:9px;margin-top:13px}.check-symbol{color:var(--green);font-weight:800}.readiness-line p{font-size:14px;margin:0;color:var(--muted)}details{font-size:14px;margin-top:12px;color:var(--muted)}summary{cursor:pointer;font-weight:600;color:var(--ink);width:fit-content}details p{margin:10px 0 0;max-width:1080px}#safeguardList{margin-top:8px;display:grid;grid-template-columns:1fr 1fr;gap:8px}#safeguardList>span{padding:7px 10px;background:#f5f3f0;border-radius:5px}
.route-layout{display:grid;grid-template-columns:1fr 1.25fr;gap:28px}.slider-label{display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:16px;font-weight:600}.slider-label output{font-size:23px;color:var(--red-dark);font-weight:750}input[type=range]{width:100%;accent-color:var(--red);margin:13px 0 3px;height:23px}.range-labels{display:flex;justify-content:space-between;font-size:12px;color:var(--muted)}.stock-control{display:flex;align-items:flex-start;gap:10px;margin-top:16px;font-size:14px;line-height:1.5}.stock-control input{flex-shrink:0;width:19px;height:19px;margin:2px 0;accent-color:var(--green)}.route-hint{font-size:14px;color:var(--muted);margin:12px 0 0}.route-result{background:#f7f5f2;border:1px solid var(--line);border-radius:10px;padding:17px;min-width:0}.route-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.route-metrics span{display:block;font-size:14px;color:var(--muted);min-height:42px}.route-metrics strong{display:block;font-size:24px;margin-top:5px}.route-decision{margin-top:14px;border-left:3px solid var(--red);padding:10px 12px;background:var(--red-bg);font-size:14px}.route-decision.clear{background:var(--green-bg);border-left-color:var(--green)}.route-decision.stock{background:var(--amber-bg);border-left-color:var(--amber)}.route-decision strong{display:block;font-size:16px}.route-decision p{margin:4px 0 0}.route-separation{font-size:12px;line-height:1.5;color:var(--muted);margin:10px 0 0}
.timeline{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.timeline>div{position:relative;border:1px solid var(--line);border-top:3px solid var(--red);border-radius:7px;padding:13px 12px;background:#faf8f5}.stage-number{display:inline-flex;width:23px;height:23px;justify-content:center;align-items:center;border-radius:50%;color:white;background:var(--ink);font-size:12px;font-weight:700;margin-bottom:8px}.timeline strong{display:block;font-size:16px}.timeline div>span:not(.stage-number){display:block;color:var(--red-dark);font-weight:650;font-size:14px;margin-top:3px}.timeline p{font-size:14px;color:var(--muted);margin:8px 0 0}.scale-summary{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}.scale-summary>div{padding:12px 14px;background:var(--amber-bg);border-radius:7px;border-left:3px solid var(--amber)}.scale-summary>div:last-child{background:#edf3f7;border-left-color:var(--blue)}.scale-summary strong{font-size:16px}.scale-summary p{font-size:14px;margin:4px 0 0}.ambition{font-size:14px;color:var(--muted);border-top:1px solid var(--line);padding-top:12px;margin:14px 0 0}.ambition strong{color:var(--ink)}footer p{font-size:12px;color:var(--muted);margin:6px 0}
@media(max-width:1000px){.kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.route-layout{grid-template-columns:1fr}.context{flex-wrap:wrap}.context-control{min-width:0;width:260px}}
@media(max-width:650px){main{padding:20px 14px}.topbar{padding:14px;flex-wrap:wrap;gap:10px}.prototype-label{font-size:12px}.brand{gap:12px}.brand img{width:92px}.section{padding:16px}.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.timeline,.scale-summary,#safeguardList{grid-template-columns:1fr}.route-metrics{grid-template-columns:1fr}.route-metrics span{min-height:0}.route-metrics>div{display:flex;justify-content:space-between;align-items:center;gap:16px}.route-metrics strong{margin:0}.release-banner{flex-direction:column;gap:8px}h1{font-size:25px}h2{font-size:20px}.context-control{width:100%}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

/* Decision detail: same three-step surface, no additional controls. */
.context-note{font-size:14px;color:var(--muted);margin:8px 0 0}h3{font-size:16px;line-height:1.35;margin:0}.readiness-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-top:14px}.readiness-chip{padding:10px 12px;background:#f3f7f4;border:1px solid #d8e5dc;border-radius:7px}.readiness-chip strong{font-size:14px;color:var(--green);display:block}.readiness-chip span{display:block;font-size:13px;color:var(--muted);margin-top:3px;line-height:1.5}.readiness-chip.fail{background:var(--red-bg);border-color:#e7a1a6}.readiness-chip.fail strong{color:var(--red-dark)}
.decision-workspace{display:grid;grid-template-columns:1.25fr 1fr;gap:16px;margin-top:18px}.action-panel,.stock-panel{border:1px solid var(--line);border-radius:9px;padding:15px;min-width:0}.panel-heading{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:11px}.panel-icon{display:inline-flex;justify-content:center;align-items:center;width:26px;height:26px;flex-shrink:0;background:#eee8e2;color:var(--ink);border-radius:5px;font-size:19px;font-weight:700}.small-label{font-size:12px;color:var(--muted);margin:0 0 10px}.panel-heading .small-label{margin:0 0 0 auto}.action-item{padding:11px 12px;background:#faf8f5;border-radius:6px;border-left:3px solid var(--amber)}.action-item+.action-item{margin-top:10px}.action-item.priority{border-color:var(--red);background:#fff6f6}.action-item.ready{border-color:var(--green);background:var(--green-bg)}.action-title{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.action-title strong{font-size:15px}.action-label{font-size:12px;font-weight:750;color:var(--amber);text-transform:uppercase;letter-spacing:.025em}.priority .action-label{color:var(--red-dark)}.ready .action-label{color:var(--green)}.action-item p{font-size:14px;margin:5px 0 0}.action-item .action-owner{font-weight:650;color:var(--ink)}.action-item .action-note{font-size:12px;color:var(--muted)}
.stock-equation{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:14px 0 18px}.stock-equation div{min-width:0}.stock-equation div>span{font-size:14px;display:block;color:var(--muted)}.stock-equation strong{font-size:26px;display:block;margin-top:5px}.stock-equation>span{font-size:21px;color:var(--muted)}.stock-equation .saleable strong{color:var(--green)}.stock-bar{height:20px;display:flex;border-radius:5px;overflow:hidden;background:#eee}.saleable-segment{width:93.548387%;background:var(--green)}.quarantine-segment{width:4.354839%;background:#bd8a21}.damaged-segment{width:2.096774%;background:var(--red)}.stock-legend{display:flex;flex-wrap:wrap;gap:8px 18px;font-size:13px;margin-top:11px;color:var(--muted)}.legend-dot{display:inline-block;width:9px;height:9px;border-radius:2px;margin-right:6px}.legend-dot.quarantine{background:#bd8a21}.legend-dot.damaged{background:var(--red)}.stock-note{font-size:14px;margin:16px 0 0;color:var(--muted);border-top:1px solid var(--line);padding-top:13px}
.comparison{margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}.comparison-heading{display:flex;align-items:baseline;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:11px}.comparison-heading>span{font-size:13px;font-weight:650;color:var(--muted)}.comparison-heading>span.saving-positive{color:var(--green)}.comparison-heading>span.saving-negative{color:var(--red-dark)}.bar-row{display:grid;grid-template-columns:105px minmax(0,1fr) 60px;gap:9px;align-items:center;margin:9px 0}.bar-row>span{font-size:13px;color:var(--muted)}.bar-row>strong{font-size:14px;text-align:right}.bar-track{height:20px;position:relative;background:#e9e3dd;border-radius:4px}.cost-bar{height:100%;display:block;background:var(--red);border-radius:4px}.cost-bar.reference{background:#88786b}.cost-bar.pass{background:var(--green)}.gate-line{position:absolute;left:60%;top:-4px;height:28px;border-left:2px dashed var(--red-dark);z-index:1}.chart-note{font-size:12px;color:var(--muted);margin:9px 0 0}.route-owner{border-top:1px solid #d9cec5;padding-top:7px;font-weight:600}.wave-decision{display:flex;align-items:baseline;gap:14px;padding:12px 14px;background:var(--red-bg);border-left:3px solid var(--red);border-radius:6px;margin-bottom:15px;flex-wrap:wrap}.wave-decision.clear{background:var(--green-bg);border-left-color:var(--green)}.wave-decision strong{font-size:16px;flex-shrink:0}.wave-decision span{font-size:14px;color:var(--muted)}
@media(max-width:1000px){.decision-workspace{grid-template-columns:1fr 1fr}.readiness-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:750px){.decision-workspace{grid-template-columns:1fr}.panel-heading .small-label{margin-left:0}.stock-equation strong{font-size:24px}}
@media(max-width:450px){.readiness-grid{grid-template-columns:1fr}.bar-row{grid-template-columns:89px minmax(0,1fr) 52px;gap:6px}.stock-equation div>span{font-size:13px}.stock-equation strong{font-size:22px}}
