.stage-checklist { margin-bottom:22px; }
.checklist-stage-label { display:flex; align-items:center; gap:10px; margin:0; color:var(--muted); }
.checklist-stage-label select { margin:0; width:auto; max-width:340px; }
.checklist-items { display:grid; gap:4px; }
.checklist-item { display:flex; align-items:center; gap:12px; margin:0; padding:9px 0; cursor:pointer; }
.checklist-item input { width:19px; height:19px; margin:0; flex-shrink:0; accent-color:#2d624b; }
.checklist-item span { flex:1; }
.checklist-item small { color:var(--muted); font-size:11px; }
.checklist-item.is-done span { color:var(--muted); }
.checklist-item input:disabled { opacity:.75; }
.universal-screens { margin-bottom:22px; }
.rules-control-row { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; padding:16px 0; border-bottom:1px solid var(--line); }
.rules-control-row:last-child { border-bottom:0; padding-bottom:0; }
.rules-control-row h3 { margin:0; font-size:16px; }
.activity-rules-screen { --card-scale:1; max-width:1500px; margin:0 auto; }
.activity-rules-screen h1 { color:#eed9ac; font-size:calc(48px * var(--card-scale)); font-size:calc(clamp(34px,3.8vw,62px) * var(--card-scale)); line-height:1.15; margin:12px 0 26px; }
.activity-rules-screen ol { margin:0; padding:0; list-style:none; counter-reset:rule; }
.activity-rules-screen li { counter-increment:rule; display:flex; align-items:baseline; gap:22px; padding:13px 0; color:#f5f7fb; border-top:1px solid #395069; font-size:calc(30px * var(--card-scale)); font-size:calc(clamp(26px,2.25vw,37px) * var(--card-scale)); line-height:1.35; overflow-wrap:break-word; }
.activity-rules-screen li::before { content:counter(rule,decimal-leading-zero); color:#8faac4; font-size:.7em; font-weight:600; flex:0 0 32px; }
.control-board-rules { padding-top:2vh; }
@media(max-width:700px) { .rules-control-row { align-items:flex-start; } .activity-rules-screen li { gap:12px; padding:10px 0; font-size:calc(24px * var(--card-scale)); } .activity-rules-screen li::before { flex-basis:24px; } }
.saved-message { margin:14px 0; white-space:pre-wrap; overflow-wrap:anywhere; }
.saved-compliment { min-width:0; padding:18px; border:1px solid #dce4ee; border-radius:8px; }
.control-board { padding:3vh 4vw; color:#f5f7fb; min-height:calc(100vh - 100px); }
.control-board .opening-screen { min-height:calc(88vh - 100px); }
.control-board .opening-screen h1 { color:#f5f7fb; }
.control-board .opening-screen p { color:#bdcfdf; }
.closing-thanks h1 { font-size:clamp(38px,5.3vw,92px); max-width:1450px; }
.projector-card { --card-scale:1; max-width:1500px; margin:0 auto; }
.projector-card h1 { font-size:calc(clamp(30px,3.1vw,50px) * var(--card-scale)); color:#eed9ac; margin:12px 0 20px; }
.projector-card-body { font-size:calc(clamp(23px,2.2vw,35px) * var(--card-scale)); line-height:1.42; color:#f5f7fb; white-space:pre-line; }
.projector-card-answer { margin-top:24px; padding:20px 26px; border-left:4px solid #8fbda8; background:#294742; border-radius:0 8px 8px 0; animation:card-answer-in .4s ease-out; }
.projector-card-answer h2 { font-size:calc(clamp(24px,2.3vw,36px) * var(--card-scale)); color:#cbe8d8; margin:0 0 10px; }
.projector-card-answer p { font-size:calc(clamp(22px,2.05vw,32px) * var(--card-scale)); line-height:1.38; color:#edf7f0; }
@keyframes card-answer-in { from { opacity:0; transform:translateY(12px); } to { opacity:1; transform:translateY(0); } }
@media(max-width:700px) { .checklist-stage-label { width:100%; margin-top:10px; } .checklist-stage-label select { width:100%; max-width:none; } .checklist-item { align-items:flex-start; } .projector-card-answer { padding:15px; } }
@media(prefers-reduced-motion:reduce) { .projector-card-answer { animation:none; } }
