@font-face{font-family:Evolenta;src:url('/fonts/evolenta.woff')}@font-face{font-family:Evolenta;src:url('/fonts/evolenta-bold.woff');font-weight:700}@font-face{font-family:Cormorant;src:url('/fonts/cormorant.woff');font-weight:600}
:root{--blue:#073b50;--gold:#b99b61;--red:#8b3027;--paper:#f8f7f3;--line:#dedfd9;--muted:#647b85}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--blue);background:var(--paper);font:15px/1.6 Evolenta,Arial,sans-serif}button,input,select{font:inherit;color:inherit}button,a,summary{touch-action:manipulation}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}button{cursor:pointer;border:1px solid var(--gold);background:#ddcda7;padding:12px 18px;border-radius:7px}button:hover{background:#e9ddc2}button:disabled{cursor:default;opacity:.65}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #397b90;outline-offset:4px}input,select{border:1px solid var(--line);border-radius:7px;background:white;padding:12px;width:100%}.preview{background:var(--blue);color:#f2eee4;text-align:center;padding:7px 16px;font-size:12px}header{padding:24px 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:24px;background:#fff}.brand{font:700 27px Evolenta,sans-serif;white-space:nowrap}.brand span{font-size:10px;font-weight:400;letter-spacing:2px;display:block}nav{display:flex;gap:32px}.account{font-size:12px;color:var(--muted)}main{max-width:1250px;margin:auto;padding:0 40px 50px}.intro{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:45px 0 35px;border-bottom:1px solid var(--line)}.eyebrow{font-size:11px;letter-spacing:1.8px;color:var(--red);margin:0 0 12px}h1,h2{font-family:Cormorant,Georgia,serif;font-weight:600;line-height:1.1;margin:0}h1{font-size:76px}h2{font-size:36px}.lead{font-size:16px;line-height:1.7;margin:18px 0 0}.course-status{min-width:265px;border-left:1px solid var(--line);padding:14px 0 14px 32px}.course-status>span{font-weight:700}.course-status p{font-size:13px;color:var(--muted)}.course-status button{width:100%;display:flex;justify-content:space-between;gap:20px}.section-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:30px 0 20px}.section-head>span{font-size:12px;color:var(--muted)}.topic-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.topic{background:white;border:1px solid var(--line);border-radius:12px;padding:22px;display:flex;flex-direction:column;min-height:210px}.topic.open{border-top:3px solid var(--gold);padding-top:20px}.number{color:var(--gold);font:600 29px Cormorant,serif}.topic h3{font-size:18px;line-height:1.4;margin:12px 0 6px}.topic p{font-size:12px;color:var(--muted);margin:0 0 20px}.topic button{margin-top:auto;text-align:left;padding:9px 12px;background:transparent;border-color:var(--line);font-size:13px}.topic .closed{font-size:12px;margin-top:auto;color:var(--muted)}.lesson{scroll-margin-top:20px}.lesson-body{display:grid;grid-template-columns:2fr 1fr;background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}.video-placeholder{aspect-ratio:16/9;background:linear-gradient(135deg,#073b50,#102c39);display:flex;flex-direction:column;justify-content:center;align-items:center;padding:30px;text-align:center;color:#eee7d8}.play{font-size:48px;color:#ddcda7}.video-placeholder p{margin:8px}.video-placeholder small{opacity:.7}.lesson aside{padding:26px;font-size:13px}.quiet{background:transparent;border-color:var(--line);padding:6px 12px}.muted{color:var(--muted);font-size:12px}.results{margin-top:16px}.result{display:flex;justify-content:space-between;align-items:center;gap:20px;background:white;padding:15px 20px;border-bottom:1px solid var(--line)}.result:first-child{border-radius:8px 8px 0 0}.result small{color:var(--muted)}.result button{padding:6px 12px;font-size:12px;background:transparent;border-color:var(--line)}.demo{margin-top:35px;border:1px dashed #a6b6bc;padding:18px;border-radius:8px;font-size:13px}.demo summary{cursor:pointer}.demo label{display:block;margin:10px 0}.demo select{max-width:450px}footer{border-top:1px solid var(--line);padding:25px 5%;display:flex;justify-content:space-between;gap:20px;align-items:center;font-size:12px;color:var(--muted)}footer .brand{color:var(--blue);font-size:20px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}[hidden]{display:none!important}
@media(max-width:850px){.topic-grid{grid-template-columns:repeat(2,1fr)}h1{font-size:62px}main{padding:0 24px 35px}.intro{align-items:flex-start}.lesson-body{grid-template-columns:1fr}header{gap:12px}nav{gap:18px}.account{display:none}}
@media(max-width:540px){header{padding:18px;align-items:flex-start}.brand{font-size:23px}nav{font-size:12px;gap:12px;flex-wrap:wrap;justify-content:flex-end}.intro{flex-direction:column;gap:24px;padding:30px 0}.course-status{width:100%;padding:0;border:0}.course-status p{margin:6px 0 14px}.eyebrow{font-size:10px}h1{font-size:58px}h2{font-size:31px}.lead{font-size:14px}.section-head{align-items:flex-start;flex-direction:column;gap:8px}.topic-grid{gap:10px}.topic{padding:16px;min-height:200px}.topic.open{padding-top:14px}.topic h3{font-size:15px}.topic button{font-size:12px;padding:8px}.result{padding:12px;font-size:13px;gap:12px}.result small{font-size:11px}.result button{white-space:nowrap}footer{flex-wrap:wrap}.preview{font-size:10px}}
/* Course workspace: materials beside the lesson, optional reading below it. */
.topic-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.topic-grid:empty{display:none}.topic{max-width:360px}.topic.locked{min-height:165px;background:#fdfcf9;border-color:#e6e3db}.other-topics{margin-top:22px}.other-topics>summary{cursor:pointer;color:var(--muted);font-size:13px;list-style:none;padding:12px 0}.other-topics>summary span{margin-left:12px}.other-topics .topic-grid{margin-top:10px}.topic-info{padding:20px;background:white;border:1px solid var(--line);border-radius:10px;margin-top:20px}.lesson-body{grid-template-columns:minmax(0,2fr) minmax(250px,1fr)}.lesson-view{min-width:0}.video-placeholder{width:100%}.supplementary{padding:22px 26px;border-top:1px solid var(--line)}.download-row{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid var(--line);font-size:13px}.download-row small{font-size:10px;color:var(--muted)}.download-row button{padding:4px 9px;background:transparent;border-color:var(--line)}.lesson-nav{margin-top:30px}.lesson-link{display:block;width:100%;text-align:left;background:transparent;border:0;padding:10px;border-radius:5px;font-size:12px}.lesson-link[aria-current]{background:#f0ece1;font-weight:700}.lesson-nav>.quiet{margin-top:12px;width:100%;text-align:left;font-size:12px}.lesson-bottom{grid-column:1/-1;padding:20px 24px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:20px}.lesson-bottom .muted{display:block;margin-top:6px}.onward{scroll-margin-top:20px}.onward-grid,.profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:24px 0}.onward-grid article,.profile-grid article,.showcase article{background:white;border:1px solid var(--line);border-radius:12px;padding:26px}.onward-grid h3,.profile-grid h3,.showcase h3{margin:0 0 12px}.onward-grid p,.profile-grid p,.showcase p{font-size:13px}.onward-grid a,.showcase a{font-size:13px;color:var(--blue)}.certificate{padding:25px;border:1px solid var(--line);border-radius:12px;margin:25px 0;background:white}.certificate h3{margin-top:0}.certificate p{font-size:13px}#certificate-sample{border:1px solid #d2bc8a;margin-top:24px;padding:36px;text-align:center;background:#fcfbf7}#certificate-sample .eyebrow{color:var(--muted);font-size:9px}.portal-page{padding:45px 0}.showcase{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:36px}.showcase h2{font-size:30px;color:var(--red);margin-bottom:18px}.profile-hours{font-size:42px!important;color:var(--gold);margin:10px 0}.profile-hours small{font-size:15px}.button-link{display:inline-block;border-bottom:1px solid var(--gold);padding:8px 0}header a[aria-current]{border-bottom:1px solid var(--gold)}
@media(max-width:850px){.lesson-body{grid-template-columns:1fr}.lesson aside{border-top:1px solid var(--line)}.showcase{grid-template-columns:1fr}.showcase section{max-width:600px}}
@media(max-width:540px){.topic-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.topic{max-width:none}.topic-grid:has(>.topic:only-child){grid-template-columns:1fr}.lesson-bottom{flex-direction:column;align-items:stretch;padding:18px}.lesson-bottom button{width:100%}.onward-grid,.profile-grid{grid-template-columns:1fr}.portal-page h1{font-size:48px}.download-row{gap:8px;font-size:12px}#certificate-sample{padding:22px 15px}}
@media(max-width:850px){.lesson-view{display:contents}.lesson-body>.lesson-view>.video-placeholder{order:1}.lesson-body>aside{order:2}.lesson-body>.lesson-view>.supplementary{order:3}.lesson-bottom{order:4}}
/* Course navigation and student progress. */
.section-icon{width:22px;height:22px;flex:none;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle;margin-right:9px}h2 .section-icon{color:var(--gold);width:25px;height:25px}h3 .section-icon{color:var(--gold)}.roadmap-tab{margin-top:18px;background:transparent;border:0;border-bottom:1px solid var(--gold);border-radius:0;padding:7px 0;font-size:13px;display:flex;align-items:center}.roadmap-tab .section-icon{width:18px;height:18px;color:var(--gold)}.lesson-cards{grid-template-columns:repeat(4,minmax(0,1fr))}.lesson-card{max-width:none;min-height:260px;padding:20px}.lesson-kind{display:flex;align-items:center;font-size:10px;color:var(--muted)}.lesson-kind .section-icon{width:16px;height:16px;color:var(--gold)}.lesson-card h3{font-size:16px;line-height:1.5}.lesson-card .lesson-description{font-size:12px;line-height:1.65;color:var(--muted);margin:4px 0 16px}.lesson-badges{display:flex;gap:8px;flex-wrap:wrap;font-size:10px;margin-bottom:14px}.lesson-badges span{display:flex;align-items:center;color:var(--red)}.lesson-badges .section-icon{width:15px;height:15px}.lesson-pagination{display:flex;align-items:center;justify-content:center;gap:24px;margin:22px 0}.lesson-pagination span{font-size:12px;color:var(--muted)}.lesson-pagination button{font-size:12px}.side-pagination{display:flex;justify-content:space-between;gap:12px;margin-top:10px}.side-pagination button{font-size:11px}dialog{color:var(--blue);font:inherit;border:1px solid #e3dfd3;border-radius:18px;padding:30px;max-width:min(960px,calc(100vw - 32px));max-height:85dvh;overflow:auto}dialog::backdrop{background:#102c39aa;backdrop-filter:blur(5px)}dialog>.section-head{margin-top:0}#roadmap-cards{grid-template-columns:repeat(2,minmax(0,1fr))}#roadmap-cards .topic{max-width:none;min-height:170px}#roadmap-cards .locked .number{color:var(--muted)}#roadmap-cards button{display:flex;align-items:center}#roadmap-cards .section-icon{width:16px;height:16px;color:var(--muted)}.end-choices{display:flex;gap:16px;flex-wrap:wrap;margin:20px 0 30px}.profile-title{text-align:center;margin-bottom:52px}.profile-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:70px;align-items:start}.learning-stats{padding:0 20px 0 0}.learning-stats h2{font-size:34px}.stats-orbit{max-width:280px;margin:26px auto 0}.stats-orbit text{font-size:20px;font-family:Evolenta,Arial,sans-serif;font-weight:700}.stats-orbit text:last-child{font-size:9px;font-weight:400;letter-spacing:1px}.stats-note{text-align:center;font-size:10px}.stats-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px;margin:30px 0}.stat{display:flex;flex-direction:column;align-items:flex-start;border-left:2px solid currentColor;padding:0 0 0 18px}.stat strong{font-size:45px;line-height:1.4;font-weight:700}.stat>span:last-child{font-size:12px;color:var(--blue)}.stat .section-icon{width:24px;height:24px;margin:0}.stat.blue{color:var(--blue)}.stat.gold{color:var(--gold)}.stat.red{color:var(--red)}.profile-settings{display:flex;flex-direction:column;gap:24px}.profile-settings article{background:white;border:1px solid var(--line);border-radius:12px;padding:30px}.profile-settings h3{display:flex;align-items:center;font-size:17px;margin:0 0 18px}.profile-settings p{font-size:13px}
@media(max-width:1000px){.lesson-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-layout{gap:32px}.learning-stats h2{font-size:29px}}
@media(max-width:700px){.profile-layout{grid-template-columns:1fr;gap:30px}.learning-stats{padding:0}.profile-title{margin-bottom:35px}.profile-settings article{padding:24px}.stats-metrics{gap:24px}.stats-orbit{max-width:230px}.lesson-card{min-height:240px}.end-choices{flex-direction:column}.end-choices button{width:100%}}
@media(max-width:540px){#roadmap-cards{grid-template-columns:1fr}.lesson-cards{grid-template-columns:1fr!important}.lesson-card{min-height:200px}dialog{padding:22px;max-width:calc(100vw - 24px)}dialog h2{font-size:29px}.lesson-pagination{gap:16px}.profile-title h1{font-size:45px}}
.course-status .course-map-button{width:100%;display:flex;align-items:center;justify-content:center;margin:16px 0 12px;background:transparent;border:1px solid #bdb5a1;border-radius:7px;font-size:12px;padding:10px 16px}.course-map-button:hover{background:#f2eee3}.course-map-button .section-icon{width:18px;height:18px;color:var(--muted)}.course-map-dock{position:fixed;top:0;left:0;right:0;z-index:8;display:flex;align-items:center;justify-content:space-between;background:#fffffff2;backdrop-filter:blur(8px);border-bottom:1px solid var(--line);padding:10px max(24px,calc((100vw - 1170px)/2));box-shadow:0 4px 18px #073b5008}.course-map-dock>span{font-weight:700;font-size:13px}.course-map-dock .course-map-button{padding:7px 12px;background:transparent;font-size:12px}.course-map-dock .section-icon{width:16px;height:16px}.lesson{scroll-margin-top:80px}#roadmap-dialog{width:min(680px,calc(100vw - 32px))}#roadmap-cards{display:flex;flex-direction:column;gap:14px}.map-module{border:1px solid var(--line);border-radius:10px;padding:17px 20px;background:#fff}.map-module.locked{background:#faf9f6}.map-module-heading{display:flex;align-items:center;gap:16px}.map-module-heading h3{font-size:16px;margin:0;flex:1}.map-module-heading .number{font-size:24px}.map-module-heading>button{width:36px;height:36px;padding:3px;display:grid!important;place-items:center}.map-module-heading>button.module-expand{font-size:23px}.map-module-heading .section-icon{margin:0}.module-progress{display:flex;align-items:center;gap:16px;margin:12px 0 0 44px}.module-progress small{font-size:10px;color:var(--muted);white-space:nowrap}progress{appearance:none;border:0;border-radius:10px;height:5px;background:#e6e7e3;width:100%;overflow:hidden}progress::-webkit-progress-bar{background:#e6e7e3;border-radius:10px}progress::-webkit-progress-value{background:var(--gold);border-radius:10px}progress::-moz-progress-bar{background:var(--gold);border-radius:10px}.map-module-lessons{margin:18px 0 0 44px;border-top:1px solid var(--line)}.map-lesson{padding:14px 0;border-bottom:1px solid #eeece6}.map-lesson:last-child{border:0}.map-lesson button{font-weight:700;font-size:12px;padding:3px 0}.map-lesson p{font-size:11px;color:var(--muted);margin:5px 0}.map-lesson progress{height:3px}.lesson-body aside .eyebrow{display:flex;align-items:center}
@media(max-width:540px){.lesson-cards{grid-template-columns:repeat(2,minmax(0,1fr))!important}.lesson-card{padding:14px;min-height:250px}.lesson-card h3{font-size:13px}.lesson-card .lesson-description{font-size:11px}.lesson-card button{font-size:10px;padding:8px}.map-module{padding:14px}.map-module-heading{gap:10px}.map-module-heading h3{font-size:14px}.module-progress{margin-left:0;gap:10px}.map-module-lessons{margin-left:0}.course-map-dock{padding:10px 18px}.course-map-dock>span{font-size:12px}}
/* Readability baseline: compare against the live Skillspace UI, keep IN·ME fonts. */
body{font-size:16px}.lead{font-size:17px}.account,.course-status p,.section-head>span,.muted,.demo,footer{font-size:14px}.eyebrow{font-size:12px}.topic p,.topic button,.topic .closed{font-size:14px}.lesson aside,.download-row,.onward-grid p,.profile-settings p,.certificate p,.showcase p,.onward-grid a,.showcase a{font-size:16px}.download-row small,.lesson-kind,.lesson-badges,.lesson-pagination span,.lesson-pagination button,.result small,.result button{font-size:14px}.lesson-card h3{font-size:18px}.lesson-card .lesson-description{font-size:15px;line-height:1.65}.lesson-card{min-height:290px}.stat>span:last-child{font-size:15px}.course-status .course-map-button,.course-map-dock .course-map-button,.course-map-dock>span{font-size:15px}.map-module-heading h3{font-size:18px}.module-progress small{font-size:14px}.map-lesson button{font-size:16px}.map-lesson p{font-size:15px;line-height:1.65}.map-module-heading>button{width:44px;height:44px}input,select{min-height:48px;font-size:16px}.lesson aside h3{font-size:19px}.video-placeholder small{font-size:14px}
@media(max-width:540px){nav{font-size:14px}.lead{font-size:16px}.eyebrow{font-size:12px}.lesson-card h3{font-size:17px}.lesson-card .lesson-description{font-size:15px}.lesson-card button{font-size:14px;padding:10px}.lesson-kind{font-size:13px}.lesson-card{min-height:310px}.map-module-heading h3{font-size:17px}.module-progress{flex-wrap:wrap;gap:6px}.module-progress small{font-size:14px}.download-row{font-size:16px}.result{font-size:15px}.result small{font-size:14px}.course-map-dock>span{font-size:14px}.preview{font-size:12px}}
/* School storefront, entry and cross-course homework workspace. */
.showcase{display:flex;flex-direction:column;gap:48px}.showcase section{max-width:none}.showcase-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.showcase-tiles article{display:flex;flex-direction:column;gap:8px}.showcase-tiles a,.showcase-tiles button{margin-top:auto;align-self:flex-start}.sign-in{display:flex;align-items:center;white-space:nowrap;font-size:16px}.sign-in span{display:flex}.sign-in .section-icon{width:24px;height:24px}.assignments-hub{margin-top:38px;border-top:1px solid var(--line);padding-bottom:24px}.assignment-row{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 0;border-bottom:1px solid var(--line)}.assignment-row h3{font-size:18px;margin:6px 0}.assignment-row p{margin:4px 0}.assignment-row button{flex:none}.course-alerts{display:flex;flex-direction:column;gap:10px;margin:20px 0}.course-signal{display:flex;align-items:center;font-size:14px}.course-signal.red{color:var(--red)}.course-signal.blue{color:var(--blue)}.course-signal.gold{color:#8b712d}.homework{scroll-margin-top:80px;background:white;border:1px solid var(--line);border-radius:12px;padding:30px;margin:30px 0}textarea{font:inherit;color:inherit;width:100%;resize:vertical;min-height:160px;border:1px solid var(--line);border-radius:8px;padding:16px;background:#fcfcfa}.homework-actions{display:flex;gap:20px;margin-top:18px}.feedback-note{border-left:3px solid var(--gold);padding:8px 16px}.teacher-reply{background:#edf3f5;border-left:3px solid var(--blue);padding:20px}#login-dialog{width:min(480px,calc(100vw - 32px))}#login-form{display:flex;flex-direction:column;gap:12px}#login-form button{margin-top:12px}#login-form label{font-size:16px}
@media(max-width:850px){.showcase-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.assignment-row{align-items:flex-start;flex-direction:column;gap:12px}}
@media(max-width:540px){.showcase-tiles{grid-template-columns:1fr}.homework{padding:20px}.homework-actions{flex-direction:column}.sign-in{font-size:16px}header{align-items:center}.showcase{gap:32px}.assignment-row button{min-height:44px}}
.lesson-kind{font-size:14px;gap:2px;color:var(--blue)}.lesson-kind .section-icon{width:20px;height:20px}.lesson-completed{display:flex;align-items:center;font-size:14px;color:var(--muted);margin-top:8px}.lesson-completed:empty{display:none}.lesson-completed .section-icon{width:18px;height:18px;color:var(--gold)}.lesson-type-preview{display:flex;gap:20px;flex-wrap:wrap;margin-top:20px}
.module-tabs{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0 30px}.module-tab{font-size:16px;min-height:48px;text-align:left;padding:12px 16px}.module-tab[aria-pressed=true]{background:#f0eadc;border-color:var(--gold);font-weight:700}@media(max-width:540px){.module-tabs{flex-direction:column}.module-tab{width:100%}}
/* Fluid workspace shared by school and course screens. */
:root{--workspace-gutter:clamp(16px,2.5vw,56px)}
body>main{width:100%;max-width:none;min-width:0;margin:0;padding:0 var(--workspace-gutter) 50px}
body>header,body>footer{padding-left:var(--workspace-gutter);padding-right:var(--workspace-gutter)}
#course-page,.portal-page,.curriculum,.lesson,.lesson-body{min-width:0;width:100%}
.course-map-dock{padding-left:var(--workspace-gutter);padding-right:var(--workspace-gutter)}
.intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(265px,24%)}
.intro>div:first-child{min-width:0}.course-status{min-width:0;width:100%;overflow-wrap:anywhere}
.lesson-body{grid-template-columns:minmax(0,3fr) minmax(280px,1fr)}
@media(max-width:1000px){.lesson-body{grid-template-columns:1fr}}
@media(max-width:540px){body>main{padding-bottom:35px}.course-status{flex:auto}}
.lesson-card,.map-module,.admin-card{overflow-wrap:anywhere}
@media(max-width:540px){body>header{flex-wrap:wrap}body>header nav{flex:1;justify-content:flex-start}body>header>.brand{flex:none}.course-status{min-width:0}}
/* Keep intrinsic content sizes from widening the viewport, including in Safari. */
body>main{width:auto;max-width:100%}
body>header,body>footer{min-width:0;flex-wrap:wrap}
.intro,.curriculum,.portal-page,.lesson-body{max-width:100%}
.intro>*,.section-head>*,.lesson-body>*,.download-row>*{min-width:0}
.section-head{flex-wrap:wrap}
.lesson-body aside,.download-row{overflow-wrap:anywhere}
@media(max-width:700px){.intro{grid-template-columns:minmax(0,1fr)}.course-status{border:0;padding-left:0;max-width:100%}}
/* Student workspace: study on the left, current information on the right. */
.learning-content{min-width:0}
main.learning-workspace{display:grid;grid-template-columns:minmax(0,2fr) minmax(300px,1fr);gap:clamp(24px,3vw,56px);align-items:start;padding-top:40px}
.learning-workspace .portal-page{padding-top:0}
.student-panel{min-width:0;border-left:1px solid var(--gold);padding-left:clamp(22px,2.5vw,44px);padding-bottom:30px}
.student-panel h2{font-size:32px;display:flex;align-items:center;margin:0 0 14px}
.student-panel>section{margin-top:32px}
.student-panel .assignment-row{display:flex;flex-direction:column;align-items:stretch;gap:8px;padding:22px 0}
.student-panel .assignment-row h3{font-size:18px;line-height:1.5;margin:0}
.student-panel .assignment-row p{margin:0}
.student-panel .assignment-row button{align-self:flex-start;font-size:15px;margin-top:6px;min-height:44px}
.chat-launch{display:flex;align-items:center;gap:12px;width:100%;padding:16px;font-size:19px;border-color:#d8c59d;background:#fff}
.chat-launch>span:last-child{margin-left:auto}
.unread-count{display:inline-flex;align-items:center;justify-content:center;border-radius:30px;min-width:28px;height:28px;padding:0 8px;background:var(--red);color:white;font:700 14px/1 Evolenta,Arial,sans-serif}
.student-notice{display:grid;grid-template-columns:24px minmax(0,1fr);column-gap:10px;margin:18px 0;font-size:16px;line-height:1.6}
.student-notice .section-icon{color:var(--gold);grid-row:span 2;margin-top:3px}
.student-notice>span{grid-column:2;color:var(--muted)}
.notice-reply{display:flex;align-items:flex-start;gap:8px;text-align:left;width:100%;font-size:16px;margin:12px 0;min-height:44px}
.assignments-complete{text-align:center;padding:26px 12px;color:var(--blue)}
.assignments-complete>.section-icon{display:block;width:60px;height:60px;margin:0 auto 18px;color:var(--gold)}
.assignments-complete p{font-size:17px;line-height:1.7;margin:0}
.panel-demo{margin-top:32px}
#chats-dialog{width:min(640px,calc(100vw - 32px))}
.chat-row{width:100%;display:flex;align-items:center;gap:16px;padding:20px 12px;text-align:left;border:0;border-bottom:1px solid var(--line);border-radius:0;font-size:18px}
.chat-row .unread-count,.chat-row>.muted{margin-left:auto}
#chat-preview{border-top:1px solid var(--gold);margin-top:24px;padding-top:20px}
.learning-workspace .onward-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.learning-workspace .intro{padding-top:0;grid-template-columns:minmax(0,1fr)}
.learning-workspace .course-status{border:0;padding:0;max-width:380px}
.learning-workspace .lesson-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
.learning-workspace .lesson-body{grid-template-columns:minmax(0,1fr)}
@media(max-width:900px){main.learning-workspace{grid-template-columns:minmax(0,1fr);padding-top:28px}.student-panel{border-left:0;border-top:1px solid var(--gold);padding:28px 0 0}.learning-workspace .onward-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:540px){.learning-workspace .onward-grid,.learning-workspace .lesson-cards{grid-template-columns:minmax(0,1fr)!important}.chat-row{flex-wrap:wrap}}
@media(min-width:1600px){.learning-workspace .lesson-cards{grid-template-columns:repeat(4,minmax(0,1fr))}.learning-workspace .lesson-body{grid-template-columns:minmax(0,2fr) minmax(250px,1fr)}}
/* Compact notification stacks, grouped by purpose. */
.notice-group{display:grid;grid-template-columns:25px minmax(0,1fr);gap:12px;align-items:center;margin:18px 0 24px}
.notice-group.red{--notice-color:var(--red);--notice-tint:#faf1ef}
.notice-group.blue{--notice-color:var(--blue);--notice-tint:#eef4f6}
.notice-group.gold{--notice-color:#92753b;--notice-tint:#f8f3e8}
.notice-group>.section-icon{color:var(--notice-color);width:24px;height:24px;margin:0}
.notice-bubble{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:12px;row-gap:5px;width:100%;padding:14px 16px;text-align:left;background:var(--notice-tint);border:1px solid color-mix(in srgb,var(--notice-color) 30%,white);font-size:16px;line-height:1.5;border-radius:12px;color:var(--blue)}
.notice-bubble:hover{background:var(--notice-tint);border-color:var(--notice-color)}
.notice-bubble>strong{font-size:16px;grid-column:1}
.notice-preview{grid-column:1;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:15px;color:var(--muted)}
.notice-count{grid-column:2;grid-row:1 / span 2;align-self:center;min-width:26px;height:26px;padding:0 6px;display:grid;place-items:center;border-radius:50%;background:var(--notice-color);color:white;font-size:14px;font-weight:700}
.notice-bubble.stacked{margin-bottom:8px}
.notice-bubble.stacked::before,.notice-bubble.stacked::after{content:'';position:absolute;border:1px solid color-mix(in srgb,var(--notice-color) 30%,white);border-radius:12px;background:var(--notice-tint);height:100%;z-index:-1;pointer-events:none}
.notice-bubble.stacked::before{inset:4px 4px -4px}
.notice-bubble.stacked::after{inset:8px 8px -8px;z-index:-2}
#notices-dialog{width:min(640px,calc(100vw - 32px))}
#notices-dialog h2 .section-icon{color:var(--blue)}
#notices-dialog[data-tone=red] h2 .section-icon{color:var(--red)}
#notices-dialog[data-tone=gold] h2 .section-icon{color:var(--gold)}
.notice-detail{padding:20px 0;border-bottom:1px solid var(--line)}
.notice-detail:last-child{border-bottom:0}
.notice-detail h3{font-size:18px;margin:0 0 8px}
.notice-detail p{font-size:16px;margin:0 0 12px}
/* Course cards keep learning content separate from the information panel. */
:root{--school-light-blue:#a8cbd5;--school-green:#5f7f6b}
#courses-page .onward-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));align-items:start}
#courses-page .student-course-card{padding:22px;display:flex;flex-direction:column;gap:24px;max-width:500px}
.course-art{width:100%;aspect-ratio:1;max-width:240px;border-radius:18px;overflow:hidden;background:var(--school-light-blue)}
.course-art svg,.course-art img{display:block;width:100%;height:100%;object-fit:cover}
.student-course-copy{min-width:0;width:100%}
.student-course-copy .eyebrow{margin-bottom:12px}
.student-course-copy .student-course-title{font-size:23px;line-height:1.4;margin:0 0 12px}
.student-course-copy>p:not(.eyebrow){font-size:16px;line-height:1.65;margin:0 0 24px}
.course-continue{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 16px;border:1px solid var(--gold);border-radius:7px;background:#e9ddc2;font-size:16px;min-height:48px;width:100%}
.course-continue:hover{background:#ddcda7;text-decoration:none}
@media(max-width:540px){#courses-page .student-course-card{padding:20px}.course-art{max-width:180px}}
/* Compact rectangular card: small art beside the course title and description. */
#courses-page .onward-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));gap:20px}
#courses-page .student-course-card{display:grid;grid-template-columns:96px minmax(0,1fr);gap:20px;padding:22px;max-width:460px}
.student-course-card .course-art{width:96px;height:96px;max-width:none;border-radius:14px;align-self:start}
.student-course-card .student-course-copy .eyebrow{font-size:12px;letter-spacing:1px;margin:0 0 6px}
.student-course-card .student-course-title{font-size:21px;margin:0 0 8px}
.student-course-card .student-course-copy>p:not(.eyebrow){font-size:16px;margin:0;line-height:1.6}
.student-course-card .course-continue{grid-column:1/-1;justify-content:center;text-align:center}
@media(max-width:540px){#courses-page .student-course-card{padding:18px;grid-template-columns:76px minmax(0,1fr);gap:16px}.student-course-card .course-art{width:76px;height:76px}.student-course-card .student-course-title{font-size:20px}}
.my-courses-title{display:flex;align-items:center;gap:18px}
.my-courses-title>.section-icon{width:.62em;height:.62em;margin:0;color:var(--gold)}
.courses-search{display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:14px;margin:28px 0 16px;border:1px solid var(--line);border-radius:9px;padding:8px 10px 8px 16px;background:white}
.courses-search>.section-icon{margin:0;color:var(--muted)}
.courses-search input{border:0;padding-left:0;background:transparent;min-width:0}
.courses-search button{padding:10px 18px;background:#f4eee1;min-height:48px}
.course-archive{margin:32px 0 24px;border-top:1px solid var(--line);padding-top:20px}
.course-archive>summary{cursor:pointer;width:fit-content;font-size:16px;min-height:44px;color:var(--blue);text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:5px}
.student-course-card{position:relative}
.archive-badge{position:absolute;right:12px;top:10px;font-size:12px;padding:2px 9px;background:#f0eadc;border-radius:20px;color:#725f3b}
.student-course-card:has(.archive-badge){padding-top:38px!important}
.matched-course-lessons{grid-column:1/-1;display:flex;flex-direction:column;gap:8px}
.matched-course-lessons button{text-align:left;display:flex;align-items:center;font-size:15px;min-height:44px}
@media(max-width:540px){.my-courses-title{gap:12px}.courses-search{gap:8px;padding-left:12px}.courses-search button{padding:10px 12px}.courses-search input{font-size:15px}}
/* Independent, persistent folding of sidebar information. */
.student-panel h2{display:flex;align-items:center;gap:8px}
.student-panel h2>.section-icon{margin-right:0}
.panel-collapse-toggle{display:grid;place-items:center;margin-left:auto;padding:0;width:44px;height:44px;flex:none;border:0;border-radius:50%;background:transparent;color:var(--muted)}
.panel-collapse-toggle:hover{background:#eeeae0;color:var(--blue)}
.panel-collapse-toggle svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;transition:transform .15s}
.panel-collapse-toggle[aria-expanded=false] svg{transform:rotate(-90deg)}
.student-panel .panel-collapsed{margin-top:22px}
.student-panel .panel-collapsed h2{margin-bottom:0}
@media(prefers-reduced-motion:reduce){.panel-collapse-toggle svg{transition:none}}
/* Calm school typography and compact course overview. */
.school-ui{font-size:15px}
.school-ui>header{background:var(--blue);color:#fff;padding-top:14px;padding-bottom:14px;min-height:88px}
.school-ui>header .brand{display:flex;align-items:center}
.school-ui>header .brand img{display:block;width:138px;height:58px;object-fit:contain}
.school-ui>header nav{gap:28px}
.school-ui>header nav a{position:relative;border:0;padding:8px 0;font-size:15px}
.school-ui>header nav a[aria-current]::after{content:'';position:absolute;left:0;right:0;bottom:0;height:2px;background:#d9bd79;box-shadow:0 0 6px #e0bc6790;border-radius:3px}
.school-ui>header button{color:white;border-color:#9eafad;background:transparent;font-size:15px}
.school-ui>header button:hover{background:#ffffff12}
.school-ui h1{font-size:clamp(40px,3.5vw,54px)}
.school-ui h2{font-size:30px}
.school-ui .student-panel h2{font-size:28px}
.school-ui .lead{font-size:15px}
.school-ui .portal-page{padding-top:30px}
.school-ui .student-course-copy>p:not(.eyebrow),.school-ui .course-continue{font-size:15px}
.school-ui .student-course-card .student-course-title{font-size:20px}
#courses-page .onward-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
#courses-page .student-course-card{max-width:none;padding:18px;gap:16px;grid-template-columns:86px minmax(0,1fr)}
.student-course-card .course-art{width:86px;height:86px}
.school-ui .learning-workspace .intro{display:grid;grid-template-columns:130px minmax(0,1fr);gap:24px;padding:0 0 26px;align-items:start}
.course-intro-art{display:flex;flex-direction:column;gap:12px}
.course-intro-art>.course-art{width:130px;height:130px;max-width:none;border-radius:15px}
.course-intro-art .course-map-button{width:100%;padding:9px 6px;font-size:14px;background:transparent;border:1px solid #bdb5a1;display:flex;align-items:center;justify-content:center;gap:5px;min-height:44px;white-space:nowrap}
.course-intro-art .course-map-button>.section-icon{width:17px;height:17px;margin:0}
.course-intro-copy .eyebrow{font-size:11px;margin-bottom:8px;letter-spacing:1px}
.course-intro-copy h1{font-size:clamp(36px,3vw,46px)}
.course-intro-copy .lead{margin-top:12px}
.school-ui .intro>.course-status{grid-column:2;max-width:none;margin-top:-22px;font-size:14px}
.school-ui .course-status p{margin:4px 0 0;font-size:14px}
.school-ui .curriculum>.section-head{margin:24px 0 12px}
.school-ui .module-tabs{margin:14px 0 22px}
.school-ui .module-tab{font-size:14px;padding:10px 12px;min-height:44px}
.school-ui .lesson-card{min-height:220px;padding:18px}
.school-ui .lesson-card h3{font-size:16px}
.school-ui .lesson-card .lesson-description{font-size:14px}
.school-ui .lesson-card .lesson-kind{font-size:13px}
.school-ui .lesson-card button{font-size:14px}
.lesson-is-completed{background:#f7f8f6;border-color:#e5e8e1!important}
.lesson-is-completed h3,.lesson-is-completed .lesson-description,.lesson-is-completed .lesson-kind{color:#7b898b!important}
.lesson-is-completed button{background:#fff;color:var(--blue);opacity:1}
@media(max-width:1100px){#courses-page .student-course-card{grid-template-columns:68px minmax(0,1fr);padding:16px;gap:12px}.student-course-card .course-art{width:68px;height:68px}}
@media(max-width:700px){#courses-page .onward-grid{grid-template-columns:minmax(0,1fr)}.school-ui .learning-workspace .intro{grid-template-columns:108px minmax(0,1fr);gap:16px}.course-intro-art>.course-art{width:108px;height:108px}.course-intro-art .course-map-button{font-size:12px}.school-ui .intro>.course-status{margin-top:-14px}.school-ui>header .brand img{width:110px;height:46px}}
@media(max-width:420px){.school-ui .learning-workspace .intro{grid-template-columns:96px minmax(0,1fr);gap:14px}.course-intro-art>.course-art{width:96px;height:96px}.course-intro-copy h1{font-size:34px}.course-intro-copy .eyebrow{font-size:10px}.course-intro-art .course-map-button{white-space:normal}.school-ui>header nav{gap:18px}}
.school-ui .course-intro-copy>.course-status{margin:14px 0 0;padding:0;border:0;max-width:none}
#close-roadmap{border:0;outline:0;box-shadow:none;background:transparent;padding:8px 4px;min-height:44px}
#close-roadmap:hover,#close-roadmap:focus-visible{background:transparent;text-decoration:underline;text-underline-offset:4px;outline:0;box-shadow:none}
.locked-lesson-title{display:flex;align-items:center;gap:10px;font-size:16px;line-height:1.5;color:var(--blue)}
.locked-lesson-title>.section-icon{width:17px;height:17px;margin:0;color:var(--muted)}
.map-lesson-locked p{margin-left:27px}
.school-ui>header{align-items:center}
.school-ui>header .brand{align-self:center;justify-content:center;line-height:1}
.school-ui>header .brand img{object-position:center;transform:translateY(-4px)}
.student-header-account{display:flex;flex-direction:column;align-items:center;gap:5px;flex:none}
#student-header-name{font-size:14px;line-height:1.4;color:white;max-width:210px;overflow-wrap:anywhere;text-align:center}
.student-header-account #sign-out{padding:5px 14px;min-height:36px;font-size:14px}
.school-ui #student-header-name{color:#d9bd79;text-shadow:0 0 6px #e0bc6770}
.school-ui .school-contact-footer{display:flex;justify-content:center;padding-top:20px;padding-bottom:20px}
.school-contact-footer nav{display:flex;justify-content:center;align-items:center;gap:20px}
.school-contact-footer a{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;color:var(--blue)}
.school-contact-footer a:hover{background:#eee8da;color:#92753b}
.school-contact-footer .section-icon{width:25px;height:25px;margin:0}
