:root{--navy:#101d30;--navy2:#1b2d46;--gold:#b38840;--cream:#f7f5ef;--ink:#192b43;--muted:#647083;--line:#e1e4e7;--green:#267b60}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font:15px/1.65 system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}a{color:inherit}button,input,select,textarea{font:inherit}button,a,input,textarea,select{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.5;cursor:default}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #c19b57;outline-offset:3px}.skip{position:absolute;top:-60px;background:white;padding:10px;z-index:9}.skip:focus{top:0}aside{width:264px;position:fixed;inset:0 auto 0 0;background:var(--navy);color:#d4dce8;padding:34px 24px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:13px;text-decoration:none;color:#f1e2c6;font:bold 24px/1.1 Georgia,serif;letter-spacing:3px}.mark{font-size:48px;color:#d0ac6a;font-weight:normal}.brand-sub{display:block;font:11px system-ui;letter-spacing:5px;margin-top:7px}.eyebrow{font-size:10px;letter-spacing:2px;color:#9baac0;margin:30px 0}aside label{font-size:12px;margin-bottom:8px}select{max-width:100%;border:1px solid #3c4c62;border-radius:7px;background:#1c2b40;color:#eef0f3;padding:12px 8px;font-size:12px}nav{display:grid;gap:6px;margin-top:28px}nav a{padding:12px 10px;border-radius:7px;font-size:13px;text-decoration:none}nav a.active{background:#2b3543;color:#ecd2a3;border-left:3px solid #c19b57}nav a:hover{background:#26344b}.sidebar-foot{margin-top:auto;padding-top:36px;font-size:12px;color:#a8b5c7}.sidebar-foot p{font-size:11px;line-height:1.8}.dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#86b6a1;margin-right:6px}.workspace{margin-left:264px}header{height:70px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 44px;font-size:12px;color:var(--muted);background:#fff9}.badge,.tag{display:inline-block;font-size:11px;letter-spacing:.6px;border:1px solid #ddd5c5;padding:4px 10px;border-radius:5px;color:#796237;background:#fbf8ef}.tag{border:0;font-size:10px;background:#f0f2f5;color:#5b697d}main{max-width:1320px;padding:38px 44px 64px;margin:auto;min-height:80vh}h1,h2,h3{line-height:1.25}h1{font:normal clamp(30px,3.2vw,44px)/1.2 Georgia,serif;margin:12px 0 16px;letter-spacing:-.7px}h2{font-size:23px}h3{font-size:18px}p{margin:10px 0}.overline{color:#9b773b;text-transform:uppercase;letter-spacing:2px;font-size:10px;font-weight:700}.muted{color:var(--muted)}.hero{display:grid;grid-template-columns:1fr 185px;gap:25px;align-items:center;margin-bottom:26px}.hero p{max-width:620px}.hero-art{border:1px solid #d7cfbf;border-radius:50%;width:160px;height:160px;display:grid;place-content:center;text-align:center;font:italic 44px Georgia;color:#b28b4b;background:radial-gradient(circle,#fff8e8,transparent 65%)}.hero-art small{font:10px system-ui;letter-spacing:2px;margin-top:12px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:25px 0}.stat{border:1px solid var(--line);background:#fff;padding:19px 22px;border-radius:9px}.stat strong{font:30px Georgia;display:block}.stat span{font-size:11px;color:var(--muted)}.toolbar{display:flex;gap:12px;margin:28px 0 15px;flex-wrap:wrap}input[type=search]{flex:1;min-width:220px;background:#fff;border:1px solid #cbd1d7;border-radius:7px;padding:13px 15px}.toolbar select{background:white;color:var(--ink);border-color:#cbd1d7;font-size:13px}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}.tabs button,.button,button.primary{border:1px solid #d1d5da;border-radius:6px;padding:10px 14px;background:#fff;color:var(--ink);font-size:12px;text-decoration:none;display:inline-block}.tabs button[aria-pressed=true],button.primary,.button.primary{background:var(--navy);color:white;border-color:var(--navy)}.button:hover,button.primary:hover{filter:brightness(.9)}.section-label{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:28px 0 14px}.section-label h2{margin:0;font:23px Georgia}.section-label span{font-size:12px;color:var(--muted)}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.topic-card{display:flex;flex-direction:column;padding:22px;background:white;border:1px solid var(--line);border-radius:8px;text-decoration:none;transition:transform .15s,border-color .15s;min-height:180px}.topic-card:hover{transform:translateY(-2px);border-color:#b39764}.card-top{display:flex;justify-content:space-between;align-items:center}.topic-card h3{font-size:16px;line-height:1.5;font-weight:600;margin:15px 0}.card-bottom{margin-top:auto;font-size:11px;color:var(--muted);display:flex;justify-content:space-between;gap:10px}.card-bottom b{color:#9a773e}.notice{background:#f0eadc;border-left:3px solid #b48e4b;padding:14px 18px;margin:20px 0;font-size:12px;border-radius:0 6px 6px 0}.panel{background:#fff;border:1px solid var(--line);border-radius:8px;padding:25px;margin:18px 0;overflow-wrap:anywhere}.lesson-layout{display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:24px}.lesson-side{align-self:start;position:sticky;top:20px}.lesson-side .panel{padding:18px}.lesson-side a{display:block;margin:7px 0;font-size:12px;text-decoration:none}.lesson-side select{background:white;color:var(--ink);width:100%;font-size:13px;border-color:#b9c3cd}.lesson-title{font-size:clamp(27px,3vw,38px)}.proof{border-left:2px solid #b18c4e;padding-left:18px;margin-top:16px;white-space:pre-line}details{border-top:1px solid var(--line);padding-top:13px;margin-top:16px}summary{cursor:pointer;font-size:13px;color:#84662f;font-weight:600}.math-content p{white-space:pre-line}.katex-display{overflow-x:auto;overflow-y:hidden;padding:6px 0;max-width:100%}.katex{font-size:1.1em}.panel ul,.panel ol{padding-left:24px}.panel li{margin:9px 0}textarea{width:100%;min-height:155px;border:1px solid #c7cfd7;border-radius:5px;padding:12px;resize:vertical;background:#fffdf8;font-size:13px}.row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.spread{justify-content:space-between}.timer{font:44px Georgia;font-variant-numeric:tabular-nums;color:#bd984e}.practice-head{background:var(--navy);color:white;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:26px;border-radius:9px}.practice-head h2{margin:0 0 6px}.practice-head p{color:#b8c3d4;font-size:12px}.empty{padding:40px;text-align:center;color:var(--muted)}footer{padding:20px 44px;border-top:1px solid var(--line);font-size:10px;color:var(--muted)}#toast{position:fixed;bottom:20px;right:20px;max-width:min(440px,90vw);background:var(--navy);color:white;padding:12px 18px;border-radius:7px;font-size:13px;box-shadow:0 6px 24px #0003;display:none;z-index:50}progress{width:100%;height:7px;accent-color:#b28b49}.source{font-size:12px;background:#f6f6f3;padding:14px;border-radius:6px}.source a{color:#816235}.check{color:var(--green)}@media(min-width:1500px){.grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:1050px){aside{width:220px;padding:25px 18px}.workspace{margin-left:220px}main{padding:28px}.lesson-layout{grid-template-columns:1fr}.lesson-side{position:static}.hero-art{width:125px;height:125px}.hero{grid-template-columns:1fr 125px}.stat{padding:15px}}@media(max-width:700px){aside{position:static;width:auto;padding:18px 20px;display:block}.brand{font-size:20px}.mark{font-size:34px}.brand-sub{font-size:8px}.eyebrow,aside label,.sidebar-foot{display:none}aside select{margin-top:16px;width:100%}nav{display:flex;overflow-x:auto;margin-top:14px;gap:4px}nav a{white-space:nowrap;font-size:11px;padding:9px 7px}nav a.active{border-left:0;border-bottom:2px solid #c19b57}.workspace{margin-left:0}header{padding:0 20px;height:48px;font-size:10px}main{padding:25px 20px 45px}.hero{grid-template-columns:1fr}.hero-art{display:none}h1{font-size:34px}.stats{grid-template-columns:repeat(2,1fr);gap:9px}.stat strong{font-size:27px}.grid{grid-template-columns:1fr}.topic-card{min-height:150px;padding:18px}.panel{padding:19px}.practice-head{align-items:flex-start;padding:20px}.timer{font-size:34px}footer{padding:16px 20px}.tabs button{font-size:11px;padding:8px 10px}.toolbar{margin-top:22px}.toolbar select{width:100%}}
.panel{overflow-x:auto}.lesson-layout>*{min-width:0}@media(max-width:700px){nav{display:grid;grid-template-columns:1fr 1fr;overflow:visible}nav a{white-space:normal}nav a.active{border-bottom:0;border-left:2px solid #c19b57}.practice-head{flex-wrap:wrap}.lesson-title{overflow-wrap:anywhere}}
.source-select{display:flex;align-items:center;gap:10px;font-size:11px}.source-select select{background:white;color:var(--ink);border-color:#d4d8de;padding:8px;font-size:11px}.source-note{font-size:12px;margin:12px 0;color:#766443}.source-label{font-size:10px;display:block;color:var(--muted);margin-top:5px}@media(max-width:700px){header{height:auto;min-height:58px;gap:10px;flex-wrap:wrap;padding-top:9px;padding-bottom:9px}.source-select{width:100%;justify-content:space-between}nav a{font-size:11px}}
/* Daylight is the default; navy and gold remain accents rather than a dark shell. */
aside{background:#f0eee7;color:#334359;border-right:1px solid #ddd9cf}.brand{color:#172b45}.mark{color:#95703a}.eyebrow{color:#667487}aside select{background:#fff;color:#263a54;border-color:#c8ced5}nav a.active{background:#e6dfd0;color:#59421d;border-color:#a17a39}nav a:hover{background:#e5e7e7}.sidebar-foot{color:#5c6b7e}.theme-toggle{white-space:nowrap;font-size:11px;padding:8px 10px}
:root[data-theme=dark]{--cream:#0e1928;--ink:#e2e9f2;--muted:#a5b3c5;--line:#334357;--green:#8acbb0}
[data-theme=dark] aside{background:#101d30;color:#d4dce8;border-color:#334357}[data-theme=dark] .brand{color:#f1e2c6}[data-theme=dark] .mark{color:#d0ac6a}[data-theme=dark] .eyebrow,[data-theme=dark] .sidebar-foot{color:#a8b5c7}[data-theme=dark] nav a.active{background:#343b46;color:#ecd2a3}[data-theme=dark] nav a:hover{background:#26344b}[data-theme=dark] header{background:#142236}[data-theme=dark] .panel,[data-theme=dark] .topic-card,[data-theme=dark] .stat{background:#18273b}[data-theme=dark] input,[data-theme=dark] textarea,[data-theme=dark] select,[data-theme=dark] .button,[data-theme=dark] .tabs button{background:#213149;color:#e2e9f2;border-color:#495970}[data-theme=dark] .tabs button[aria-pressed=true],[data-theme=dark] button.primary,[data-theme=dark] .button.primary{background:#bd9b60;color:#101d30;border-color:#bd9b60}[data-theme=dark] .notice{background:#342f26;color:#eadfc9}[data-theme=dark] .source{background:#213149}[data-theme=dark] .tag{background:#2b3c53;color:#cfdbeb}[data-theme=dark] .badge{background:#302d27;color:#e5c997;border-color:#746044}[data-theme=dark] .source-note,[data-theme=dark] summary,[data-theme=dark] .source a,[data-theme=dark] .overline,[data-theme=dark] .card-bottom b{color:#d8b976}[data-theme=dark] .hero-art{background:radial-gradient(circle,#283246,transparent 65%);border-color:#5a5142;color:#d8b976}[data-theme=dark] .skip{background:#213149;color:#fff}
@media(max-width:700px){.theme-toggle{margin-left:auto}.source-select{flex:1;min-width:240px}.source-select select{max-width:200px}}
:root:not([data-theme=dark]) .overline{color:#82612f}
[data-theme=dark] input::placeholder,[data-theme=dark] textarea::placeholder{color:#b3bfd0;opacity:1}

header{height:auto;min-height:68px;flex-wrap:wrap;gap:12px;padding-top:12px;padding-bottom:12px}
.practice-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.practice-controls label{font-size:12px;font-weight:600;display:grid;gap:8px}.practice-controls select{width:100%;background:var(--cream);color:var(--ink);padding:12px;border:1px solid var(--line);border-radius:5px}.advanced-banner{border-left:3px solid #ab8547;margin-top:24px}.advanced-banner h2{margin-top:9px}.link-list{display:grid;gap:12px}.link-list a{color:var(--ink)}.advanced-problem{padding:8px 0 24px;min-width:0}.advanced-problem+.advanced-problem{border-top:2px solid var(--line);padding-top:30px}.problem-card{margin:0}.problem-card .muted{font-size:11px}.answer{padding:16px;background:var(--cream);border-left:3px solid #ad884c}.solution-steps li{padding-left:6px;white-space:pre-line}.answer-preview{white-space:pre-wrap;margin-top:18px;overflow-wrap:anywhere}.rubric{border:1px solid var(--line);padding:16px;margin-top:20px}.rubric legend{font-size:13px;padding:0 8px}.rubric label{display:flex;align-items:flex-start;gap:10px;margin:13px 0;font-size:13px}.rubric input{width:17px;height:17px;margin:3px 0 0;flex:none;accent-color:#9d7839}.self-score{font-weight:600;font-size:12px}.lesson-links{margin-top:22px}.solution-notebook textarea{margin:10px 0}.problem-card h2{font-size:20px}#bankResults .grid{align-items:start}
@media(max-width:700px){.practice-controls{grid-template-columns:1fr}.source-select{min-width:0;width:100%;flex:auto}header>span{width:100%}.toolbar select{max-width:100%}.advanced-problem h2{font-size:24px}.link-list a{overflow-wrap:anywhere}}

.branch-choice{border:0;border-bottom:1px solid var(--line);padding:0 0 20px;margin:0 0 24px;display:flex;gap:12px;flex-wrap:wrap}.branch-choice legend{font:600 16px Georgia;margin-bottom:16px}.branch-choice label{display:flex;align-items:center;gap:10px;padding:14px 18px;border:1px solid var(--line);border-radius:7px;cursor:pointer;background:var(--cream);font-size:14px}.branch-choice label.selected{border-color:#a17c3e;background:#f1e8d7}.branch-choice input{accent-color:#9f7736;width:18px;height:18px;margin:0}.branch-choice b{margin-right:8px}.third-question{margin-top:28px;padding-top:22px;border-top:2px solid var(--line)}.panel.third-question{border-top:1px solid var(--line)}.theorem-block{margin:26px 0 34px;padding-bottom:26px;border-bottom:1px solid var(--line)}.theorem-block:last-child{border-bottom:0;padding-bottom:0}.theorem-statement{border-left:3px solid #a47b36;padding:4px 18px;margin-top:18px;background:var(--cream)}.proof-idea{font-size:14px;line-height:1.9;padding:18px 0}.proof-accordion{margin:10px 0;border-top:0}.proof-steps{list-style:none!important;padding:0!important;display:grid;gap:16px}.proof-steps>li{display:grid;grid-template-columns:32px minmax(0,1fr);gap:14px;border:1px solid var(--line);border-radius:7px;padding:18px;margin:0!important}.step-number{display:flex;justify-content:center;align-items:center;width:30px;height:30px;background:#eee5d4;color:#76551f;border-radius:50%;font-size:13px;font-weight:700}.proof-steps h4{margin:2px 0 12px;font-size:15px;line-height:1.6}.proof-steps p{margin:0;line-height:1.95}.learning-intro{border-left:3px solid #a47b36}.learning-intro h2{margin-top:10px}.learning-intro h3{font-size:14px;margin-top:24px}.practice-controls{grid-template-columns:repeat(3,minmax(0,1fr))}[data-theme=dark] .branch-choice label.selected{background:#3a3226;border-color:#b8995e}[data-theme=dark] .step-number{background:#463a27;color:#f0d69f}@media(max-width:700px){.branch-choice{display:grid;grid-template-columns:1fr}.branch-choice label{padding:14px}.proof-steps>li{grid-template-columns:25px minmax(0,1fr);padding:13px;gap:9px}.step-number{width:24px;height:24px}.proof-steps h4{font-size:14px}.practice-controls{grid-template-columns:1fr}}

.answer-part{margin:30px 0;padding-top:8px}.answer-part-title{font-size:16px;line-height:1.65;margin:0 0 18px;display:flex;gap:12px;align-items:center}.answer-part-title>span{background:#e9dfcb;color:#765922;border-radius:6px;width:29px;height:29px;display:inline-flex;align-items:center;justify-content:center;flex:none;font-size:13px}.required-definitions{margin:0}.definition-entry{margin:16px 0;border-left:2px solid var(--line);padding-left:16px}.definition-entry dt{font-weight:650;font-size:14px;line-height:1.7}.definition-entry dd{margin:8px 0 0;font-size:14px;line-height:1.95;white-space:pre-line}.hypothesis-card{border:1px solid var(--line);padding:18px;margin-bottom:12px;border-radius:6px}.hypothesis-card h5,.worked-application h5{font-size:15px;margin:0 0 12px;line-height:1.7}.hypothesis-card p,.counterexample p,.worked-application p{font-size:14px;line-height:1.95}.counterexample{border-left:3px solid #ac7c3e;padding:16px 18px;background:var(--cream);border-top:0}.failed-conclusion{border-top:1px solid var(--line);padding-top:12px}.logical-note{padding:14px;border:1px solid var(--line);font-size:13px}.worked-application{border:1px solid var(--line);border-radius:7px;padding:20px;margin-bottom:20px}.standard-unit>.row{margin-top:28px}.answer-roadmap{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:26px 0}.answer-roadmap>span{border:1px solid var(--line);padding:12px;font-size:11px;line-height:1.6;display:flex;gap:8px}.answer-roadmap b{color:#916b32}.answer-outline{display:grid;gap:12px;margin-bottom:24px}.answer-outline a{color:var(--ink)}.answer-link{margin-bottom:14px}.standard-answer .theorem-statement{margin:0}.standard-answer .proof-accordion{margin-top:16px}.standard-answer .tag{margin-bottom:4px}[data-theme=dark] .answer-part-title>span{background:#463a27;color:#ecd0a2}.answer-part h5{overflow-wrap:anywhere}@media(max-width:950px){.answer-roadmap{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.answer-roadmap{grid-template-columns:1fr}.answer-roadmap>span{padding:9px 12px}.hypothesis-card,.worked-application{padding:14px}.answer-part-title{font-size:15px}.answer-part{margin:25px 0}.counterexample{padding:13px}}
