/* Shared student conventions; the established palette and type remain unchanged. */
.bsn-header{box-sizing:border-box!important;width:100%!important;max-width:none!important;margin:0!important;height:72px!important;padding:0 clamp(20px,4vw,58px)!important;background:#060a0a!important;color:#fff!important;display:grid!important;grid-template-columns:1fr auto 1fr!important;gap:20px!important;align-items:center!important;position:sticky!important;top:0!important;z-index:100!important;border:0!important;font-family:'DM Sans',system-ui,sans-serif!important}
.bsn-header a{text-decoration:none!important;letter-spacing:normal!important;line-height:1.3!important}
.bsn-header .bsn-wordmark{font:800 20px 'Manrope',sans-serif!important;letter-spacing:-.04em!important;color:#fff!important;white-space:nowrap}
.bsn-header .bsn-desktop{display:flex!important;gap:3px!important;justify-self:center!important;margin:0!important;padding:0!important;background:none!important;border:0!important}
.bsn-header .bsn-desktop a{font-size:14px!important;font-weight:700!important;color:#8e939b!important;padding:12px 16px!important;border-radius:28px!important;background:transparent!important;border:0!important;white-space:nowrap}
.bsn-header .bsn-desktop a:hover,.bsn-header .bsn-desktop a[aria-current]{color:#060a0a!important;background:#fff!important}
.bsn-header .bsn-profile{justify-self:end!important;display:flex!important;align-items:center!important;gap:10px!important;min-height:44px;min-width:44px;justify-content:center;color:white!important;white-space:nowrap}
.bsn-profile>span:nth-child(2){display:grid!important;gap:3px}.bsn-profile strong{font-size:12px!important}.bsn-profile small{font-size:11px!important;color:#8f949c!important}.bsn-profile b{color:#c7f797!important;font-size:12px!important}
.bsn-orbit{width:36px;height:36px;border:1px solid #33363c;border-radius:50%;display:grid;place-items:center}.bsn-orbit i{display:block;width:20px;height:20px;background:linear-gradient(135deg,#c7f797 50%,#4934cc 50%);border-radius:50%}
.bsn-account-menu{position:absolute;right:clamp(12px,4vw,58px);top:calc(100% - 4px);width:min(270px,calc(100vw - 24px));box-sizing:border-box;padding:8px;background:#101619;color:#fff;border:1px solid #41464b;border-radius:12px;box-shadow:0 12px 28px #0003;text-align:left}
.bsn-header .bsn-account-menu a,.bsn-header .bsn-account-menu button{display:block!important;box-sizing:border-box;width:100%;padding:13px 14px!important;border:0;border-radius:7px;background:transparent;color:#fff!important;text-align:left;font:600 15px 'DM Sans',system-ui,sans-serif!important;cursor:pointer}
.bsn-header .bsn-account-menu a:hover,.bsn-header .bsn-account-menu button:hover{background:#252d2f!important;color:#c7f797!important}
.bsn-account-menu small{display:block;margin-top:4px;color:#b7bfc5;font-size:13px;font-weight:400}.bsn-account-menu button{border-top:1px solid #41464b!important;margin-top:5px}.bsn-account-menu p{font-size:14px;padding:0 14px;color:#fff}
.bsn-header .bsn-menu{display:none!important;color:#fff;background:none;border:1px solid #59606a;border-radius:8px;padding:10px 14px;font:700 14px inherit;min-height:44px}
.bsn-mobile{position:sticky!important;top:72px!important;z-index:99!important;left:auto!important;right:auto!important;margin:0!important;padding:12px 20px!important;background:#060a0a!important}
.bsn-mobile a{display:block!important;color:white!important;font:600 14px 'DM Sans',system-ui,sans-serif!important;padding:12px!important;text-decoration:none!important;border-top:1px solid #25282d!important}
.bsn-header a:focus-visible,.bsn-header button:focus-visible,.bsn-mobile a:focus-visible{outline:3px solid #c7f797!important;outline-offset:3px!important}
@media(max-width:1100px){.bsn-header{grid-template-columns:1fr auto auto!important;padding:0 20px!important;gap:12px!important}.bsn-header .bsn-desktop{display:none!important}.bsn-header .bsn-menu{display:block!important}}
@media(max-width:540px){.bsn-header{height:64px!important;padding:0 12px!important;gap:10px!important}.bsn-header .bsn-wordmark{font-size:18px!important}.bsn-profile .bsn-orbit,.bsn-profile small,.bsn-profile b{display:none!important}.bsn-mobile{top:64px!important}}
[hidden]{display:none!important}
/* Quest notification: gentle motion, no flashing, visible on mobile too. */
.bsn-assignment-badge{display:grid!important;place-items:center;flex:0 0 25px;width:25px;height:29px;border:2px solid #d5ffa7;border-radius:8px;background:#c7f797;color:#11151a;font:900 20px/1 system-ui;box-shadow:0 0 0 4px #c7f79719;animation:bsn-quest-bob 2.8s ease-in-out infinite}
.bsn-header .bsn-assignment-badge[hidden],.bsn-header a[data-assignments-link][hidden]{display:none!important}
.bsn-header .has-new-assignment,.bsn-compact-account .has-new-assignment{border-radius:12px;animation:bsn-quest-glow 2.8s ease-in-out infinite}
.bsn-assignment-menu-label{display:flex!important;align-items:center;justify-content:space-between;gap:12px}
.bsn-assignment-count{display:inline-flex!important;align-items:center;justify-content:center;min-width:25px;height:25px;box-sizing:border-box;padding:0 7px;border-radius:999px;background:#dc303f;color:#fff!important;font:800 14px/1 system-ui;box-shadow:0 0 0 2px #101619}
.bsn-assignment-count[hidden]{display:none!important}
.bsn-header .bsn-account-menu a[data-assignments-link]{background:#c7f79714;border:1px solid #c7f79755;color:#d8ffb7!important}
@keyframes bsn-quest-bob{0%,65%,100%{transform:translateY(0) rotate(0)}75%{transform:translateY(-4px) rotate(-5deg)}85%{transform:translateY(-2px) rotate(5deg)}}
@keyframes bsn-quest-glow{0%,100%{box-shadow:0 0 0 3px #c7f79700}50%{box-shadow:0 0 0 3px #c7f79770,0 0 20px #c7f79730}}
@media(prefers-reduced-motion:reduce){.bsn-assignment-badge,.bsn-header .has-new-assignment,.bsn-compact-account .has-new-assignment{animation:none}}
.bsn-compact-account{position:relative;display:inline-flex;align-items:center}.bsn-compact-account>.account-link{display:flex;align-items:center;gap:9px;min-height:44px}.bsn-compact-account .bsn-account-menu{right:0;top:100%;z-index:150;white-space:normal}.bsn-compact-account .bsn-account-menu a{display:block;padding:12px;color:#fff;font:600 14px/1.4 system-ui;text-decoration:none}.bsn-compact-account .bsn-account-menu a:hover{background:#25302b}.bsn-compact-account .bsn-assignment-badge[hidden]{display:none!important}
.school-student-toolbar{display:flex;align-items:center;gap:16px;padding:12px 24px;background:#101820;color:#fff}.school-student-toolbar button{margin-left:auto;background:#182431;color:#fff;border:1px solid #546372}.school-student-toolbar .workspace-label{flex:1}
.school-restricted-page{margin:0;min-height:100vh;background:#080e13;color:#edf2f7;font:16px/1.65 system-ui,sans-serif}
.school-restricted-page .course-access-bar{display:none!important}
.school-checkpoint{box-sizing:border-box;max-width:780px;margin:clamp(30px,7vh,80px) auto;padding:clamp(24px,5vw,48px);border:1px solid #33414c;border-radius:28px;background:#121b24;box-shadow:0 24px 70px #0003}
.checkpoint-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:#c7f797;color:#10180c;font-size:32px;font-weight:900;transform:rotate(-7deg)}
.checkpoint-eyebrow{margin:28px 0 10px;color:#c7f797;text-transform:uppercase;letter-spacing:.14em;font-size:12px;font-weight:800}
.school-checkpoint h1{font-size:clamp(32px,6vw,52px);letter-spacing:-.045em;line-height:1.1;margin:0 0 24px;color:#fff}
.checkpoint-lead{font-size:18px;color:#d2dce5}.checkpoint-reason{border-left:3px solid #a994ff;padding:12px 18px;background:#a994ff0d;color:#e2dbff}
.checkpoint-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.checkpoint-actions a{padding:12px 18px;border:1px solid #6b7885;border-radius:12px;color:#fff;text-decoration:none;font-weight:750}.checkpoint-actions .checkpoint-primary{background:#c7f797;color:#111b10;border-color:#c7f797}.checkpoint-actions a:focus-visible{outline:3px solid #c7f797;outline-offset:4px}
.checkpoint-footnote{margin-top:26px;color:#a9b7c4;font-size:14px}
@media(max-width:600px){.school-checkpoint{margin:24px 14px}.checkpoint-actions a{flex-grow:1;text-align:center}}
.today-chip.is-loading{display:flex;align-items:center;gap:10px}
.today-chip.is-loading>span[aria-hidden]{display:none}
.today-chip.is-loading::before{content:'';flex:0 0 auto;width:18px;height:18px;box-sizing:border-box;border:3px solid #d6ddec;border-top-color:#4934cc;border-right-color:#92ce62;border-radius:50%;animation:bsn-loading-turn .9s linear infinite}
.today-chip.is-initial-loading{position:fixed;inset:0;z-index:90;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:22px;margin:0;padding:24px;box-sizing:border-box;border:0;border-radius:0;background:rgba(229,239,247,.7);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);color:#060a0a;font-size:18px;font-weight:700;text-align:center;white-space:normal}
.today-chip.is-initial-loading::before{width:72px;height:72px;border-width:6px;border-color:#cdd8e5;border-top-color:#4934cc;border-right-color:#92ce62}
@keyframes bsn-loading-turn{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.today-chip.is-loading::before{animation:none}}
.journey-main{max-width:1100px;margin:0 auto;padding:40px 24px 80px}
.journey-main h1{font-size:clamp(2rem,4vw,3rem);margin:12px 0 24px}
.journey-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px;margin:28px 0}
.journey-options>a,.journey-options>section,.journey-next{background:#fff;border:1px solid #cdd3df;border-radius:16px;padding:24px;color:inherit}
.journey-options h2,.journey-next h2{margin-top:0}
.journey-topics{padding:0;list-style:none}
.journey-topics li{display:flex;justify-content:space-between;gap:20px;padding:16px 0;border-bottom:1px solid #cdd3df}
.journey-topics span{white-space:nowrap}
.journey-topic-group{border-bottom:1px solid #cdd3df;padding:18px 0}.journey-topic-group summary{cursor:pointer;font-weight:700}
.progress-explainer{margin:0 24px 18px}.progress-explainer summary{cursor:pointer}.progress-explainer p{line-height:1.6}
header[data-student-header]{display:flex;align-items:center;justify-content:space-between;gap:24px;background:#060a0a;color:white;padding:20px 28px}
header[data-student-header] a{color:inherit;text-decoration:none}header[data-student-header] nav{display:flex;gap:3px}
header[data-student-header] nav a.active,header[data-student-header] nav a:hover{color:#060a0a}
body:has([data-student-header])>.skip{position:absolute;top:0;left:12px;transform:translateY(-120%);z-index:100;background:white;padding:12px}
body:has([data-student-header])>.skip:focus{transform:none}
.journey-menu{display:none}.course-access-bar{flex-wrap:wrap}
.universal-course-bar{display:flex;align-items:center;justify-content:center;gap:20px;padding:12px 24px;background:#fff;border-bottom:3px solid #cec8ff;color:#555d6b;font:700 14px 'DM Sans',system-ui,sans-serif;position:relative!important;top:0!important;z-index:10}
.universal-course-bar .course-label{font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.universal-course-bar .course-toggle{display:flex;gap:4px;padding:4px;border:1px solid #d9dee6;border-radius:30px;background:#f7f8fb}
.universal-course-bar .course-toggle a,.universal-course-bar .course-labs a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 17px;border-radius:24px;text-decoration:none;white-space:nowrap;color:inherit;border:1px solid transparent;font:700 14px 'DM Sans',system-ui,sans-serif}
.universal-course-bar .course-toggle a[aria-current]{background:#e8e6ff;color:#30288f;border-color:#cec8ff}
.universal-course-bar .course-toggle a:hover{background:#e8e6ff}
.universal-course-bar{overflow:visible;box-shadow:none;border-bottom:3px solid transparent;min-height:0;height:auto}
.universal-course-bar::after{content:"";position:absolute;left:0;right:0;bottom:-3px;height:3px;background:linear-gradient(90deg,#aac4f7 0 25%,#c4f69a 25% 50%,#c9c6ff 50% 75%,#d66859 75%)}
.universal-course-bar .course-toggle a:not([aria-current]){background:transparent;border-color:transparent;color:#555d6b}
.universal-course-bar .course-label{margin-right:0}
.universal-course-bar .course-labs{display:flex;gap:8px}
.universal-course-bar .course-labs a{background:#f0fce5;border-color:#c4dea9;color:#2f4422}
.universal-course-bar a:focus-visible{outline:3px solid #4139c3;outline-offset:3px}
.as-results-body{padding:12px 24px 24px}.as-results-body p{line-height:1.6;color:#606574}
[data-as-dashboard][aria-busy="true"] .dashboard-grid{opacity:.5;pointer-events:none}
[data-as-dashboard] .topic-code{min-width:36px;width:auto;padding:4px}
.status-button:disabled{cursor:not-allowed;opacity:.6}
@media(max-width:700px){
 .universal-course-bar{gap:10px!important;justify-content:center!important}
 .universal-course-bar .course-labs{justify-content:center;flex-wrap:wrap;width:100%}
 .universal-course-bar .course-toggle a,.universal-course-bar .course-labs a{font-size:14px;min-height:44px;padding:8px 12px}
}
.db-filter-row{display:flex;flex-wrap:wrap;gap:16px;align-items:end;margin:20px 0}
.db-filter-row label{display:grid;gap:6px}.db-filter-row input,.db-filter-row select{font:inherit;padding:10px;border:1px solid #a6acb8;border-radius:8px;max-width:100%}
.db-recommendation{padding:16px 0;border-bottom:1px solid #cdd3df;margin-bottom:20px}
.db-complexity{font-weight:700;border-left:5px solid;padding-left:10px}.db-complexity.level-1{border-color:#bdf58b}.db-complexity.level-2{border-color:#cec8ff}.db-complexity.level-3{border-color:#f4b5a4}
@media(max-width:860px){
 .journey-main{padding:24px 16px 48px}.journey-topics li{flex-direction:column;gap:6px}
 .journey-options{grid-template-columns:1fr;gap:12px}
 .journey-menu{display:block;margin-left:auto;font:inherit;padding:9px 14px;border:1px solid currentColor;border-radius:8px;background:transparent;color:inherit}
 body>header:has(.journey-menu){display:flex!important;flex-wrap:wrap;padding:14px 16px;height:auto!important;min-height:60px;gap:12px}
 body:has(>header>.journey-menu)>.platform-mobile-nav{display:none!important}
 body>header:has(.journey-menu)>.profile-chip{position:static!important;flex:0 0 auto;width:auto;grid-area:auto}
 header:has(.journey-menu)>.brand{flex:0 1 auto!important;width:auto!important;margin:0!important}
 header .journey-navigation{display:none!important;width:100%;flex-wrap:wrap;gap:8px}
 header .journey-navigation.is-open{display:flex!important}
 header .journey-navigation a{padding:10px}
 body:has(>header>.journey-menu)>.mobile-nav{display:none!important}
 body>.topnav:has(.journey-menu){display:flex!important;flex-wrap:wrap;gap:12px;height:auto!important;padding:12px 16px!important}
 body>.topnav>.journey-navigation{display:none!important;width:100%}
 body>.topnav>.journey-navigation.is-open{display:flex!important;flex-wrap:wrap;gap:8px}
 body>.topnav>.journey-navigation a{padding:10px!important}
 .course-access-bar,.as-context-nav{display:flex!important;flex-wrap:wrap!important;padding:10px 12px!important;gap:8px!important;justify-content:flex-start!important;overflow:visible!important;white-space:normal!important;position:relative!important;min-height:0!important;height:auto!important}
 .course-access-bar>a,.as-context-nav>a{font-size:14px!important;padding:8px 12px!important}
 .course-access-bar>span{display:none}.course-access-bar small{font-size:10px}
 .practice-heading,.db-picker:not(.ink-lab),.lab-picker{padding:20px 16px!important}
 .db-filter-row{display:grid;grid-template-columns:1fr 1fr}.db-filter-row label:first-child{grid-column:1/-1}
 .exam-content .relational-schema,.exam-content .schema-code{white-space:pre-wrap;overflow-wrap:anywhere}
 .exam-content:has(.sql-question) .source-code{white-space:pre-wrap;overflow-wrap:anywhere}
 .lesson-hero{padding:24px 16px!important;min-height:0!important}.lesson-meta{margin-top:16px!important}.lesson-hero h1{font-size:30px!important}.lesson-hero .hero-topic-list{margin:16px 0!important}
 .database-lab-page .lab-course-picker{margin-top:16px;margin-bottom:20px}
 .database-lab-page .lab-progress:not(.ink-progress){padding:14px!important;margin:16px 0!important}
 .database-lab-page .db-picker>h1{font-size:28px;margin-top:16px!important}
}
