.simulator-heading { padding-bottom: 30px; }
.simulator-heading h1 { font-size: clamp(38px,4.8vw,68px)!important; }
.simulator-heading .lede { max-width: 730px; }
.sim-step-heading { display:flex;align-items:start;gap:18px;margin:25px 0; }
.sim-step-heading>span { font:12px Arial,sans-serif;color:#777;padding-top:8px; }
.sim-step-heading h2 { font-size:32px; }
.sim-step-heading p { color:#666;font-size:14px;margin:10px 0; }
.sim-companies { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px; }
.sim-company { position:relative;background:#fff;color:#252525;text-align:left;border:1px solid #d8d8cf;padding:24px;transition:background .18s,border-color .18s; }
.sim-company[aria-pressed="true"] { border:2px solid #476654;padding:23px;background:#f5f7f2; }
.sim-company:hover { background:#f5f5ef; }
.sim-company svg { width:40px;height:40px;stroke:#476654;stroke-width:1.5;fill:none;display:block;margin-bottom:18px; }
.sim-company-tag { display:block;font-size:10px;color:#666;letter-spacing:.04em;margin-bottom:10px; }
.sim-company h3 { font-size:26px;line-height:1.15;margin:0 0 10px; }
.sim-company p { font-size:12px;line-height:1.7;color:#666; }
.sim-company dl { display:block;padding:15px 0;margin:18px 0;border-block:1px solid #ddd; }
.sim-company dl div { display:flex;justify-content:space-between;gap:10px;margin:6px 0; }
.sim-company dt { font-size:11px;color:#666; }
.sim-company dd { margin:0;font-size:13px; }
.sim-select-label { font-size:12px;display:block;margin-top:20px;color:#365944; }
.sim-deal { display:grid;grid-template-columns:1fr 1fr;gap:50px;margin-top:42px;border-top:1px solid #ccc;padding-top:14px; }
.sim-deal label { font-size:13px;margin:26px 0 10px; }
.sim-deal output { float:right;font-weight:normal; }
.sim-hint { color:#73736a;font-size:11px!important;line-height:1.75; }
.sim-funding { background:#f4f3ee;padding:28px;margin-top:15px; }
.sim-funding .button { width:100%;margin-top:14px; }
.sim-funding-bar { display:flex;height:36px;overflow:hidden;margin:20px 0; }
.sim-funding-bar span { display:flex;align-items:center;justify-content:center;white-space:nowrap;font-size:11px;background:#476654;color:#fff;transition:width .15s; }
.sim-funding-bar span+span { background:#d9d8c9;color:#252525; }
.sim-funding-stats { display:grid;grid-template-columns:1fr 1fr;gap:25px 18px; }
.sim-stat>span { font-size:11px;display:block;margin-bottom:8px; }
.sim-stat strong { font:normal clamp(24px,2.6vw,36px)/1.2 Georgia,serif;display:block;font-variant-numeric:tabular-nums; }
.sim-stat small { font-size:10px;display:block;margin-top:9px;color:#717168;line-height:1.6; }
.sim-goal-intro { padding:22px 0;border-block:1px solid #ddd;font-size:13px;line-height:1.8; }
.sim-owner { display:flex;justify-content:space-between;gap:20px;align-items:center; }
.sim-owner h2 { font-size:38px; }
.sim-owner .eyebrow { margin-bottom:12px; }
.sim-market-code { font:11px monospace;color:#777; }
.sim-progress { display:flex;gap:5px;margin:25px 0; }
.sim-progress span { height:4px;flex:1;background:#e7e7df; }
.sim-progress .complete { background:#476654; }
.sim-dashboard { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));background:#252525;color:white;padding:30px;gap:30px; }
.sim-dashboard .sim-stat small { color:#c0c0b6; }
.sim-dashboard .sim-stat strong { animation:metric-in .25s ease-out; }
.sim-targets { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:22px 0 32px;gap:20px; }
.sim-targets div { font-size:11px;line-height:1.7; }
.sim-targets b { display:block;font-size:10px;color:#7a7a71;margin-bottom:5px; }
.sim-targets .met b { color:#356043; }.sim-targets .missed b { color:#a05238; }
.sim-play-area:focus { outline:none; }
.sim-market { padding:24px 28px;background:#f4f3ee;border-left:3px solid #ad9a73;margin-bottom:28px; }
.sim-market .eyebrow { margin-bottom:12px; }
.sim-market h3,.sim-result-note h3,.sim-ending h3 { font-size:30px;margin:0 0 14px; }
.sim-market p,.sim-result-note p,.sim-ending p { font-size:14px;line-height:1.8;max-width:800px; }
.sim-question { font-size:26px;margin-bottom:20px; }
.sim-actions { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px; }
.sim-actions button { text-align:left;background:white;border:1px solid #cecec3;padding:22px;color:#252525; }
.sim-actions button:hover:not(:disabled) { background:#f1f4ee;border-color:#476654; }
.sim-actions button:disabled { cursor:not-allowed;opacity:.45; }
.sim-actions b { font-size:14px;display:block;margin-bottom:10px; }
.sim-actions span { color:#67675f;display:block;font-size:12px;line-height:1.7; }
.sim-result-note,.sim-ending { background:#f4f3ee;padding:28px;border-top:2px solid #aaa792; }
.sim-result-note .eyebrow,.sim-ending .eyebrow { margin-bottom:18px; }
.sim-ending.win { background:#f0f5ee;border-color:#476654; }
.sim-deltas { display:flex;gap:35px;margin:22px 0;font-size:12px; }
.sim-deltas b { display:block;font:25px Georgia,serif;margin-top:9px; }
.sim-end-actions { display:flex;align-items:center;gap:24px;margin-top:24px; }
.sim-bottom { display:grid;grid-template-columns:1.5fr 1fr;gap:45px;margin:35px 0; }
.sim-bottom h3 { font-size:25px;margin-bottom:15px; }
.sim-cash-chart { width:100%;height:auto; }
.sim-cash-chart text { font:11px Arial,sans-serif;fill:#777; }
.sim-ledger,.sim-history,.sim-rules { font-size:12px;padding:20px 0;border-bottom:1px solid #ddd; }
.sim-history ol { padding-left:20px; }.sim-history li { margin:16px 0; }.sim-history li span { display:block;color:#777;margin-top:7px;font-size:11px;line-height:1.7; }
.sim-ledger table { width:100%;border-collapse:collapse;font-size:12px; }.sim-ledger caption { text-align:left;color:#777;font-size:11px;margin:18px 0;line-height:1.8; }.sim-ledger th { text-align:left;font-weight:normal; }.sim-ledger td { text-align:right;font-variant-numeric:tabular-nums; }.sim-ledger td,.sim-ledger th { padding:9px 0;border-bottom:1px solid #ddd; }.sim-ledger .ledger-total>* { font-weight:bold;border-top:1px solid #252525; }
.sim-rules p { max-width:900px;font-size:12px;line-height:1.85;color:#666; }
@media(max-width:1000px){.sim-companies{gap:12px}.sim-company{padding:18px}.sim-company[aria-pressed="true"]{padding:17px}.sim-company h3{font-size:24px}.sim-deal{gap:28px}.sim-actions{grid-template-columns:1fr 1fr}.sim-dashboard{padding:24px;gap:24px}}
@media(max-width:700px){.sim-companies{grid-template-columns:1fr}.sim-company{display:grid;grid-template-columns:1fr 1fr;gap:0 20px;padding:22px}.sim-company[aria-pressed="true"]{padding:21px}.sim-company svg{grid-column:1/-1;width:30px;height:30px;margin-bottom:12px}.sim-company h3{grid-column:1/-1;font-size:28px}.sim-company-tag{grid-column:1/-1}.sim-company dl{grid-column:2;grid-row:4/7;margin:0}.sim-select-label{grid-column:1/-1;margin-top:12px}.sim-deal{grid-template-columns:1fr;gap:20px}.sim-funding{margin:0;padding:24px}.sim-deal output{float:none;display:block;margin:8px 0}.sim-owner{display:block}.sim-market-code{display:block;margin-top:12px}.sim-dashboard{grid-template-columns:1fr 1fr;padding:23px;gap:26px 18px}.sim-targets{gap:12px}.sim-targets span{font-size:10px}.sim-actions{grid-template-columns:1fr 1fr;gap:10px}.sim-actions button{padding:17px}.sim-actions b{font-size:13px}.sim-actions span{font-size:11px}.sim-bottom{grid-template-columns:1fr;gap:10px}.sim-market,.sim-result-note,.sim-ending{padding:22px}.sim-deltas{gap:24px}.sim-end-actions{flex-wrap:wrap}.sim-step-heading h2{font-size:30px}}
@media(max-width:400px){.sim-company{display:block}.sim-company dl{margin:15px 0}.sim-actions{grid-template-columns:1fr}.sim-targets{grid-template-columns:1fr}.sim-targets div{display:flex;gap:10px}.sim-funding-stats{gap:20px 12px}}
@media(prefers-reduced-motion:reduce){.sim-company,.sim-funding-bar span{transition:none}.sim-dashboard .sim-stat strong{animation:none}}

/* Deliberate interaction: select, commit, observe, review. */
.sim-company,.sim-actions button,#sim-run,#sim-buy { touch-action:manipulation;transition:background .18s ease,border-color .18s ease,box-shadow .18s ease,transform .12s ease; }
.sim-company:active,.sim-actions button:active,#sim-run:not(:disabled):active,#sim-buy:active { transform:translateY(2px) scale(.992);box-shadow:inset 0 2px 6px #00000012; }
.sim-company:focus-visible,.sim-actions button:focus-visible,#sim-run:focus-visible { outline:2px solid #476654;outline-offset:4px; }
.sim-actions button { position:relative; }
.sim-actions button.selected { background:#edf3e9;border-color:#476654;box-shadow:inset 0 0 0 1px #476654; }
.sim-actions button.selected b { color:#2a4b34; }
.sim-actions .sim-choice-status { display:block;margin-top:15px;font-size:11px;color:#53725c; }
.sim-decision-dock { display:flex;align-items:center;justify-content:space-between;gap:25px;background:#f4f4ef;border:1px solid #d6d8ce;padding:20px 22px;margin:24px 0 12px;position:sticky;bottom:16px;z-index:12;box-shadow:0 8px 25px #0000000a; }
.sim-decision-dock.has-selection { background:#f1f6ec;border-color:#a8bca1; }
.sim-decision-dock b { display:block;font-size:15px;font-weight:600;margin:6px 0; }
.sim-dock-label { font-size:9px;letter-spacing:.12em;color:#617358; }
.sim-decision-dock small { font-size:11px;line-height:1.6;display:block;color:#73736a; }
#sim-run { white-space:nowrap;min-height:48px;min-width:165px; }
#sim-run:disabled { background:#deded6;color:#7d7d74;border-color:#deded6;cursor:default;transform:none; }
#sim-run span { margin-left:12px; }
.sim-confirm-note { display:block;font-size:10px;color:#777;margin-top:12px;line-height:1.7;text-align:center; }
.sim-owner,.sim-processing { scroll-margin-top:105px; }
.sim-owner:focus,.sim-processing:focus { outline:none; }
.sim-processing { padding:32px;background:#f4f5ef;border:1px solid #dde2d3; }
.sim-processing .eyebrow { margin-bottom:17px; }
.sim-processing h3 { font-size:30px;margin-bottom:15px; }
.sim-processing>p:not(.eyebrow) { font-size:13px;line-height:1.7;color:#62675c; }
.sim-processing-track { height:5px;background:#dfe5d8;overflow:hidden;margin:30px 0; }
.sim-processing-track span { display:block;height:100%;width:0;background:#476654; }
.sim-processing-steps { display:grid;grid-template-columns:repeat(3,1fr);gap:20px;list-style:none;padding:0;counter-reset:process; }
.sim-processing-steps li { color:#9a9e91;font-size:12px;line-height:1.6;counter-increment:process; }
.sim-processing-steps li::before { content:counter(process,decimal-leading-zero);display:block;font-size:10px;margin-bottom:7px; }
.sim-processing-steps li.active { color:#36563c; }
.sim-processing-status { margin:24px 0 0;min-height:22px; }
.sim-dashboard .sim-stat strong { animation:none; }
.sim-dashboard .sim-stat { position:relative; }
.sim-change { display:inline-block!important;width:fit-content;font-size:10px!important;border:1px solid #75866b;background:#354330;color:#e6ecdf;padding:4px 7px;margin-top:12px;margin-bottom:0!important;border-radius:2px; }
.sim-updated { animation:sim-result-arrive .5s ease-out; }
@keyframes sim-result-arrive { from { opacity:.45; } to { opacity:1; } }
.sim-result-guide { color:#73736a;font-size:12px!important; }
.sim-result-note,.sim-ending { scroll-margin-top:105px; }
@media(hover:hover) and (pointer:fine) { .sim-company:hover,.sim-actions button:not(:disabled):hover { box-shadow:0 4px 14px #00000009;transform:translateY(-2px); } }
@media(max-width:800px) { .sim-processing { padding:24px; } }
@media(max-width:700px) { .sim-decision-dock { bottom:max(8px,env(safe-area-inset-bottom));padding:16px;gap:12px; } .sim-decision-dock b { font-size:13px; } .sim-decision-dock small { font-size:10px; } #sim-run { min-width:142px;min-height:48px;font-size:12px;padding:12px; } .sim-processing-steps { gap:14px;grid-template-columns:1fr; } .sim-processing-steps li { display:flex;gap:12px; } .sim-processing-steps li::before { margin:0; } .sim-processing-track { margin:24px 0; } }
@media(max-width:400px) { .sim-decision-dock { flex-direction:column;align-items:stretch; } #sim-run { width:100%; } }
@media(prefers-reduced-motion:reduce) { .sim-updated { animation:none; }.sim-company,.sim-actions button,#sim-run,#sim-buy { transition:none; }.sim-company:active,.sim-actions button:active,#sim-run:active,#sim-buy:active { transform:none; }.sim-processing-track span { transition:none!important; } }

.sim-result-causes{display:grid;grid-template-columns:1.3fr 1fr;gap:28px;margin:20px 0}.sim-result-causes b{font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:#65715c}.sim-result-causes p{font-size:13px;margin:9px 0 0}@media(max-width:700px){.sim-result-causes{grid-template-columns:1fr;gap:18px}}

/* Gains and losses keep their signs and also use explicit financial colors. */
#acquisition-simulator .sim-gain { color:#18743d; }
#acquisition-simulator .sim-loss { color:#b52c30; }
#acquisition-simulator .sim-dashboard .sim-gain { color:#86e5a9; }
#acquisition-simulator .sim-dashboard .sim-loss { color:#ff9b9f; }
#acquisition-simulator .sim-change { border-color:#888;background:#353535;color:#ddd; }
#acquisition-simulator .sim-change.sim-gain { border-color:#528965;background:#243e2d;color:#a0efbd; }
#acquisition-simulator .sim-change.sim-loss { border-color:#a26468;background:#482a2d;color:#ffafb3; }

/* Five-year strategy game. */
.sim-year-track{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:28px 0 32px}
.sim-year-track>span{border-top:3px solid #e4e4df;padding-top:10px;color:#888;font-size:11px;line-height:1.5}
.sim-year-track b{display:block;font-weight:400;font-size:9px;letter-spacing:.1em;margin-bottom:3px}
.sim-year-track .complete{border-color:#333;color:#333}.sim-year-track .current{border-color:#888;color:#222}
.sim-strategy-note{font-size:13px;line-height:1.8;color:#777;max-width:750px;margin:-5px 0 26px}
.sim-action-tag{font-size:9px;letter-spacing:.12em;color:#777;display:block;margin-bottom:14px}
.sim-actions .sim-action-cost{border-top:1px solid #ddd;padding-top:12px;margin-top:17px;font-size:10px}
.sim-actions{grid-template-columns:repeat(2,minmax(0,1fr))}
.sim-actions button{display:flex;flex-direction:column}.sim-actions .sim-choice-status{margin-top:auto;padding-top:16px}
.sim-actions button:disabled{opacity:.5}.sim-challenge-link{font-size:12px;margin:25px 0;color:#666}
.sim-exit{border-top:2px solid #222;background:#f5f5f3;padding:35px;scroll-margin-top:100px}
.sim-exit h3{font-size:42px;margin:0 0 22px}.sim-exit>p:not(.eyebrow){max-width:760px;font-size:13px;line-height:1.8}
.sim-exit-waterfall,.sim-exit-returns{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:25px;margin:30px 0}
.sim-exit-waterfall{border-bottom:1px solid #ccc;padding-bottom:30px}.sim-exit-waterfall .sim-stat:last-child{border-left:1px solid #bbb;padding-left:20px}
.sim-exit .sim-stat strong{font-size:32px}.sim-exit .sim-stat small{font-size:10px}
.sim-actions button.selected{background:#f2f2ef;border-color:#333;box-shadow:inset 0 0 0 1px #333}.sim-actions button.selected b{color:#222}
.sim-actions .sim-choice-status,.sim-dock-label,.sim-processing-steps li.active,.sim-result-causes b{color:#555}
.sim-decision-dock.has-selection{background:#f2f2ef;border-color:#aaa}.sim-processing{background:#f5f5f3;border-color:#ddd}.sim-processing-track span{background:#333}
@media(max-width:850px){.sim-exit-waterfall,.sim-exit-returns{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px}.sim-exit-waterfall .sim-stat:last-child{border-left:0;padding-left:0}}
@media(max-width:600px){.sim-actions{grid-template-columns:1fr}.sim-actions button{padding:22px}.sim-year-track>span{font-size:9px}.sim-year-track{gap:5px}.sim-exit{padding:24px}.sim-exit h3{font-size:35px}.sim-exit .sim-stat strong{font-size:28px}.sim-end-actions{align-items:stretch;flex-direction:column}}

/* A failed run is an explicit outcome, before the financial dashboard. */
.sim-owner.is-failed h2{color:#a1252c}
.sim-failure{background:#fff2f2;border:1px solid #d79b9e;border-top:5px solid #a1252c;padding:32px;margin:28px 0 32px;scroll-margin-top:95px;color:#452126}
.sim-failure:focus{outline:none}
.sim-failure-status{display:flex;align-items:center;gap:10px;font-size:11px;font-weight:650;letter-spacing:.1em;color:#a1252c;margin:0 0 20px}
.sim-failure-status>span{display:grid;place-items:center;flex-shrink:0;width:28px;height:28px;background:#a1252c;color:white;border-radius:50%;font-size:23px;line-height:1}
.blackbook-theme .sim-failure h3{font-size:clamp(38px,4.5vw,58px);line-height:1.04;color:#791d25;margin:0 0 20px}
.sim-failure-lede{font-size:16px;line-height:1.75;max-width:800px;margin:0}
.sim-failure-impact{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;border-block:1px solid #e2bfc2;padding:22px 0;margin:25px 0 18px}
.sim-failure-impact span{font-size:12px;display:block;margin-bottom:9px}
.sim-failure-impact strong{display:block;font:400 36px/1.15 BBInstrument,Georgia,serif;color:#a1252c}
.sim-failure-impact small{font:500 12px BBInter,Arial,sans-serif;border:1px solid #cf9da2;padding:3px 6px;margin-left:5px;vertical-align:middle}
.sim-failure-rule{font-size:12px;line-height:1.8;max-width:850px}
.blackbook-theme .sim-failure .button{background:#921f28;border-color:#921f28;color:white}
.blackbook-theme .sim-failure .button:hover{background:#711820;color:white}
.sim-failure .text-button{color:#791d25}
.sim-failure-details{border:1px solid #ddd;padding:32px;background:#fff}
.sim-failure-details h3{font-size:38px;margin:0 0 24px}
.sim-failure-details>p,.sim-failure-details li{font-size:14px;line-height:1.85}
.sim-failure-details ul{padding-left:20px;max-width:920px}.sim-failure-details li{margin:18px 0}
.sim-failure-bridge{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px;background:#f5f5f3;padding:25px;margin-bottom:28px}
.sim-failure-context{border-top:1px solid #ddd;padding-top:15px;margin-top:25px;font-size:13px;line-height:1.8;color:#666}
.sim-year-track>.failed{color:#a1252c;border-color:#a1252c;font-weight:600}
.sim-targets .missed{border-left:3px solid #b52c30;background:#fff1f1;padding:14px;color:#6e252b}
.sim-targets .missed b{color:#a1252c;font-size:12px}
.sim-missed-outcome{background:#fff2f2;border-left:4px solid #b52c30;padding:22px 25px;margin:25px 0;color:#79262c}
.sim-missed-outcome>strong{font-size:18px}.sim-missed-outcome p{font-size:13px;line-height:1.8;margin:10px 0 0;max-width:850px}
@media(max-width:700px){.sim-failure{padding:23px;margin:22px 0}.sim-failure-lede{font-size:15px}.sim-failure-impact{grid-template-columns:1fr;gap:16px;padding:20px 0}.sim-failure-impact>div{display:flex;align-items:center;justify-content:space-between;gap:15px}.sim-failure-impact span{margin:0}.sim-failure-impact strong{font-size:29px;text-align:right;flex-shrink:0}.sim-failure-impact small{font-size:10px}.sim-failure-details{padding:23px}.sim-failure-details h3{font-size:34px}.sim-failure-bridge{grid-template-columns:1fr;gap:22px;padding:23px}.sim-failure .sim-end-actions{flex-direction:column;align-items:stretch;gap:18px}.sim-failure-status{font-size:10px}.sim-failure .text-button{text-align:center}}

.sim-why-button{border:0;border-bottom:1px solid #b9797f;background:transparent;padding:4px 0;color:#791d25;font-size:12px;margin-top:12px;cursor:pointer}
.sim-failure-details:focus{outline:none}
