.school-page{color:var(--ink);min-height:100vh}.school-header{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-top:18px;padding-bottom:18px}.school-header img{object-fit:contain}.school-header nav{display:flex;gap:22px;align-items:center;flex-wrap:wrap;justify-content:flex-end;font-size:.9rem;font-weight:800}.school-header nav a{color:var(--ink);text-underline-offset:5px}.school-header nav form{margin:0}.school-link-button{font:inherit;font-weight:800;color:var(--ink);background:none;border:0;text-decoration:underline;text-underline-offset:5px;padding:8px 0;cursor:pointer}.school-main{padding-top:24px;padding-bottom:60px}.school-main h1{font-size:clamp(2.5rem,4.7vw,4.5rem);font-weight:900;line-height:1.05;margin:18px 0 22px;letter-spacing:-.04em}.school-main h2{font-size:1.8rem;font-weight:900}.school-main h3{font-size:1.1rem;font-weight:800;margin-top:28px}.school-main p{line-height:1.65}.school-welcome-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(25px,5vw,65px);align-items:start}.school-welcome>p{font-size:1.08rem;max-width:520px}.school-host{display:block;width:330px;height:auto;max-width:90%;margin:15px auto 0}.school-card{background:#fff;border:2px solid var(--ink);border-radius:26px;padding:clamp(22px,3vw,35px);box-shadow:6px 7px 0 var(--ink)}.school-card label{display:block;font-weight:800;margin:18px 0 7px}.school-card input:not([type=checkbox]),.school-card select{width:100%;border:2px solid #829ca6;border-radius:12px;background:#fff;color:var(--ink);padding:11px 12px;font:inherit}.school-card input:focus-visible,.school-card select:focus-visible,.school-tiles button:focus-visible,.school-link-button:focus-visible{outline:3px solid var(--yellow);outline-offset:3px}.school-card form>.btn{margin-top:24px}.school-small{font-size:.83rem;color:#405a66;line-height:1.65;margin-top:20px}.school-feature{display:flex;gap:18px;align-items:center;margin:18px 0;max-width:520px}.school-feature strong{display:grid;place-items:center;flex-shrink:0;width:45px;height:45px;background:#ffea82;border:2px solid var(--ink);border-radius:14px;box-shadow:3px 3px 0 var(--ink)}.school-narrow{max-width:650px;margin:auto}.school-error,.school-success{padding:16px 20px;border:2px solid;border-radius:14px;overflow-wrap:anywhere}.school-error{background:#ffe4df;border-color:#ae473a}.school-success{background:#e2f7de;border-color:#4c7742}.school-room-link{display:flex;justify-content:space-between;gap:16px;padding:20px 0;border-bottom:1px solid #cbdbe1;color:var(--ink);text-decoration:none}.school-room-link span{font-size:.8rem;max-width:45%;text-align:right}.school-room-title{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px}.school-room-title h1{font-size:clamp(2rem,4vw,3rem);overflow-wrap:anywhere}.school-room-grid{display:grid;grid-template-columns:minmax(280px,.7fr) minmax(0,1.8fr);gap:28px;align-items:start}.school-join-card h2{font-size:2.4rem;letter-spacing:.12em;text-align:center;margin:18px 0}.school-join-card canvas{display:block;width:200px;height:200px;max-width:100%;margin:20px auto;background:white;image-rendering:pixelated}.school-join-card>.btn,.school-join-card #school-settings>.btn{width:100%;margin-top:15px}.school-check{display:flex!important;align-items:center;gap:10px;font-size:.9rem}.school-check input{width:20px;height:20px;accent-color:var(--coral)}.school-table-heading{display:flex;justify-content:space-between;align-items:center;gap:15px}.school-table-heading h2{margin-top:12px}.school-table-wrap{overflow:auto;margin:22px -12px 0}.school-table-wrap table{width:100%;font-size:.85rem;border-collapse:collapse}.school-table-wrap th{padding:12px 10px;background:#e5f5ff;text-align:left;font-size:.75rem}.school-table-wrap td{padding:16px 10px;border-bottom:1px solid #dae5e9;vertical-align:middle;overflow-wrap:anywhere}.school-table-wrap td small{display:block;color:#546975;margin-top:5px}.school-table-wrap td:last-child{min-width:130px}.school-table-wrap .school-link-button{display:block;font-size:.8rem;padding:3px}.school-podium{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:24px}.school-podium>article{border:2px solid var(--ink);border-radius:18px;background:#fff4b6;padding:18px 10px;text-align:center;overflow-wrap:anywhere}.school-podium>article:nth-child(2){background:#ecf1f6}.school-podium>article:nth-child(3){background:#ffe6cf}.school-podium strong{display:block;font-size:2.5rem;line-height:1.2}.school-podium h3{margin:10px 0;font-size:.9rem}.school-podium p{font-size:.85rem;margin:0}.school-confirm{width:min(520px,calc(100% - 32px));border:3px solid var(--ink);border-radius:24px;padding:28px;box-shadow:7px 8px 0 var(--ink);color:var(--ink)}.school-confirm::backdrop{background:rgb(15 35 49 / 55%)}.school-button-row{display:flex;gap:14px;flex-wrap:wrap;margin-top:22px}.school-code-input{letter-spacing:.2em;font-weight:800;text-transform:uppercase}.school-player{max-width:1000px;margin:auto}.school-player-heading{display:flex;justify-content:space-between;align-items:center;gap:20px}.school-player-heading h1{font-size:clamp(2rem,4vw,3rem)}.school-timer{font-size:2.5rem;line-height:1;font-weight:900;color:var(--ink);font-variant-numeric:tabular-nums}.school-player-panel{position:relative;background:#fff;border:3px solid var(--ink);border-radius:26px;box-shadow:7px 8px 0 var(--ink);padding:clamp(20px,4vw,42px);overflow:hidden}.school-player-panel::before{content:'';display:block;height:7px;background:linear-gradient(90deg,#ff705b 0 33%,#ffe164 33% 66%,#59bee3 66%);position:absolute;inset:0 0 auto}.school-player-message{font-size:1.12rem;font-weight:800;margin:5px 0 24px}.school-player-stats{display:flex;justify-content:space-between;gap:15px;padding-bottom:20px;color:#355563;font-size:.85rem;font-weight:800}.school-player-panel h2{font-size:1.15rem;line-height:1.5;margin-bottom:20px}.school-tiles{display:flex;gap:12px;flex-wrap:wrap;min-height:65px}.school-chosen{padding:18px;background:#dff3ff;border:2px dashed #608597;border-radius:16px;margin-bottom:22px}.school-tiles button{color:var(--ink);background:#ffef9d;border:2px solid var(--ink);border-radius:12px;font:inherit;font-weight:800;padding:12px 16px;box-shadow:3px 4px 0 var(--ink);cursor:pointer;min-height:46px}.school-tiles button:hover{background:#ffe266}.school-tiles button:active{transform:translate(2px,2px);box-shadow:1px 2px 0 var(--ink)}.school-tiles button:disabled{opacity:.45;cursor:default}.school-countdown{font-size:clamp(5rem,15vw,9rem);font-weight:900;text-align:center;color:#ea674e;min-height:170px}.school-feedback{padding:17px;border:2px solid;border-radius:14px;margin-top:22px;line-height:1.6}.school-feedback[data-correct=true]{background:#def5d8;border-color:#537b47}.school-feedback[data-correct=false]{background:#ffe3dc;border-color:#b95040}.school-own-result{background:#f1ebff;border:2px solid var(--ink);border-radius:20px;padding:25px;text-align:center;margin-bottom:20px}.school-own-result h2{font-size:1.5rem;margin:10px 0}.school-own-result .school-medal{font-size:3.5rem}.school-leave-form{margin-top:30px}.school-footer{padding-top:24px;padding-bottom:25px;border-top:2px solid #a0c4d7;display:flex;justify-content:space-between;gap:20px;font-size:.85rem}.school-player-panel.school-flash{animation:school-correct .45s}.school-player-panel.school-shake{animation:school-wrong .4s}.school-confetti{position:fixed;top:-20px;width:9px;height:17px;pointer-events:none;z-index:20;animation:school-confetti 1.8s ease-in forwards}
@keyframes school-correct{50%{box-shadow:0 0 0 8px #a3dda1}}@keyframes school-wrong{25%,75%{transform:translateX(-5px)}50%{transform:translateX(5px)}}@keyframes school-confetti{to{transform:translateY(105vh) rotate(520deg);opacity:0}}
@media(max-width:850px){.school-room-grid{grid-template-columns:1fr}.school-join-card{display:grid;grid-template-columns:1fr 1fr;gap:10px 24px}.school-join-card>:not(canvas){grid-column:1/-1}.school-join-card canvas{grid-column:1/-1}.school-room-title{align-items:flex-start}.school-header nav{gap:13px;font-size:.8rem}.school-podium{gap:7px}}
@media(max-width:650px){.school-main{padding-top:12px}.school-welcome-grid{grid-template-columns:1fr;gap:25px}.school-host{max-width:200px}.school-header{gap:10px;align-items:flex-start}.school-header img{width:72px;height:72px}.school-header nav{max-width:230px}.school-card{padding:22px}.school-room-title{flex-direction:column}.school-timer{font-size:2rem}.school-player-panel{padding:22px 16px}.school-player-heading h1{font-size:2rem}.school-tiles button{padding:11px 12px;font-size:.9rem}.school-button-row>.btn{flex:1}.school-table-heading{align-items:flex-start}.school-footer{flex-direction:column}.school-podium h3{font-size:.8rem}.school-player-stats{flex-direction:column;gap:8px}}
.school-event-picker{margin-top:24px;border:2px solid #b1cedc;border-radius:18px;padding:18px}.school-event-picker legend{float:none;width:auto;padding:0 6px;font-size:1.05rem;font-weight:800}.school-event-picker .school-small{margin-top:5px}.school-event-option{display:flex;align-items:center;gap:10px;padding:9px 0;border-top:1px solid #dce8ee}.school-event-option::before{content:attr(data-order);font-size:.75rem;font-weight:900;min-width:20px;text-align:center}.school-event-option label{display:flex;gap:9px;align-items:center;margin:0;flex:1;font-size:.85rem}.school-event-option label input{width:18px;height:18px;accent-color:var(--coral);flex-shrink:0}.school-event-option img{object-fit:contain;border-radius:9px}.school-event-option>div{display:flex;gap:5px}.school-event-option button{background:#e1f3ff;border:2px solid var(--ink);border-radius:8px;width:30px;height:34px;color:var(--ink);font-weight:800}.school-event-option button:disabled{opacity:.3}.school-event-picker .school-button-row{margin:8px 0 15px}.school-event-schedule{list-style:none;display:flex;gap:7px;flex-wrap:wrap;padding:0;margin:20px 0}.school-event-schedule li{padding:7px 10px;background:#eef4f7;border:1px solid #c1d4df;border-radius:10px;font-size:.72rem}.school-event-schedule li[data-current=true]{background:#fff0a4;border:2px solid var(--ink);font-weight:800}.school-tournament-card{margin-top:30px}.school-history-dialog{width:min(750px,calc(100% - 32px));max-height:85dvh;overflow:auto;border:3px solid var(--ink);border-radius:24px;padding:28px;box-shadow:7px 8px 0 var(--ink);color:var(--ink)}.school-history-dialog::backdrop{background:rgb(15 35 49 / 55%)}.school-event-history-card{border-bottom:1px solid #cadbe4;padding:14px 0}.school-event-history-card h3{font-size:1rem;margin:6px 0}.school-event-history-card p{font-size:.85rem;margin:6px 0}.school-own-history{margin:20px 0}.school-own-history summary{font-weight:800;cursor:pointer}.school-question-context{font-size:1.3rem;font-weight:800;background:#e2f3ff;border:2px solid var(--ink);padding:16px 20px;border-radius:15px;overflow-wrap:anywhere}.school-choice-answers{display:grid;grid-template-columns:1fr 1fr;gap:15px}.school-choice{background:#fff0a2;border:2px solid var(--ink);border-radius:14px;box-shadow:3px 4px 0 var(--ink);padding:16px;text-align:left;color:var(--ink);font-weight:800;min-height:52px;cursor:pointer}.school-choice:hover{background:#ffe16a}.school-choice:focus-visible{outline:3px solid #59bee3;outline-offset:4px}.school-choice:disabled{opacity:.5;cursor:default}.school-choice-answers[data-mode=mistake]{display:flex;flex-wrap:wrap;gap:10px}.school-choice-answers[data-mode=mistake] .school-choice{padding:10px 13px;min-height:42px}.school-player-panel #school-typed-form label{display:block;font-weight:800;margin-bottom:8px}.school-player-panel #school-typed-answer{width:100%;max-width:550px;display:block;font:inherit;font-size:1.2rem;border:2px solid var(--ink);border-radius:14px;padding:14px 16px;margin:10px 0 20px;background:#fff}.school-player-panel #school-typed-answer:focus{outline:3px solid #ffe164;outline-offset:2px}.school-player-title-row{display:flex;align-items:center;gap:15px}.school-player-title-row img{width:72px;height:72px;object-fit:contain;border-radius:15px}.school-player-title-row h1{margin-bottom:18px}
@media(max-width:650px){.school-choice-answers{grid-template-columns:1fr}.school-choice{padding:14px}.school-player-title-row img{width:48px;height:48px}.school-event-option img{width:32px;height:32px}.school-event-option label{font-size:.8rem}.school-event-picker{padding:12px}.school-tournament-card{padding:20px 14px}}
@media(prefers-reduced-motion:reduce){.school-player-panel.school-flash,.school-player-panel.school-shake,.school-confetti{animation:none}.school-confetti{display:none}}

@media(max-width:650px){.school-event-option label{min-width:0}.school-event-option label span{min-width:0;overflow-wrap:anywhere}.school-event-option button{width:40px;height:44px}}
.school-management-card{margin-top:30px}.school-management-grid{display:grid;grid-template-columns:1fr 1fr;gap:35px}.school-room-tabs,.school-pagination{display:flex;gap:20px;align-items:center;flex-wrap:wrap;margin:20px 0}.school-room-tabs a{color:var(--ink);padding:10px 18px;border:2px solid var(--ink);border-radius:12px;text-decoration:none;font-weight:800}.school-room-tabs a[aria-current=page]{background:#fff0a4;box-shadow:3px 3px 0 var(--ink)}.school-pagination{font-size:.85rem;justify-content:space-between}.school-confirm label{display:block;font-weight:800;margin:18px 0 8px}.school-confirm input{width:100%;font:inherit;border:2px solid var(--ink);border-radius:12px;padding:12px;margin-bottom:16px}.school-confirm input:focus-visible{outline:3px solid var(--yellow);outline-offset:3px}.school-confirm .school-code-input{font-size:clamp(1rem,4vw,1.45rem);letter-spacing:.1em;background:#e2f3ff;text-align:center}.school-confirm{max-height:90dvh;overflow:auto}.school-confirm p{line-height:1.6}.school-confirm a{overflow-wrap:anywhere}.school-confirm button:disabled{opacity:.5;cursor:default}.school-management-grid .school-button-row>.btn{font-size:.85rem}.school-management-grid h3{margin-top:20px}
@media(max-width:650px){.school-management-grid{grid-template-columns:1fr;gap:15px}.school-confirm{padding:22px}.school-pagination{gap:12px}}

.school-page[data-school-edition=winter]{background:#edf8ff}.school-page[data-school-edition=winter] .school-event-picker{background:#eff8ff}.school-page[data-school-edition=winter] .school-event-schedule li[data-current=true]{background:#d8edff}.school-player-title-row img{object-fit:cover}
#school-sentence-controls[data-mode=letters] .school-tiles{gap:8px;justify-content:center}#school-sentence-controls[data-mode=letters] .school-tiles button{min-width:44px;min-height:48px;padding:8px 12px;font-size:1.3rem;text-transform:uppercase}#school-sentence-controls[data-mode=letters] .school-chosen{background:#e9f7ff}
