/* Default theme: readable text, dark surfaces and restrained lavender accents. */
#exercise-plot svg text{font-size:18px}.graph-stage svg text{font-size:15px}
:root{color-scheme:dark;--paper:#10131c;--ink:#f1f3fa;--muted:#b9c2d5;--purple:#b9a9ff;--line:#343d52;--green:#ccec99;--surface:#191f2c;--raised:#222a3b}
html{background:var(--paper)}body{background:var(--paper);color:var(--ink);font-family:'DM Sans',system-ui,-apple-system,'Segoe UI',sans-serif;font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
h1,h2,h3,.brand{font-family:'Manrope',system-ui,sans-serif;color:var(--ink)}p,li{line-height:1.8}button,input,select{font-family:inherit}a{color:inherit}a:hover{color:#d5caff}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #d2c4ff;outline-offset:4px}::selection{background:#725bc1;color:#fff}
.sidebar,.topbar,.catalogue-header{background:#151a25;border-color:var(--line)}.sidebar{width:268px}.shell{margin-left:268px}.brand{font-size:30px}.brand-icon{background:#7258de;color:white}.brand-dot{color:#baaaff}.workspace-label,.eyebrow{color:#b7c1d7;font-size:11px;letter-spacing:1.2px}.workspace-label{line-height:1.8}.nav-item{font-size:14px;color:#c3ccdf;padding:13px 12px}.nav-item.active{background:#30274c;color:#e1d7ff}.nav-item:hover{background:#252e40;color:#fff}.nav-item small,.nav-item i{background:#333c51;color:#dfe6f6;font-size:10px}.sidebar-bottom{padding-top:22px}.free-card{background:#1e2534;border-color:#3a4159}.free-card strong{font-family:Manrope,system-ui,sans-serif;font-size:16px}.free-card p{font-size:12px;color:#c0c9dc}.free-card .text-button{font-size:12px;line-height:1.7}.spark{color:#c3b4ff}.help-button{font-size:13px;color:#cad3e5}.sidebar-footer{font-size:11px;color:#b3bfd3;border-color:var(--line)}.breadcrumb{font-size:13px;color:#b8c3d9}.breadcrumb strong{color:#e7ecf7}.free-label,.login-button{font-size:13px;color:#e2e9f8}.avatar{background:#3b305b;color:#eee6ff;width:38px;height:38px;font-size:13px}.topbar{height:82px}.top-actions{gap:20px}
.page-heading{margin-bottom:30px}h1{font-size:34px;letter-spacing:-.8px}h1 span{color:#bfb3f5}.page-heading p{font-size:15px;color:#c0cadd;line-height:1.8}.heading-symbol{color:#8f80c5}.track-bar{background:var(--surface);border-color:var(--line);padding:16px;gap:14px}.track-label{font-size:14px;border-color:var(--line);padding-right:16px}.track-label>span{color:#d0c5f1}.segmented{background:#111722;border-color:#3e475e}.segmented button{font-size:12px;color:#bbc6dc;padding:7px 12px}.segmented button.selected{background:#493b75;color:#fff;box-shadow:none}.select-wrap select{color:#f0f3fb;background-color:var(--surface);font-size:14px;width:145px;height:38px}.route-note{font-size:12px;color:#c4cedf;white-space:nowrap}.green-dot,.free-label>span{background:#b2d78b}.select-wrap select,select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0h10L5 6z' fill='%23c9d1e5'/%3E%3C/svg%3E");background-size:8px 5px}
.hero{background:#4936a4;border:1px solid #7962c9;min-height:320px}.hero-copy{padding:30px 32px}.hero h2{font-size:36px;color:#fff;line-height:1.3}.hero p{color:#efebff;font-size:15px;line-height:1.8}.pill{font-size:11px;color:#f3edff;border-color:#ac99e8;letter-spacing:1px}.hero-note{font-size:12px;color:#eee7ff}.primary{background:#b8a4ff;color:#171126;font-size:14px;min-height:46px;font-weight:700;padding:12px 19px}.primary:hover{background:#d0c1ff;color:#171126;filter:none}.primary.white{background:#f2eeff;color:#302071}.hero-actions{gap:18px}.formula-float{color:#fff;background:#614bb7;border-color:#9f8dde}.aha-float{color:#eae1ff;background:#312553;border:1px solid #8c76c0;font-size:12px}.hero-art{width:37%}.stats-row{padding:26px 0;gap:16px;border-color:var(--line)}.stats-row>div+div{border-color:var(--line)}.stats-row strong{font-size:14px;color:#f0f4fd}.stats-row small{font-size:12px;line-height:1.7;color:#c0cadd}.stat-icon{width:42px;height:42px;flex-shrink:0}.lavender{background:#302747;color:#d1bfff}.peach{background:#3c2f25;color:#edbf93}.mint{background:#29382b;color:#c5dda5}
.section-heading h2{font-size:22px;line-height:1.5}.section-heading h2>span{font-size:12px;color:#d2c8e7;background:#302c43;padding:5px 8px;white-space:nowrap}.section-heading p{font-size:14px;color:#c0cadd}.text-button{font-size:14px;color:#c5b5ff}.text-button:hover{color:#e5dcff}.domain-grid{gap:18px}.domain-card{background:var(--surface);border-color:#3a4358;padding:22px;min-height:248px}.domain-card:hover{border-color:#a491e5;box-shadow:0 8px 22px #0003}.domain-card h3{font-size:17px;line-height:1.5;margin-bottom:10px}.domain-card p{font-size:14px;line-height:1.8;color:#bec8dc;max-width:none}.domain-symbol{background:#34294b;color:#d4c0ff;width:42px;height:42px}.domain-card:nth-child(3n+2) .domain-symbol{background:#29382e;color:#bdddab}.domain-card:nth-child(3n) .domain-symbol{background:#3b2d25;color:#f0bf99}.card-tag{font-size:11px;background:#2b3346;color:#e1d8f4;padding:4px 7px}.card-bottom{font-size:12px;color:#c0cadd;border-color:#353c51}.card-bottom .arrow{font-size:21px;color:#cbbaff}.card-bottom .infinity{color:#cfbfff}.bottom-banner{background:#202b26;border-color:#465440}.bottom-banner h3{font-size:16px;color:#edf5e8}.bottom-banner p{font-size:14px;color:#c4d3ba;line-height:1.8}.banner-icon{background:#344333;color:#d3e8b6;flex-shrink:0}.outline-button{font-size:13px;background:#2d3b2a;color:#edf6e4;border-color:#697d59;white-space:nowrap}.main-footer{font-size:11px;color:#b3bfd2;line-height:1.8}.main-footer button,.main-footer a{color:#c7bbef}.main-footer>span:last-child>span{color:#c2b0ec}
.panel{background:var(--surface);border-color:var(--line)}.panel h2{font-size:25px}.panel h3{font-size:19px}.panel p{font-size:16px;color:#c4cede;line-height:1.9}.panel .text-button{font-size:14px}.library-tools input,.catalogue-search input,input[type=search]{background:#111722;border-color:#52607a;color:#fff;font-size:16px;min-height:46px}.library-tools>span{font-size:13px;color:#c1cadd}.library-tools input{width:320px}input::placeholder{color:#aebad1;opacity:1}input:focus{background:#1b2232!important;color:#fff!important;border-color:#bca8ff!important;box-shadow:0 0 0 2px #bca8ff33!important}
dialog{color:var(--ink);background:#191f2c;border-color:#536078;box-shadow:0 25px 100px #0009}dialog::backdrop{background:#050710cc;backdrop-filter:blur(5px)}dialog h2{font-size:29px;line-height:1.4}dialog>p{font-size:16px;color:#c4cde0}dialog label{color:#e0e6f3;font-size:15px}dialog input{background:#111722;border:1px solid #5e6a83;color:#fff;font-size:17px;height:48px;border-radius:6px;padding:10px 12px}dialog small{font-size:13px;color:#bbc6dc}.modal-mark{background:#352a50;color:#dbcaff}.close-modal{color:#d2dbee;font-size:30px;right:18px;top:10px}.soft{background:#32284a;color:#e1d3ff;border-color:#70618e}.form-error{color:#ffbcb4;font-size:15px}.auth-switch{font-size:15px}.privacy-note{font-size:12px;line-height:1.8}.exercise-top>span:last-child{font-size:13px;color:#c2cde2}.textbook-dialog{width:min(900px,calc(100% - 32px));padding:38px 40px}.textbook-dialog .exercise-question{background:#222a3b;color:#f3f5fc;border-color:#bc9fff;font-size:18px;line-height:2;padding:22px}.exercise-part{border-color:#3c455a;padding:20px 0;grid-template-columns:30px minmax(0,1fr)}.part-letter{color:#d5bfff;font-size:22px}.exercise-part label{color:#edf1fa;font-size:17px;line-height:1.9}.part-input input{max-width:320px}.part-input>span{font-size:15px;color:#c5d0e3}.answer-instruction{font-size:13px;color:#c1cde2;line-height:1.9}.part-feedback{background:#243729;border:1px solid #526c46;font-size:16px;color:#e1f0d8;line-height:1.9;padding:20px}.part-feedback.incorrect{background:#3a2d24;border-color:#806348;color:#fae6cf}.part-feedback li{padding:5px 0}.result-line{border-color:#6c765466}.hint-button{font-size:15px;color:#f0d292}.hint{font-size:16px;background:#3a3120;color:#f3e1b0;border:1px solid #746441}.exercise-bottom{border-color:var(--line);padding-top:16px}.exercise-bottom label{font-size:14px;color:#d5deef}.exercise-bottom select{font-size:14px;background-color:#293247;color:#f0f4fc;width:150px;height:40px}.exercise-bottom .text-button{font-size:15px}#answer-feedback{font-size:16px;color:#e1f0d8;background:#243729;border:1px solid #526c46}#answer-feedback.incorrect{background:#3a2d24;color:#fae6cf;border-color:#806348}.plot-caption{font-size:12px;line-height:1.8;color:#bec9de}.katex{font-size:1.14em}input:disabled{background:#242d3e!important;color:#dce5f7;opacity:1;border-color:#535f77}#toast{font-size:15px;background:#d6caff;color:#1d1533;border:1px solid #e7dfff;padding:16px 22px}
.topic-option{border-color:#414d65;background:#202839;padding:17px}.topic-option strong{font-size:17px;color:#f0f4fd}.topic-option small{font-size:14px;color:#bdc9df}.topic-option>a{font-size:13px;color:#d0bfff}.topic-option .pill{font-size:10px}.graph-stage{background:#141b29;border-color:#48546e}.graph-controls label{font-size:16px;color:#e0e7f5}.graph-controls output{color:#cfbaff}.graph-controls input{accent-color:#c6adff}.formula-display{background:#28213c;color:#e6d9ff;font-size:25px;line-height:1.8;overflow-wrap:anywhere}.graph-stage svg text{fill:#c2cde1}.graph-stage svg line{stroke:#35415a}.graph-stage svg path[stroke='#bcb3ce']{stroke:#8190ab}.graph-stage svg path[stroke='#6855d7']{stroke:#c5adff}#exercise-plot svg rect{fill:#141b29}#exercise-plot svg text{fill:#c4cfe5}#exercise-plot svg path[stroke='#e9e6ee']{stroke:#344059}#exercise-plot svg path[stroke='#a69db5']{stroke:#8190ab}#exercise-plot svg path[stroke='#6550cc']{stroke:#c5adff}#exercise-plot svg path[stroke='#9cad72']{stroke:#c4e399}.progress-number{color:#c4afff}.progress-stats .panel{font-size:15px}.progress-track{background:#313b50;height:8px}.progress-track>span{background:#af97ef}.session-summary{background:#302647;color:#e4dbf8}.privacy-list{font-size:16px;color:#c6d0e3;line-height:1.9}
table,table thead,table tbody,table tfoot{background:#192130;border-color:#45516a;color:#e5ecf8}table tbody tr:nth-child(even){background:#222d40}table thead{background:#303b52;color:#fff}.admin-table table{font-size:14px}.admin-table td,.admin-table th{padding:14px}.admin-search{font-size:16px}.attempt-detail{border-color:#46516b;background:#202838}.attempt-detail summary{font-size:15px;color:#dee7f5}.attempt-detail small{color:#bbc9df}.attempt-detail summary span:last-child{color:#cfbbff}code{background:#121826;border-color:#49546d;color:#e7dcff}.attempt-detail p{overflow-wrap:anywhere}
.catalogue-header nav{font-size:15px}.catalogue-header .brand{color:#f3f5fc}.catalogue-main{padding-top:35px}.catalogue-main h1{font-size:36px;max-width:1000px}.catalogue-lead{font-size:18px;color:#c1cce1;line-height:1.85}.seo-breadcrumbs{font-size:14px;color:#c1cce1;line-height:1.9}.catalogue-search label{font-size:15px;color:#d8e1f2}.course-context{background:#26213a;border-color:#574870;color:#e0d6f5;font-size:15px}.course-context a{color:#d1bfff}.course-grid .panel{border-color:#3d4860}.course-grid .panel:hover{border-color:#b89fef}.course-grid h2{font-size:23px}.course-grid h3{font-size:20px}.course-grid p{font-size:16px;color:#c2cde0}.catalogue-domain .section-heading>span{font-size:14px;color:#c1cce1}.topic-page-layout{grid-template-columns:minmax(0,1fr) 320px}.topic-page-layout h2{font-size:25px}.small-note{font-size:13px!important;color:#c2cde0!important}.related-topics li{font-size:15px;line-height:1.8;border-color:var(--line)}.practice-cta .primary{font-size:15px}.syllabus-label{color:#d3bfff!important}.catalogue-main .main-footer{font-size:13px}.skip{background:#312749;color:#fff}
@media(max-width:1250px){.sidebar{width:235px;padding:28px 15px}.shell{margin-left:235px}.nav-item{font-size:13px}.track-bar{flex-wrap:wrap}.route-note{display:none}.hero-art{width:32%;margin-right:12px}.hero-copy{padding:27px}.hero h2{font-size:32px}.hero p{font-size:14px}.hero-note{display:none}.stats-row strong{font-size:13px}.stats-row small{font-size:12px}.stats-row>div+div{padding-left:14px}.section-heading h2{font-size:20px}.domain-card{padding:19px}.domain-card h3{font-size:16px}.bottom-banner{flex-wrap:wrap}.bottom-banner .outline-button{margin-left:auto}.free-card .text-button{font-size:11px}}
@media(max-width:1000px){.domain-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-art{display:none}.hero-copy{width:100%}.stats-row{grid-template-columns:1fr;gap:18px}.stats-row>div,.stats-row>div+div{border:0;padding-left:4px}.stats-row small{max-width:none;font-size:13px}.stats-row strong{font-size:15px}.topic-page-layout{grid-template-columns:1fr}.topic-page-layout>aside{display:grid;grid-template-columns:1fr 1fr;gap:20px}.track-label{width:100%;border:0}.topbar{padding:0 26px}.free-label{display:none}.section-heading{gap:14px;align-items:flex-start}.section-heading>.text-button{font-size:12px}}
@media(max-width:850px){.sidebar{width:76px;padding:25px 10px}.shell{margin-left:76px}.brand{font-size:0}.nav-item{font-size:0;padding:16px 0}.nav-item>span{font-size:23px}.topbar{height:72px}.catalogue-header .brand{font-size:28px}.track-label{width:auto;border-right:1px solid var(--line)}.hero h2{font-size:34px}.section-heading h2{font-size:22px}.domain-card h3{font-size:17px}.course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:590px){.sidebar{width:100%;height:66px;padding:0;background:#171e2b}.sidebar .nav-item{font-size:0;width:auto;flex:1}.shell{margin-left:0}.topbar{height:66px;padding:0 18px}.breadcrumb{font-size:12px;gap:8px}.login-button{font-size:13px}.avatar{width:34px;height:34px}.top-actions{gap:10px}main{padding:28px 18px 82px}.eyebrow{font-size:10px;letter-spacing:1px}h1{font-size:30px;max-width:none}.page-heading p{font-size:15px;max-width:none}.heading-symbol{display:none}.track-bar{padding:14px;gap:9px}.track-label{width:100%;border:0;font-size:14px;margin-bottom:5px}.segmented button{font-size:12px;padding:7px 11px}.select-wrap select{font-size:13px;width:119px}.hero{min-height:0}.hero-copy{padding:25px 22px}.hero h2{font-size:30px}.hero p{font-size:15px}.hero p br{display:none}.hero .pill{font-size:10px}.primary{font-size:15px;min-height:48px}.hero-actions{margin-top:23px}.stats-row{padding:23px 0;margin-bottom:25px}.stats-row small{font-size:13px}.stats-row strong{font-size:15px}.section-heading h2{font-size:23px}.section-heading h2>span{font-size:12px}.section-heading p{font-size:15px}.domain-grid{grid-template-columns:1fr;gap:14px}.domain-card{min-height:0;padding:21px}.domain-card h3{font-size:20px}.domain-card p{font-size:15px;margin-bottom:18px}.card-top{margin-bottom:15px}.card-tag{font-size:12px}.card-bottom{font-size:13px}.domain-symbol{width:42px;height:42px;font-size:26px}.bottom-banner{padding:20px;gap:14px}.bottom-banner h3{font-size:17px;line-height:1.5}.bottom-banner p{font-size:14px;max-width:none}.bottom-banner .outline-button{margin:4px 0 0;width:100%;justify-content:center;white-space:normal;font-size:14px}.main-footer{font-size:11px;flex-wrap:wrap}.panel{padding:23px}.panel p{font-size:16px}.panel h2{font-size:25px}.progress-stats{grid-template-columns:1fr}.progress-stats .panel{font-size:15px;padding:17px}.progress-number{font-size:34px}.textbook-dialog{padding:32px 20px;width:calc(100% - 20px)}dialog h2{font-size:25px}dialog .eyebrow{margin-top:13px}.textbook-dialog .exercise-question{font-size:17px;padding:17px}.exercise-top{padding-right:15px;gap:10px;flex-wrap:wrap}.exercise-top .pill{font-size:10px}.exercise-top>span:last-child{font-size:12px}.exercise-part{grid-template-columns:22px minmax(0,1fr);gap:5px}.exercise-part label{font-size:16px}.part-feedback{padding:14px;font-size:15px}.answer-instruction{font-size:13px}.part-input input{width:100%;max-width:none}.exercise-bottom{gap:12px;flex-wrap:wrap}.exercise-bottom select{width:130px}.exercise-bottom .text-button{font-size:15px}.topic-option{padding:14px;gap:8px}.topic-option strong{font-size:16px}.topic-option small{font-size:14px}.topic-option>a{font-size:12px}.library-tools input{width:100%}.graph-controls{grid-template-columns:1fr;gap:8px}.graph-controls label{margin-bottom:5px}.graph-stage{margin:0 -8px}.formula-display{font-size:22px}.catalogue-header{padding:18px 16px;gap:10px}.catalogue-header .brand{font-size:25px}.catalogue-header .primary{font-size:12px;padding:10px 12px}.catalogue-main{padding:25px 18px}.catalogue-main h1{font-size:30px}.catalogue-lead{font-size:17px}.seo-breadcrumbs{font-size:13px;gap:8px}.course-grid{grid-template-columns:1fr}.course-context{font-size:14px}.topic-page-layout>aside{display:block}.topic-page-layout h2{font-size:24px}.related-topics li{font-size:16px}.practice-cta .primary{font-size:16px}.catalogue-domain .section-heading h2{font-size:23px}.catalogue-main .main-footer{font-size:12px}}
