/* Premortem simulator — same paper, ink and foil as the home page; inputs on hairlines, never in boxes. */
.sim{position:relative;z-index:2;max-width:68rem;margin:0 auto;padding:16vh var(--gutter) 10vh}
.sim-hero{text-align:center;display:grid;justify-items:center;gap:12px;margin-bottom:6vh}
.sim-hero h1{font-size:clamp(2rem,5vw,3.6rem)}
.sim-hero p{color:var(--ink-soft);max-width:40rem;text-wrap:balance}
.sim .small{font-size:.9rem;color:var(--muted)}
.modes{display:flex;gap:28px;margin-top:18px;border-bottom:1px solid var(--rule)}
.modes button{font:inherit;font-size:1.1rem;font-weight:600;background:none;border:0;padding:10px 2px;color:var(--muted);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}
.modes button[aria-selected="true"]{color:var(--rose-deep);border-bottom-color:var(--rose)}
.modes button:focus-visible,.btn:focus-visible,.sim input:focus-visible,.sim select:focus-visible{outline:2px solid var(--rose);outline-offset:3px}
.mode h2{font-size:clamp(1.7rem,3.4vw,2.6rem);margin-bottom:.35em;text-align:center}
.mode .intro{color:var(--ink-soft);text-align:center;max-width:42rem;margin:0 auto 1.6em;text-wrap:balance}
.mode h3{font-size:1.3rem;margin:2.2em 0 .4em;color:var(--rose-deep);text-align:center}

/* inputs: label left, number right, a hairline under each */
.inputs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 48px}
.inputs fieldset{border:0;margin:0;padding:0;min-width:0}
.inputs fieldset.wide{grid-column:1/-1}
.inputs legend{font-family:var(--latin);font-style:italic;font-size:1.3rem;color:var(--rose-ink);padding:0;margin:14px 0 4px}
.inputs label{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid var(--rule);line-height:1.45}
.inputs .l{color:var(--ink);min-width:0}
.sim .v{display:inline-flex;align-items:baseline;gap:6px;white-space:nowrap}
.sim .v i{font-style:normal;font-size:.85rem;color:var(--muted);min-width:2.6em}
.sim input,.sim select{font:inherit;font-weight:600;color:var(--rose-deep);background:transparent;border:0;border-bottom:1px dashed var(--rose);width:8.5em;text-align:right;padding:2px 0}
.sim select{width:auto;text-align:left;cursor:pointer}
.sim input::-webkit-inner-spin-button{opacity:.4}

/* tables */
.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 auto}
.sim table{border-collapse:collapse;width:100%;font-size:.95rem;font-variant-numeric:tabular-nums}
.sim th,.sim td{padding:9px 10px;border-bottom:1px solid var(--rule);text-align:right;vertical-align:baseline}
.sim thead th{font-weight:600;color:var(--muted);font-size:.85rem;white-space:nowrap}
.sim thead th small{display:block;font-weight:400}
.sim tbody th{text-align:left;font-weight:400;color:var(--ink)}
.sim tbody th small{color:var(--muted);font-family:var(--latin);font-style:italic;font-size:.95rem}
.assume td{text-align:left}
.assume td.en{font-family:var(--latin);font-style:italic;font-size:1.05rem;color:var(--rose-ink);white-space:nowrap}
.assume td.ins{white-space:nowrap}
.assume td.ins .v+.v{margin-left:12px}
.assume td.ins input{width:5em}
.assume td.note{color:var(--muted);font-size:.9rem}
.fcf tr.sum th,.fcf tr.sum td{font-weight:600}
.fcf tr.fcf th,.fcf tr.fcf td{font-weight:700;border-top:2px solid var(--ink);font-size:1.05rem}
.sim td.pos{color:#2F6B4F}
.sim td.neg{color:#A3343F}
.fcf tr.fcf td.pos{background:rgba(47,107,79,.08)}
.fcf tr.fcf td.neg{background:rgba(163,52,63,.08)}
.cases th,.cases td{text-align:center}
.cases tbody th{text-align:left}
.month{margin-top:1.6em}
.month summary{cursor:pointer;color:var(--rose-deep);font-weight:600;text-align:center}
.month table{font-size:.85rem;white-space:nowrap}

/* results */
.results{margin-top:7vh}
.verdict{text-align:center;font-size:clamp(1.15rem,2vw,1.45rem);font-weight:700;max-width:44rem;margin:0 auto 1.4em;text-wrap:balance;padding-left:0}
.verdict.go{color:#2F6B4F}.verdict.warn{color:#9A6312}.verdict.stop{color:#A3343F}
.verdict::before{content:"";display:inline-block;width:.6em;height:.6em;border-radius:50%;background:currentColor;margin-right:.5em;vertical-align:.08em}
.keys{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 36px;margin:0;border-top:1px solid var(--rule)}
.keys>div{padding:16px 0;border-bottom:1px solid var(--rule)}
.keys dt{color:var(--ink-soft);font-size:.95rem}
.keys dd{margin:0;color:var(--muted);font-size:.88rem;line-height:1.5}
.keys dd.big{font-size:clamp(1.3rem,2.2vw,1.7rem);font-weight:700;color:var(--rose-deep);line-height:1.35;margin:2px 0 4px}
.trip{max-width:40rem;margin:0 auto;padding-left:1.4em;color:var(--ink)}
.trip li{padding:6px 0;border-bottom:1px solid var(--rule)}
.trip li::marker{font-family:var(--latin);font-style:italic;color:var(--rose-ink)}
.chart{margin:0 auto 10px;max-width:760px}
.chart svg{width:100%;height:auto;overflow:visible}
.chart .gl{stroke:var(--rule);stroke-width:1}
.chart .ax{font-size:12px;fill:var(--muted);font-family:var(--sans)}
.chart .zero{stroke:#A3343F;stroke-width:1.2;stroke-dasharray:5 6}
.chart .zl{font-size:13px;fill:#A3343F;font-family:var(--sans)}
.chart polyline{fill:none;stroke-width:2.4;stroke-linejoin:round;stroke-linecap:round}
.chart .c-bad{stroke:#A3343F;fill:#A3343F}.chart polyline.c-bad{fill:none}
.chart .c-mid{stroke:var(--ink);fill:var(--ink)}.chart polyline.c-mid{fill:none}
.chart .c-good{stroke:var(--rose);fill:var(--rose)}.chart polyline.c-good{fill:none}
.chart .lab{font-size:14px;font-family:var(--sans);font-weight:600;stroke:none}

/* end */
.sim-end{margin-top:9vh;padding-top:24px;border-top:1px solid var(--rule);text-align:center;display:grid;gap:10px;justify-items:center}
.actions{display:flex;gap:14px;flex-wrap:wrap;justify-content:center}
.btn{font:inherit;font-weight:600;border:1px solid var(--rose-deep);background:var(--rose-deep);color:var(--paper);border-radius:999px;padding:9px 26px;cursor:pointer}
.btn.ghost{background:transparent;color:var(--rose-deep)}
.print-only{display:none}

@media (max-width:760px){
  .sim{padding-top:12vh}
  .inputs{grid-template-columns:1fr;gap:4px}
  .keys{grid-template-columns:1fr}
  .sim input{width:5.2em}
  .sim .v i{min-width:0}
  .assume td.note{display:none}
}

/* PDF: the active mode only, numbers and results, no controls */
@media print{
  @page{size:A4;margin:14mm}
  body{background:#fff;font-size:11pt}
  .bar,.modes,.actions,.mode[hidden],.sim-end a{display:none!important}
  .sim{padding:0;max-width:none}
  .sim-hero{margin-bottom:8mm}
  .sim-hero .small{display:none}
  .foil{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .results{margin-top:8mm;break-before:auto}
  .keys>div,.trip li,tr{break-inside:avoid}
  .chart{break-inside:avoid}
  .sim input,.sim select{border:0;-webkit-appearance:none;appearance:none}
  .sim input::-webkit-inner-spin-button{display:none}
  .print-only{display:block}
  .month summary{display:none}
}
.inputs .ex{display:block;font-size:.82rem;color:var(--muted);line-height:1.45;margin-top:1px}
/* how much to prepare + P&L */
.need{text-align:center;margin-bottom:12px}
.need-big{font-size:clamp(2rem,4.4vw,3rem);font-weight:700;color:var(--rose-deep);line-height:1.2}
.need-sub{color:var(--ink-soft);text-wrap:balance}
.fund,.pl{max-width:44rem;margin:0 auto}
.sim tr.sum th,.sim tr.sum td{font-weight:600}
.sim tr.total th,.sim tr.total td{font-weight:700;border-top:2px solid var(--ink);font-size:1.05rem}
.fund td:last-child{color:var(--muted);width:5em}
