:root{color-scheme:dark;--bg:#0a172a;--panel:#102139;--line:#304057;--ink:#edece6;--muted:#a8b5c8;--blue:#aec8ed;--cooperate:#a6c9c0;--defect:#d9a28d;font-family:Arial,Helvetica,sans-serif;font-size:16px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink)}button,select{font:inherit}button,a,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.4}button:focus-visible,a:focus-visible,select:focus-visible{outline:2px solid var(--blue);outline-offset:5px}button{transition:background .2s,border-color .2s,transform .2s}button:hover:not(:disabled){border-color:var(--blue)}[hidden]{display:none!important}.game{max-width:1180px;margin:auto;padding:28px 40px 20px}.masthead{display:flex;align-items:center;justify-content:space-between;padding-bottom:21px;border-bottom:1px solid var(--line)}.brand{font-family:Georgia,'Times New Roman',serif;font-size:28px;letter-spacing:-1.4px;text-decoration:none;color:var(--ink)}.brand-symbol{font-size:21px;margin-left:16px;border-left:1px solid var(--line);padding-left:17px}.eyebrow,.section-label{font-size:12px;letter-spacing:1.4px;text-transform:uppercase;color:var(--muted);line-height:1.7}.heading{display:flex;justify-content:space-between;align-items:center;padding:24px 0 30px}.heading p{margin:0 0 8px}h1{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:clamp(38px,5.3vw,64px);line-height:1.08;letter-spacing:-2px;margin:0}h1>span{color:var(--blue)}h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:27px;line-height:1.2;margin:12px 0}p{line-height:1.6;color:var(--muted)}.text-button{border:0;background:transparent;color:var(--muted);padding:12px 0;font-size:14px}.text-button span{margin-left:12px}.section-label{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:17px 0 18px;gap:12px;font-size:12px}.strategies{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}.strategy{position:relative;background:transparent;border:1px solid var(--line);text-align:left;color:var(--ink);padding:19px 17px 23px;min-height:275px;display:flex;flex-direction:column;align-items:flex-start}.strategy[aria-pressed=true]{background:var(--panel);border-color:var(--blue);box-shadow:inset 0 3px 0 var(--blue)}.strategy .number{font-size:12px;color:var(--muted);letter-spacing:1px}.piece{font-family:'DejaVu Sans','Segoe UI Symbol','Apple Symbols',serif;line-height:1;font-weight:400}.strategy .piece{font-size:66px;align-self:center;margin:19px 0 23px;color:var(--ink)}.strategy strong{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:23px;display:block;margin-bottom:12px}.strategy .description{font-size:14px;line-height:1.5;color:var(--muted)}.strategy .selected-mark{position:absolute;right:14px;top:14px;font-size:13px;color:var(--blue);opacity:0}.strategy[aria-pressed=true] .selected-mark{opacity:1}.start-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 0 30px}.start-row p{font-size:14px}.primary,.secondary{border:1px solid var(--line);padding:14px 22px;min-height:48px;border-radius:2px;line-height:1.2}.primary{background:var(--ink);border-color:var(--ink);color:var(--bg)}.primary:hover:not(:disabled){background:var(--blue)}.primary span{margin-left:24px}.secondary{background:transparent;color:var(--ink)}.rules{border:1px solid var(--line);padding:21px 25px;margin-bottom:25px}.rules h2{margin-top:0}.rules p{max-width:850px}.payoffs{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.payoffs>div{border-top:1px solid var(--line);padding-top:12px;display:flex;flex-direction:column;gap:10px}.payoffs span{font-size:14px;color:var(--muted)}.payoffs strong{font:27px Georgia,serif}.small{font-size:13px;line-height:1.6;color:var(--muted)}.arena{display:grid;grid-template-columns:1fr 1.12fr 1fr;background:var(--panel);border:1px solid var(--line);padding:26px 22px 23px;min-height:333px}.player{text-align:center}.player h2{font-size:26px;margin:9px 0 15px}.large{font-size:91px;color:var(--ink);display:block;transition:transform .35s}.opponent .large{color:var(--blue)}.move{display:block;font-size:13px;letter-spacing:1px;text-transform:uppercase;margin:13px auto 0;color:var(--muted);min-height:20px}.move[data-move=C]{color:var(--cooperate)}.move[data-move=D]{color:var(--defect)}.score{display:flex;align-items:baseline;justify-content:center;gap:9px;margin-top:12px}.score strong{font:38px Georgia,serif;font-variant-numeric:tabular-nums}.score span{font-size:13px;color:var(--muted)}.table-center{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border-left:1px solid var(--line);border-right:1px solid var(--line);padding:0 20px}.exchange{font:48px Georgia,serif;color:var(--blue);margin:18px 0 4px}.table-center p{font-family:Georgia,serif;font-size:20px;line-height:1.45;margin:10px 0 18px;color:var(--ink)}.history{padding:20px 0}.rounds{display:grid;grid-template-columns:repeat(12,1fr);gap:9px;margin:13px 0}.round-cell{display:flex;flex-direction:column;gap:5px;align-items:center}.round-cell .turn{color:var(--muted);font-size:12px;margin-top:4px}.token{display:block;width:100%;height:15px;background:#16253a;border:1px solid var(--line);transition:background .3s}.token.coop,.legend .coop{background:var(--cooperate);border-color:var(--cooperate)}.token.defect,.legend .defect{background:var(--defect);border-color:var(--defect)}.legend{display:flex;gap:19px;font-size:12px;color:var(--muted);flex-wrap:wrap}.legend span{display:flex;align-items:center;gap:6px}.legend i{display:inline-block;width:8px;height:8px}.legend span:last-child{margin-left:auto}.match-controls{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:5px 0 26px}.match-controls>div{display:flex;gap:10px}.result-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:45px;padding:0 0 24px}.result-grid h2{font-size:36px;letter-spacing:-.7px}.counterfactual{border-left:1px solid var(--line);padding-left:30px;padding-top:14px}.counterfactual label{display:block;font-family:Georgia,serif;font-size:23px;margin-bottom:20px}.compare-row{display:flex;gap:10px}.compare-row select{min-width:0;flex:1;background:var(--panel);color:var(--ink);border:1px solid var(--line);padding:12px;font-size:14px}.counterfactual p{font-size:15px}.counterfactual .small{font-size:12px}#results{padding-bottom:28px;scroll-margin-top:16px}footer{display:flex;justify-content:space-between;gap:15px;border-top:1px solid var(--line);padding-top:18px;font-size:12px;color:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.pulse{animation:step .5s ease}@keyframes step{50%{transform:translateY(-9px)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}@media(max-width:800px){.game{padding:22px}.strategies{gap:8px}.strategy{padding:15px 11px;min-height:270px}.strategy strong{font-size:20px}.strategy .piece{font-size:55px}.strategy .description{font-size:14px}.result-grid{gap:24px}.counterfactual{padding-left:20px}.heading{padding:24px 0}.masthead>.eyebrow{font-size:10px}}@media(max-width:600px){.game{padding:18px 16px}.masthead>.eyebrow{letter-spacing:1px}.brand{font-size:25px}.brand-symbol{display:none}.heading{align-items:flex-end;gap:10px}.heading .eyebrow{font-size:10px;letter-spacing:1px}h1{font-size:39px;letter-spacing:-1.5px}.heading .text-button{font-size:12px;white-space:nowrap;padding-bottom:5px}.strategies{grid-template-columns:repeat(2,1fr);gap:10px}.strategy{min-height:195px;padding:14px}.strategy .piece{margin:6px 0 12px;font-size:49px}.strategy strong{font-size:23px;margin-bottom:8px}.strategy:last-child{grid-column:1/-1;min-height:115px;display:grid;grid-template-columns:64px 1fr;column-gap:10px}.strategy:last-child .number{display:none}.strategy:last-child .piece{grid-column:1;grid-row:1/3;align-self:center;margin:0}.strategy:last-child strong{grid-column:2;align-self:end}.strategy:last-child .description{grid-column:2}.section-label{font-size:10px;letter-spacing:1px}.section-label span:last-child{text-align:right}.start-row{align-items:flex-start}.start-row p{margin:0;max-width:45%;font-size:13px}.primary,.secondary{padding:13px 16px;font-size:14px}.primary span{margin-left:12px}.arena{padding:20px 9px;grid-template-columns:1fr 1.05fr 1fr;min-height:285px}.player .eyebrow,.table-center .eyebrow{font-size:9px;letter-spacing:1px}.player h2{font-size:20px;min-height:46px;margin:10px 0}.large{font-size:66px}.table-center{padding:0 10px}.table-center p{font-size:16px}.exchange{font-size:32px;margin:12px 0 0}.table-center .small{font-size:11px}.move{font-size:10px;letter-spacing:.6px}.score strong{font-size:31px}.score span{font-size:11px}.rounds{gap:5px}.token{height:12px}.legend{gap:10px;font-size:11px}.legend span:last-child{margin-left:0}.match-controls>div{gap:7px}.match-controls .text-button{font-size:12px}.result-grid{grid-template-columns:1fr;gap:10px}.counterfactual{border-left:0;border-top:1px solid var(--line);padding:20px 0 0}.payoffs{grid-template-columns:repeat(2,1fr)}.rules{padding:18px}.result-grid h2{font-size:31px}footer{font-size:10px;line-height:1.6}footer span:last-child{text-align:right}}
/* --- play-yourself mode --- */
.strategy[data-id=you]{border-style:dashed}
.strategy[data-id=you][aria-pressed=true]{border-style:solid}
.choice-row{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:16px 0 4px;border-top:1px solid var(--line)}
.choice-row>div{display:flex;gap:10px}
.choice{min-width:150px}
#choose-c:hover:not(:disabled){border-color:var(--cooperate);color:var(--cooperate)}
#choose-d:hover:not(:disabled){border-color:var(--defect);color:var(--defect)}
.reveal-rule{border-top:1px solid var(--line);margin-top:16px;padding-top:14px;font-size:15px;color:var(--ink)}
.reveal-rule strong{font-family:Georgia,serif;font-weight:400;color:var(--blue)}
@media(max-width:800px){.strategies{grid-template-columns:repeat(3,1fr)}}
@media(max-width:600px){.choice{flex:1;min-width:0}.choice-row>div{width:100%}}
