/* Weekly Parent Puzzle, Spot The Catch, Friday Planning Milestones and the "What's Yours?"
   landing. Void Deck Playground tokens only (tokens.css); options reuse the Course Quest
   styles in result-card.css. */
.play-section{position:relative;margin:0 0 var(--space-group);padding:22px 22px 22px 40px;border:3px solid var(--outline);border-radius:var(--radius);background:var(--card);box-shadow:var(--shadow-sm)}
.play-section::before{content:"";position:absolute;left:14px;top:22px;bottom:22px;width:8px;border-radius:8px;background:var(--rubber,none),var(--play-accent,var(--red))}
.play-section.is-catch{--play-accent:var(--blue)}
.play-section.is-milestones{--play-accent:var(--green)}
.play-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:var(--space-tight) var(--space-4);margin-bottom:var(--space-heading-after)}
.play-head h2{margin:0}
.play-edition{margin:0;font:700 .8125rem/1.5 var(--font-body);color:var(--muted)}
.play-lede{margin:0 0 var(--space-block);color:var(--muted)}
.play-card{min-width:0}
.play-card h3{margin:var(--space-1) 0 var(--space-3);font-family:var(--font-head)}
.play-card h3:focus{outline:none}
.play-card h3:focus-visible{outline:3px solid var(--focus);outline-offset:4px}
.puzzle-step{margin:0;font:800 .75rem/1.5 var(--font-body);color:var(--muted)}
.puzzle-scenario{margin:0 0 var(--space-block);padding:12px 14px;border-radius:14px;background:var(--soft);border:2px solid var(--hair)}
.play-card fieldset{border:0;margin:0 0 var(--space-4);padding:0;min-width:0}
.play-card legend{font-weight:800;margin-bottom:var(--space-3);line-height:1.5;padding:0}
.play-card .btn{min-height:44px;margin:0 8px 8px 0}
.play-card .course-quest-option input:disabled+span{color:var(--ink)}
.puzzle-source{margin:var(--space-4) 0 0;color:var(--muted)}
.puzzle-summary{margin:0 0 12px}
.puzzle-tool{display:inline-flex;align-items:center;min-height:44px;font-weight:800}
.puzzle-actions{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 8px}
.puzzle-actions .btn{margin:0}
.catch-offer{margin:0 0 var(--space-block);padding:14px 16px;border:3px dashed var(--field-border);border-radius:14px;background:var(--soft)}
.catch-offer-label{font:800 .75rem/1.5 var(--font-body);color:var(--muted)}
.catch-offer-headline{margin:var(--space-1) 0 var(--space-2);font:800 1.25rem/1.25 var(--font-head);color:var(--ink)}
.catch-offer-lines{margin:0;padding-left:18px;font-size:.9375rem;color:var(--muted)}
.catch-tool{margin:12px 0 0}
.catch-tool a{display:inline-flex;align-items:center;min-height:44px;font-weight:800}
.play-controls{margin-top:var(--space-block);padding-top:var(--space-5);border-top:2px solid var(--hair)}
.play-controls label{display:block;font-size:.875rem;font-weight:700;color:var(--muted);margin-bottom:6px}
.play-picker{display:flex;gap:8px;align-items:stretch}
.play-picker select{flex:1;min-width:0;min-height:44px}
.play-controls .btn{min-height:44px;white-space:nowrap}
.milestone-featured{margin:0 0 var(--space-block);padding:16px;border-radius:14px;background:var(--tile-mint);border:2px solid var(--hair)}
.milestone-featured p{margin:0 0 10px}
.milestone-featured .btn{margin:4px 0 0}
.milestone-recap{margin:0 0 var(--space-4);font-weight:700}
.milestone-list legend{font:800 1.125rem/1.3 var(--font-head);margin-bottom:10px}
.milestone-row{display:flex;flex-wrap:wrap;align-items:center;gap:0 10px}
.milestone-row .course-quest-option{flex:1 1 16rem;margin-bottom:8px}
.milestone-row small{color:var(--muted);font-weight:400}
.milestone-row .milestone-card-btn{margin:0 0 8px;min-height:44px}
.planning-milestone-note{margin:12px 0 0;padding:10px 14px;border:2px dashed var(--green-ink);border-radius:14px}
.whats-yours-hero{margin:0 0 var(--space-8)}
.whats-yours-featured{margin:0 0 var(--space-group);padding:20px;border:3px solid var(--outline);border-radius:var(--radius);background:var(--tile-butter);box-shadow:var(--shadow-sm)}
.whats-yours-featured h2{margin:4px 0 8px}
.whats-yours-featured p{margin:0 0 12px;max-width:44rem}
.whats-yours-stages{display:grid;align-items:start;grid-template-columns:repeat(auto-fill,minmax(min(15rem,100%),1fr));gap:var(--space-grid);margin:0 0 var(--space-group);padding:0;list-style:none}
.whats-yours-stage{padding:16px 18px;border:3px solid var(--outline);border-radius:var(--radius);background:var(--card)}
.whats-yours-stage h3{margin:0 0 8px;font-size:1.1875rem}
.whats-yours-stage ul{margin:0;padding:0;list-style:none}
.whats-yours-stage li a{display:flex;align-items:center;min-height:44px;font-weight:700}
.whats-yours-promise{margin:0 0 24px;padding-left:20px}
.whats-yours-promise li{margin:0 0 6px}
@media(max-width:700px){
 .play-section{padding:18px 16px 18px 30px}
 .play-section::before{left:10px}
 .play-picker{flex-direction:column}
 .play-card .btn,.play-controls .btn,.puzzle-actions .btn{width:100%;margin-right:0}
 .catch-offer-headline{font-size:1.125rem}
}
/* The header's Play menu links straight to Spot The Catch; keep headings clear of the sticky header. */
#catch-heading,#milestones-heading{scroll-margin-top:110px}
