/* Walnut IB: programme navigation and saturated, subject-led study surfaces. */
:root{--blue:#087ee6;--blue-dark:#0757b7;--blue-light:#e1f1ff;--ink:#192b43;--muted:#536b87;--line:#e1eaf4;--canvas:#fff;--sidebar:248px}
body{background:white}.workspace{padding-top:78px}.topbar{position:fixed;inset:0 0 auto;height:78px;z-index:30;padding:0 24px;gap:24px;background:white;border-bottom:1px solid #e6edf5}.topbar .brand{width:200px;flex-shrink:0;gap:11px;font-size:25px;letter-spacing:-1px;font-weight:750}.brand img,.profile-link img{display:block;border-radius:50%;object-fit:cover}.brand-blue{color:#192b43}.profile-link{margin-left:0;display:block;flex-shrink:0}.topbar-left{display:none}.topbar .search-trigger{margin:0;background:#f2f5f8;border:0;border-radius:14px;min-width:285px;padding:13px 16px;color:#6c7d91;font-size:15px}.topbar .search-trigger svg{width:20px;height:20px}.topbar .search-trigger kbd{margin-left:auto;font-size:12px}.topbar-tag{margin-left:auto;letter-spacing:.7px;font-size:12px;color:#77879d}.sidebar{top:78px;padding:18px 16px 20px;border-right:1px solid #e6edf5;background:white}.program-switch{display:grid;grid-template-columns:1fr 1fr;background:#f1f4f7;border-radius:15px;padding:5px;gap:4px;margin-bottom:22px}.program-switch button{border:0;border-radius:11px;background:transparent;color:#7b8798;font-size:16px;font-weight:600;padding:11px 8px}.program-switch button[aria-pressed=true]{color:#075cba;background:white;box-shadow:0 2px 5px #162c4a08}.school-label{display:none}.nav-item{border-radius:12px;font-size:16px;gap:13px;color:#62728a;margin:5px 0;padding:12px 13px;font-weight:450}.nav-item.active{background:#e0f2ff;color:#0579cb;font-weight:600}.nav-item:hover{background:#f0f7fe;color:#1476c9}.nav-item svg{width:21px;height:21px}.nav-item>span:not(.nav-count){white-space:normal}.nav-count{font-size:12px!important}.nav-label{color:#97a7ba;font-size:12px;letter-spacing:.8px;margin:26px 13px 9px}.sidebar-bottom{padding-left:12px;padding-right:12px}.student-note{font-size:12px;line-height:1.7;color:#7f91a7}.school-link{color:#087dcd}.cas-credit{font-size:12px;color:#8a9aaf}.site-footer{color:#8699af}main{padding:32px 38px 36px;min-height:calc(100vh - 143px);max-width:1600px}.page-heading{margin-bottom:28px}h1{font-size:34px;letter-spacing:-1.25px;font-weight:650}.page-heading p{font-size:16px;color:#657d99}.eyebrow{color:#7692b4;font-size:12px}.subject-card{--card-color:#188de0;--card-deep:#0873c5;min-height:174px;padding:23px;border:0;background:linear-gradient(120deg,var(--card-color),var(--card-deep));border-radius:18px;color:white;overflow:hidden;box-shadow:0 3px 10px #186cbc08;transition:transform .18s,box-shadow .18s}.subject-card:nth-child(2){--card-color:#0c9ca9;--card-deep:#057687}.subject-card:nth-child(3){--card-color:#5d5ce0;--card-deep:#4943bf}.subject-card:nth-child(4){--card-color:#316be8;--card-deep:#1d4eb9}.subject-card:nth-child(5){--card-color:#3677c7;--card-deep:#204e9f}.subject-card:nth-child(6){--card-color:#189cb9;--card-deep:#087e9b}.subject-card:nth-child(7){--card-color:#168bd5;--card-deep:#0567b9}.subject-card:nth-child(8){--card-color:#596de1;--card-deep:#3d4fad}.subject-card:hover{box-shadow:0 8px 22px #075dc123;transform:translateY(-3px);border:0}.subject-card h3{font-size:21px;font-weight:600;line-height:1.4;letter-spacing:-.5px;max-width:85%;color:white}.subject-card p{color:#e4f0ff;font-size:12px;line-height:1.6}.subject-card .level{color:#e6f2ff;font-size:12px;top:22px;right:20px}.subject-card .subject-icon{background:#ffffff24;color:white;margin-bottom:20px}.subject-card .subject-meta{color:#edf6ff;font-size:12px}.subject-card .subject-meta span{color:#ffffff70}.subjects-grid,.full-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:17px}.full-grid .subject-card{min-height:190px}.full-grid .subject-card h3{font-size:21px}.full-grid .subject-card p,.full-grid .subject-card .subject-meta{color:#e4f0ff}.section-heading h2{font-size:20px;letter-spacing:-.45px;font-weight:650}.section-heading a,.section-heading button{font-size:14px}.text-button{color:#1973bc;font-weight:550;font-size:14px}.button{background:#087fe2;border-radius:9px;font-size:14px;font-weight:550}.button:hover{background:#006bc6}.button.secondary{border-color:#d8e4f0;color:#284363}.tool-card.practice,.subject-practice,.practice-banner,.guide-intro,.takeaway{background:#e7f4ff;border-color:#cfe7fb}.takeaway p{color:#2e6094}.note-card{border-color:#dde9f5}.note-subject{color:#277fbd}.reader-body p,.reader-body li{color:#48627f}.reader-summary,.note-card p,.core-card p,.pathway p,.guide-intro p{color:#597694}.core-card{border-color:#dce8f6}.core-abbr{background:#d8efff;color:#0676c8}.core-card-label{color:#0676c8}.answer-feedback{background:#eaf4ff;border-color:#d3e6fa}.quiz-option.chosen{background:#e3f1ff;border-color:#168de3}.quiz-question h1{font-size:28px;font-weight:650}.reader h1{font-weight:650}.search-dialog{border-radius:18px}.search-result:hover{background:#e8f5ff}
@media(max-width:1150px){:root{--sidebar:220px}.topbar .brand{width:174px;font-size:23px}.topbar{gap:20px}main{padding:30px}.subjects-grid,.full-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.nav-item{font-size:15px;padding:11px 10px}.nav-item svg{width:19px;height:19px}.topbar-tag{display:none}.profile-link{margin-left:auto}}
@media(max-width:850px){:root{--sidebar:200px}.topbar .brand{width:154px;font-size:21px}.topbar .search-trigger{min-width:245px}.sidebar{padding-left:12px;padding-right:12px}.nav-item{font-size:14px;gap:10px}.subjects-grid,.full-grid{grid-template-columns:repeat(2,minmax(0,1fr))}main{padding:27px}.topbar .brand img{width:36px;height:36px}.program-switch button{font-size:15px}}
@media(max-width:650px){:root{--sidebar:0px}.workspace{padding-top:68px}.topbar{height:68px;padding:0 18px;gap:13px}.topbar .brand{width:auto;font-size:22px}.topbar .brand img{width:36px;height:36px}.topbar-left{display:flex;margin-left:auto}.breadcrumb{display:none}.topbar .search-trigger{padding:8px;background:transparent;min-width:0;border-radius:9px;margin:0}.profile-link{display:none}.topbar .search-trigger kbd{display:none}.topbar .search-trigger>span:nth-child(2){display:none}.sidebar{top:68px;width:252px;padding:18px}.nav-item{font-size:16px;padding:12px}.program-switch button{font-size:16px}.sidebar-bottom{padding-top:25px}.sidebar.open~.mobile-overlay{top:68px}.subjects-grid,.full-grid{gap:13px}.subject-card,.full-grid .subject-card{padding:20px 17px;min-height:170px;border-radius:15px}.subject-card h3,.full-grid .subject-card h3{font-size:18px}.subject-card .level{right:15px;font-size:11px}main{padding:25px 20px 30px}h1{font-size:30px}.quiz-question h1{font-size:23px}.site-footer{font-size:12px}}
/* Dashboard: the study cards take the lead. */
.nav-child{margin-left:20px;border-radius:9px;padding-top:10px;padding-bottom:10px;font-size:14px}.nav-child svg{width:18px;height:18px}.nav-label{margin-top:22px;margin-bottom:8px;font-size:10px;letter-spacing:1px}.sidebar{overflow-y:auto}.sidebar-bottom{position:static;margin-top:34px}.welcome-banner{position:relative;min-height:188px;padding:28px 38px;border-radius:20px;overflow:hidden;margin-bottom:34px;background:linear-gradient(118deg,#e0f5ff 0%,#edf8ff 58%,#c7eaff 100%)}.welcome-banner::after{content:'';position:absolute;width:400px;height:400px;right:-100px;top:-260px;border:50px solid #7bcefa25;border-radius:50%;pointer-events:none}.welcome-kicker{font-size:11px;letter-spacing:1.2px;color:#2c89b9;font-weight:650}.welcome-banner h1{font-size:30px;line-height:1.25;margin-top:12px;letter-spacing:-.8px}.welcome-banner h1 span{color:#2783b6;font-weight:500}.welcome-banner p{font-size:14px;color:#62869f;margin-top:10px}.welcome-mark{position:absolute;right:68px;top:30px;transform:rotate(-8deg);color:#269bd2;opacity:.24;font-family:Manrope,sans-serif;line-height:.9}.welcome-mark span{font-size:18px;letter-spacing:-1px;display:block;margin-left:2px}.welcome-mark strong{font-size:116px;letter-spacing:-10px;font-weight:750}.dashboard-section{margin-top:32px}.dashboard-section .section-heading{margin-bottom:20px}.section-heading h2{display:flex;align-items:center;gap:10px}.section-heading h2 svg{width:21px;height:21px;color:#8092a6}.subject-card{position:relative;display:flex;flex-direction:column;justify-content:space-between;min-height:185px;padding:25px 24px;isolation:isolate}.subject-card::before{content:'';position:absolute;width:150px;height:150px;border:30px solid #ffffff0a;border-radius:50%;right:-52px;top:-42px;z-index:-1}.subject-card h3{font-size:21px;margin:0;max-width:80%;line-height:1.35;letter-spacing:-.45px;z-index:1;font-weight:550;padding-top:9px}.subject-card .level{position:static;order:-1;align-self:flex-start;color:#ffffffd9;font-size:10px;letter-spacing:.4px;background:#0000000b;padding:3px 7px;border-radius:5px;margin-bottom:0}.card-watermark{position:absolute;width:112px;height:112px;right:-3px;bottom:17px;transform:rotate(-12deg);color:#ffffff30;z-index:-1}.card-watermark svg{width:100%;height:100%;stroke-width:1.2}.subject-open{display:flex;align-items:center;gap:14px;background:white;color:#20354a;align-self:flex-start;font-size:14px;font-weight:550;line-height:1;padding:10px 14px;border-radius:22px;margin-top:24px}.subject-open>span{font-size:23px;line-height:14px;color:#7894aa}.dashboard-caption{font-size:12px;color:#869bb0;margin-top:12px;line-height:1.6}.dashboard-caption a{color:#4884ac}.coursework-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.coursework-card{position:relative;display:flex;flex-direction:column;padding:25px;border-radius:18px;background:linear-gradient(120deg,#0e91d3,#0873bc);min-height:243px;overflow:hidden;color:white;transition:transform .18s}.coursework-card:hover{transform:translateY(-3px)}.course-ee,.course-rp{background:linear-gradient(125deg,#12a48a,#078875)}.course-tok,.course-lcs{background:linear-gradient(125deg,#7661d9,#5943b6)}.course-community{background:linear-gradient(125deg,#1d99c1,#077d9f)}.coursework-card::after{content:'';position:absolute;width:165px;height:165px;border:32px solid #ffffff12;border-radius:50%;right:-90px;top:20px;pointer-events:none}.course-code{font-size:12px;color:#ffffffd4;letter-spacing:1px}.coursework-card h3{font-size:21px;font-weight:550;line-height:1.4;letter-spacing:-.4px;margin-top:12px;max-width:90%;margin-bottom:30px}.course-progress-label{display:flex;justify-content:space-between;font-size:12px;color:#e1f3ff;margin-top:auto;margin-bottom:8px}.course-progress{height:5px;border-radius:5px;background:#ffffff38;overflow:hidden}.course-progress span{display:block;height:100%;background:#fff;border-radius:5px}.coursework-card .subject-open{margin-top:19px}.dashboard-tools{display:grid;grid-template-columns:1fr 1fr;gap:18px}.dashboard-tools a{display:flex;align-items:center;gap:17px;padding:23px;border:1px solid #dceaf6;border-radius:16px;background:#f6fbff}.dashboard-tools a:hover{border-color:#84c4ee}.dashboard-tools a>span{padding:12px;background:#ddf1ff;color:#087bca;border-radius:12px;display:flex}.dashboard-tools svg{width:23px;height:23px}.dashboard-tools h3{font-size:17px;font-weight:600;letter-spacing:-.3px}.dashboard-tools p{color:#7a91a8;font-size:13px;line-height:1.6;margin-top:5px}.dashboard-tools b{color:#769ab6;margin-left:auto;font-size:24px;font-weight:400}.full-grid .subject-card{min-height:205px}.full-grid .subject-card h3{margin-top:0}.empty-subjects{grid-column:1/-1;border:1px dashed #b7d7ef;color:#6084a2;border-radius:15px;padding:30px}.planning-checks{margin-top:25px;display:flex;flex-direction:column;gap:19px}.planning-checks label{display:flex;align-items:flex-start;gap:11px;color:#55718e;font-size:14px;line-height:1.7;cursor:pointer}.planning-checks input{accent-color:#087fdc;width:17px;height:17px;flex-shrink:0;margin-top:4px}.planning-checks label:has(input:checked) span{color:#8197aa;text-decoration:line-through}.steps-card>p{color:#708ba4}.resource-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.school-resource-card{border:1px solid #dbe8f4;border-radius:15px;padding:23px;display:flex;flex-direction:column;background:#fff}.school-resource-card:hover{border-color:#71b6e7;background:#f7fcff}.school-resource-card .eyebrow{font-size:10px;letter-spacing:.6px;margin-bottom:17px}.school-resource-card h2{font-size:18px;font-weight:600;letter-spacing:-.4px;line-height:1.45;display:flex;gap:12px;justify-content:space-between}.school-resource-card h2 span{color:#6b9abc;flex-shrink:0}.school-resource-card p{font-size:14px;color:#6d87a0;line-height:1.75;margin-top:12px;margin-bottom:22px}.resource-domain{font-size:11px;color:#88a2b7;margin-top:auto}.program-comparison{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.program-comparison article{padding:25px;border:1px solid #dbe8f3;border-radius:15px;display:flex;flex-direction:column}.program-comparison .eyebrow{font-size:10px;margin-bottom:14px}.program-comparison h3{font-size:21px;letter-spacing:-.4px;line-height:1.5;font-weight:600}.program-comparison p{font-size:14px;line-height:1.8;color:#67819c;margin:13px 0 20px}.program-comparison .text-button{margin-top:auto;align-self:flex-start}.cp-pathways{grid-template-columns:1fr 1fr}.pathway-section{margin:35px 0}.pathway-timeline{list-style:none;margin:20px 0 0;padding:0}.pathway-timeline li{display:flex;gap:14px;align-items:center;padding:12px 0;color:#597793;font-size:14px;border-top:1px solid #edf3f8;line-height:1.6}.pathway-timeline li span{background:#e7f3ff;color:#167dc4;font-size:11px;font-weight:650;width:30px;height:30px;display:grid;place-items:center;border-radius:8px;flex-shrink:0}.faq summary{color:#3a5976;font-weight:550}.faq details p{color:#617f99}.subjects-dialog{max-width:650px;width:calc(100% - 32px);border:1px solid #dce9f5;padding:28px;border-radius:20px;color:#233951;box-shadow:0 20px 70px #142e4824}.subjects-dialog::backdrop{background:#19354e42;backdrop-filter:blur(3px)}.dialog-heading{display:flex;gap:20px;justify-content:space-between;align-items:flex-start}.dialog-heading h2{font-size:23px;letter-spacing:-.7px}.dialog-heading p{font-size:13px;line-height:1.7;color:#7590a9;margin-top:9px}.subject-choices{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:25px 0}.subject-choices label{display:flex;gap:12px;align-items:center;border:1px solid #dde9f4;border-radius:12px;padding:15px;font-size:14px;cursor:pointer}.subject-choices label:has(input:checked){background:#f0f8ff;border-color:#a7d2f0}.subject-choices input{accent-color:#087dd7;width:16px;height:16px;flex-shrink:0}.choice-icon{display:flex;color:#388ac3}.choice-icon svg{width:21px;height:21px}.subject-choices small{display:block;font-size:10px;color:#8ba0b2;margin-top:3px}.dialog-actions{display:flex;justify-content:flex-end;border-top:1px solid #e7eff6;padding-top:20px}.site-footer{margin-top:15px}
@media(min-width:1500px){main{padding-left:54px;padding-right:54px}.subject-card{min-height:203px}.subject-card h3{font-size:23px}.welcome-banner{padding-left:40px}}
@media(max-width:1150px){.coursework-grid,.resource-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.subject-card h3{font-size:20px}.dashboard-tools{grid-template-columns:1fr}.program-comparison{gap:12px}.program-comparison article{padding:20px}.program-comparison h3{font-size:18px}}
@media(max-width:850px){.subject-card{padding:23px 20px;min-height:184px}.welcome-banner{padding:25px}.welcome-mark{right:30px}.program-comparison,.cp-pathways{grid-template-columns:1fr}.resource-grid{grid-template-columns:1fr}.coursework-card{padding:22px}.coursework-card h3{font-size:19px}.dashboard-section .section-heading h2{font-size:18px}.dashboard-section .section-heading .text-button{font-size:12px}.card-watermark{width:90px;height:90px}.nav-child{margin-left:10px}.nav-label{font-size:9px;margin-left:10px}}
@media(max-width:650px){.welcome-banner{min-height:184px;padding:23px;margin-bottom:28px;border-radius:16px}.welcome-banner h1{font-size:27px}.welcome-banner p{max-width:230px;font-size:12px}.welcome-mark{right:22px;top:45px;opacity:.12}.welcome-mark strong{font-size:90px}.welcome-mark span{font-size:14px}.welcome-kicker{font-size:9px}.subject-card,.full-grid .subject-card{min-height:170px;padding:18px 16px}.subject-card h3,.full-grid .subject-card h3{font-size:18px;max-width:100%;font-weight:550}.subject-card .level{font-size:9px}.subject-open{padding:9px 12px;font-size:12px;gap:12px;margin-top:19px}.subject-card .card-watermark{bottom:10px;right:-17px;width:78px;height:78px}.coursework-grid{gap:13px;grid-template-columns:1fr 1fr}.coursework-card{min-height:215px;padding:19px 16px;border-radius:15px}.coursework-card h3{font-size:18px;margin-bottom:22px;max-width:100%}.course-progress-label{font-size:10px;gap:7px}.course-code{font-size:10px}.dashboard-section{margin-top:27px}.dashboard-section .section-heading{gap:12px}.dashboard-section .section-heading h2{font-size:17px;gap:7px}.section-heading h2 svg{width:18px;height:18px}.dashboard-section .section-heading .text-button{font-size:11px;text-align:right;line-height:1.6}.dashboard-caption{font-size:10px}.dashboard-tools a{padding:19px;gap:13px}.dashboard-tools h3{font-size:16px}.dashboard-tools p{font-size:12px}.subject-choices{grid-template-columns:1fr}.subjects-dialog{padding:22px;max-height:calc(100dvh - 30px);overflow-y:auto}.dialog-heading h2{font-size:21px}.nav-child{margin-left:20px;font-size:14px}.nav-label{font-size:10px}.sidebar-bottom{margin-top:25px}.coursework-grid+.info-strip{margin-top:25px}}
@media(prefers-reduced-motion:reduce){.subject-card,.coursework-card{transition:none}.subject-card:hover,.coursework-card:hover{transform:none}}
.reading-panel{border:1px solid #d5e8f7;border-radius:16px;background:#f4faff;padding:27px;margin-bottom:28px}.reading-panel h2{font-size:23px;letter-spacing:-.5px;margin-top:10px;font-weight:600}.reading-panel>div>p{font-size:14px;line-height:1.8;color:#68849f;margin-top:11px;max-width:760px}.reading-lists{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin:22px 0}.reading-lists>div{border-top:1px solid #dceaf6;padding-top:18px}.reading-lists h3{font-size:13px;color:#1e86c9}.reading-lists p{font-size:15px;line-height:1.85;color:#486986;margin-top:10px}.reading-lists small{font-size:12px;line-height:1.6;color:#7b93a9;display:block;margin-top:10px}@media(max-width:650px){.reading-panel{padding:22px}.reading-lists{grid-template-columns:1fr;gap:18px}.reading-panel h2{font-size:21px}}
