
.classroom-hub{min-height:100svh;background:#080b16;color:#e9eaf5}
.classroom-hub .stage{position:fixed;inset:0;height:100%;min-height:0;z-index:0;pointer-events:none}
.classroom-hub .vignette{background:linear-gradient(180deg,#06091277,#090c1dcc 65%,#080b16ed)}
.hub-shell{position:relative;z-index:2;width:min(1160px,100%);margin:auto;padding:28px max(24px,env(safe-area-inset-right)) 24px max(24px,env(safe-area-inset-left))}
.hub-header{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:24px}
.hub-brand{display:flex;align-items:center;gap:18px;color:inherit}.hub-brand .game-emblem{width:80px;height:80px;margin:0}.hub-brand .academy{margin:0 0 8px;letter-spacing:.22em;font-size:10px}
.hub-brand h1{font-size:38px!important;line-height:1;letter-spacing:.04em}.hub-brand .title-small,.hub-brand .title-main{display:inline;font-size:1em;letter-spacing:inherit;margin:0}.hub-brand .title-small{font-size:.54em}
.hub-brand .tagline{font-size:12px;margin:8px 0 0;max-width:none;letter-spacing:.05em}
.classroom-hub .title-tools{position:static;justify-content:flex-end;flex-wrap:wrap;gap:8px;max-width:340px}.title-tools>button{min-height:44px;font-size:12px}
.hub-nav{display:flex;gap:5px;padding:6px;background:#0b111eea;border:1px solid #6c677f;border-radius:4px;margin-bottom:28px}
.hub-nav a{flex:1;min-height:48px;display:flex;align-items:center;justify-content:center;text-align:center;color:#c8ccdc;padding:8px 12px;font-weight:650;font-size:16px;border:1px solid transparent}
.hub-nav a[aria-current]{color:#ffdfad;background:#29283a;border-color:#a28d70;box-shadow:inset 0 -2px #e7c18b}
.hub-panel{min-width:0}.section-intro{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:20px}.eyebrow{font-size:11px;letter-spacing:.16em;color:#e3bd85;font-weight:650;margin:0 0 7px}.section-intro h2{font-size:clamp(24px,3vw,32px);line-height:1.15;margin:0;font-weight:650;letter-spacing:-.025em}.section-intro>p{color:#bbc4d5;font-size:13px;margin:0;line-height:1.6;text-align:right}
.activity-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.activity-card{background:linear-gradient(135deg,#141b2bee,#111523f5);border:1px solid #505a70;border-radius:4px;padding:25px;min-width:0;box-shadow:0 8px 22px #02051030}
.activity-card.featured{grid-column:1/-1;display:grid;grid-template-columns:1.35fr 1fr;gap:38px;border-top:3px solid #d7b282;background:linear-gradient(105deg,#292538f2,#111929eb)}
.activity-card h3{font-size:24px;line-height:1.2;margin:7px 0 12px;color:#f2e8d7;font-weight:620;letter-spacing:-.02em}.activity-card p:not(.eyebrow){font-size:15px;line-height:1.65;color:#c6cede;margin:10px 0 18px}.activity-card p.card-note{font-size:13px;color:#adb8cb}
.card-actions{display:flex;align-items:flex-start;flex-wrap:wrap;gap:12px;margin-top:20px}.hub-button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:10px 15px;border:1px solid #788397;background:#182536;color:#e6ebf6;font-weight:650;font-size:14px}.hub-button.primary{background:#d8b881!important;border-color:#f6d8a5!important;color:#191624!important;text-shadow:none!important}
.pdf-link{display:flex;flex-direction:column;justify-content:center;min-height:46px;color:#d0e5f0;font-size:13px;line-height:1.4;padding:4px 2px;text-decoration:underline;text-underline-offset:3px}.pdf-link span{font-size:11px;color:#a8b9ca;text-decoration:none;white-space:nowrap}
.course-outline{margin:0;padding:0 0 0 26px;align-self:center;color:#c2cbdd;columns:1;font-size:14px;line-height:1.9}.course-outline li::marker{color:#dfc392;font-size:12px}
.route-list{list-style:none;counter-reset:route;margin:14px 0;padding:0;display:grid;gap:5px}.route-list li{counter-increment:route;display:flex;align-items:center;gap:13px;border-bottom:1px solid #3a435466}.route-list li::before{content:counter(route);display:grid;place-items:center;flex:0 0 25px;width:25px;height:25px;border:1px solid #686e85;color:#e6c899;font-size:12px}.route-list a{color:#ecedf6;font-size:15px;display:flex;flex-direction:column;min-height:56px;justify-content:center;padding:7px 0}.route-list a span{font-size:12px;color:#aebcd0}
.card-papers{display:flex;flex-wrap:wrap;gap:14px;margin-top:15px}.more-practice{margin-top:18px;background:#0f1726db;border:1px solid #4b576d;padding:0 18px}.more-practice summary{min-height:48px;padding:12px 0;color:#d6dfed;cursor:pointer}.practice-links{display:flex;flex-wrap:wrap;gap:10px 24px;padding:0 0 12px}.practice-links a{color:#c0dcea;display:flex;align-items:center;min-height:44px}
.paper-library{border:1px solid #505a70;background:#111827ee;padding:0 24px}.paper-row{display:grid;grid-template-columns:1fr 110px;gap:26px;padding:18px 0;border-bottom:1px solid #424d61}.paper-row:last-child{border-bottom:0}.paper-row h3{font-size:17px;margin:0 0 6px;font-weight:600}.paper-row p{color:#b6c1d3;font-size:13px;margin:0;line-height:1.6}.library-note{font-size:13px;color:#bec8d8}
.hub-footer{margin-top:26px;padding-top:12px;border-top:1px solid #59607566}.hub-footer nav{display:flex;align-items:center;flex-wrap:wrap;gap:8px 24px}.hub-footer nav>a,.hub-footer nav>button{display:flex;align-items:center;min-height:44px;color:#c6d3e3;font-size:12px}.hub-footer nav>button{border:0!important;background:transparent!important;box-shadow:none!important;padding:0!important;clip-path:none!important}.hub-footer p{font-size:10px;letter-spacing:.1em;color:#99a9c0;margin:10px 0 0}.hub-footer .live-dot{display:inline-block}.hub-footer #displayStatus{font-size:12px;letter-spacing:0;color:#ead5ad}
.classroom-hub a:focus-visible,.classroom-hub button:focus-visible,.classroom-hub summary:focus-visible{outline:3px solid #8bdbe8;outline-offset:4px}.skip-content{position:fixed;top:0;left:12px;transform:translateY(-200%);background:#172a3e;padding:12px;z-index:20;color:white}.skip-content:focus{transform:none}
@media(max-width:760px){.hub-shell{padding:16px max(16px,env(safe-area-inset-right)) 20px max(16px,env(safe-area-inset-left))}.hub-header{align-items:flex-start;flex-wrap:wrap;gap:16px;margin-bottom:18px}.hub-brand .game-emblem{width:58px;height:58px}.hub-brand{gap:12px}.hub-brand h1{font-size:32px!important}.classroom-hub .title-tools{max-width:none;justify-content:flex-start;gap:6px}.hub-nav{margin-bottom:22px}.hub-nav a{font-size:13px;padding:8px 5px}.section-intro{align-items:flex-start;flex-direction:column;gap:10px}.section-intro>p{text-align:left}.activity-card.featured{grid-template-columns:1fr;gap:16px}.course-outline{columns:2;font-size:12px;padding-left:18px;column-gap:28px}.activity-grid{grid-template-columns:1fr}.activity-card{padding:21px}.activity-card h3{font-size:22px}.hub-footer nav{gap:4px 18px}}
@media(max-width:380px){.hub-brand h1{font-size:27px!important}.hub-brand .academy{font-size:8px}.hub-brand .tagline{font-size:10px}.hub-nav a{font-size:12px}.course-outline{columns:1}.paper-library{padding:0 16px}.paper-row{grid-template-columns:1fr;gap:8px}.paper-row .pdf-link{justify-self:start}}

/* The cinematic opening is a distinct first screen; classroom hashes bypass it. */
[hidden]{display:none!important}
.hub-wordmark{font:400 clamp(22px,3vw,38px)/1.1 BlackOps,sans-serif;color:#fae9ce}
.intro-open{height:100svh;overflow:hidden}
.intro-open .vignette{background:radial-gradient(ellipse at 50% 30%,transparent 23%,#06091615 66%,#04070f77 100%)}
.intro-open .title-tools{position:fixed;top:16px;right:20px;z-index:10;max-width:none}
.intro-open .stage{pointer-events:auto}
.intro-open .title-center{top:7%;width:min(780px,80%)}
.intro-open .game-menu{display:block;width:220px}
.intro-open #enterHub{width:100%;font-size:20px;min-height:54px}
.intro-open .skip-content{display:none}
.intro-open .title-main{font-size:1em}
.intro-open .music-controls>div{max-height:calc(100svh - 85px);overflow:auto}
.topic-grid .activity-card{border-top:3px solid #cfab73;padding:24px}
#hubContent:focus{outline:none}
.skip-content:not(:focus){clip-path:inset(50%);height:1px;width:1px;overflow:hidden;white-space:nowrap;padding:0}
.hub-controls{position:relative;flex-shrink:0}.hub-controls>summary{display:list-item;cursor:pointer;border:1px solid #788397;background:#182536;color:#e6ebf6;min-height:46px;padding:12px 14px;font-size:12px;box-sizing:border-box}
.classroom-hub .hub-controls>.title-tools{position:absolute;z-index:12;top:calc(100% + 8px);right:0;left:auto;width:300px;max-width:calc(100vw - 32px);padding:12px;background:#111c2d;border:1px solid #788397;box-shadow:0 10px 30px #0009}
.hub-controls .music-controls>div{position:static;width:260px;max-width:100%;box-shadow:none}
@media(max-width:760px){.hub-header .hub-brand{flex-basis:100%}.hub-header>.hub-button{min-height:46px}.hub-controls{margin-left:auto}.hub-header{margin-bottom:18px}}
.topic-grid .activity-card p.unit-caption{font-size:12px;color:#9eafc5;margin-bottom:0}
.back-link{display:inline-flex;align-items:center;min-height:44px;color:#bfd0e4;margin-bottom:12px;font-size:13px}
.unit-description{max-width:760px;color:#c6cede;line-height:1.7;margin:0 0 22px}
.unit-start{display:flex;flex-wrap:wrap;align-items:center;gap:14px 22px;margin-bottom:26px}
.save-note,.small{color:#aebfd2;font-size:13px;line-height:1.6}.text-link{color:#bbdce9;text-decoration:underline;min-height:44px;display:inline-flex;align-items:center}
.unit-columns{display:grid;grid-template-columns:1fr 1.35fr;gap:24px;align-items:start}
.unit-block{background:#111a29ee;border:1px solid #4c5970;padding:22px;min-width:0}
.unit-block h3{font-size:20px;margin:0 0 14px;color:#f1e7d4}.unit-block p{line-height:1.65;color:#bdcbde}
.topic-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;min-height:52px;border-bottom:1px solid #46557077;color:#dce6f3;font-size:14px;line-height:1.45}
.topic-row:last-child{border-bottom:0}.topic-row strong{font-weight:550}.topic-row small{display:block;color:#aabbd1;font-size:12px;margin-top:5px}.topic-row:hover{color:#f5d79f;background:#27304966}
.topic-list,.investigation-strip{background:#101928ed;border:1px solid #46556a;padding:0 22px}.investigation-strip{margin-top:20px}.investigation-strip .topic-row{min-height:78px}
.question-list .topic-row{padding:10px 0;min-height:44px;font-size:13px}.more-practice .paper-library{border:0;padding:0}
.assignment-tools{max-width:780px}.assignment-tools label{display:block;color:#bccbe0;font-size:13px;margin:16px 0 6px}.assignment-tools select,.assignment-tools input{display:block;width:100%;min-width:0;min-height:48px;padding:10px;color:#e8edf6;background:#0b1220;border:1px solid #71819b;font:inherit;border-radius:3px}.assignment-tools select{font-size:14px}.assignment-tools input{font-size:13px}
@media(max-width:760px){.unit-columns{grid-template-columns:1fr;gap:18px}.unit-block{padding:18px}.hub-header .hub-brand .game-emblem{width:44px;height:44px}.hub-wordmark{font-size:23px}.hub-header{gap:10px}.hub-brand .tagline{display:none}.hub-nav{margin-bottom:18px}.topic-grid .activity-card{padding:20px}.section-intro h2{font-size:26px}}
@media(max-height:550px) and (orientation:landscape){.intro-open .music-controls>div{top:100%;right:0;max-height:calc(100svh - 170px)}}
@media(max-width:600px) and (orientation:portrait){.intro-open .music-controls>div{top:auto;bottom:100%;right:0}}
@media(max-width:600px){.intro-open .title-tools{top:auto;bottom:12px;right:12px;left:12px;justify-content:center}.intro-open .title-center{top:5%;width:92%}.intro-open .game-emblem{width:60px;height:60px}.intro-open .academy{margin-bottom:12px}}
@media(max-height:550px) and (orientation:landscape){.intro-open .title-center{top:5%;width:60%}.intro-open .game-emblem{width:40px;height:40px;margin-bottom:3px}.intro-open .academy{margin:3px 0 8px}.intro-open .title-rule{margin:8px auto}.intro-open .tagline{margin-bottom:12px}.intro-open .title-tools{top:8px;right:10px;max-width:160px}.intro-open #enterHub{min-height:44px}}
