.school-nav{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.school-nav button{border-radius:25px;padding:11px 17px;background:#fff;color:#19323f;font-weight:bold;border:1px solid #cedce3}.school-nav button[aria-current="page"]{background:#ffe5a9}.portal{text-align:center;padding:30px 0 55px}.portal h1{color:inherit!important;letter-spacing:-1.5px}.portal-lead{max-width:600px;margin:0 auto 30px}.portal-banner{background:#fff;border:1px solid #e3e8ec;border-radius:28px;padding:36px 28px;margin-bottom:24px}.portal-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;text-align:left}.portal-card{display:flex;flex-direction:column;align-items:flex-start;text-align:left;padding:27px;border:1px solid #d8e2e9;border-radius:22px;background:white;color:#19323f;min-height:220px;box-shadow:0 5px 18px #102b5008}.portal-card:hover{border-color:#527b96;transform:translateY(-2px)}.portal-icon{display:grid;place-items:center;width:49px;height:49px;background:#eaf4f9;border-radius:14px;font-size:25px;margin-bottom:20px}.portal-card h2{font-size:23px;margin:0 0 10px}.portal-card p{font-size:14px;margin:0 0 20px}.portal-card .card-action{margin-top:auto;font-weight:bold;font-size:14px}.portal-card:nth-child(2n) .portal-icon{background:#fff0cc}.portal-card:nth-child(3n) .portal-icon{background:#fbe5ed}.role-cards{max-width:720px;margin:auto;grid-template-columns:1fr 1fr}.portal-note{font-size:12px;max-width:700px;margin:22px auto 0;color:#536773}.teacher-detail{text-align:left;background:#fff;border:1px solid #d8e2e9;border-radius:24px;padding:28px;margin-top:24px}.teacher-detail h2{font-size:27px;margin:16px 0}.teacher-detail li{margin:12px 0;line-height:1.5}.status-label{display:inline-block;background:#fff0cc;color:#694a12;padding:6px 10px;border-radius:20px;font-size:12px;font-weight:bold}.preview-controls{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:20px;background:#f3f7fa;border-radius:15px;margin:22px 0}.preview-controls label{margin:0}.preview-controls select{margin-top:8px}.preview-controls fieldset{border:0;margin:0;padding:0}.preview-controls legend{font-weight:bold;font-size:13px}.preview-controls input{width:auto}.portal .heatmap,.portal .leaderboard{text-align:left}.portal .heatmap h2{font-size:22px}.pupil-setup-heading{display:flex;justify-content:space-between;align-items:center;gap:15px}.pupil-setup-heading h2{margin:0}body[data-area="pupil"]:not(.playing) .game{display:none}body[data-area="pupil"] .layout{display:block;max-width:760px;margin:24px auto}body[data-area="pupil"] #settings{padding:28px}.playing #pupilHome,.playing .school-nav,.playing #setupBack{display:none!important}.playing #pupilArea{display:block!important}.playing #settings{display:none}.playing .layout{max-width:650px}#openHeatmap,#resultsHeatmap{display:none!important}body[data-area="teacher"],body[data-area="school"],body[data-area="welcome"]{--page:#f2f6fa;background:#f2f6fa}body:not([data-area="pupil"]) .theme-art{display:none}body:not([data-area="pupil"]) .footer{color:#637570!important}.portal-banner p{color:#536773}.portal-card:focus-visible{outline:3px solid #efab36;outline-offset:4px}details.pupil-options{border:1px solid #d8e2e9;border-radius:12px;padding:15px;margin-top:20px}details.pupil-options summary{cursor:pointer;font-weight:bold}.playing .game{display:block}@media(max-width:720px){.portal-cards{grid-template-columns:1fr}.role-cards{grid-template-columns:1fr 1fr}.portal-card{min-height:190px;padding:22px}header{gap:15px;flex-wrap:wrap}.school-nav{gap:5px}.school-nav button{padding:9px 12px}.portal{padding-top:10px}.portal-banner{padding:25px 20px}.preview-controls{grid-template-columns:1fr}}@media(max-width:440px){.role-cards{grid-template-columns:1fr}.portal h1{font-size:34px}.teacher-detail{padding:20px}}
.portal-card:disabled{opacity:1;background:#edf0f2;color:#65717a;border-color:#d6dce0;box-shadow:none;cursor:not-allowed}.portal-card:disabled h2,.portal-card:disabled p,.portal-card:disabled .card-action{color:#65717a}.portal-card:disabled .portal-icon{filter:grayscale(1);opacity:.55}.portal-card:disabled:hover{transform:none;box-shadow:none;border-color:#d6dce0}
