:root{--stripe:linear-gradient(90deg,#C95F58 0.000000%,#C95F58 4.705882%,#F16451 7.058824%,#F16451 10.588235%,#C3922D 12.941176%,#C3922D 16.470588%,#EFAB20 18.823529%,#EFAB20 22.352941%,#6EA344 24.705882%,#6EA344 28.235294%,#6A986B 30.588235%,#6A986B 34.117647%,#4A9A63 36.470588%,#4A9A63 40.000000%,#2C9A7A 42.352941%,#2C9A7A 45.882353%,#328F9D 48.235294%,#328F9D 51.764706%,#327F94 54.117647%,#327F94 57.647059%,#32A1C8 60.000000%,#32A1C8 63.529412%,#2F86B1 65.882353%,#2F86B1 69.411765%,#6D92A9 71.764706%,#6D92A9 75.294118%,#537ABD 77.647059%,#537ABD 81.176471%,#8A6BBC 83.529412%,#8A6BBC 87.058824%,#80658F 89.411765%,#80658F 92.941176%,#D56385 95.294118%,#D56385 100.000000%)}
@font-face{font-family:Manrope;src:url('assets/fonts/Manrope-700.woff') format('woff');font-weight:700;font-display:swap}@font-face{font-family:Manrope;src:url('assets/fonts/Manrope-800.woff') format('woff');font-weight:800;font-display:swap}@font-face{font-family:'Source Sans 3';src:url('assets/fonts/Source-Sans-3-400.woff') format('woff');font-weight:400;font-display:swap}@font-face{font-family:'Source Sans 3';src:url('assets/fonts/Source-Sans-3-600.woff') format('woff');font-weight:600;font-display:swap}
:root{--navy:#182338;--ink:#23384A;--muted:#5C6E7E;--blue:#2F6F8F;--border:#E1E7EC;--wash:#F6F8FA}[hidden]{display:none!important}*{box-sizing:border-box}html{scroll-padding-top:110px}body{margin:0;color:var(--ink);background:#fff;font:400 16px/1.65 'Source Sans 3',Arial,sans-serif}button,input,select,textarea{font:inherit;color:inherit}button,summary,select{cursor:pointer}button{border:0}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:4px}h1,h2,h3{font-family:Manrope,Arial,sans-serif;color:var(--navy);line-height:1.35;letter-spacing:-.035em}h1{font-size:36px;margin:0 0 12px}h2{font-size:21px;margin:34px 0 16px}h3{font-size:17px;margin:0 0 7px}p{margin:0 0 16px}img{max-width:100%}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #32A1C8;outline-offset:3px}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip{position:fixed;top:-100px;left:16px;z-index:300;background:white;padding:10px 20px;border:2px solid var(--blue)}.skip:focus{top:12px}.icon{display:inline-block;width:21px;height:21px;flex:0 0 21px;background:currentColor;mask:var(--icon) center/contain no-repeat;-webkit-mask:var(--icon) center/contain no-repeat;vertical-align:middle}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid var(--border);border-radius:8px;background:white;font-size:24px;line-height:1;color:var(--muted)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 16px;border:1px solid var(--border);border-radius:8px;background:#fff;color:var(--blue);font-size:14px;font-weight:600;text-decoration:none!important}.btn:hover{background:#F0F6F9;border-color:#A7C3D2}.btn.primary{background:var(--blue);color:white;border-color:var(--blue)}.btn.primary:hover{background:#245C77}.btn[aria-pressed=true]{background:#EFF6F1;color:#3F6B46;border-color:#BBD3C1}.btn.small{font-size:12px;min-height:40px;padding:8px 12px}.link-button{min-height:44px;background:none;color:var(--blue);padding:8px 0;font-size:13px}
.site-header{position:sticky;top:0;z-index:50;background:var(--navy);color:#fff}.brand-stripe{height:4px;background:var(--stripe)}.header-inner{max-width:1140px;min-height:83px;margin:auto;padding:0 28px;display:flex;align-items:center;gap:22px}.brand{display:flex;align-items:center;flex:0 0 190px;min-height:44px}.brand img{display:block}.site-label{font-size:13px;color:#B8C5D6;border-left:1px solid #465369;padding-left:21px;white-space:nowrap}.header-inner>nav{margin-left:auto;display:flex;align-items:center;gap:23px;font-size:14px}.header-inner>nav>a{color:#CAD4E0;min-height:44px;display:flex;align-items:center;gap:4px}.header-inner>nav>a.active{color:white;font-weight:600}.header-inner>nav>a.active:after{content:'';width:5px;height:5px;background:#80C4DE;border-radius:50%;margin-left:5px}#saved-count{font-size:10px;color:#BBC8D7}#about-menu{position:relative}#about-menu>summary{list-style:none;display:flex;align-items:center;gap:7px;min-height:44px;color:#CAD4E0}#about-menu>summary::-webkit-details-marker{display:none}#about-menu>div{position:absolute;right:0;top:48px;width:218px;border:1px solid var(--border);border-radius:9px;background:white;padding:7px;box-shadow:0 8px 30px #18233822}#about-menu>div a,#about-menu>div button{display:flex;align-items:center;min-height:44px;width:100%;border-radius:5px;padding:9px 12px;background:white;color:var(--ink);font-size:13px;text-align:left;text-decoration:none}#about-menu>div a:hover,#about-menu>div button:hover{background:#F0F5F8}
main{width:100%;max-width:1036px;min-height:65vh;margin:0 auto;padding:36px 28px 55px;outline:none}.intro{padding:7px 0 23px}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:10px;font-weight:600;color:var(--blue);margin-bottom:12px}.lead{font-size:16px;line-height:1.7;color:var(--muted);max-width:770px;margin-bottom:18px}.home-heading{margin-bottom:22px}.home-heading h1{font-size:38px}.subject-line{display:flex;gap:9px;align-items:center;font-size:13px;color:var(--blue);margin-bottom:17px}.subject-line img{width:24px;height:24px}.search{display:flex;align-items:center;gap:12px;padding:0 15px;border:1px solid #C8D7E0;border-radius:9px;max-width:640px;min-height:54px;background:white}.search:focus-within{border-color:var(--blue);box-shadow:0 0 0 3px #2F6F8F10}.search .icon{color:var(--blue)}.search input{border:0;background:none;width:100%;min-width:0;outline:none!important;padding:14px 0;font-size:15px}.search input::placeholder{color:#8B99A4}.search .icon-button{width:36px;height:44px;border:0;flex:0 0 36px;font-size:21px}.course-groups h2{margin-top:27px;font-size:17px;letter-spacing:-.02em}.course-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.course-tile{display:flex;align-items:center;gap:18px;min-height:112px;border:1px solid var(--border);border-radius:11px;padding:21px 23px;color:var(--ink);text-decoration:none!important;transition:border-color .15s,box-shadow .15s}.course-tile:hover{border-color:#9AB9CA;box-shadow:0 3px 15px #18233806}.grade-symbol{display:flex;align-items:center;justify-content:center;width:58px;height:58px;flex:0 0 58px;font:700 24px Manrope,sans-serif;background:#ECF4F8;border-radius:11px;color:var(--blue)}.grade-symbol.media{background:#F1EFF5;color:#5C5470}.course-tile h3{font-size:20px;margin-bottom:5px}.course-tile p{font-size:12px;color:var(--muted);margin:0}.tile-arrow{margin-left:auto;flex:0 0 21px;color:#7194A8}.small-note{font-size:12px;color:#87959F;margin:26px 0 0;line-height:1.7}.breadcrumb{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:12px;color:#7B8D9A;margin-bottom:20px;min-height:30px}.breadcrumb a{color:#637F92}.breadcrumb .icon{width:12px;height:12px;flex-basis:12px}.back-link{display:inline-flex;align-items:center;gap:7px;font-size:13px;min-height:44px;margin-bottom:14px}.back-link .icon{width:17px;height:17px;flex-basis:17px}.page-heading{padding-bottom:21px;border-bottom:1px solid var(--border);margin-bottom:23px}.page-heading .lead{margin-bottom:0}.page-heading .eyebrow{margin-top:1px}.step-label{font-size:13px;color:var(--muted);margin:0 0 16px}.unit-list,.session-list{display:flex;flex-direction:column;gap:11px}.unit-row,.session-row{display:flex;align-items:center;gap:18px;min-height:105px;padding:20px 23px;border:1px solid var(--border);border-radius:10px;color:var(--ink);text-decoration:none!important}.unit-row:hover,.session-row:hover{border-color:#A3BFCF;background:#FCFDFE}.unit-symbol{width:56px;height:56px;flex:0 0 56px;background:#F3F6F8;border-radius:10px;display:flex;align-items:center;justify-content:center}.unit-symbol img{width:35px;height:35px;object-fit:contain}.row-body{flex:1;min-width:0}.row-label{font-size:10px;color:#7E919F;letter-spacing:.07em;text-transform:uppercase;margin-bottom:4px}.unit-row h3{font-size:17px;margin-bottom:5px}.unit-row p,.session-row p{font-size:12px;color:var(--muted);margin:0}.row-end{display:flex;align-items:center;gap:12px;color:#6D8EA1;font-size:12px;flex:0 0 auto}.row-end .icon{width:18px;height:18px;flex-basis:18px}.orientation{border:1px solid var(--border);border-radius:9px;margin-top:23px;background:#FBFCFD}.orientation>summary{display:flex;align-items:center;justify-content:space-between;gap:13px;list-style:none;font-size:13px;min-height:51px;padding:12px 18px;color:var(--blue);cursor:pointer}.orientation>summary::-webkit-details-marker{display:none}.orientation>summary .icon{width:17px;height:17px;flex-basis:17px;transition:transform .2s}.orientation[open]>summary .icon{transform:rotate(180deg)}.orientation-body{padding:5px 20px 20px;font-size:14px}.orientation-body:empty{display:none}.session-tools{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin:0 0 20px}.session-tools .search{flex:1;min-width:210px;min-height:48px}.session-tools .search input{padding:10px 0;font-size:13px}.result-count{font-size:12px;color:#80919E;margin:14px 0}.session-row{min-height:92px;padding:17px 20px;align-items:flex-start;gap:16px}.session-number{width:46px;min-height:46px;flex:0 0 46px;background:#F0F5F8;border-radius:8px;color:var(--blue);display:flex;align-items:center;justify-content:center;font:700 13px Manrope,sans-serif}.session-row h3{font-size:15px;margin:2px 0 6px}.session-row p{line-height:1.65}.session-row .row-end{align-self:center}.resource-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}.resource-tag{font-size:10px;border:1px solid #E4EDF2;border-radius:4px;color:#638092;background:#F5F9FB;padding:2px 6px}.reading-top{display:flex;align-items:flex-start;justify-content:space-between;gap:25px;margin:0 0 19px}.reading-top .title-block{flex:1;min-width:0}.reading-top h1{font-size:29px}.reading-top .btn{white-space:nowrap;font-size:12px;flex:0 0 auto}.reading-context{font-size:13px;color:var(--muted);margin-bottom:10px}.source-content{min-width:0;max-width:100%;overflow-wrap:anywhere}.source-content>p:first-child{font-size:16px!important;line-height:1.8!important;margin:0 0 25px!important;color:var(--muted)!important}.source-content img{max-width:100%;height:auto}.source-content>section:first-child{margin-top:10px!important}.source-content>section{border-radius:9px}.source-content h2,.source-content h3,.source-content h4{letter-spacing:-.025em}.lesson-nav{display:flex;align-items:center;gap:12px;justify-content:space-between;margin-top:34px;border-top:1px solid var(--border);padding-top:22px}.lesson-nav .btn{max-width:44%;font-size:12px;line-height:1.5}.lesson-nav .back-to-unit{font-size:12px;text-align:center;min-height:44px;display:flex;align-items:center;padding:5px}.lesson-nav .icon{width:16px;height:16px;flex-basis:16px}.lesson-nav .previous .icon{transform:rotate(180deg)}.institution-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.institution-tile{display:flex;align-items:flex-start;gap:15px;border:1px solid var(--border);border-radius:10px;padding:21px;color:var(--ink);text-decoration:none!important}.institution-tile:hover{border-color:#A2BFCF}.institution-tile img{width:30px;height:30px;object-fit:contain;flex:0 0 30px}.institution-tile h3{font-size:16px;margin-bottom:8px}.institution-tile p{font-size:12px;color:var(--muted);margin:0}.empty{padding:38px 22px;border:1px dashed #CBD9E2;border-radius:10px;text-align:center}.empty h2{font-size:20px;margin:0 0 12px}.empty p{font-size:14px;color:var(--muted);max-width:580px;margin:0 auto 20px}.loading{padding:60px 20px;color:var(--muted);text-align:center}.load-more{display:flex;justify-content:center;margin:22px}.search-filters{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:18px 0}.search-filters label{font-size:13px;color:var(--muted)}.search-filters select,.tool-select{min-height:44px;max-width:100%;border:1px solid var(--border);border-radius:7px;background:white;padding:8px 12px;font-size:13px}.tool-select{width:100%;margin-bottom:15px}.saved-item{position:relative}.saved-item .unit-row,.saved-item .session-row{padding-right:110px}.saved-item>.remove-save{position:absolute;right:15px;top:50%;transform:translateY(-50%);background:white;font-size:12px;border:1px solid var(--border);border-radius:6px;min-height:44px;padding:8px 12px;color:var(--muted)}.site-footer{border-top:1px solid var(--border);background:#FBFCFD}.site-footer>div{max-width:1036px;margin:auto;padding:21px 28px 26px;display:flex;gap:12px 20px;align-items:center;flex-wrap:wrap;font-size:11px;color:#82939F}.site-footer p{margin:0}.site-footer span{font-size:10px}.site-footer nav{margin-left:auto;display:flex;align-items:center;gap:17px}.site-footer a,.site-footer button{color:#6A8293;background:none;padding:8px 0;font-size:10px;min-height:40px}.toast{position:fixed;bottom:22px;left:50%;transform:translate(-50%,12px);background:var(--navy);color:white;border-radius:8px;padding:11px 18px;font-size:13px;max-width:calc(100vw - 30px);opacity:0;pointer-events:none;z-index:300;transition:opacity .2s,transform .2s}.toast.show{opacity:1;transform:translate(-50%,0)}dialog{max-width:650px;width:calc(100% - 32px);max-height:85dvh;padding:24px;border:1px solid var(--border);border-radius:12px;color:var(--ink);box-shadow:0 20px 90px #18233830}dialog::backdrop{background:#18233866;backdrop-filter:blur(2px)}.dialog-top{display:flex;align-items:center;justify-content:space-between;gap:17px;border-bottom:1px solid var(--border);padding-bottom:14px;margin-bottom:19px}.dialog-top h2{font-size:19px;letter-spacing:-.025em;margin:0}.dialog-top .icon-button{border:0}.dialog-top+div p{font-size:14px;color:var(--muted)}.tool-actions{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:15px}.tool-code{width:100%;height:260px;resize:vertical;white-space:pre;overflow:auto;font:11px/1.7 monospace;border:1px solid var(--border);border-radius:7px;padding:12px;background:#FAFCFD}.source-list{padding-left:19px;font-size:13px;color:var(--muted)}.source-list li{margin-bottom:10px;overflow-wrap:anywhere}
@media(max-width:800px){.site-label{display:none}.header-inner{max-width:1036px}.header-inner>nav{gap:18px}main{padding-top:27px}.home-heading h1{font-size:34px}.course-tile{padding:18px;gap:15px}.course-tile h3{font-size:18px}.grade-symbol{width:49px;height:49px;flex-basis:49px;font-size:22px}.unit-row{padding:18px;gap:15px}.row-end>span{display:none}.reading-top h1{font-size:26px}.site-footer nav{margin-left:0}}
@media(max-width:560px){html{scroll-padding-top:128px}.header-inner{min-height:103px;padding:8px 18px 5px;flex-wrap:wrap;gap:0;justify-content:center}.brand{flex:0 0 164px;min-height:48px}.brand img{width:164px;height:auto}.header-inner>nav{width:100%;margin-left:0;justify-content:center;gap:32px;font-size:12px}.header-inner>nav>a,#about-menu>summary{min-height:38px}#about-menu>div{top:39px;right:-10px}.brand-stripe{height:4px}main{padding:23px 18px 38px}.home-heading h1{font-size:30px}.intro{padding-bottom:12px}.subject-line{font-size:11px;gap:7px;margin-bottom:14px}.subject-line img{width:21px;height:21px}.eyebrow{font-size:9px;letter-spacing:.1em}.lead{font-size:14px;line-height:1.75}h1{font-size:29px}h2{font-size:19px}.search{min-height:50px;padding:0 12px;gap:9px}.search input{font-size:13px}.search .icon{width:19px;height:19px;flex-basis:19px}.course-grid{gap:10px}.course-tile{min-height:116px;display:block;position:relative;padding:16px 13px}.grade-symbol{width:34px;height:34px;font-size:17px;border-radius:7px;margin-bottom:11px}.course-tile h3{font-size:15px;margin-bottom:4px}.course-tile p{font-size:10px}.course-tile .tile-arrow{position:absolute;top:23px;right:14px;width:16px;height:16px}.course-groups h2{font-size:15px;margin-top:25px}.breadcrumb{font-size:10px;gap:5px;margin-bottom:15px}.breadcrumb .icon{width:10px;height:10px;flex-basis:10px}.back-link{font-size:12px;margin-bottom:10px}.page-heading{padding-bottom:17px;margin-bottom:20px}.step-label{font-size:12px}.unit-row{padding:17px 14px;gap:12px;min-height:100px}.unit-symbol{width:43px;height:43px;flex-basis:43px;border-radius:8px}.unit-symbol img{width:28px;height:28px}.unit-row h3{font-size:14px;line-height:1.5}.row-label{font-size:9px}.unit-row p{font-size:11px}.row-end .icon{width:16px;height:16px;flex-basis:16px}.unit-row .row-end{gap:0}.orientation>summary{font-size:12px;padding:12px 14px}.orientation-body{padding:5px 14px 16px}.session-tools{gap:12px}.session-tools .search{min-width:0;flex-basis:100%}.session-tools .btn{font-size:12px}.session-row{padding:16px 13px;gap:11px}.session-number{width:36px;min-height:38px;flex-basis:36px;font-size:11px}.session-row h3{font-size:13px;line-height:1.5}.session-row p{font-size:11px}.session-row .row-end{display:none}.resource-tag{font-size:9px}.reading-top{flex-direction:column;gap:4px;margin-bottom:20px}.reading-top h1{font-size:25px;line-height:1.4}.reading-top .btn{font-size:11px;min-height:40px}.reading-context{font-size:12px}.source-content>p:first-child{font-size:14px!important}.lesson-nav{gap:9px;flex-wrap:wrap}.lesson-nav .btn{max-width:48%;font-size:11px;padding:9px 11px}.lesson-nav .back-to-unit{flex:1 0 100%;justify-content:center;order:3}.institution-grid{grid-template-columns:minmax(0,1fr);gap:11px}.institution-tile{padding:18px}.institution-tile h3{font-size:15px}.institution-tile p{font-size:11px}.site-footer>div{padding:18px;gap:5px}.site-footer p{font-size:10px;flex-basis:100%}.site-footer span{font-size:9px;flex-basis:100%}.site-footer nav{margin-top:5px;gap:14px;flex-wrap:wrap}.site-footer a,.site-footer button{font-size:9px}.small-note{font-size:11px}.saved-item .unit-row,.saved-item .session-row{padding-right:13px;padding-bottom:62px}.saved-item>.remove-save{top:auto;bottom:10px;transform:none;left:60px;right:auto;min-height:36px;font-size:11px}.toast{font-size:11px}.dialog-top h2{font-size:17px}dialog{padding:19px}.dialog-top+div p{font-size:13px}}
@media(max-width:350px){main{padding-left:15px;padding-right:15px}.header-inner{padding-left:15px;padding-right:15px}.header-inner>nav{gap:26px}.course-tile{padding:14px 11px}.course-tile h3{font-size:14px}.course-tile p{font-size:9px}.unit-symbol{width:36px;height:38px;flex-basis:36px}.unit-row{padding:15px 12px;gap:10px}.unit-row h3{font-size:13px}.row-end{display:none}.reading-top h1{font-size:23px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
