:root{--paper:#f8f6ef;--ink:#102e2a;--muted:#344b44;--orange:#b44723;--line:#718579;--cream:#dde8d4}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.55 Arial,sans-serif}button,a{touch-action:manipulation}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--orange);outline-offset:4px}header{max-width:1280px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:28px 42px;border-bottom:1px solid var(--line)}.brand{color:var(--ink);text-decoration:none;font-size:13px;letter-spacing:2px;font-weight:bold;display:flex;align-items:center;gap:12px}.brandmark{background:var(--ink);color:var(--paper);width:30px;height:30px;text-align:center;font-size:25px;line-height:28px;border-radius:50%}.quiet{background:none;border:0;color:var(--ink);font-size:13px}main{max-width:1196px;margin:auto;min-height:76vh;padding:52px 36px}h1,h2,h3,p{margin-top:0}h1{font-family:Georgia,serif;font-weight:normal;font-size:clamp(46px,6vw,82px);line-height:1.04;letter-spacing:-3px;margin-bottom:25px}h2{font-family:Georgia,serif;font-size:clamp(32px,4vw,48px);font-weight:normal;line-height:1.1;letter-spacing:-1px}h3{font-family:Georgia,serif;font-size:27px;font-weight:normal;margin-bottom:12px}.eyebrow{font-size:11px;font-weight:bold;letter-spacing:2px;text-transform:uppercase;margin-bottom:24px}.hero{display:grid;grid-template-columns:1.2fr 1fr;gap:50px;align-items:center}.intro{font-size:18px;color:var(--muted);max-width:500px}.accent{color:#8b3419;font-style:italic}.scene{background:var(--cream);border-radius:150px 150px 12px 12px;position:relative;overflow:hidden;height:330px;border:1px solid var(--line)}.scene svg{width:100%;height:100%}.scene-label{position:absolute;bottom:18px;left:24px;right:24px;font-size:11px;letter-spacing:1px;display:flex;justify-content:space-between}.roles{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:45px}.role{padding:26px 28px;border:1px solid var(--line);border-radius:5px;background:#fff;text-align:left;color:var(--ink);transition:transform .2s,border-color .2s}.role:hover{transform:translateY(-4px);border-color:var(--ink)}.role .tag{font-size:11px;letter-spacing:1px;color:var(--muted)}.role h3{margin-top:15px}.role p{color:var(--muted);font-size:14px;max-width:420px}.role .arrow{display:block;border-top:1px solid var(--line);padding-top:16px;font-size:13px;font-weight:bold}.smallnote{font-size:12px;color:var(--muted);margin-top:22px}.layout{display:grid;grid-template-columns:230px 1fr;gap:55px}.sidebar{border-right:1px solid var(--line);padding-right:28px}.stat{margin-bottom:25px}.stat label{display:block;font-size:11px;letter-spacing:1px;text-transform:uppercase}.stat strong{font-family:Georgia,serif;font-weight:normal;font-size:32px}progress{width:100%;height:7px;accent-color:var(--ink);display:block}.step{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--muted);margin-bottom:30px}.dots{display:flex;gap:5px}.dot{height:7px;width:18px;background:#d4d8ca;border-radius:2px}.dot.active{background:var(--orange)}.story{font-size:18px;max-width:690px;color:var(--muted)}.choices{display:grid;gap:12px;margin-top:30px}.choice{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 21px;background:#fff;border:1px solid var(--line);border-radius:4px;text-align:left;color:var(--ink)}.choice:hover:not(:disabled){background:var(--cream);border-color:var(--ink)}.choice:disabled{cursor:not-allowed;opacity:.5}.choice small{display:block;font-size:12px;color:var(--muted);margin-top:4px}.choice .num{font-size:12px;border:1px solid var(--line);width:27px;height:27px;display:grid;place-items:center;border-radius:50%;flex-shrink:0}.choice .ct{flex:1}.effect{font-size:12px;white-space:nowrap}.outcome{padding:26px;background:var(--cream);border-left:4px solid var(--ink);margin-top:24px}.outcome h3{font-size:23px}.lens{font-size:14px;border-top:1px solid var(--line);padding-top:16px;margin-top:18px}.primary{background:var(--ink);border:0;color:#fff;padding:15px 25px;border-radius:4px;margin-top:22px}.primary:hover{background:#2b5c50}.actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.secondary{background:transparent;color:var(--ink);border:1px solid var(--ink);padding:14px 24px;border-radius:4px;margin-top:22px}.review{margin-top:30px}.review details{border-top:1px solid var(--line);padding:15px 0}.review summary{cursor:pointer}.review p{margin:12px 0;font-size:14px;color:var(--muted)}.pill{display:inline-block;background:var(--cream);padding:6px 10px;border-radius:3px;font-size:12px;margin:4px 4px 4px 0}.banner{background:var(--cream);padding:15px 20px;font-size:14px;margin:18px 0}footer{max-width:1280px;margin:auto;padding:24px 42px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;font-size:11px;color:var(--muted)}dialog{width:min(650px,90vw);border:1px solid var(--line);border-radius:8px;padding:30px;color:var(--ink);background:var(--paper)}dialog::backdrop{background:#193f3980}.close{float:right}dialog h2{font-size:33px;margin-top:28px}dialog li{margin-bottom:12px}dialog a{color:var(--ink)}@media(max-width:760px){header{padding:20px}.brand{font-size:10px;letter-spacing:1px}main{padding:32px 20px}.hero{grid-template-columns:1fr;gap:25px}.scene{height:210px}.roles{grid-template-columns:1fr;margin-top:25px;gap:14px}h1{letter-spacing:-2px}.layout{grid-template-columns:1fr;gap:28px}.sidebar{border-right:0;border-bottom:1px solid var(--line);padding:0 0 18px;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.sidebar .eyebrow,.sidebar .smallnote,.sidebar>button{grid-column:1/-1}.stat{margin:0}.stat strong{font-size:24px}.stat label{font-size:9px}.sidebar .eyebrow{margin:0}.effect{white-space:normal;max-width:90px;text-align:right}.choice{padding:15px 12px;gap:12px}footer{padding:20px;flex-direction:column;gap:5px}.step{gap:12px}.story{font-size:16px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
.data-panel,.target-panel{border:1px solid var(--line);background:#fff;padding:22px;margin:24px 0;border-radius:4px;font-size:14px}.data-panel .eyebrow,.target-panel .eyebrow{margin-bottom:12px}.data-panel p:last-child,.target-panel p:last-child{margin-bottom:0}.data-panel h3,.target-panel h3{font-size:25px}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;font-size:13px;text-align:left}th,td{padding:12px 10px;border-bottom:1px solid var(--line);vertical-align:top}thead th{font-size:11px;letter-spacing:.6px;text-transform:uppercase}tbody th{font-weight:normal;min-width:140px}tbody td:first-child{font:27px Georgia,serif}.target-panel{background:var(--cream)}.outcome .target-panel{padding:0;border:0}.side-context{font-size:12px;padding:15px 0;border-top:1px solid var(--line)}.side-context p{margin:8px 0}.side-context ul{padding-left:17px;margin-bottom:0}.side-context li{margin:6px 0}.side-context summary,.data-panel summary{cursor:pointer;font-weight:bold}.sidebar .quiet{display:block;text-align:left;margin-top:14px}.lens dl{margin-bottom:0}.lens dt{font-weight:bold;margin-top:15px;font-size:12px;text-transform:uppercase;letter-spacing:.5px}.lens dd{margin:5px 0 0;color:var(--muted)}.partner-update{font-size:13px;margin-top:18px}.choose-title{margin-top:30px}@media(max-width:760px){.side-context{grid-column:1/-1}.sidebar details[open] ul{columns:2}.sidebar .smallnote{margin:0}.data-panel,.target-panel{padding:17px}th,td{padding:10px 7px}.data-panel .eyebrow{letter-spacing:1px}}

.threshold-panel{padding:18px 22px;border:1px solid var(--line);border-radius:4px;background:#e9eddf;margin:22px 0;font-size:13px}.threshold-panel p{margin:9px 0}.threshold-panel small{font-size:11px;color:var(--muted)}.threshold-active{background:#f5e5d9;border-color:#bf7755;border-left:4px solid #a44a2d}

.consequence-details{margin-top:18px;border-top:1px solid var(--line);padding-top:14px;font-size:14px}.consequence-details summary{cursor:pointer;font-weight:bold}.consequence-details p{margin:14px 0;line-height:1.7}.outcome>p{line-height:1.7}

.live-scores{position:sticky;top:0;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--line);border-radius:4px;background:var(--paper);padding:12px 16px;margin:0 0 25px;font-size:12px}.live-scores>span{color:var(--muted)}.live-scores strong{font-weight:normal}.live-scores b{font-size:19px;margin-left:5px}.live-scores small{color:var(--muted)}.score-change-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0}.score-change{background:#f5f4eb;border:1px solid var(--line);border-radius:4px;padding:16px;display:flex;flex-direction:column;gap:5px}.score-change>span{font-size:12px;font-weight:bold}.score-change strong{font:29px Georgia,serif}.score-change small{font:12px Arial,sans-serif;margin-left:4px}.score-change>b{font-size:12px}.score-up{border-left:4px solid #346646}.score-down{border-left:4px solid #a44a2d}.trust-explanation{font-weight:bold}@media(max-width:760px){.live-scores{padding:10px;gap:8px;flex-wrap:wrap}.live-scores>span{width:100%;font-size:10px}.score-change{padding:12px}.score-change strong{font-size:25px}}

/* Higher contrast palette and clearly separated interactive states. */
.role,.choice,.data-panel{border:2px solid var(--line);background:#fff}
.role:hover,.choice:hover:not(:disabled){background:#dde8d4;border-color:#102e2a}
.role .arrow{border-top-color:var(--line)}
.choice .num{background:var(--ink);color:#fff;border-color:var(--ink);font-weight:bold}
.choice .effect{font-weight:bold}
.choice:disabled{opacity:1;background:#e5e6df;color:#45544d;border:2px dashed #718579}
.choice:disabled small,.choice:disabled .effect{color:#45544d}
.choice:disabled .num{background:#45544d;border-color:#45544d;color:#fff}
.primary{background:#102e2a;color:#fff}
.primary:hover{background:#204c40}
.secondary{background:#fff;border-width:2px}
.secondary:hover{background:#dde8d4}
.quiet:hover{text-decoration:underline;text-underline-offset:3px}
.live-scores{background:#102e2a;color:#fff;border-color:#102e2a}
.live-scores>span,.live-scores small{color:#dce9df}
.score-change{background:#fff;border:2px solid #718579}
.score-up{background:#e4f2e3;border-left:5px solid #235c35}
.score-up>b{color:#235c35}
.score-down{background:#ffe6d8;border-left:5px solid #8b3419}
.score-down>b{color:#8b3419}
.threshold-panel{background:#e4f2e3;border:2px solid #718579}
.threshold-active{background:#ffe4ce;border:2px solid #9b3b1b;border-left-width:5px}
.threshold-active>b{color:#64270b}
.banner,.outcome,.target-panel{background:#dde8d4}
.outcome{border-left:5px solid #102e2a}
.pill{background:#dde8d4;border:1px solid #718579;color:#102e2a}
.dot{background:#dbe2d5;border:1px solid #718579}
.dot.active{background:#b44723;border-color:#8b3419}
progress{height:9px;background:#dbe2d5;border:1px solid #718579;border-radius:3px;overflow:hidden}
progress::-webkit-progress-bar{background:#dbe2d5}
progress::-webkit-progress-value{background:#102e2a}
progress::-moz-progress-bar{background:#102e2a}
thead{background:#102e2a;color:#fff}
th,td{border-bottom-color:#718579}
dialog{background:#f8f6ef;border:2px solid #718579}
button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #b44723;outline-offset:4px}

/* Legible default type and optional larger text. Caption is outside the artwork. */
body{font-family:Arial,Helvetica,sans-serif;font-size:18px;line-height:1.7}
h1,h2,h3{font-family:Arial,Helvetica,sans-serif;font-weight:600;letter-spacing:normal;line-height:1.22}
h1{font-size:clamp(42px,5.4vw,72px)}
h2{font-size:clamp(30px,3.5vw,44px)}
h3{font-size:26px}
.accent{font-style:normal}
.scene{height:auto;border-radius:110px 110px 6px 6px}
.scene svg{display:block;width:100%;height:auto;aspect-ratio:440/300}
.scene-label{position:static;display:flex;flex-direction:column;align-items:flex-start;gap:2px;background:#fff;color:#102e2a;padding:18px 22px;border-top:2px solid #718579;font-size:18px;letter-spacing:normal;line-height:1.6}
.scene-title{font-size:24px;font-weight:700}
header{gap:16px;flex-wrap:wrap}.header-tools{display:flex;gap:10px;flex-wrap:wrap}
.brand{font-size:15px;letter-spacing:1px}
.quiet{font-size:16px;min-height:44px;padding:8px 10px}
#text-size{border:2px solid #718579;border-radius:4px;background:#fff;font-weight:600}
#text-size[aria-pressed=true]{background:#102e2a;color:#fff;border-color:#102e2a}
.eyebrow,.role .tag,.stat label{font-size:16px;letter-spacing:.3px;text-transform:none}
.role p,.role .arrow,.choice small,.smallnote,.effect,.step,.pill,.side-context,.lens,.partner-update,footer,.review p,.threshold-panel,.consequence-details,.live-scores,.score-change>span,.score-change>b{font-size:16px}
.story,.intro,.choice,.data-panel,.target-panel,.banner,.outcome,.primary,.secondary{font-size:18px;line-height:1.7}
.threshold-panel small,.live-scores small,.side-context small,.score-change small{font-size:16px;line-height:1.7}
.score-change strong,.stat strong{font-family:Arial,Helvetica,sans-serif;font-weight:600;font-variant-numeric:tabular-nums}
.choice .num{font-size:16px;width:32px;height:32px}
.lens dt{font-size:16px;letter-spacing:normal;text-transform:none}
table,thead th{font-size:16px;line-height:1.7;letter-spacing:normal;text-transform:none}
tbody td:first-child{font:600 24px/1.6 Arial,Helvetica,sans-serif}
summary{min-height:44px;padding:8px 0;line-height:1.7}
.pill{white-space:normal;overflow-wrap:anywhere}
.live-scores{flex-wrap:wrap;gap:10px}.live-scores b{font-size:24px}.live-scores>span{font-size:16px}
.layout>section,.sidebar,.role,.choice .ct{min-width:0;overflow-wrap:break-word}
.large-text{font-size:21px}
.large-text :is(.role p,.role .arrow,.choice small,.smallnote,.effect,.step,.pill,.side-context,.lens,.partner-update,footer,.review p,.threshold-panel,.consequence-details,.live-scores,.score-change>span,.score-change>b,.eyebrow,.role .tag,.stat label,table,thead th,.quiet,.threshold-panel small,.live-scores small,.side-context small,.score-change small){font-size:19px}
.large-text :is(.story,.intro,.choice,.data-panel,.target-panel,.banner,.outcome,.primary,.secondary){font-size:21px}
.large-text .scene-label{font-size:21px}.large-text .scene-title{font-size:27px}
@media(max-width:760px){header{padding:18px 20px}.header-tools{width:100%;justify-content:space-between}.scene{height:auto}.scene svg{aspect-ratio:440/245}.scene-label{padding:16px 18px}.sidebar{grid-template-columns:1fr}.sidebar .stat{padding:8px 0}.sidebar details[open] ul{columns:1}.step{flex-wrap:wrap}.choice{align-items:flex-start;flex-wrap:wrap}.choice .ct{flex-basis:calc(100% - 48px)}.choice .effect{max-width:none;text-align:left;margin-left:44px}.score-change-grid{grid-template-columns:1fr}.live-scores{position:static}.role{padding:22px}.brand{font-size:14px}.story{font-size:18px}}
@media(max-width:400px){main{padding:24px 14px}.primary,.secondary{width:100%;text-align:center}.dots{flex-wrap:wrap}.scene-label{padding:16px}.brand{letter-spacing:normal}}
