:root {
  --ink: #14251d;
  --paper: #f0f0e8;
  --panel: #e7e8de;
  --line: #b8beb2;
  --green: #16a05d;
  --green-dark: #08713d;
  --acid: #d6f25c;
  --white: #fbfbf7;
  --mono: "DM Mono", Consolas, monospace;
  --sans: "Manrope", sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: var(--sans); }
button, input { font: inherit; }
button { color: inherit; }
.grain { position: fixed; inset: 0; pointer-events: none; opacity: .18; z-index: 20; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.14'/%3E%3C/svg%3E"); }
.topbar { height: 92px; border-bottom: 1px solid var(--ink); display: flex; align-items: center; justify-content: space-between; padding: 0 clamp(22px, 4vw, 72px); }
.brand { color: inherit; text-decoration: none; display: flex; gap: 13px; align-items: center; font: 500 11px/1.15 var(--mono); letter-spacing: .07em; }
.brand-mark { width: 31px; display: grid; grid-template-columns: 1fr 1fr; gap: 3px; transform: rotate(45deg); }
.brand-mark i { display: block; aspect-ratio: 1; background: var(--ink); }
.brand-mark i:nth-child(2) { background: var(--green); }
.system-status { font: 500 10px var(--mono); letter-spacing: .08em; display: flex; gap: 8px; align-items: center; }
.system-status span { width: 7px; height: 7px; border-radius: 50%; background: var(--green); box-shadow: 0 0 0 4px rgba(22,160,93,.12); animation: pulse 2s infinite; }
main { padding: 0 clamp(22px, 4vw, 72px) 100px; max-width: 1700px; margin: auto; }
.eyebrow { margin: 0 0 15px; font: 500 10px var(--mono); letter-spacing: .12em; }
h1 { font-size: clamp(66px, 9vw, 146px); line-height: .76; letter-spacing: -.075em; font-weight: 600; margin: 0; }
h1 em { font-family: Georgia, serif; color: var(--green-dark); font-weight: normal; }
.control-deck { display: grid; grid-template-columns: .75fr 1.25fr .72fr; gap: clamp(30px, 5vw, 90px); margin-top: 48px; padding: 58px 0; border-top: 1px solid var(--ink); border-bottom: 1px solid var(--ink); position: relative; }
.deck-heading { display: flex; gap: 18px; align-items: flex-start; }
.step { border: 1px solid var(--ink); width: 34px; height: 34px; display: grid; place-items: center; font: 10px var(--mono); flex: none; }
h2 { margin: 0; font-size: clamp(28px, 3vw, 48px); line-height: 1; letter-spacing: -.05em; font-weight: 600; }
.rate-control label { display: block; font: 500 10px var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.mode-stack { min-width: 0; }
.mode-switch { display: grid; grid-template-columns: 1fr 1fr; border: 1px solid var(--ink); margin-bottom: 30px; }
.mode-option { min-height: 66px; padding: 12px 15px; border: 0; background: var(--white); text-align: left; cursor: pointer; display: flex; flex-direction: column; justify-content: space-between; }
.mode-option + .mode-option { border-left: 1px solid var(--ink); }
.mode-option span { color: #657168; font: 8px var(--mono); letter-spacing: .08em; }
.mode-option strong { font-size: 15px; font-weight: 600; }
.mode-option.active { background: var(--ink); color: var(--white); }
.mode-option.active span { color: var(--acid); }
.rate-readout { display: flex; align-items: baseline; border-bottom: 1px solid var(--ink); margin: 8px 0 24px; }
.rate-readout input { width: 100%; border: 0; padding: 0; background: transparent; color: var(--ink); font: 500 clamp(60px, 7vw, 105px)/1 var(--sans); letter-spacing: -.06em; outline: none; }
.rate-readout span { font-size: 31px; }
input[type="range"] { appearance: none; width: 100%; height: 14px; border: 1px solid var(--ink); background: linear-gradient(90deg, var(--green) var(--progress, 1%), var(--white) var(--progress, 1%)); }
input[type="range"]::-webkit-slider-thumb { appearance: none; width: 8px; height: 30px; background: var(--ink); border: 0; cursor: ew-resize; }
.range-labels { display: flex; justify-content: space-between; margin-top: 12px; font: 9px var(--mono); }
#rate-help { color: #5d695f; font-size: 12px; }
.sweep-primer { min-height: 215px; border: 1px solid var(--ink); background: var(--acid); display: grid; grid-template-columns: auto 1fr; align-items: end; gap: 22px; padding: 24px; }
.sweep-mark { font: 500 clamp(54px, 6vw, 92px)/.8 var(--mono); letter-spacing: -.09em; }
.sweep-primer strong { display: block; font-size: 20px; letter-spacing: -.03em; }
.sweep-primer p { margin: 8px 0 0; max-width: 390px; font-size: 12px; line-height: 1.55; }
.run-spec { border-left: 1px solid var(--line); }
.run-spec div, .run-spec label { padding: 7px 0 14px 22px; display: flex; justify-content: space-between; align-items: baseline; border-bottom: 1px solid var(--line); }
.run-spec label { cursor: text; }
.run-spec span, .stats span { font: 9px var(--mono); letter-spacing: .08em; }
.run-spec strong { font: 500 27px var(--mono); }
.run-spec input { width: 125px; padding: 0; border: 0; background: transparent; color: var(--ink); text-align: right; font: 500 27px var(--mono); outline: none; }
.run-spec input:focus { color: var(--green-dark); }
.run-spec input::-webkit-inner-spin-button { opacity: 1; }
.workload-warning { margin: 12px 0 0 22px; color: #68746b; font: 8px/1.5 var(--mono); letter-spacing: .06em; }
.workload-warning.invalid { color: #a03b28; }
.run-button { position: absolute; right: 0; bottom: -28px; width: min(360px, 42vw); height: 58px; border: 1px solid var(--ink); background: var(--acid); display: flex; justify-content: space-between; align-items: center; padding: 0 20px; font: 500 11px var(--mono); letter-spacing: .08em; cursor: pointer; transition: transform .2s, box-shadow .2s; }
.run-button:hover { transform: translate(-4px, -4px); box-shadow: 5px 5px 0 var(--ink); }
.run-button svg { width: 22px; fill: none; stroke: currentColor; stroke-width: 1.5; }
.button-working { display: none; }
.run-button.loading .button-label { display: none; }
.run-button.loading .button-working { display: inline; }
.run-button.loading svg { animation: slide 1s infinite; }
.run-button:disabled { cursor: wait; }
.results, .sweep-results { padding-top: 100px; }
.hidden { display: none; }
.section-head { display: flex; align-items: end; justify-content: space-between; margin-bottom: 36px; }
.ghost-button { border: 0; border-bottom: 1px solid var(--ink); background: transparent; padding: 8px 2px; cursor: pointer; font: 500 10px var(--mono); letter-spacing: .08em; }
.stats { display: grid; grid-template-columns: repeat(4, 1fr); border: 1px solid var(--ink); }
.stats article { min-height: 150px; padding: 22px; border-right: 1px solid var(--ink); display: flex; flex-direction: column; }
.stats article:last-child { border: 0; }
.stats strong { font-size: clamp(30px, 4vw, 60px); letter-spacing: -.055em; margin: auto 0 0; }
.stats small { font: 9px var(--mono); color: #67736a; margin-top: 4px; }
.legend-bar { display: flex; align-items: center; gap: 22px; min-height: 60px; font: 9px var(--mono); border-bottom: 1px solid var(--ink); }
.legend-bar div { display: flex; align-items: center; gap: 7px; }
.legend { width: 10px; height: 10px; display: inline-block; border: 1px solid var(--line); }
.legend.success { background: var(--green); border-color: var(--green); }
.legend.failure { background: var(--white); }
.legend-bar p { margin-left: auto; color: #59645d; }
.matrix-shell { position: relative; padding: 50px 0 0 52px; }
.axis-y, .axis-x { position: absolute; font: 9px var(--mono); letter-spacing: .08em; }
.axis-y { left: 0; top: 67px; writing-mode: vertical-rl; transform: rotate(180deg); }
.axis-x { top: 21px; left: 52px; }
.matrix-scroll { width: 100%; overflow: auto; background: var(--white); border: 1px solid var(--ink); position: relative; max-height: 720px; }
#matrix { display: block; image-rendering: pixelated; }
.tooltip { display: none; position: fixed; z-index: 30; pointer-events: none; background: var(--ink); color: var(--white); padding: 9px 11px; font: 10px/1.5 var(--mono); box-shadow: 4px 4px 0 var(--acid); }
.tooltip.visible { display: block; }
.analytics { margin-top: 95px; border-top: 1px solid var(--ink); padding-top: 54px; }
.analytics-heading { display: grid; grid-template-columns: 1.1fr .9fr; gap: 60px; align-items: end; margin-bottom: 42px; }
.analytics-heading h3 { margin: 0; font: 600 clamp(42px, 5vw, 78px)/.95 var(--sans); letter-spacing: -.065em; }
.analytics-heading > p { max-width: 570px; justify-self: end; margin: 0; font-size: 16px; line-height: 1.65; }
.chart-grid { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--ink); border-left: 1px solid var(--ink); }
.chart-card { min-width: 0; min-height: 460px; padding: clamp(22px, 3vw, 42px); border-right: 1px solid var(--ink); border-bottom: 1px solid var(--ink); background: rgba(251,251,247,.3); display: flex; flex-direction: column; overflow: hidden; }
.chart-card:nth-child(2) { background: var(--ink); color: var(--white); }
.chart-card header { display: grid; grid-template-columns: 80px 1fr; gap: 20px; min-height: 96px; }
.chart-number { font: 9px var(--mono); letter-spacing: .08em; padding-top: 5px; }
.chart-card h4 { margin: 0 0 8px; font-size: clamp(23px, 2.2vw, 35px); line-height: 1; letter-spacing: -.045em; }
.chart-card header p { margin: 0; color: #647168; font-size: 12px; line-height: 1.5; max-width: 430px; }
.chart-card:nth-child(2) header p { color: #a9b4ad; }
.data-chart { width: 100%; height: 250px; display: block; margin-top: auto; cursor: crosshair; }
.chart-card footer { border-top: 1px solid var(--line); margin-top: 16px; padding-top: 13px; display: flex; align-items: center; gap: 8px; min-height: 34px; font: 8px var(--mono); letter-spacing: .05em; }
.chart-card:nth-child(2) footer { border-color: #526158; }
.chart-card footer strong { margin-left: auto; font-weight: 500; color: var(--green-dark); text-align: right; }
.chart-card:nth-child(2) footer strong { color: var(--acid); }
.key { width: 11px; height: 3px; display: inline-block; background: var(--green); }
.key.target { margin-left: 8px; background: transparent; border-top: 1px dashed #78837b; }
.chart-wide { grid-column: span 2; }
.rank-card { background: var(--acid); }
.rank-card footer { border-color: rgba(20,37,29,.35); }
.first-success-card { background: #dce7dc; }
.first-success-card .key.never { height: 10px; background: var(--ink); }
.first-success-card footer { border-color: rgba(20,37,29,.25); }
.waiting-card { min-height: 900px; }
.waiting-card header { margin-bottom: 24px; }
.waiting-toolbar { display: flex; flex-wrap: wrap; gap: 1px; border: 1px solid var(--ink); background: var(--ink); margin-bottom: 16px; }
.waiting-control-group { display: flex; align-items: stretch; flex: 1 1 auto; background: var(--panel); }
.waiting-control-group > span { display: grid; place-items: center; padding: 0 10px; border-right: 1px solid var(--ink); color: #5d6a61; font: 8px var(--mono); letter-spacing: .08em; }
.waiting-control { min-height: 38px; padding: 0 11px; border: 0; border-right: 1px solid var(--line); background: transparent; font: 8px var(--mono); letter-spacing: .05em; cursor: pointer; white-space: nowrap; }
.waiting-control:hover:not(:disabled) { background: var(--white); }
.waiting-control.active { background: var(--ink); color: var(--acid); }
.waiting-control:disabled { opacity: .35; cursor: not-allowed; }
.waiting-layers { flex: 2 1 auto; }
.waiting-instruction { display: flex; align-items: center; gap: 9px; min-height: 34px; font: 8px var(--mono); letter-spacing: .06em; }
.waiting-instruction #waiting-view-label { margin-left: auto; color: #647168; }
.brush-icon { width: 18px; height: 12px; border-left: 1px solid var(--ink); border-right: 1px solid var(--ink); background: rgba(22,160,93,.18); }
.waiting-chart { height: 340px; touch-action: none; user-select: none; }
.waiting-selection { display: grid; grid-template-columns: 1.5fr repeat(6, 1fr); border: 1px solid var(--ink); border-right: 0; margin-top: 16px; }
.waiting-selection > div { min-height: 78px; padding: 13px; border-right: 1px solid var(--ink); display: flex; flex-direction: column; justify-content: space-between; }
.waiting-selection span { font: 8px var(--mono); letter-spacing: .06em; color: #657269; }
.waiting-selection strong { font: 500 clamp(14px, 1.6vw, 22px) var(--mono); letter-spacing: -.04em; }
.waiting-selection .selection-range strong { color: var(--green-dark); }
.first-success-card .key.cumulative { height: 3px; background: var(--green-dark); }
.first-success-card .key.survival { height: 3px; background: #a74d32; }
.finance-analysis { margin-top: 95px; border-top: 1px solid var(--ink); padding-top: 55px; }
.finance-heading { display: grid; grid-template-columns: 1.1fr .9fr; align-items: end; gap: 60px; margin-bottom: 40px; }
.finance-heading h3 { margin: 0; font: 600 clamp(42px, 5vw, 78px)/.92 var(--sans); letter-spacing: -.065em; }
.finance-heading > p { max-width: 560px; justify-self: end; margin: 0; font-size: 16px; line-height: 1.65; }
.finance-stats { display: grid; grid-template-columns: repeat(5, 1fr); border: 1px solid var(--ink); border-right: 0; margin-bottom: 1px; }
.finance-stats > div { min-height: 110px; padding: 17px; border-right: 1px solid var(--ink); display: flex; flex-direction: column; justify-content: space-between; }
.finance-stats span { font: 8px var(--mono); letter-spacing: .07em; }
.finance-stats strong { font: 500 clamp(18px, 2.2vw, 34px) var(--mono); letter-spacing: -.05em; }
.finance-stats strong.positive { color: var(--green-dark); }
.finance-stats strong.negative { color: #a74d32; }
.finance-grid { display: grid; grid-template-columns: 1fr 1fr; border-left: 1px solid var(--ink); border-top: 1px solid var(--ink); }
.finance-card { min-width: 0; min-height: 480px; padding: clamp(22px, 3vw, 42px); border-right: 1px solid var(--ink); border-bottom: 1px solid var(--ink); background: var(--panel); display: flex; flex-direction: column; }
.finance-card.finance-wide { grid-column: span 2; background: var(--ink); color: var(--white); }
.finance-card.sensitivity-card { background: #dce7dc; }
.finance-card header { display: grid; grid-template-columns: 85px 1fr; gap: 18px; min-height: 95px; }
.finance-card header > span { padding-top: 5px; font: 8px var(--mono); letter-spacing: .07em; }
.finance-card h4 { margin: 0 0 8px; font-size: clamp(23px, 2.2vw, 35px); line-height: 1; letter-spacing: -.045em; }
.finance-card header p { margin: 0; max-width: 520px; color: #657169; font-size: 12px; line-height: 1.5; }
.finance-wide header p { color: #aeb8b2; }
.finance-chart { height: 280px; }
.finance-card footer { border-top: 1px solid var(--line); padding-top: 13px; margin-top: 16px; display: flex; align-items: center; gap: 8px; font: 8px var(--mono); letter-spacing: .05em; }
.finance-wide footer { border-color: #526158; }
.finance-card footer strong { margin-left: auto; font-weight: 500; color: var(--green-dark); }
.finance-wide footer strong { color: var(--acid); }
.key.positive { background: var(--green); }
.key.negative { background: #a74d32; }
.key.current { width: 3px; height: 11px; background: var(--ink); }
.chart-tooltip { display: none; position: fixed; z-index: 40; max-width: 270px; pointer-events: none; background: var(--ink); color: var(--white); padding: 11px 13px; border: 1px solid var(--acid); box-shadow: 5px 5px 0 rgba(20,37,29,.22); font: 9px/1.65 var(--mono); letter-spacing: .03em; }
.chart-tooltip.visible { display: block; }
.chart-tooltip strong { color: var(--acid); font-weight: 500; }
.chart-tooltip small { color: #b7c1ba; font-size: 8px; }
.sweep-result-head { display: grid; grid-template-columns: 1fr .85fr; align-items: end; gap: 50px; margin-bottom: 36px; }
.sweep-result-head > p { max-width: 620px; justify-self: end; margin: 0; font-size: 16px; line-height: 1.6; }
.sweep-stats { display: grid; grid-template-columns: repeat(4, 1fr); border: 1px solid var(--ink); border-right: 0; }
.sweep-stats > div { min-height: 112px; padding: 18px; border-right: 1px solid var(--ink); display: flex; flex-direction: column; justify-content: space-between; }
.sweep-stats span, .decision-console span { font: 8px var(--mono); letter-spacing: .08em; }
.sweep-stats strong { font: 500 clamp(22px, 2.5vw, 38px) var(--mono); letter-spacing: -.05em; }
.decision-console { display: grid; grid-template-columns: 1.1fr 1.4fr .8fr; border: 1px solid var(--ink); border-top: 0; background: #dce7dc; }
.decision-console > div { min-height: 245px; padding: clamp(22px, 3vw, 38px); border-right: 1px solid var(--ink); }
.decision-console > div:last-child { border: 0; }
.decision-copy h3 { margin: 0 0 18px; font-size: clamp(34px, 4vw, 62px); line-height: .92; letter-spacing: -.06em; }
.decision-copy > p:last-child { margin: 0; max-width: 530px; font-size: 13px; line-height: 1.65; }
.decision-controls { display: flex; flex-direction: column; justify-content: center; }
.decision-controls label { display: flex; justify-content: space-between; align-items: end; margin-bottom: 14px; font: 8px var(--mono); letter-spacing: .08em; }
.decision-controls label strong { font: 500 36px var(--mono); letter-spacing: -.06em; }
#sweep-probability { --progress: 0%; }
.policy-lock { margin-top: 25px; padding: 13px 15px; border: 1px solid var(--ink); background: rgba(251,251,247,.42); display: grid; gap: 4px; }
.policy-lock span { color: #5f6b63; }
.policy-lock strong { font: 500 14px var(--mono); letter-spacing: -.02em; }
.policy-lock small { color: var(--green-dark); font: 8px var(--mono); letter-spacing: .07em; }
.decision-jump { margin-top: 10px; min-height: 38px; border: 1px solid var(--ink); background: var(--ink); color: var(--acid); font: 8px var(--mono); letter-spacing: .08em; cursor: pointer; transition: transform .18s ease, box-shadow .18s ease; }
.decision-jump:hover { transform: translate(-2px, -2px); box-shadow: 3px 3px 0 var(--green); }
.decision-jump:disabled { opacity: .45; cursor: not-allowed; transform: none; box-shadow: none; }
.decision-readout { display: flex; flex-direction: column; }
.decision-readout > strong { margin: 13px 0 3px; font: 500 clamp(28px, 3.5vw, 52px)/.9 var(--mono); letter-spacing: -.07em; }
.decision-readout > small { color: #5d6a61; font: 8px/1.5 var(--mono); }
.decision-readout > div { display: flex; justify-content: space-between; align-items: end; border-top: 1px solid var(--line); padding-top: 12px; margin-top: auto; }
.decision-readout > div + div { margin-top: 10px; }
.decision-readout b { font: 500 19px var(--mono); }
.decision-readout b.positive { color: var(--green-dark); }
.decision-readout b.negative { color: #a74d32; }
.sweep-grid { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--ink); border-left: 1px solid var(--ink); margin-top: 56px; }
.sweep-card { min-width: 0; min-height: 470px; padding: clamp(22px, 3vw, 40px); border-right: 1px solid var(--ink); border-bottom: 1px solid var(--ink); background: rgba(251,251,247,.42); display: flex; flex-direction: column; overflow: hidden; }
.sweep-card.sweep-wide { grid-column: span 2; }
.sweep-card.sweep-dark { background: var(--ink); color: var(--white); }
.sweep-card.sweep-acid { background: var(--acid); }
.sweep-card header { display: grid; grid-template-columns: 86px 1fr; gap: 20px; min-height: 100px; }
.sweep-card header > span { padding-top: 5px; font: 8px var(--mono); letter-spacing: .08em; }
.sweep-card h4 { margin: 0 0 8px; font-size: clamp(24px, 2.3vw, 38px); line-height: 1; letter-spacing: -.05em; }
.sweep-card header p { margin: 0; color: #657169; font-size: 12px; line-height: 1.5; max-width: 560px; }
.sweep-card.sweep-dark header p { color: #aab5ae; }
.sweep-chart { height: 270px; }
.sweep-card footer { display: flex; justify-content: space-between; gap: 20px; border-top: 1px solid var(--line); padding-top: 13px; margin-top: 16px; font: 8px var(--mono); letter-spacing: .06em; }
.sweep-card.sweep-dark footer { border-color: #526158; }
.sweep-card footer strong { color: var(--green-dark); font-weight: 500; text-align: right; }
.sweep-card.sweep-dark footer strong { color: var(--acid); }
.target-planner-card { min-height: 760px; background: linear-gradient(135deg, rgba(220,231,220,.78), rgba(251,251,247,.48) 58%); }
.target-planner { display: grid; grid-template-columns: 210px 1fr 180px; gap: 20px; align-items: end; padding: 18px; margin: 4px 0 14px; border: 1px solid var(--ink); background: rgba(251,251,247,.6); }
.target-mode { display: grid; grid-template-columns: 1fr; border: 1px solid var(--ink); }
.target-mode button { min-height: 36px; border: 0; background: transparent; color: var(--ink); font: 8px var(--mono); letter-spacing: .07em; cursor: pointer; }
.target-mode button + button { border-top: 1px solid var(--ink); }
.target-mode button.active { background: var(--ink); color: var(--acid); }
.target-slider-block label { display: flex; justify-content: space-between; align-items: end; gap: 20px; margin-bottom: 10px; font: 8px var(--mono); letter-spacing: .07em; }
.target-slider-block label strong { font: 500 26px var(--mono); letter-spacing: -.05em; }
#target-range { --progress: 10%; }
.target-scale { display: flex; justify-content: space-between; margin-top: 7px; color: #667169; font: 7px var(--mono); }
.target-exact { display: grid; gap: 8px; font: 8px var(--mono); letter-spacing: .07em; }
.target-exact > span:last-child { display: grid; grid-template-columns: 1fr auto; border-bottom: 1px solid var(--ink); align-items: end; }
.target-exact input { min-width: 0; width: 100%; border: 0; background: transparent; padding: 7px 0; font: 500 21px var(--mono); outline: none; }
.target-exact i { padding: 0 0 9px 8px; color: var(--green-dark); font: normal 8px var(--mono); }
.target-readout { display: grid; grid-template-columns: 1.3fr repeat(3, 1fr); border: 1px solid var(--ink); margin-bottom: 20px; }
.target-readout > div { min-height: 90px; padding: 13px 16px; border-right: 1px solid var(--ink); display: flex; flex-direction: column; justify-content: space-between; }
.target-readout > div:last-child { border-right: 0; }
.target-readout span { font: 7px var(--mono); letter-spacing: .07em; color: #59655d; }
.target-readout strong { font: 500 clamp(18px, 2vw, 29px) var(--mono); letter-spacing: -.05em; }
.target-readout small { color: #667169; font: 7px/1.4 var(--mono); }
.target-readout .target-primary { background: var(--ink); color: var(--white); }
.target-readout .target-primary span { color: var(--acid); }
.target-readout .target-primary strong { color: var(--acid); }
.target-readout .target-primary small { color: #bdc7c0; }
.target-planner-card .sweep-chart { height: 300px; }
.decision-curve-card { min-height: 560px; background: #dce7dc; }
.decision-curve-card .sweep-chart { height: 340px; }
footer { border-top: 1px solid var(--ink); min-height: 90px; display: flex; justify-content: space-between; align-items: center; padding: 0 clamp(22px, 4vw, 72px); font: 9px var(--mono); letter-spacing: .08em; }
@keyframes pulse { 50% { opacity: .4; } }
@keyframes slide { 50% { transform: translateX(5px); } }
@media (max-width: 850px) {
  .control-deck { grid-template-columns: 1fr; }
  .run-button { width: 70vw; }
  .stats { grid-template-columns: 1fr 1fr; }
  .stats article:nth-child(2) { border-right: 0; }
  .stats article:nth-child(-n+2) { border-bottom: 1px solid var(--ink); }
  .analytics-heading { grid-template-columns: 1fr; gap: 25px; }
  .analytics-heading > p { justify-self: start; }
  .finance-heading { grid-template-columns: 1fr; gap: 24px; }
  .finance-heading > p { justify-self: start; }
  .finance-stats { grid-template-columns: repeat(2, 1fr); }
  .finance-grid { grid-template-columns: 1fr; }
  .finance-card.finance-wide { grid-column: span 1; }
  .chart-grid { grid-template-columns: 1fr; }
  .chart-wide { grid-column: span 1; }
  .sweep-result-head { grid-template-columns: 1fr; gap: 24px; }
  .sweep-result-head > p { justify-self: start; }
  .sweep-stats { grid-template-columns: 1fr 1fr; }
  .decision-console { grid-template-columns: 1fr; }
  .decision-console > div { min-height: 0; border-right: 0; border-bottom: 1px solid var(--ink); }
  .sweep-grid { grid-template-columns: 1fr; }
  .sweep-card.sweep-wide { grid-column: span 1; }
  .target-planner { grid-template-columns: 1fr 1.4fr; }
  .target-exact { grid-column: span 2; }
  .target-readout { grid-template-columns: 1fr 1fr; }
  .target-readout > div:nth-child(2) { border-right: 0; }
  .target-readout > div:nth-child(-n+2) { border-bottom: 1px solid var(--ink); }
  .waiting-selection { grid-template-columns: repeat(3, 1fr); }
  .waiting-selection .selection-range { grid-column: span 3; }
}
@media (max-width: 520px) {
  .system-status { display: none; }
  h1 { font-size: 62px; }
  .stats { grid-template-columns: 1fr; }
  .stats article { border-right: 0; border-bottom: 1px solid var(--ink); }
  .legend-bar { flex-wrap: wrap; padding: 12px 0; }
  .legend-bar p { width: 100%; margin: 0; }
  .chart-card { padding: 22px 16px; min-height: 430px; }
  .chart-card header { grid-template-columns: 1fr; gap: 8px; }
  .data-chart { height: 230px; }
  .chart-card footer { flex-wrap: wrap; }
  .chart-card footer strong { width: 100%; margin: 5px 0 0; text-align: left; }
  .waiting-card { min-height: 1050px; }
  .waiting-toolbar { display: block; background: transparent; }
  .waiting-control-group { border-bottom: 1px solid var(--ink); overflow-x: auto; }
  .waiting-control-group:last-child { border-bottom: 0; }
  .waiting-control-group > span { min-width: 64px; }
  .waiting-chart { height: 300px; }
  .waiting-selection { grid-template-columns: 1fr 1fr; }
  .waiting-selection .selection-range { grid-column: span 2; }
  .waiting-instruction strong { max-width: 180px; }
  .finance-stats { grid-template-columns: 1fr; }
  .finance-card { padding: 22px 16px; }
  .finance-card header { grid-template-columns: 1fr; gap: 8px; }
  .finance-card footer { flex-wrap: wrap; }
  .finance-card footer strong { width: 100%; margin: 5px 0 0; }
  .mode-switch { grid-template-columns: 1fr; }
  .mode-option + .mode-option { border-left: 0; border-top: 1px solid var(--ink); }
  .sweep-primer { grid-template-columns: 1fr; align-items: start; }
  .sweep-stats { grid-template-columns: 1fr; }
  .target-planner { grid-template-columns: 1fr; padding: 12px; }
  .target-exact { grid-column: span 1; }
  .target-readout { grid-template-columns: 1fr; }
  .target-readout > div { border-right: 0; border-bottom: 1px solid var(--ink); }
  .target-readout > div:last-child { border-bottom: 0; }
  .sweep-card { padding: 22px 16px; min-height: 430px; }
  .sweep-card header { grid-template-columns: 1fr; gap: 8px; }
  .sweep-card footer { flex-direction: column; }
  .sweep-card footer strong { text-align: left; }
}
/* ---------------------------------------------------------------- uncertain world */
.mode-switch { grid-template-columns: repeat(3, 1fr); }
.uncertain-primer { min-height: 215px; border: 1px solid var(--ink); background: var(--ink); color: var(--white); display: grid; grid-template-columns: auto 1fr; align-items: end; gap: 22px; padding: 24px; }
.uncertain-mark { font: 500 clamp(54px, 6vw, 92px)/.8 var(--mono); letter-spacing: -.09em; color: var(--acid); }
.uncertain-mark i { font-style: normal; font-size: .5em; }
.uncertain-primer strong { display: block; font-size: 20px; letter-spacing: -.03em; }
.uncertain-primer p { margin: 8px 0 0; max-width: 400px; font-size: 12px; line-height: 1.55; color: #b3bdb6; }
.uncertain-primer em { color: var(--acid); font-style: italic; }

.belief-deck { padding-top: 84px; }
.belief-head-row { display: grid; grid-template-columns: 1.1fr .9fr; gap: 60px; align-items: end; margin-bottom: 34px; }
.belief-head-row > p { max-width: 620px; justify-self: end; margin: 0; font-size: 15px; line-height: 1.65; }
.belief-head-row strong { font-weight: 600; }

.learning-law { display: grid; grid-template-columns: auto 1fr 1fr; border: 1px solid var(--ink); margin-bottom: 1px; }
.learning-law > span { display: grid; place-items: center; padding: 0 18px; border-right: 1px solid var(--ink); background: var(--panel); font: 8px var(--mono); letter-spacing: .08em; }
.law-option { min-height: 82px; padding: 14px 18px; border: 0; border-right: 1px solid var(--ink); background: var(--white); text-align: left; cursor: pointer; display: flex; flex-direction: column; gap: 6px; }
.law-option:last-child { border-right: 0; }
.law-option strong { font: 500 12px var(--mono); letter-spacing: .04em; }
.law-option small { color: #647168; font-size: 11px; line-height: 1.45; }
.law-option.active { background: var(--ink); color: var(--white); }
.law-option.active strong { color: var(--acid); }
.law-option.active small { color: #a9b4ad; }

.belief-table { border: 1px solid var(--ink); background: rgba(251,251,247,.42); }
.belief-columns, .belief-row { display: grid; grid-template-columns: 1.6fr 1fr 1fr 1.15fr; }
.belief-columns { border-bottom: 1px solid var(--ink); background: var(--panel); }
.belief-columns span { padding: 11px 18px; border-right: 1px solid var(--line); font: 8px var(--mono); letter-spacing: .08em; }
.belief-columns span:last-child { border-right: 0; }
.belief-row { border-bottom: 1px solid var(--line); }
.belief-row:last-child { border-bottom: 0; }
.belief-row.disabled { opacity: .4; }
.belief-name { padding: 15px 18px; border-right: 1px solid var(--line); display: flex; flex-direction: column; gap: 4px; justify-content: center; }
.belief-name strong { font-size: 14px; font-weight: 600; letter-spacing: -.01em; }
.belief-name small { color: #667169; font-size: 11px; line-height: 1.4; }
.belief-field { padding: 10px 18px; border-right: 1px solid var(--line); display: flex; align-items: center; gap: 6px; }
.belief-field:last-child { border-right: 0; }
.belief-field input { width: 100%; min-width: 0; border: 0; border-bottom: 1px solid var(--line); background: transparent; color: var(--ink); padding: 4px 0; text-align: right; font: 500 21px var(--mono); outline: none; }
.belief-field input:focus { border-bottom-color: var(--green); color: var(--green-dark); }
.belief-field input.invalid { border-bottom-color: #a03b28; color: #a03b28; }
.belief-field i { font-style: normal; color: #667169; font: 9px var(--mono); }
.belief-field.certain input { color: #8b948d; }

.effort-row { align-items: center !important; }
.effort-choice { display: flex; border: 1px solid var(--ink); }
.effort-option { min-height: 30px; padding: 0 9px; border: 0; background: transparent; font: 8px var(--mono); letter-spacing: .06em; cursor: pointer; }
.effort-option + .effort-option { border-left: 1px solid var(--line); }
.effort-option.active { background: var(--ink); color: var(--acid); }

.uncertain-results { padding-top: 100px; }
/* Taller than the other modes' charts: these carry titled axes on both sides. */
.uncertain-results .sweep-chart { height: 320px; }
.uncertain-results .sweep-wide .sweep-chart { height: 360px; }
.uncertain-verdict { display: flex; flex-direction: column; justify-content: center; }
.uncertain-verdict > span { font: 8px var(--mono); letter-spacing: .08em; }
.uncertain-verdict > strong { margin: 8px 0 4px; font: 500 clamp(46px, 6vw, 88px)/.86 var(--mono); letter-spacing: -.075em; }
.uncertain-verdict > small { color: #5d6a61; font: 8px/1.55 var(--mono); letter-spacing: .04em; }
.verdict-split { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 22px; border-top: 1px solid var(--line); padding-top: 14px; }
.verdict-split div { display: flex; flex-direction: column; gap: 5px; }
.verdict-split span { font: 7px var(--mono); letter-spacing: .07em; color: #59655d; }
.verdict-split b { font: 500 clamp(15px, 1.7vw, 22px) var(--mono); letter-spacing: -.04em; }
.verdict-split b.positive, .decision-readout b.positive { color: var(--green-dark); }
.verdict-split b.negative, .decision-readout b.negative { color: #a74d32; }

.key.band { width: 11px; height: 8px; background: rgba(22,160,93,.35); }
.key.band.wide { background: rgba(22,160,93,.16); }
.key.luck { background: #7e8a81; }
.key.parameter { background: var(--green); }
.key.hyper { background: #a74d32; }
.key.spend { background: #a74d32; }
.sweep-card.sweep-dark .key.band { background: rgba(214,242,92,.34); }
.sweep-card.sweep-dark .key.band.wide { background: rgba(214,242,92,.15); }
.risk-source-card { background: var(--panel); }

@media (max-width: 850px) {
  .belief-head-row { grid-template-columns: 1fr; gap: 24px; }
  .belief-head-row > p { justify-self: start; }
  .learning-law { grid-template-columns: 1fr; }
  .learning-law > span { padding: 10px 18px; border-right: 0; border-bottom: 1px solid var(--ink); }
  .law-option { border-right: 0; border-bottom: 1px solid var(--ink); }
  .belief-columns { display: none; }
  .belief-row { grid-template-columns: 1fr 1fr; }
  .belief-name { grid-column: span 2; border-right: 0; border-bottom: 1px solid var(--line); }
  .belief-row { padding-bottom: 6px; }
  .verdict-split { grid-template-columns: 1fr; gap: 10px; }
}
@media (max-width: 520px) {
  .mode-switch { grid-template-columns: 1fr; }
  .uncertain-primer { grid-template-columns: 1fr; align-items: start; }
  .belief-row { grid-template-columns: 1fr; }
  .belief-name { grid-column: span 1; }
  .belief-field { border-right: 0; border-bottom: 1px solid var(--line); }
  .belief-field::before { content: attr(data-label); margin-right: auto; color: #667169; font: 8px var(--mono); letter-spacing: .06em; }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation: none !important; scroll-behavior: auto !important; } }
