/* Class play uses Woodshed's shared stylesheet and tokens. Only game layout lives here. */
.class-play{max-width:960px;margin:0 auto}.class-play>h1{margin-bottom:.25rem}.class-play>[role=status]{font-size:.875rem;color:var(--muted-foreground)}.cp-content{min-width:0}.cp-form{max-width:780px;margin:1rem 0}.cp-form h2{margin:0}.cp-settings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}.cp-settings [hidden]{display:none}.cp-form label:has(input[type=checkbox]){display:flex;gap:.75rem;align-items:center;min-height:44px}.cp-form label:has(input[type=checkbox]) span{margin:0}.cp-form button{justify-self:start}.class-play button,.class-play input,.class-play select{min-height:44px;height:auto;white-space:normal}.class-play input,.class-play select{padding:.65rem .75rem}.class-play button{padding:.65rem 1rem;margin:.3rem .5rem .3rem 0}.cp-actions{display:flex;gap:.5rem;flex-wrap:wrap}.cp-join{display:block;overflow-wrap:anywhere;font-size:clamp(1rem,2vw,1.5rem);margin:1rem 0}.cp-clock{font-size:1.25rem;font-weight:600;min-height:2rem}.cp-error{color:var(--destructive);overflow-wrap:anywhere}.cp-error:empty{display:none}.cp-music{overflow-x:auto;padding:1rem 0}.cp-music svg{display:block;max-width:100%;height:auto;color:var(--foreground)}.cp-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:1.25rem 0}.cp-choices button{margin:0;padding:1.15rem;text-align:left;justify-content:flex-start;overflow-wrap:anywhere}.cp-players{list-style:none;padding:0}.cp-players li{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;border-bottom:1px solid var(--border);padding:.75rem 0}.cp-players select{max-width:260px}.class-play summary{min-height:44px;padding:.65rem 0;cursor:pointer}.class-play details{margin:1rem 0}.cp-report{margin-top:2rem}.cp-privacy{font-size:.875rem;color:var(--muted-foreground)}.cp-qr{display:block;width:240px;max-width:100%;height:auto;margin:1.25rem 0}.hub-class-play{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.hub-class-play p{margin:0}
@media(max-width:560px){.cp-settings,.cp-choices{grid-template-columns:1fr}.cp-form{padding:1rem}.cp-choices button{padding:1rem}}
@media print{.topbar,.footer,.class-play button,.cp-clock,.class-play details:not(.cp-private-report),.class-play summary,.cp-error,[role=status]{display:none!important}.cp-report{display:block}@page{margin:18mm}}

.cp-pin{font-size:clamp(2rem,6vw,4.5rem);font-weight:600;letter-spacing:.08em;line-height:1.2;color:var(--foreground)}

.cp-leaderboard{margin:1.5rem 0}.cp-standings{list-style:none;padding:0;display:grid;gap:.6rem}.cp-standing{display:grid;grid-template-columns:2.5rem minmax(0,1fr) auto;align-items:center;gap:.75rem;padding:1rem;border-bottom:1px solid var(--border)}.cp-standing-rank{font-size:1.5rem;font-weight:600}.cp-standing-name{overflow-wrap:anywhere}.cp-standing-points{white-space:nowrap}.cp-standing.is-you{background:var(--accent);border-radius:var(--radius-md)}.cp-visual-choice{display:flex;flex-direction:column;align-items:stretch;gap:.5rem;background:var(--card);color:var(--foreground)}.cp-choice-letter{font-weight:600;align-self:flex-start}.cp-choice-picture{display:flex;align-items:center;justify-content:center;width:100%;min-width:0;pointer-events:none}.cp-choice-picture .diagram{display:block;width:100%;height:auto;max-height:300px;margin:0}.cp-answer-review{padding:.75rem;border:1px solid var(--border);border-radius:var(--radius-md)}.cp-visual-choices{align-items:stretch}.cp-visual-choice:disabled{opacity:.8}.cp-visual-choice .key.pressed .key-label{font-weight:700}@media(max-width:560px){.cp-visual-choices{grid-template-columns:repeat(2,minmax(0,1fr))}.cp-visual-choices:has(.diagram-flute),.cp-visual-choices:has(.diagram-keyboard),.cp-visual-choices:has(.diagram-slide){grid-template-columns:1fr}.cp-standing{gap:.5rem;padding:.75rem .25rem;grid-template-columns:1.75rem minmax(0,1fr) auto}.cp-standing-points{font-size:.875rem}.cp-visual-choices button{padding:.75rem}}
