.play-featured{margin:44px 0 16px;padding:clamp(20px,3.5vw,40px);border:1px solid var(--hairline);border-radius:16px;background:var(--panel-soft)}.play-featured-head{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap}.play-featured-head span{font-size:.72rem;color:var(--muted);font-weight:750;letter-spacing:.06em}.play-featured-body{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(150px,.7fr);gap:30px;align-items:center}.play-featured-body h2{font-size:clamp(2rem,4vw,3.25rem);margin-bottom:10px}.play-featured-body p{max-width:68ch;font-size:.96rem;line-height:1.65}.play-featured-body ol{padding:0 0 0 24px;color:var(--ink);font-size:.86rem;line-height:2.5;border-left:2px solid var(--accent)}@media(max-width:680px){.play-featured-body{grid-template-columns:1fr;gap:10px}.play-featured{margin-top:28px}.play-featured-body ol{margin:12px 0 0}}
.play-hub{padding-top:48px}.play-hero{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);align-items:start;gap:64px;padding-block:16px 44px;border-bottom:1px solid var(--hairline)}.play-hero h1{font-size:clamp(2.5rem,5vw,4.25rem);max-width:720px;line-height:1.08}.play-hero .page-lede{margin-bottom:26px}.play-promise{font-size:.8rem;color:var(--muted);margin-top:20px;margin-bottom:0}.play-first-round{background:var(--panel-soft);border:1px solid var(--hairline);border-radius:14px;padding:30px}.play-first-round h2{font-size:1.6rem;line-height:1.3}.play-first-round ol{list-style:none;counter-reset:round;padding:0;margin:24px 0 0;display:grid;gap:20px}.play-first-round li{counter-increment:round;display:grid;grid-template-columns:26px minmax(0,1fr);column-gap:14px}.play-first-round li::before{content:counter(round,decimal-leading-zero);color:var(--accent);font-size:.75rem;padding-top:2px;grid-row:1/3;font-variant-numeric:tabular-nums}.play-first-round strong{color:var(--ink);font-size:.9rem}.play-first-round li span{color:var(--muted);font-size:.83rem;line-height:1.65;margin-top:5px}.play-section{margin-top:56px}.play-goals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.play-goal{min-width:0;border-top:2px solid var(--accent);padding:24px 0 0;display:flex;flex-direction:column;align-items:start}.play-goal-index{font-size:.7rem;color:var(--accent);font-variant-numeric:tabular-nums;letter-spacing:.1em;margin-bottom:14px}.play-goal h3{font-size:1.3rem;line-height:1.35}.play-goal p{font-size:.93rem}.play-goal-length{color:var(--muted);font-size:.76rem!important;margin-top:auto;margin-bottom:8px}.play-goal .text-link{font-size:.82rem}.play-game-meta{width:100%;margin:0 0 20px;display:grid;gap:12px}.play-game-meta>div{border-top:1px solid var(--hairline);padding-top:10px}.play-game-meta dt{color:var(--ink);font-size:.75rem;font-weight:700;margin-bottom:4px}.play-game-meta dd{margin:0;color:var(--muted);font-size:.78rem;line-height:1.6}.play-session{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:64px;padding-block:36px;border-block:1px solid var(--hairline)}.play-session h2{font-size:2rem;line-height:1.25;max-width:440px}.play-session p{font-size:.93rem;max-width:46ch}.play-next-ideas{list-style:none;padding:0;margin:0;display:grid;gap:22px}.play-next-ideas li{display:grid;grid-template-columns:90px minmax(0,1fr);gap:18px}.play-next-ideas strong{color:var(--ink);font-size:.85rem}.play-next-ideas span{font-size:.86rem;line-height:1.7;color:var(--muted)}.play-access{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:48px;margin-top:36px}.play-access h2{font-size:1.4rem}.play-access p{font-size:.9rem;max-width:74ch;margin:0}.play-access-links{display:flex;flex-direction:column;align-items:start}.play-access-links a{font-size:.8rem}.game-session-brief{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;padding:20px 0;border-block:1px solid var(--hairline);margin-bottom:24px}.game-session-brief dt{color:var(--ink);font-size:.8rem;font-weight:700;margin-bottom:5px}.game-session-brief dd{margin:0;color:var(--muted);font-size:.86rem;line-height:1.65}.game-reflection{margin-top:20px;border-top:1px solid var(--hairline);padding-top:20px}.game-reflection h3{font-size:1.1rem;margin-bottom:10px}.game-reflection p{font-size:.9rem;max-width:66ch}.game-result-actions{display:flex;flex-wrap:wrap;gap:12px}.game-result-actions .button{white-space:normal;text-align:center}.game-result-note{font-size:.8rem!important;color:var(--muted)}.game-next-step{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px;padding-block:28px;border-bottom:1px solid var(--hairline);margin-top:8px}.game-next-step h2{font-size:1.3rem}.game-next-step p{font-size:.9rem;max-width:58ch}.game-next-step .text-link{font-size:.83rem}.game-next-step ul{padding-left:20px;margin:0;color:var(--muted);font-size:.87rem}.game-next-step li+li{margin-top:8px}@media(max-width:920px){.play-hero{gap:32px}.play-first-round{padding:24px}.play-goals{gap:20px}.play-session{gap:32px}.play-next-ideas li{grid-template-columns:80px minmax(0,1fr);gap:14px}.play-access{grid-template-columns:1fr;gap:16px}.play-access-links{flex-direction:row;flex-wrap:wrap;gap:4px 24px}}@media(max-width:700px){.play-hub{padding-top:30px}.play-hero{grid-template-columns:1fr;padding-block:8px 32px;gap:28px}.play-hero h1{font-size:clamp(2.3rem,9vw,3.5rem)}.play-first-round{padding:24px}.play-section{margin-top:40px}.play-goals{grid-template-columns:1fr;gap:26px}.play-goal{padding-top:18px}.play-goal h3{font-size:1.35rem}.play-goal p{max-width:60ch}.play-goal-index{margin-bottom:10px}.play-session{grid-template-columns:1fr;gap:22px;padding-block:28px}.play-session h2{font-size:1.75rem}.play-next-ideas li{grid-template-columns:1fr;gap:6px}.game-session-brief{grid-template-columns:1fr;gap:14px;padding-block:18px}.game-next-step{grid-template-columns:1fr;gap:16px}.game-result-actions{flex-direction:column;align-items:stretch}.game-result-actions .button{width:100%}}@media(forced-colors:active){.play-first-round,.play-goal{border:1px solid CanvasText}.play-first-round li::before,.play-goal-index{color:CanvasText}}@media print{.play-hero{display:block}.play-first-round{break-inside:avoid;margin-top:24px}.play-goals{display:block}.play-goal{margin-bottom:20px}.play-session{display:block}.play-next-ideas{margin-top:20px}.play-hub .button,.game-result-actions{display:none}}
.game-page[data-game="patterns"] .pattern-sequence{display:grid;grid-template-columns:repeat(var(--sequence-columns,5),minmax(0,1fr));gap:clamp(3px,1.5vw,8px)}
.game-page[data-game="patterns"] .pattern-sequence li{min-width:0;padding-inline:2px;font-size:clamp(1rem,4.5vw,1.55rem)}