.play{grid-template-columns:minmax(0,1fr) 236px;align-items:start;gap:clamp(24px,4vw,44px);display:grid}.play-main{min-width:0}.play-rail{font-size:var(--step--1);position:sticky;top:96px}.play-rail-inner{background:var(--card);border:1px solid var(--rule);border-radius:var(--radius-sm);box-shadow:inset 0 1px 0 var(--surface-glint), 0 2px 0 var(--surface-depth);gap:14px;padding:18px 16px;display:grid}.play-who{font-family:var(--font-display);margin:0;font-size:1.0625rem;font-weight:650;line-height:1.25}.play-who span{font-family:var(--font-body);font-size:var(--step--1);color:var(--ink-2);font-weight:400}.play-ledger-rail{gap:6px;margin:0;display:grid}.play-ledger-rail div{border-bottom:1px solid var(--rule);justify-content:space-between;gap:8px;padding-bottom:4px;display:flex}.play-ledger-rail dt{color:var(--ink-2)}.play-ledger-rail dd{font-family:var(--font-mono);font-variant-numeric:tabular-nums;margin:0}.play-glyphs{letter-spacing:2px}.play-sr{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.play-clock{font-family:var(--font-mono);font-size:var(--step--2);color:var(--ink-2);margin:0}.play-live{font-size:var(--step--2);color:var(--ink-2);margin:0}.play-chapter{margin-bottom:22px}.play-stamp-line{font-family:var(--font-mono);font-size:var(--step--2);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);margin:0 0 6px}.play-title{font-family:var(--font-display);font-size:var(--step-2);margin:0 0 8px;font-weight:650;line-height:1.15}.play-title:focus-visible{outline:2px solid var(--focus);outline-offset:4px}.play-intro{max-width:58ch;color:var(--ink-2);margin:0}.play-stack{gap:14px;margin-bottom:26px;display:grid}.play-doc{background:var(--card);border:1px solid var(--rule);border-radius:var(--radius-sm);padding:18px 18px 16px}.play-reply{border-left:3px solid var(--rule-strong)}.play-doc-meta{font-family:var(--font-mono);font-size:var(--step--2);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);margin:0 0 6px}.play-doc-title{font-family:var(--font-display);margin:0 0 8px;font-size:1.125rem;font-weight:650}.play-doc-body{max-width:62ch;margin:0}.play-doc-note,.play-doc-locked{font-family:var(--font-mono);font-size:var(--step--2);color:var(--ink-2);margin:10px 0 0}.play-doc-open{min-height:44px;font-family:var(--font-mono);font-size:var(--step--1);color:var(--action-link);background:var(--action-tint);border:1px solid var(--rule-strong);border-radius:var(--radius-sm);cursor:pointer;margin-top:12px;padding:10px 14px}.play-doc-open:hover{border-color:var(--action-link)}.play-doc-open:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.play-choices-head{font-family:var(--font-display);margin:0 0 10px;font-size:1rem;font-weight:650}.play-choice-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.play-choice{text-align:left;width:100%;min-height:48px;color:var(--ink);background:var(--card);border:1px solid var(--rule);border-radius:var(--radius-sm);cursor:pointer;grid-template-columns:26px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 14px;display:grid}.play-choice:hover{border-color:var(--action-link);background:var(--action-tint)}.play-choice:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.play-key{width:26px;height:26px;font-family:var(--font-mono);font-size:var(--step--2);color:var(--action-link);background:var(--action-tint);border:1px solid var(--rule-strong);border-radius:4px;place-items:center;display:grid}.play-choice-label{font-family:var(--font-body);font-size:var(--step-0)}.play-choice-cost{font-family:var(--font-mono);font-size:var(--step--2);color:var(--ink-2);white-space:nowrap}.play-exhausted{font-family:var(--font-mono);font-size:var(--step--1);color:var(--ink);background:var(--badge-surface);border-left:3px solid var(--rule-strong);margin:0 0 18px;padding:12px 14px}.play-dialog{width:min(720px,100vw - 32px);max-height:calc(100vh - 64px);color:var(--ink);background:var(--card);border:1px solid var(--rule-strong);border-radius:var(--radius);box-shadow:0 24px 64px var(--surface-shadow);padding:0}.play-dialog::backdrop{background:var(--scrim)}.play-reader{padding:clamp(20px,4vw,32px)}.play-reader-head h2{font-family:var(--font-display);font-size:var(--step-1);margin:0 0 6px}.play-reader-note{font-size:var(--step--1);color:var(--ink-2);margin:0 0 18px}.play-clauses{gap:2px;margin:0;padding:0;list-style:none;display:grid}.play-clauses details{border-bottom:1px solid var(--rule)}.play-clauses summary{min-height:44px;font-family:var(--font-body);font-size:var(--step-0);cursor:pointer;padding:12px 2px}.play-clauses summary:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.play-clause-n{font-family:var(--font-mono);font-size:var(--step--1);color:var(--ink-2)}.play-schedule{gap:8px;margin:18px 0 0;display:grid}.play-schedule div{border-bottom:1px solid var(--rule);grid-template-columns:minmax(0,1fr) auto;gap:4px 16px;padding-bottom:8px;display:grid}.play-schedule dt{font-size:var(--step--1);color:var(--ink-2)}.play-schedule dd{font-family:var(--font-mono);font-size:var(--step--1);text-align:right;margin:0}.play-clause-text{max-width:64ch;font-size:var(--step--1);margin:0 0 14px;line-height:1.6}.play-reader-close{justify-content:flex-end;margin-top:20px;display:flex}.play-headline{margin-bottom:24px}.play-exit{gap:10px;margin:0 0 24px;display:grid}.play-exit div{border-bottom:1px solid var(--rule);grid-template-columns:minmax(0,1fr) auto;gap:2px 12px;padding-bottom:8px;display:grid}.play-exit dt{font-size:var(--step--1);color:var(--ink-2)}.play-exit dd{font-family:var(--font-mono);font-variant-numeric:tabular-nums;text-align:right;margin:0}.play-tag{font-family:var(--font-mono);font-size:var(--step--2);color:var(--ink-2);text-align:left;grid-column:1/-1}.play-retro{gap:10px;max-width:62ch;margin-bottom:26px;display:grid}.play-retro-line{font-size:var(--step-0);margin:0;line-height:1.55}.play-never{border-left:3px solid var(--rule-strong);margin:0 0 26px;padding:18px 0 18px 18px}.play-never-line{font-family:var(--font-display);font-size:var(--step-2);margin:0 0 8px;font-weight:650;line-height:1.2}.play-never-sub{max-width:60ch;font-size:var(--step--1);color:var(--ink-2);margin:0 0 6px}.play-ambition{margin-bottom:26px}.play-ambition-head{font-family:var(--font-mono);font-size:var(--step--2);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);margin:0 0 6px}.play-ambition ul{flex-wrap:wrap;gap:6px;margin:0 0 8px;padding:0;list-style:none;display:flex}.play-ambition li{font-size:var(--step--1);background:var(--badge-surface);border-radius:999px;padding:4px 10px}.play-ambition-final{font-family:var(--font-mono);font-size:var(--step--1);margin:0}.play-next{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px;margin:26px 0 0;display:grid}.play-next-link{color:var(--ink);background:var(--card);border:1px solid var(--rule);border-radius:var(--radius-sm);gap:4px;padding:16px 18px;text-decoration:none;display:grid}.play-next-link:hover{border-color:var(--action-link)}.play-next-link:focus-visible{outline:2px solid var(--focus);outline-offset:3px}.play-next-title{font-family:var(--font-display);font-size:1rem;font-weight:650}.play-next-sub{font-size:var(--step--1);color:var(--ink-2)}.play-fine{max-width:72ch;font-size:var(--step--1);color:var(--ink-2);margin:clamp(28px,4vw,44px) 0 0}.play-attribution{border-top:1px solid var(--rule-strong);margin:0 0 28px;padding-top:22px}.play-attr-head{font-family:var(--font-display);margin:0 0 6px;font-size:1.0625rem;font-weight:650}.play-attr-progress{font-family:var(--font-mono);font-size:var(--step--2);color:var(--ink-2);margin:0 0 10px}.play-attr-q{max-width:54ch;font-size:var(--step-0);margin:0 0 12px}.play-attr-chips{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.play-chip{min-height:44px;font-family:var(--font-body);font-size:var(--step--1);color:var(--ink);background:var(--card);border:1px solid var(--rule);cursor:pointer;border-radius:999px;padding:9px 14px}.play-chip:hover{border-color:var(--action-link);background:var(--action-tint)}.play-chip:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.play-attr-table{gap:12px;margin:0 0 12px;display:grid}.play-attr-table div{border-bottom:1px solid var(--rule);grid-template-columns:minmax(0,1fr) auto;gap:4px 16px;padding-bottom:10px;display:grid}.play-attr-table dt{font-size:var(--step--1);color:var(--ink-2);grid-column:1/-1}.play-attr-table dd{font-family:var(--font-mono);font-size:var(--step--1);margin:0}.play-attr-k{font-family:var(--font-mono);font-size:var(--step--2);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);display:block}.play-attr-note{font-size:var(--step--1);color:var(--ink-2);margin:0 0 16px}.play-buttons{flex-wrap:wrap;gap:8px;display:flex}.play-branch{border-top:1px solid var(--rule-strong);margin:0 0 28px;padding-top:22px}.play-branch-prompt{max-width:60ch;font-size:var(--step--1);color:var(--ink-2);margin:0 0 14px}.play-branch-table{border-collapse:collapse;width:100%;font-size:var(--step--1)}.play-branch-table th,.play-branch-table td{text-align:left;border-bottom:1px solid var(--rule);padding:8px 10px}.play-branch-table thead th{font-family:var(--font-mono);font-size:var(--step--2);color:var(--ink-2);font-weight:450}.play-branch-table tbody th{color:var(--ink-2);font-weight:450}.play-branch-table td{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.play-branch-table [data-current]{box-shadow:inset 2px 0 0 var(--rule-strong)}@media print{.play-rail,.play-dialog,.play-buttons,.play-choices,.play-attr-chips{display:none}.play{display:block}.play-doc{break-inside:avoid}}@media (width<=900px){.play{grid-template-columns:minmax(0,1fr);gap:18px}.play-rail{order:-1;position:static}.play-rail-inner{flex-wrap:wrap;align-items:baseline;gap:6px 14px;padding:12px 14px;display:flex}.play-who{width:100%;font-size:.9375rem}.play-ledger-rail{flex-wrap:wrap;gap:4px 14px;display:flex}.play-ledger-rail div{border-bottom:0;gap:5px}.play-clock{margin-left:auto}.play-live{width:100%}}@media (prefers-reduced-motion:no-preference){.play-dialog[open]{animation:.2s ease-out play-sheet}@keyframes play-sheet{0%{opacity:0;transform:translateY(8px)}}}
