:root{color-scheme:light;--bg:#ede7d9;--paper:#f5f1e9;--ink:#1a4134;--felt:#1e4a3b;--muted:#4c6d5e;--line:rgba(26,65,52,.12);--rust:#c93a2e;--gold:#79653d;--serif:'Coustard',Georgia,serif;--sans:'Outfit',system-ui,sans-serif}

*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:24px}
body{margin:0;background:var(--bg);color:var(--ink);font:400 19px/1.75 var(--sans);-webkit-font-smoothing:antialiased}
a{color:inherit;text-underline-offset:4px}
a:hover{text-decoration-thickness:2px}
button,select{font:inherit}
button{cursor:pointer}
button:disabled{cursor:default}
a:focus-visible,button:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--rust);outline-offset:4px}
button:disabled{opacity:.65}
[hidden]{display:none!important}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip{position:absolute;top:8px;left:16px;transform:translateY(-200%);background:var(--paper);padding:8px 16px;z-index:3}
.skip:focus{transform:none}
.site-head,.site-foot{max-width:1080px;margin:auto;padding:30px 28px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.wordmark{display:flex;align-items:center;gap:14px;text-decoration:none;line-height:1}
.wordmark img{width:74px;height:74px}
.wordmark strong{display:block;letter-spacing:.16em;font-size:24px;font-weight:600;color:var(--felt)}
.wordmark small{display:block;margin-top:8px;letter-spacing:.17em;font-size:12px;font-weight:600;color:var(--gold)}
.head-nav{display:flex;align-items:center;gap:22px;font-size:15px}
.head-nav a{text-decoration:none}
.head-nav a:hover{text-decoration:underline}
.article,.journal{width:min(100% - 48px,740px);margin:55px auto 0}
.crumb{font-size:15px;color:var(--muted);margin:0 0 35px}
.kicker{font-size:12px;font-weight:650;letter-spacing:.14em;text-transform:uppercase;color:var(--rust);margin:0 0 16px}
h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.2;text-wrap:balance}
h1{font-size:clamp(36px,5.5vw,58px);letter-spacing:-.025em;margin:0 0 22px}
h2{font-size:clamp(25px,3.4vw,33px);letter-spacing:-.015em;margin:58px 0 20px}
h3{font-size:22px;margin:0 0 14px}
.standfirst{font-size:23px;line-height:1.55;color:var(--muted);margin:0 0 24px}
.byline{font-size:14px;color:var(--muted);margin:0 0 42px;padding-bottom:26px;border-bottom:1px solid var(--line)}
p{margin:0 0 22px}
strong{font-weight:650}
.article-body>p,.article-body>section>p{max-width:65ch}
.postgame-figure{max-width:480px;margin:32px auto 36px}
.postgame-figure a,.postgame-figure img{display:block;width:100%}
.postgame-figure img{height:auto;border-radius:16px}
.postgame-figure figcaption{margin-top:14px;font-size:15px;line-height:1.65;color:var(--muted)}
.history-figure{margin:36px 0 42px}
.history-image-link{display:block;width:fit-content;max-width:100%;margin-inline:auto}
.history-figure img{display:block;width:100%;max-width:100%;height:auto;border-radius:6px}
.history-figure--manuscript .history-image-link{max-width:520px}
.history-figure--diagram .history-image-link{max-width:500px}
.history-figure--advert .history-image-link{width:100%;max-width:640px}
.history-figure--advert img{height:clamp(260px,75vw,520px);object-fit:cover;object-position:50% 40%}
.history-figure figcaption{margin-top:14px;font-size:15px;line-height:1.65;color:var(--muted);overflow-wrap:anywhere}
.history-image-credit{display:block;margin-top:8px;font-size:13px}
.history-image-full{display:inline-block;padding:8px 0;min-height:44px;font-size:14px}
.zeno-replay{border:0;padding:0;margin:16px 0 0;min-inline-size:0}
.zeno-step{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden;white-space:nowrap}
.zeno-choice{display:inline-flex;align-items:center;min-height:44px;margin:0 6px 8px 0;padding:8px 13px;border:1px solid var(--line);border-radius:999px;font-size:15px;line-height:1.35;cursor:pointer}
.zeno-step:checked+label{background:var(--felt);border-color:var(--felt);color:var(--paper)}
.zeno-step:focus-visible+label{outline:3px solid var(--rust);outline-offset:3px}
.zeno-frames>figure{display:none;margin:16px 0 0}
#zeno-step-0:checked~.zeno-frames>[data-zeno-stage="0"],#zeno-step-1:checked~.zeno-frames>[data-zeno-stage="1"],#zeno-step-2:checked~.zeno-frames>[data-zeno-stage="2"],#zeno-step-3:checked~.zeno-frames>[data-zeno-stage="3"]{display:block}
.zeno-status{font-size:17px;line-height:1.6;min-height:3.2em;margin-bottom:16px}
.zeno-example figcaption{font-size:14px;line-height:1.6;color:var(--muted);margin-top:12px}
.aside-link{display:block;border-left:3px solid var(--rust);padding:8px 0 8px 20px;font-size:17px;margin:30px 0}
.aside-link a{font-weight:600}
.experiment{background:rgba(255,255,255,.42);border:1px solid rgba(255,255,255,.62);border-radius:14px;padding:26px;margin:32px 0;-webkit-backdrop-filter:blur(22px) saturate(1.5);backdrop-filter:blur(22px) saturate(1.5);box-shadow:inset 0 1px 0 rgba(255,255,255,.7),0 8px 22px rgba(26,65,52,.08)}
.experiment h2{margin:0 0 12px;font-size:28px}
.experiment .intro-note{font-size:16px;color:var(--muted);line-height:1.55}
.game-comparison{margin:28px 0}
.game-comparison table{width:100%;border-collapse:collapse;table-layout:fixed;text-align:left;font-size:17px;line-height:1.55;font-variant-numeric:tabular-nums}
.game-comparison caption{text-align:left;font-size:15px;color:var(--muted);line-height:1.5;margin-bottom:12px}
.game-comparison th,.game-comparison td{padding:12px 8px;border-bottom:1px solid var(--line);vertical-align:top;overflow-wrap:anywhere}
.game-comparison th:first-child{width:30%;padding-left:0}
.game-comparison tbody th{font-weight:500}
.game-comparison th:last-child,.game-comparison td:last-child{padding-right:0}
.game-example h3{margin-top:0;font-family:var(--sans);font-weight:600}
.game-example details{margin:20px 0;border-top:1px solid var(--line);padding-top:12px}
.game-example summary{cursor:pointer;min-height:44px;padding:8px 0;line-height:1.5;font-weight:550}
.game-example details>p{margin:12px 0 0}
.game-example figure{margin:24px 0}
.game-example figcaption{font-size:15px;line-height:1.55;color:var(--muted);margin-top:12px}
@media(max-width:480px){.game-example{padding:20px}.game-comparison table{font-size:15px}.game-comparison th,.game-comparison td{padding:10px 5px}.game-comparison caption{font-size:14px}}
.demo-options,.actions{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}
.demo-options button,.actions button,.quiet-button{border:1px solid rgba(255,255,255,.62);border-radius:999px;background:rgba(255,255,255,.42);box-shadow:inset 0 1px 0 rgba(255,255,255,.7),0 6px 16px rgba(26,65,52,.07);color:var(--ink);min-height:44px;padding:9px 14px;font-size:15px;font-weight:550;line-height:1.35}
.demo-options button[aria-pressed=true]{background:rgba(30,74,59,.12);border-color:var(--felt);color:var(--felt)}
.actions .primary{background:rgba(30,74,59,.9);color:#f5f2ea;border-color:rgba(245,242,234,.2);box-shadow:inset 0 1px 0 rgba(255,255,255,.2)}
.actions button:hover:not(:disabled),.demo-options button:hover{box-shadow:inset 0 0 0 1px currentColor}
.grid-label{font-size:13px;letter-spacing:.02em;color:var(--muted);margin:0 0 12px}
.dice-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px}
.roll-cell{min-width:0;min-height:53px;border:1px solid var(--line);border-radius:9px;background:rgba(255,255,255,.5);display:flex;align-items:center;justify-content:center;position:relative;gap:3px;color:var(--ink);padding:9px 2px}
.die{display:block;flex:none;width:clamp(15px,4.8vw,24px);height:auto}
.roll-cell.is-lit{background:#d4e2cf;border-color:#67815e;box-shadow:inset 0 0 0 1px #67815e}
.roll-cell:not(.is-lit).is-dim{opacity:.35}
.dice-grid button[aria-pressed=true]{background:#e5d3ad;border-color:var(--gold);box-shadow:inset 0 0 0 2px var(--gold)}
.dice-grid button:disabled{opacity:1}
.roll-cell.correct{background:#d4e2cf!important;border-color:#67815e!important;box-shadow:none!important}
.roll-cell.extra{background:#f1d7cc!important;border-color:var(--rust)!important;box-shadow:none!important}
.roll-cell.missed{border:2px dashed #597348!important;background:#edf0e2!important;box-shadow:none!important}
.cell-mark{position:absolute;right:3px;top:0;font:700 12px/1 var(--sans)}
.grid-caption{font-size:17px;min-height:52px;margin:18px 0 0;line-height:1.5}
.grid-caption strong{font-size:22px}
.prompt{font-size:22px;line-height:1.45;font-weight:550;margin:18px 0}
.practice-meta{font-size:13px;color:var(--muted);letter-spacing:.03em;margin:0 0 10px}
.feedback{font-size:17px;line-height:1.6;margin:18px 0 0}
.legend{font-size:13px;line-height:1.5;color:var(--muted);margin:12px 0}
.noscript-note{font-size:16px;padding:14px;border:1px solid var(--line);border-radius:12px}
.probability-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:30px 0}
.probability-card{background:var(--paper);padding:20px 18px;border:1px solid var(--line);border-radius:16px}
.probability-card p{font-size:15px;line-height:1.5;margin:0}
.probability-card .big{font:400 34px/1.3 var(--serif);display:block;margin:12px 0}
.probability-card .small{font-size:13px;color:var(--muted)}
.sequence-controls{display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-size:16px;margin:18px 0}
.sequence-controls select{background:var(--paper);color:var(--ink);padding:8px;border:1px solid #879c8c;border-radius:9px;min-height:44px}
.sequence{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:6px;margin:22px 0}
.sequence-cell{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;align-content:center;gap:2px;min-width:0;background:#e7e4d9;border:1px solid #c8cbbb;border-radius:8px;padding:5px 1px;min-height:51px}
.sequence-cell .die{width:clamp(10px,2.5vw,18px)}
.sequence-cell .roll-number{display:block;flex-basis:100%;text-align:center;font-size:10px;line-height:1.4;color:var(--muted)}
.sequence-cell.double{background:#e7d6af;border-color:#b19a64}
.sequence-cell.run{background:#d4e2cf;border:2px solid #52714e}
.sequence-cell.chosen{outline:2px solid var(--ink);outline-offset:1px}
.sequence-summary{font-size:16px;line-height:1.6;margin:16px 0 0}
.exact-chance{font-size:17px;line-height:1.6;margin:14px 0}
.sequence-legend{font-size:13px;line-height:1.7;color:var(--muted)}
.swatch{display:inline-block;width:11px;height:11px;border-radius:3px;margin-right:4px;vertical-align:baseline;border:1px solid #b19a64;background:#e7d6af}
.swatch.green{background:#d4e2cf;border-color:#52714e}
.swatch.outline{background:transparent;border:2px solid var(--ink)}
.sources{border-top:1px solid var(--line);margin-top:42px;padding-top:22px;font-size:14px;color:var(--muted);line-height:1.7}
.sources summary{cursor:pointer;font-weight:550}
.sources p{margin:14px 0}
.related{margin:55px 0 75px;border-top:1px solid var(--line);padding-top:30px}
.related .kicker{margin-bottom:12px}
.related a{font-family:var(--serif);font-size:25px;line-height:1.4}
.related p:last-child{font-size:16px;color:var(--muted);margin:12px 0 0}
.site-foot{border-top:1px solid var(--line);font-size:14px;color:var(--muted);margin-top:60px;padding-top:28px;padding-bottom:38px}
.site-foot nav{display:flex;gap:18px;flex-wrap:wrap}
.site-foot a{text-decoration:none}
.site-foot a:hover{text-decoration:underline}
.journal{margin-top:65px}
.post-list{display:grid;gap:22px;margin:45px 0 90px}
.post-card{padding:30px;border:1px solid var(--line);border-radius:22px;background:var(--paper)}
.post-card h2{margin:12px 0;font-size:29px}
.post-card h2 a{text-decoration:none}
.post-card h2 a:hover{text-decoration:underline}
.post-card>p:last-child{font-size:17px;color:var(--muted);margin-bottom:0}
.card-dice{display:flex;gap:10px;margin:0 0 22px}
.card-dice .die{width:38px}
.practice-result{font-size:26px;font-family:var(--serif);line-height:1.4;margin:20px 0}
.article img{max-width:100%}
@media(max-width:600px){body{font-size:18px;line-height:1.7}
.site-head{padding:18px 18px;gap:12px}
.wordmark img{width:53px;height:53px}
.wordmark{gap:9px}
.wordmark strong{font-size:20px}
.wordmark small{font-size:10px;margin-top:6px}
.head-nav{gap:13px;font-size:13px}
.article,.journal{width:calc(100% - 36px);margin-top:35px}
.crumb{margin-bottom:25px}
.standfirst{font-size:20px}
.experiment{padding:18px 13px;border-radius:16px;margin:28px -3px}
.dice-grid{gap:4px}
.roll-cell{min-height:49px;gap:2px}
.probability-cards{grid-template-columns:1fr;gap:10px}
.probability-card{display:grid;grid-template-columns:1fr auto;align-items:center;column-gap:16px;padding:15px 18px}
.probability-card .big{grid-column:2;grid-row:1 / 3;margin:0}
.probability-card .small{grid-column:1}
.sequence{gap:4px;grid-template-columns:repeat(5,minmax(0,1fr))}
.sequence-cell{min-height:59px;padding:7px 2px}
.sequence-cell .die{width:22px}
.site-foot{padding:24px 18px}
.post-card{padding:24px}
.post-card h2{font-size:26px}
h2{margin-top:44px}
.demo-options button{font-size:14px;padding:8px 11px}
}
@media(max-width:370px){.head-nav{flex-basis:100%;justify-content:flex-end}
.sequence-cell .die{width:19px}
.wordmark img{width:48px;height:48px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
}

/* The journal's original board experiments. The board stays the same size
   while a reader switches arrangements, rolls or individual moves. */
.journal-board{display:block;width:100%;height:auto;aspect-ratio:1400/1045;border-radius:7px}
.lab-caption{font-size:16px;line-height:1.5;min-height:48px;margin:18px 0 6px;color:var(--muted)}
.lab-count{font-size:19px;line-height:1.5;font-weight:600;margin:20px 0 14px}
.position-text{font-size:14px;line-height:1.65;color:var(--muted);margin:6px 0 18px}
.position-text summary{cursor:pointer;min-height:44px;display:flex;align-items:center;text-decoration:underline;text-underline-offset:4px}
.position-text p{padding:6px 0;overflow-wrap:anywhere}
.lab-rolls .die{width:20px}
.lab-rolls button[aria-pressed=true]{outline:2px solid var(--rust);outline-offset:1px;background:#e8e5d9;box-shadow:none}
.lab-rolls button.is-lit[aria-pressed=true]{background:#d4e2cf}
.lab-status{height:4.8em;overflow:auto;margin:20px 0 8px;font-size:17px;line-height:1.6}
.lab-playback{scroll-margin-top:24px}
.position-lab[data-position-lab=timing] .lab-status{height:3.2em}
.position-lab .demo-options button{min-height:44px}
.position-lab .legend{margin-bottom:16px}
.article-credit{border-top:1px solid var(--line);margin-top:44px;padding-top:24px;font-size:16px;line-height:1.7;color:var(--muted)}
.article-credit .sources{margin-top:20px}
.related>p:not(.kicker){font-size:16px;color:var(--muted);margin:10px 0 28px}
@media(max-width:370px){.lab-rolls .die{width:17px}.lab-rolls{gap:4px}}

/* Five original positions, with the app's board and step-through controls. */
.plan-jump-links{display:flex;flex-wrap:wrap;gap:8px 18px;margin:26px 0;font-size:16px}
.plan-jump-links a{display:flex;align-items:center;min-height:44px}
.plan-example{scroll-margin-top:24px}
.plan-example h3{font-family:var(--sans);font-weight:600;font-size:21px}
.plan-status{height:3em;margin:16px 0 8px;font-size:16px;line-height:1.5}
.plan-caption{height:7.5em;overflow:auto;font-size:16px;line-height:1.5;margin:18px 0 12px;color:var(--muted)}
.plan-example .actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch}
.plan-example .actions button{min-height:64px}
.plan-example .legend{margin-top:14px}

/* An original bear-off comparison for the tournament research article. */
.tournament-example{scroll-margin-top:24px}
.tournament-example h3{font-family:var(--sans);font-weight:600;font-size:21px}
.tournament-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.tournament-options button{min-width:0;min-height:64px;padding:10px 8px;font-size:16px}
.tournament-options button[aria-pressed=true]{background:var(--felt);color:#fff;box-shadow:inset 0 0 0 2px var(--felt)}
.tournament-reset{min-height:44px;margin-top:12px;font-size:15px}
.tournament-status{height:6em;overflow:auto;font-size:16px;line-height:1.5;margin:18px 0 12px}
.tournament-rolls summary{cursor:pointer;min-height:44px;display:flex;align-items:center;text-decoration:underline;text-underline-offset:4px;font-size:16px}
.tournament-rolls .dice-grid{list-style:none;padding:0}
.tournament-rolls .roll-cell{min-height:48px}
.tournament-rolls .die{width:25px;height:auto}
.research-comparison{overflow-x:auto;margin:30px 0}
.research-comparison table{border-collapse:collapse;width:100%;font-size:17px;text-align:left;line-height:1.5}
.research-comparison caption{text-align:left;font-weight:600;margin-bottom:12px}
.research-comparison th,.research-comparison td{border-bottom:1px solid var(--line);padding:12px 8px}
.research-comparison tbody th{font-weight:400}
@media(max-width:370px){.tournament-options{gap:5px}.tournament-options button{font-size:14px}.tournament-rolls .die{width:17px}}

/* Fixed-chance match experiment and downloadable social cards. */
.session-figure{margin:32px 0}.session-figure img{display:block;width:100%;height:auto}
.session-figure figcaption{font-size:14px;line-height:1.5;color:var(--muted);margin-top:10px}
.session-lab h3{font-family:var(--sans);font-size:23px;font-weight:600}
.session-settings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:22px 0}
.session-settings label{display:flex;flex-direction:column;justify-content:space-between;font-size:15px;line-height:1.4}
.session-settings select{display:block;width:100%;min-height:48px;margin-top:8px;border:1px solid var(--line);border-radius:10px;padding:8px;background:var(--paper);color:var(--ink)}
.session-model-note{font-size:15px;line-height:1.5;color:var(--muted)}
.session-chances{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:24px 0}
.session-chances p{margin:0;border-top:2px solid var(--line);padding:12px 0;font-size:14px;line-height:1.5}
.session-chances strong{display:block;font-size:clamp(23px,4vw,34px);font-weight:600;font-variant-numeric:tabular-nums}
.session-chances p:first-child{border-color:var(--rust)}.session-chances p:last-child{border-color:var(--felt)}
.session-sample-status{font-size:16px;line-height:1.5;margin:18px 0}
.session-grid{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:5px}
.session-tile{display:flex;align-items:center;justify-content:center;aspect-ratio:1;border-radius:50%;font-size:15px;font-weight:600}
.session-tile.is-behind{background:#c44737;color:#fff}.session-tile.is-tied{background:#e1d5bb;color:var(--ink)}.session-tile.is-ahead{background:var(--felt);color:#fff}
.session-evening{font-size:17px;font-weight:600;margin:24px 0 12px}
.session-sequence{display:flex;flex-wrap:wrap;gap:5px}
.session-sequence span{display:flex;align-items:center;justify-content:center;width:26px;height:30px;font-size:13px;border-radius:5px}
.session-sequence .is-win{background:var(--felt);color:#fff}.session-sequence .is-loss{background:#c44737;color:#fff}
.session-share{margin:28px 0}
.session-share .actions{margin:0}
.session-share [data-session-share-fallback]{font-size:14px;overflow-wrap:anywhere}
@media(max-width:370px){.session-settings{grid-template-columns:1fr}.session-chances{gap:6px}.session-chances p{font-size:12px}.session-grid{gap:3px}}

/* Pip comparisons use the app board; controls never move or resize it. */
.pip-groups,.pip-practice{scroll-margin-top:24px}
.pip-groups h3,.pip-practice h3{font-family:var(--sans);font-size:23px;font-weight:600}
.pip-formula{font-variant-numeric:tabular-nums}
.pip-group-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.pip-group-options button{min-height:48px;min-width:0;padding:10px 8px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.42);box-shadow:inset 0 1px 0 rgba(255,255,255,.7),0 6px 16px rgba(26,65,52,.07);color:var(--ink);font-size:16px;font-weight:550;line-height:1.35}
.pip-group-options button:hover{box-shadow:inset 0 0 0 1px currentColor}
.pip-group-options button:last-child{grid-column:1/-1}
.pip-group-options [aria-pressed=true]{background:var(--felt);color:#fff}
.pip-group-caption{height:3em;overflow:auto;font-size:16px;line-height:1.5;margin:18px 0 12px}
.pip-progress{font-size:16px;font-weight:600;font-variant-numeric:tabular-nums}
.pip-practice fieldset{border:0;padding:0;margin:24px 0 16px;min-width:0}
.pip-practice legend{font-size:17px;font-weight:600;margin-bottom:12px}
.pip-choice-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.pip-choice-options label{display:flex;gap:6px;align-items:center;justify-content:center;min-height:48px;border:1px solid var(--line);border-radius:10px;font-size:16px;cursor:pointer}
.pip-choice-options label:has(input:checked){background:var(--felt);color:#fff}
.pip-choice-options label:has(input:focus-visible){outline:3px solid var(--ink);outline-offset:3px}
.pip-choice-options input{accent-color:var(--felt)}
.pip-estimate{display:block;font-size:16px;line-height:1.5}
.pip-estimate input{display:block;width:100%;max-width:180px;min-height:48px;margin:8px 0 18px;padding:8px 12px;border:1px solid var(--line);border-radius:10px;background:var(--paper);font:inherit;color:var(--ink)}
.pip-practice .actions button{min-height:48px}
.pip-result{min-height:12em;font-size:16px;line-height:1.6;margin:20px 0}
.pip-result p{margin:12px 0}
.pip-practice [data-pip-fallback] summary{min-height:44px;cursor:pointer;text-decoration:underline;text-underline-offset:4px}
.engine-diagram{margin:32px 0;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--paper)}
.engine-board{padding:16px 16px 0;background:var(--felt)}
.engine-flow{list-style:none;margin:0;padding:24px}
.engine-flow>li{display:flex;gap:16px;margin:0;padding:20px 0;border-bottom:1px solid var(--line);font-size:17px;line-height:1.5}
.engine-flow>li:last-child{border-bottom:0;padding-bottom:0}
.engine-step{display:flex;align-items:center;justify-content:center;flex:0 0 32px;height:32px;border:1px solid var(--line);border-radius:50%;font-size:15px;font-variant-numeric:tabular-nums}
.engine-flow strong{font-weight:600}.engine-flow p{margin:8px 0 0;color:var(--muted);font-size:16px}
.engine-outcomes{list-style:none;padding:0;margin:16px 0 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(3,auto);grid-auto-flow:column;gap:8px;font-size:14px}
.engine-outcomes li{margin:0;padding:8px;border-left:2px solid var(--felt);background:#f1eee5}
.engine-outcomes li:nth-child(n+4){border-color:var(--rust)}
.engine-diagram figcaption,.engine-diagram details{padding:0 24px 20px;font-size:14px;line-height:1.5;color:var(--muted)}
.engine-tradeoff{margin:32px 0;padding:28px;border:1px solid var(--line);border-radius:16px;background:var(--paper)}
.engine-tradeoff h3{margin:0 0 14px;font-size:24px}
.engine-time-key{font-size:15px;line-height:1.5;color:var(--muted);margin:0 0 26px}
.engine-time-row+.engine-time-row{margin-top:26px;padding-top:24px;border-top:1px solid var(--line)}
.engine-time-budget{display:flex;align-items:center;gap:10px;font-size:12px;line-height:1.4;color:var(--muted);margin:0 0 8px}
.engine-time-budget::after{content:"";flex:1;border-top:1px solid var(--line)}
.engine-time-track{display:flex;gap:5px;width:100%;height:46px}
.engine-time-track>i{display:grid;place-items:center;flex:1;min-width:0;border-radius:6px;background:var(--felt)}
.engine-time-track>i>span{display:block;width:10px;height:10px;border:2px solid #f5f1e9;border-radius:50%}
.engine-time-row[data-time-lane=larger] .engine-time-track>i{background:var(--gold)}
.engine-time-row>p{font-size:16px;line-height:1.5;margin:10px 0 0}
.engine-tradeoff figcaption{font-size:13px;line-height:1.5;color:var(--muted);margin-top:26px;padding-top:16px;border-top:1px solid var(--line)}
.engine-overview{margin:36px 0;padding-top:4px}
.engine-overview>p{font-size:17px;line-height:1.6}
.engine-overview .engine-overview-note{font-size:14px;color:var(--muted);margin:16px 0 0}
@media(max-width:480px){.engine-tradeoff{padding:20px}.engine-tradeoff h3{font-size:22px}.engine-time-track{gap:4px}}
@media(max-width:370px){.pip-choice-options{gap:4px}.pip-choice-options label{font-size:14px;gap:3px}.engine-flow{padding:16px}.engine-flow>li{gap:10px}.engine-outcomes{grid-template-columns:1fr;grid-template-rows:none;grid-auto-flow:row}}

/* Recorded engine results, with points kept distinct from wins and human PR. */
.strength-results{margin:32px 0;padding:28px;border:1px solid var(--line);border-radius:16px;background:var(--paper)}
.strength-results h2{font-size:26px;margin:0 0 24px}
.strength-score+.strength-score{margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}
.strength-score h3{font:600 16px/1.4 var(--sans);margin:0 0 12px}
.strength-score-values{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.strength-score-values p{margin:0;font-size:14px;line-height:1.4;color:var(--muted)}
.strength-score-values p:last-child{text-align:right}
.strength-score-values strong{display:block;font-size:42px;font-weight:550;font-variant-numeric:tabular-nums;color:var(--felt)}
.strength-score-values p:last-child strong{color:var(--gold)}
.strength-score-bar{display:flex;gap:4px;height:12px;margin-top:12px}
.strength-score-bar i{background:var(--felt);border-radius:2px}
.strength-score-bar i:last-child{background:var(--gold)}
.strength-results figcaption{margin-top:24px;font-size:14px;line-height:1.6;color:var(--muted)}
.strength-table{margin:28px 0}
.strength-table table{width:100%;border-collapse:collapse;table-layout:fixed;text-align:left;font-size:16px;line-height:1.5;font-variant-numeric:tabular-nums}
.strength-table caption{text-align:left;font-size:15px;line-height:1.5;color:var(--muted);margin-bottom:12px}
.strength-table th,.strength-table td{padding:14px 8px;vertical-align:top;border-bottom:1px solid var(--line);overflow-wrap:break-word}
.strength-table thead th{font-size:14px;font-weight:600}
.strength-table th:first-child{width:38%;padding-left:0}
.strength-table tbody th{font-weight:400}
.strength-table td:last-child{padding-right:0}
.strength-table td span{display:block;font-size:14px;color:var(--muted);margin-top:4px}
.strength-method{margin:32px 0;padding:20px;border:1px solid var(--line);border-radius:12px;font-size:16px;line-height:1.6}
.strength-method summary{min-height:44px;cursor:pointer;font-weight:550}
.strength-method summary:focus-visible{outline:3px solid var(--felt);outline-offset:4px}
@media(max-width:480px){.strength-results{padding:20px}.strength-results h2{font-size:23px}.strength-table table{font-size:14px}.strength-table th,.strength-table td{padding:12px 5px}.strength-table thead th,.strength-table td span{font-size:13px}}

/* Editorial history is explicit and does not change when the site rebuilds. */
.byline .article-author{display:block;margin-bottom:8px}
.article-dates{display:flex;flex-wrap:wrap;column-gap:22px;row-gap:4px;font-variant-numeric:tabular-nums}
.article-dates>span{display:block}
.journal-sections{width:min(100% - 48px,1080px)}
.journal-intro{max-width:740px}
.journal-jump{display:flex;gap:8px 24px;flex-wrap:wrap;margin:36px 0 56px;padding:16px 0;border-block:1px solid var(--line);font-size:16px}
.journal-jump a{display:flex;align-items:center;min-height:44px}
.journal-section{scroll-margin-top:28px;margin:0 0 64px}
.journal-section-heading{max-width:690px;margin-bottom:26px}
.journal-section-heading .kicker{margin-bottom:10px}
.journal-section-heading h2{margin:0 0 12px}
.journal-section-heading>p:last-child{font-size:18px;color:var(--muted)}
.journal-section .post-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.journal-section .post-card{min-width:0;margin:0;padding:26px;border:1px solid var(--line);border-radius:18px}
.journal-section .post-card h3{font-size:26px;margin:0 0 10px}
.journal-section .post-card h3 a{display:block;min-height:44px}
.journal-section .post-card .kicker{font-size:11px;margin-bottom:12px}
.journal-card-date{font-size:13px;color:var(--muted);margin:0 0 14px;font-variant-numeric:tabular-nums}
.journal-section .post-card>p:last-child{font-size:17px;line-height:1.6;margin-bottom:0}
.engine-time-row h4{font:600 18px/1.4 var(--sans);margin:0 0 14px}
.engine-network{display:block;width:100%;height:auto;margin:8px 0 14px}
.engine-connections{stroke:var(--felt);stroke-width:.8;opacity:.24}
.engine-network circle{stroke:var(--felt);stroke-width:1.5;fill:var(--paper)}
.engine-network .is-hidden circle{fill:var(--felt)}
.engine-network .is-output circle{fill:var(--gold);stroke:var(--gold)}
.engine-time-row[data-time-lane=larger] .engine-connections{stroke:var(--gold)}
.engine-time-row[data-time-lane=larger] .is-hidden circle{fill:var(--gold);stroke:var(--gold)}
.engine-time-row .engine-time-budget{margin-top:20px}
.engine-time-row .engine-position-key{font-size:13px;color:var(--muted)}
.engine-escalation{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;list-style:none;counter-reset:engine-step;padding:0;margin:28px 0}
.engine-escalation li{counter-increment:engine-step;border-top:2px solid var(--felt);padding:16px 0;font-size:16px;line-height:1.5}
.engine-escalation li::before{content:counter(engine-step,decimal-leading-zero);display:block;color:var(--gold);font-size:14px;margin-bottom:12px}
.engine-escalation strong{display:block;font-weight:600}
.engine-escalation p{font-size:15px;color:var(--muted);margin:8px 0 0}
.engine-signals{margin:28px 0}
.engine-signals>div{padding:18px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:22px;font-size:16px;line-height:1.6}
.engine-signals dt{font-weight:600}
.engine-signals dd{margin:0}
.engine-overview h4{font:400 25px/1.3 var(--serif);margin:36px 0 16px}
.engine-timing-targets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:26px 0}
.engine-timing-targets>div{padding-top:16px;border-top:1px solid var(--line)}
.engine-timing-targets h5{font:550 15px/1.5 var(--sans);margin:0 0 8px}
.engine-timing-targets strong{display:block;font-size:30px;font-weight:550;font-variant-numeric:tabular-nums}
.engine-timing-targets p{font-size:14px;line-height:1.6;margin:8px 0 0;color:var(--muted)}
@media(max-width:600px){.journal-section .post-list{grid-template-columns:1fr;gap:4px}.journal-jump{gap:4px 18px}.journal-section .post-card h3{font-size:25px}.engine-escalation{grid-template-columns:1fr;gap:0}.engine-signals>div{grid-template-columns:1fr;gap:6px}.engine-timing-targets{grid-template-columns:1fr;gap:24px}}

/* Original entry-count exercises in the learning article; native reveals. */
.mastery-example figure{margin:24px 0 8px}
.mastery-example figcaption{font-size:15px;line-height:1.55;color:var(--muted)}
.mastery-example h3{margin-top:0}
.mastery-answer{margin:12px 0 28px}
.mastery-answer summary{min-height:44px;display:list-item;align-content:center;cursor:pointer;font-weight:550;text-decoration:underline;text-underline-offset:4px}
.mastery-answer p{margin:12px 0}

/* Board mathematics: original diagrams and native radio controls. */
.board-math-roman{margin:32px 0;padding:24px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.3)}
.board-math-roman h3,.board-math-prime h3,.board-math-entry h3{margin:0 0 18px;font-size:23px;line-height:1.35}
.board-math-inscription{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px clamp(16px,4vw,36px);margin:24px 0}
.board-math-word{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:3px;font:500 clamp(13px,3.3vw,25px)/1.7 monospace;text-align:center}
.board-math-word>span{border-bottom:1px solid var(--line)}
.board-math-restored{outline:1px dashed var(--muted);outline-offset:3px}
.board-math-roman figcaption,.board-math-frames figcaption{font-size:14px;line-height:1.65;color:var(--muted)}
.board-math-switch{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;border:0;padding:0;margin:18px 0 0;min-inline-size:0}
.board-math-entry .board-math-switch{grid-template-columns:repeat(7,minmax(0,1fr))}
.board-math-step{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden;white-space:nowrap}
.board-math-choice{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:8px;border:1px solid var(--line);border-radius:10px;font-size:15px;line-height:1.35;text-align:center;cursor:pointer}
.board-math-step:checked+label{background:var(--felt);color:var(--paper);border-color:var(--felt)}
.board-math-step:focus-visible+label{outline:3px solid var(--rust);outline-offset:3px}
.board-math-frames{grid-column:1/-1;min-width:0}
.board-math-frames>figure{display:none;margin:12px 0 0}
.board-math-status{font-size:17px;line-height:1.65;margin:0 0 18px}
.board-math-count{font-size:18px;line-height:1.55;margin:0 0 18px}
.board-math-grid{width:100%;max-width:420px;table-layout:fixed;border-collapse:separate;border-spacing:4px;margin:24px auto 16px;font-variant-numeric:tabular-nums}
.board-math-grid caption{text-align:left;font-size:14px;line-height:1.6;color:var(--muted);padding:0 0 8px}
.board-math-grid th,.board-math-grid td{height:32px;padding:4px;border:0;border-radius:4px;text-align:center;font-size:16px;line-height:1.6}
.board-math-grid th{font-weight:500}
.board-math-enters{background:#dce8d4;color:#154b38}
.board-math-blocked{background:#e5dfd3;color:#695e4d}
@media(max-width:600px){.board-math-entry .board-math-switch{grid-template-columns:repeat(4,minmax(0,1fr))}.board-math-roman{padding:18px 13px}.board-math-choice{font-size:14px}}
#prime-math-0:checked~.board-math-frames>[data-prime-frame="0"],
#prime-math-1:checked~.board-math-frames>[data-prime-frame="1"],
#prime-math-2:checked~.board-math-frames>[data-prime-frame="2"],
#entry-math-0:checked~.board-math-frames>[data-entry-frame="0"],
#entry-math-1:checked~.board-math-frames>[data-entry-frame="1"],
#entry-math-2:checked~.board-math-frames>[data-entry-frame="2"],
#entry-math-3:checked~.board-math-frames>[data-entry-frame="3"],
#entry-math-4:checked~.board-math-frames>[data-entry-frame="4"],
#entry-math-5:checked~.board-math-frames>[data-entry-frame="5"],
#entry-math-6:checked~.board-math-frames>[data-entry-frame="6"]{display:block}

/* Opening-history comparison: native choices, usable without JavaScript. */
.computer-opening h3{margin:0 0 18px;font-size:23px;line-height:1.35}
.opening-switch{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;border:0;padding:0;margin:24px 0 0;min-inline-size:0}
.opening-step{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden;white-space:nowrap}
.opening-choice{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:48px;padding:10px 8px;border:1px solid var(--line);border-radius:10px;font-size:15px;line-height:1.4;text-align:center;cursor:pointer}
.opening-step:checked+label{background:var(--felt);color:var(--paper);border-color:var(--felt)}
.opening-step:focus-visible+label{outline:3px solid var(--rust);outline-offset:3px}
.opening-frames{grid-column:1/-1;min-width:0}
.opening-frames>figure{display:none;margin:16px 0 0}
.opening-explanation{font-size:17px;line-height:1.65;margin:0 0 18px}
.opening-frames figcaption{font-size:15px;line-height:1.6;color:var(--muted);margin-top:8px}
#opening-choice-0:checked~.opening-frames>[data-opening-frame="start"],
#opening-choice-1:checked~.opening-frames>[data-opening-frame="two"],
#opening-choice-2:checked~.opening-frames>[data-opening-frame="split"],
#opening-choice-3:checked~.opening-frames>[data-opening-frame="run"]{display:block}
@media(max-width:600px){.opening-switch{grid-template-columns:repeat(2,minmax(0,1fr))}}
