/* 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)}
