.school-active #roomsView.page{padding-top:24px;padding-bottom:36px}
.school-intro{display:grid;grid-template-columns:1fr 1.05fr;align-items:center;gap:34px;padding:36px;background:linear-gradient(125deg,#fff9e9,#e3f2e2);border:2px solid #c4dacf;border-radius:32px;box-shadow:0 7px 0 #b8d5c64d;overflow:hidden}
.school-copy h1{font-size:clamp(32px,3.5vw,54px);line-height:1.13;letter-spacing:-1.4px;margin-bottom:20px}.school-copy p{font-size:18px;line-height:1.6;color:#4c6c69;margin-bottom:24px}.school-copy .primary{font-size:18px;padding:17px 24px;min-width:260px}.school-copy>small{display:block;margin-top:18px;max-width:360px;color:#526c66;font-size:14px;line-height:1.5}
.school-picture{position:relative}.school-picture img{width:100%;height:auto;display:block;border:6px solid #fffdf2;border-radius:27px;box-shadow:0 15px 28px #244e3d24;transform:rotate(2deg)}.school-sticker{position:absolute;right:12px;bottom:-18px;padding:15px 24px;background:#ffde7c;border:3px solid #fff5c7;border-radius:22px;transform:rotate(-8deg);font-size:18px;box-shadow:0 5px 0 #b0843a33;color:#4a5346}.school-sticker b{font-size:24px}.school-promise{grid-column:1/-1;display:flex;justify-content:space-between;gap:18px;padding-top:16px;border-top:1px solid #cadcc8;color:#416357;font-size:14px;font-weight:650}
.career-panel{padding:28px;margin-bottom:32px;border:2px solid #bad7cf;border-radius:28px;background:linear-gradient(120deg,#fff9e9,#edf6e8);box-shadow:0 5px 0 #c3dac9}.career-lead{display:grid;grid-template-columns:1.1fr .9fr;gap:30px;align-items:center}.career-lead h1{font-size:36px;line-height:1.15;margin-bottom:12px}.career-lead p{max-width:590px;min-height:48px;font-size:16px;color:#4b6860}.career-lead .primary{margin-top:18px;font-size:16px;white-space:normal;text-align:center;min-height:50px}.career-lead>div>small{display:block;margin-top:12px;font-size:13px;color:#607970}.career-preview{position:relative;max-height:230px}.career-preview img{width:100%;height:210px;display:block;object-fit:cover;border:5px solid #fff9e9;border-radius:23px}.career-progress{position:absolute;bottom:12px;right:12px;display:flex;flex-direction:column;background:#fff9e9f2;border:1px solid #bad3c3;border-radius:16px;padding:10px 18px;color:#375f54}.career-progress b{font-size:23px}.career-progress small{font-size:12px}
.career-stages{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-top:24px}.career-stop{position:relative;min-width:0;display:flex;flex-direction:column;gap:7px;align-items:flex-start;text-align:left;padding:16px 13px;border:2px solid #d0ddce;border-radius:19px;background:#f5f4e9;opacity:1!important;min-height:152px}.career-stop:disabled{color:#6d7a70;filter:saturate(.35)}.career-stop:not(:disabled):hover{background:#fffdf3;transform:translateY(-3px)}.career-stop.current{border-color:#e5a84e;background:#fff2cc;box-shadow:0 4px 0 #e7c782}.career-stop.done{background:#e4f2df;border-color:#8cbd96}.career-marker{display:grid;place-items:center;width:32px;height:32px;background:#dfe5d9;border-radius:11px;font-size:16px;font-weight:850}.current .career-marker{background:#f4c85e}.done .career-marker{background:#b5dbaf}.career-stop b{font-size:14px;line-height:1.3;min-height:36px}.career-stop>span:not(.career-marker){font-size:16px;font-weight:800}.career-stop small{font-size:11px;color:#687f6b}.career-footer{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:20px;font-size:13px;color:#5b7769}.career-footer button{padding:8px;min-height:44px}.hold-discovery{padding:13px 18px;background:#e6edf8;border:1px solid #bdcfe6;border-radius:14px;margin-top:12px;font-size:14px;color:#355b71}
.lesson-coach{display:flex;align-items:center;gap:16px;flex:0 0 auto;padding:12px 17px;border:2px solid #e2c786;border-radius:20px;background:linear-gradient(100deg,#fff2c7,#fff9e8);box-shadow:0 4px 0 #eddfb653;margin-bottom:16px}.lesson-step{display:grid;place-items:center;flex:0 0 54px;height:54px;border-radius:16px;background:#ffdc75;font-size:17px;font-weight:900;color:#4a513d}.lesson-coach h2{font-size:21px;margin:0 0 5px;line-height:1.2}.lesson-coach p{font-size:14px;color:#506655;line-height:1.4}.lesson-dots{display:flex;gap:7px;margin-left:auto;flex-shrink:0}.lesson-dots i{width:12px;height:12px;border-radius:50%;background:#d4d8c6}.lesson-dots .done{background:#75a982}.school-highlight{background:#ffe08b!important;border-color:#d0a34e!important;box-shadow:0 0 0 3px #ffcb5e6b,0 3px 0 #c59b3c!important;color:#3f4e41!important}
.lesson-mode .race-stage{grid-template-columns:minmax(240px,.85fr) minmax(240px,1fr);max-width:1000px;width:100%;margin:0 auto}.lesson-mode .own .board-layout{justify-content:center}.lesson-mode .track-heading .eyebrow{display:none}.lesson-mode #raceClock{display:none}.lesson-mode .track-note{font-size:15px}.solo-mode #resultDialog .primary,.solo-mode #resultDialog .soft{margin-top:10px}#resultNext{width:100%;margin-bottom:10px;white-space:normal;min-height:50px}#resultDialog #resultLeave.soft{width:100%}.solo-mode #leaveDialog p{min-height:48px}
@media(max-width:1100px){.career-stages{grid-template-columns:repeat(3,minmax(0,1fr))}.career-stop{min-height:125px}.career-stop b{min-height:0}.school-intro{padding:26px;gap:22px}.school-copy .primary{min-width:0}.school-promise{flex-wrap:wrap;gap:10px 25px}.school-copy p{font-size:16px}.career-preview img{height:190px}}
@media(max-width:720px){.school-active #roomsView.page{padding:16px 0 25px}.school-intro{display:flex;flex-direction:column;gap:18px;padding:22px 18px;border-radius:23px}.school-copy{width:100%}.school-copy .eyebrow{font-size:10px;margin-bottom:12px}.school-copy h1{font-size:32px;line-height:1.1;letter-spacing:-1px;margin-bottom:14px}.school-copy p{font-size:16px;margin-bottom:18px}.school-copy .primary{width:100%;font-size:17px;padding:16px 13px}.school-copy>small{font-size:12px;margin-top:13px}.school-picture{width:100%;order:1}.school-sticker{font-size:13px;padding:9px 15px;bottom:-7px}.school-sticker b{font-size:17px}.school-promise{order:2;display:flex;flex-direction:column;gap:8px;width:100%;font-size:12px;padding-top:14px}.career-panel{padding:18px 14px;margin-bottom:25px;border-radius:23px}.career-lead{display:block}.career-lead h1{font-size:29px}.career-lead p{font-size:15px;min-height:0}.career-lead .primary{width:100%;margin-top:15px}.career-preview{display:none}.career-stages{gap:8px;margin-top:20px}.career-stop{padding:11px 8px;border-radius:14px;gap:7px;min-height:143px}.career-stop b{font-size:12px;min-height:32px}.career-stop>span:not(.career-marker){font-size:15px}.career-stop small{font-size:10px}.career-footer{align-items:flex-start;font-size:12px}.career-footer>span{max-width:165px}.school-active #roomsView #quickPlay{position:static;left:auto;right:auto;bottom:auto;width:100%;box-shadow:0 4px 0 #9a522e;margin-top:17px}.lesson-coach{gap:10px;padding:10px;margin-bottom:10px;border-radius:15px}.lesson-step{flex-basis:38px;height:38px;border-radius:11px;font-size:13px}.lesson-coach h2{font-size:16px;margin-bottom:3px}.lesson-coach p{font-size:12px;line-height:1.35}.lesson-dots{display:none}.lesson-mode .race-stage{display:grid;grid-template-columns:minmax(0,1fr) minmax(84px,.36fr);gap:8px;padding-bottom:9px}.lesson-mode .track-panel{order:0;flex:none;padding:8px 4px;border-radius:15px}.lesson-mode .track-heading{display:block;text-align:center}.lesson-mode .track-heading h2{font-size:12px;line-height:1.4;white-space:normal}.lesson-mode .track-note{display:none}.lesson-mode .race-legend{display:none}.lesson-mode .board-panel{padding:8px}.lesson-mode .player-heading{gap:7px}.lesson-mode .player-info b{font-size:12px}.lesson-mode .player-info small{display:none}.lesson-mode .player-heading strong{font-size:18px}.lesson-mode .controls{gap:5px;margin-top:7px}.lesson-mode .controls button{min-width:0;padding:9px 5px;min-height:44px}.lesson-mode .controls .drop-button{flex:1.4}.lesson-mode .controls small{font-size:9px}.lesson-mode .own .board-layout{gap:0}.lesson-mode .race-heading h1{font-size:16px}.lesson-mode .race-heading .eyebrow{font-size:8px;max-width:180px}}
@media(max-height:550px) and (min-width:650px){.lesson-coach{padding:6px 12px;margin-bottom:7px;gap:12px}.lesson-step{height:32px;flex-basis:40px;font-size:13px}.lesson-coach h2{font-size:15px;margin-bottom:2px}.lesson-coach p{font-size:12px}.lesson-mode .race-stage{max-width:850px}.school-intro{padding:20px}.school-copy h1{font-size:32px}}
@media(prefers-reduced-motion:reduce){.career-stop{transition:none}.career-stop:not(:disabled):hover{transform:none}}
/* In landscape the guidance occupies the circuit column, preserving board height. */
@media(max-height:550px) and (min-width:650px){
 .school-intro{padding:18px}.school-copy .eyebrow{margin-bottom:9px}.school-copy h1{font-size:28px;margin-bottom:10px}.school-copy p{font-size:14px;margin-bottom:12px}.school-copy .primary{padding:11px 17px;min-height:45px;font-size:16px}.school-copy>small{margin-top:11px;font-size:12px}.school-promise{padding-top:9px;font-size:12px}
 .lesson-mode .topbar{height:46px;min-height:46px;flex-basis:46px}.lesson-mode #raceScreen{position:relative}.lesson-mode .race-heading{min-height:43px;padding:3px 0}.lesson-mode .race-heading h1{font-size:18px}.lesson-mode .race-heading .eyebrow{font-size:8px;margin:0}
 .lesson-mode .lesson-coach{position:absolute;top:48px;left:calc(50% + 7px);right:0;z-index:2;margin:0;padding:8px;min-height:79px}.lesson-mode .lesson-coach p{font-size:12px}.lesson-mode .lesson-coach h2{font-size:15px}.lesson-mode .lesson-dots{display:none}
 .lesson-mode .race-stage{display:grid;max-width:none;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}.lesson-mode .track-panel{padding:95px 8px 6px}.lesson-mode .track-heading h2{font-size:15px}.lesson-mode .track-note,.lesson-mode .race-legend{display:none}
 .lesson-mode .board-panel.own{position:relative;padding:8px}.lesson-mode .player-heading{min-height:35px;height:35px;flex-shrink:0;margin-bottom:5px}.lesson-mode .player-heading .avatar{width:27px;height:27px}.lesson-mode .player-info b{font-size:13px}.lesson-mode .player-info small{display:none}.lesson-mode .own .board-layout{margin-right:71px}
 .lesson-mode .controls{position:absolute;right:9px;top:50px;bottom:9px;width:59px;display:flex;flex-direction:column;gap:4px;margin:0}.lesson-mode .controls button{flex:1;width:100%;min-height:30px;padding:4px}.lesson-mode .controls button small{font-size:9px}.lesson-mode .controls .drop-button{flex:1.2}
}

.school-choices{display:flex;flex-wrap:wrap;align-items:center;gap:13px}.school-choices .soft{min-height:50px;padding:13px 18px;font-size:15px}.school-return{display:flex;justify-content:flex-end;align-items:center;gap:12px;flex-wrap:wrap;font-size:14px;margin-bottom:12px;color:#48675f}.school-return .text-button,.career-footer .text-button{display:inline-flex;align-items:center;white-space:normal}.lesson-mode #ownBoard:focus-visible{outline:3px solid #f5b940;outline-offset:3px}
@media(max-width:720px){.school-choices{gap:11px}.school-choices button{width:100%}.school-return{justify-content:center;text-align:center}}
@media(max-height:550px) and (min-width:650px){.school-choices{gap:9px}.school-copy .school-choices .primary{min-width:0}.school-choices .soft{min-height:45px;padding:10px 13px;font-size:14px}}
