.shell { padding-top:16px; }
.teacher-nav { --nav-icon-size:24px; display:flex; flex-direction:column; height:auto; max-height:none; min-height:0; overflow:visible; padding:10px; top:16px; }
.teacher-nav > .teacher-nav-tools { display:none; }
.teacher-side-brand { display:grid; grid-template-columns:30px minmax(0,1fr); column-gap:8px; row-gap:2px; flex-shrink:0; padding:3px 3px 8px; }
.teacher-side-mark { grid-column:1; grid-row:1 / 3; align-self:center; width:30px; height:30px; border-radius:11px; font-size:17px; }
.teacher-side-brand h1 { grid-column:2; grid-row:1; margin:0; font-size:13px; line-height:1.3; white-space:nowrap; }
.teacher-side-brand h1 br { display:none; }
.teacher-side-brand p { grid-column:2; grid-row:2; font-size:10px; line-height:1.4; }
.teacher-class-chip { grid-column:1 / -1; grid-row:3; margin-top:3px; padding:3px 6px; font-size:11px; line-height:1.4; }
.teacher-nav-links { display:grid; gap:2px; flex:none; min-height:0; padding-top:8px; overflow:visible; overscroll-behavior:auto; }
.teacher-nav-links .nav-view,.teacher-nav-links a { min-height:34px; padding:5px 7px; gap:8px; font-size:13px; line-height:1.25; }
.teacher-nav .nav-art-icon,.teacher-nav .nav-tool-icon { flex-basis:var(--nav-icon-size); width:var(--nav-icon-size); height:var(--nav-icon-size); }
.teacher-nav .nav-tool-icon img { width:var(--nav-icon-size); height:var(--nav-icon-size); }
.teacher-nav-links [hidden] { display:none!important; }
.nav-toggle { flex-shrink:0; min-height:26px; margin-top:8px; padding:4px; font-size:11px; line-height:1.2; }
.settings-launch { display:flex; flex-shrink:0; align-items:center; justify-content:center; gap:9px; width:100%; min-height:36px; margin-top:8px; padding:5px 8px; border:1px solid #7da6d4; border-radius:15px 9px 15px 10px; background:linear-gradient(110deg,#416da8,#2d4d80); box-shadow:inset 0 0 0 2px #ffffff12,0 4px 0 #19395e25; color:#fff2cf; font:inherit; font-size:13px; font-weight:850; line-height:1.25; }
.settings-launch > span:first-child { font-size:18px; line-height:1; }
body.nav-collapsed .settings-launch { padding:7px; }
body.nav-collapsed .settings-launch-copy { display:none; }
body.nav-collapsed .teacher-side-mark { grid-column:1 / -1; }
@media(min-width:661px) and (max-height:760px) { .shell { padding-top:12px; } .teacher-nav { top:12px; padding:8px; } .teacher-nav-links .nav-view,.teacher-nav-links a { min-height:30px; padding:3px 7px; } .teacher-side-brand { padding-bottom:6px; } .nav-toggle,.settings-launch { margin-top:6px; } }
@media(min-width:661px) and (max-height:620px) { .shell { padding-top:10px; } .teacher-nav { --nav-icon-size:22px; top:10px; } .teacher-nav-links { gap:1px; padding-top:6px; } .teacher-nav-links .nav-view,.teacher-nav-links a { min-height:28px; padding:3px 6px; font-size:12px; } .teacher-side-brand p { display:none; } .teacher-side-mark { grid-row:1; width:26px; height:26px; } .teacher-side-brand h1 { align-self:center; } .teacher-class-chip { grid-row:2; } }
@media(max-width:660px) { .shell { padding-top:10px; } .teacher-nav-links { grid-template-columns:repeat(2,minmax(0,1fr)); gap:4px; } .teacher-nav-links .nav-view,.teacher-nav-links a { min-height:36px; padding:5px 6px; font-size:12px; } .nav-toggle { display:none; } body.nav-collapsed .teacher-nav-links .nav-copy,body.nav-collapsed .teacher-side-brand h1,body.nav-collapsed .teacher-class-chip,body.nav-collapsed .settings-launch-copy { display:block; } body.nav-collapsed .teacher-side-brand { place-items:stretch; } }
#settingsPanel { container-type:inline-size; display:flex; flex-direction:column; width:100%; margin-top:26px; padding:0; overflow:hidden; border:1px solid #8daed5; border-radius:27px 16px 25px 17px; background:#e8f2ff; color:#24496e; }

#settingsPanel [hidden],#settingsPinDialog [hidden] { display:none!important; }
.settings-head,.settings-foot { display:flex; flex-shrink:0; align-items:center; justify-content:space-between; gap:16px; padding:21px 25px; background:linear-gradient(115deg,#d4e5fa,#eef5ff); }
.settings-head { border-bottom:1px solid #b5cce8; }
.settings-head h2 { margin:0; color:#284c77; font-size:24px; }
.settings-head p { margin:5px 0 0; color:#536d8d; font-size:12px; }
.settings-head small { display:block; margin-bottom:5px; color:#7a6641; font-size:11px; letter-spacing:.1em; }
.settings-foot { border-top:1px solid #b5cce8; padding:13px 23px; }
.settings-foot p { margin:0; color:#536d8d; font-size:11px; }
.settings-layout { display:grid; grid-template-columns:175px minmax(0,1fr); min-height:0; flex:1; }
.settings-tabs { display:flex; flex-direction:column; gap:6px; padding:16px 12px; border-right:1px solid #bcd1ea; background:#dfebfa; overflow:auto; }
.settings-tabs button { min-height:46px; padding:11px 12px; border:1px solid transparent; border-radius:14px 8px 14px 9px; background:transparent; color:#416086; text-align:left; font:inherit; font-size:13px; font-weight:850; }
.settings-tabs button[aria-selected="true"] { border-color:#adc3e2; background:linear-gradient(120deg,#fff6da,#eef4ff); color:#254c80; box-shadow:0 3px 0 #5479a11a; }
.settings-content { min-width:0; overflow:visible; padding:24px; overscroll-behavior:contain; }
.settings-content h3 { margin:0 0 6px; color:#2c527e; font-size:20px; }
.settings-lead { margin:0 0 21px; color:#536b89; font-size:12px; line-height:1.8; }
.settings-card { margin-top:17px; padding:20px; border:1px solid #b3cce8; border-radius:22px 12px 21px 14px; background:linear-gradient(135deg,#f9fbff,#eaf3ff); box-shadow:inset 0 0 0 3px #ffffff75; }
.settings-card h4 { margin:0 0 14px; color:#315780; font-size:15px; }
.settings-card p { margin:7px 0 13px; color:#536d8c; font-size:12px; line-height:1.8; }
.settings-row { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:15px 0; border-top:1px solid #d2e1f1; color:#345779; font-size:13px; }
.settings-row:first-of-type { border-top:0; }
.settings-row > span { min-width:0; }
.settings-row b { display:block; font-size:13px; }
.settings-row small { display:block; margin-top:5px; color:#58728f; font-size:11px; line-height:1.7; }
.settings-switch { appearance:none; flex:0 0 45px; width:45px; height:25px; margin:0; padding:3px; border:1px solid #9aafc5; border-radius:999px; background:#aebdcd; cursor:pointer; transition:background .15s; }
.settings-switch::before { display:block; width:17px; height:17px; border-radius:50%; background:#f9fcff; box-shadow:0 1px 3px #24456d44; content:''; transition:transform .15s; }
.settings-switch:checked { border-color:#347d7d; background:#3e8b8b; }
.settings-switch:checked::before { transform:translateX(19px); }
.settings-switch:focus-visible { outline:3px solid #95bdea; outline-offset:3px; }
.settings-fields { display:grid; grid-template-columns:1fr 1fr; gap:13px; margin-top:14px; }
#settingsPanel .field-label,#settingsPinDialog .field-label { color:#456386; }
#settingsPanel input:not([type="checkbox"]),#settingsPanel select,#settingsPinDialog input { min-width:0; width:100%; min-height:42px; padding:10px; border:1px solid #adc7e5; border-radius:11px 7px 11px 8px; color:#2e5278; background:#fff; font:inherit; font-size:13px; }
#settingsPanel .btn,#settingsPinDialog .btn { min-height:39px; text-decoration:none; }
.settings-actions { display:flex; flex-wrap:wrap; gap:9px; margin-top:16px; }
.settings-nav-grid { display:grid; grid-template-columns:1fr 1fr; gap:9px; }
.settings-nav-grid label { display:flex; align-items:center; gap:10px; padding:11px; border:1px solid #ccddf0; border-radius:11px 7px 11px 8px; color:#426184; background:#f2f8ff; font-size:12px; }
.settings-nav-grid input { accent-color:#477db5; }
.settings-status { margin:13px 0 0; min-height:21px; color:#42688e; font-size:12px; line-height:1.7; }
.settings-status.is-error { color:#a13f52; }
.settings-tool-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.settings-history { max-height:340px; overflow:auto; }
.settings-backup-row { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:9px; padding:11px 0; border-top:1px solid #d0e0f1; color:#4a6787; font-size:12px; }
.settings-backup-row small { display:block; margin-top:4px; color:#657b95; font-size:11px; }
#settingsPinDialog { width:min(400px,calc(100% - 24px)); padding:25px; border:1px solid #a6c1e2; border-radius:24px 13px 23px 14px; background:linear-gradient(135deg,#faf7ed,#e6f0ff); }
#settingsPinDialog h3 { margin:0; color:#2d507d; font-size:21px; }
#settingsPinDialog > p { color:#546e8c; font-size:12px; line-height:1.8; }
.settings-celebration { position:fixed; inset:0; z-index:9000; overflow:hidden; pointer-events:none; }
.settings-celebration i { position:absolute; left:50%; top:45%; width:9px; height:15px; border-radius:60% 20%; background:hsl(var(--hue) 75% 73%); animation:settings-confetti 1.6s ease-out forwards; }
@keyframes settings-confetti { from { opacity:1; transform:translate(0,0) rotate(0); } to { opacity:0; transform:translate(var(--x),var(--y)) rotate(340deg); } }
html[data-academy-effects="reduced"] .petal-layer,html[data-academy-effects="reduced"] .petal-field { opacity:.25; }
html[data-academy-effects="off"] .petal-layer,html[data-academy-effects="off"] .petal-field,html.academy-stable .petal-layer,html.academy-stable .petal-field { display:none!important; }
html[data-academy-effects="off"] .boss-arena-magic,html[data-academy-effects="off"] .boss-lightning-arcs,html[data-academy-effects="off"] .feed-hand-focus,html.academy-stable .boss-arena-magic,html.academy-stable .boss-lightning-arcs { display:none!important; }
html.academy-stable .quiet-sunbeam,html.academy-stable .quiet-water-caustics svg,html.academy-stable .quiet-sun-surface,html.academy-stable .nap-star-field,html.academy-stable .boss-arena-bg,html[data-academy-effects="off"] .quiet-sunbeam { animation:none!important; }
html.academy-stable .boss-battle-stage::after,html[data-academy-effects="off"] .boss-battle-stage::after { display:none!important; }
@media (max-width:660px) { .teacher-nav { height:auto; min-height:0; overflow:visible; } .settings-launch { margin-top:0; }  .settings-head { padding:16px; } .settings-layout { grid-template-columns:1fr; grid-template-rows:auto minmax(0,1fr); } .settings-tabs { flex-direction:row; padding:9px; gap:5px; border-right:0; border-bottom:1px solid #bcd1ea; } .settings-tabs button { flex-shrink:0; min-height:39px; font-size:12px; padding:8px 10px; } .settings-content { padding:15px; } .settings-fields,.settings-tool-grid { grid-template-columns:1fr; } .settings-card { padding:15px; } .settings-foot { padding:11px 15px; } }
@media (prefers-reduced-motion:reduce) { .settings-celebration { display:none; } .settings-switch::before { transition:none; } }
@media print { .settings-launch,#settingsPanel,#settingsPinDialog,.settings-celebration { display:none!important; } }

html[data-academy-effects="reduced"] .boss-arena-magic,html[data-academy-effects="reduced"] .boss-lightning-arcs { opacity:.25; }
html[data-academy-effects="off"] .quiet-water-caustics svg,html[data-academy-effects="off"] .quiet-sun-surface,html[data-academy-effects="off"] .nap-star-field { animation:none!important; }

.settings-access-gate { padding:22px; color:#536d8d; font-size:13px; line-height:1.8; }
@container (max-width:700px) { .settings-layout { grid-template-columns:1fr; } .settings-tabs { flex-direction:row; border-right:0; border-bottom:1px solid #bcd1ea; overflow:auto; } .settings-tabs button { flex-shrink:0; } .settings-content { padding:16px; } .settings-fields,.settings-tool-grid { grid-template-columns:1fr; } }

.settings-cloud-overview { display:grid; gap:10px; margin:14px 0; color:#58728e; font-size:12px; }
.settings-cloud-overview > span { display:flex; flex-wrap:wrap; justify-content:space-between; gap:6px 16px; padding:10px 0; border-bottom:1px solid #d1e0ef; }
.settings-cloud-overview b { color:#315780; font-size:12px; overflow-wrap:anywhere; }
#cloudBackupVersions .settings-actions { margin-top:0; }
#cloudBackupVersions small { max-width:100%; overflow-wrap:anywhere; }
