:root{--blue:#254fe5;--ink:#202941;--muted:#778095;--line:#e7eaf2;--bg:#f5f7fb;--soft-blue:#edf2ff;--orange:#e79a38;--green:#25886d;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:var(--ink);font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:var(--bg);font-size:14px}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button{transition:background .16s,color .16s,box-shadow .16s}button:disabled{cursor:not-allowed;opacity:.45}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #a4b7ff;outline-offset:3px}input:focus,select:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px #254fe512}a{color:inherit}button svg{vertical-align:middle;flex-shrink:0}button:hover:not(:disabled){filter:brightness(.98)}h1,h2,h3,p{margin:0}.topbar{height:88px;display:flex;align-items:center;justify-content:space-between;padding:0 36px;border-bottom:1px solid var(--line);background:#fff;position:relative;z-index:2}.brand{display:flex;align-items:center;gap:12px;font-size:22px;font-weight:750;text-decoration:none;letter-spacing:-.6px}.brand-mark{width:40px;height:44px;border-radius:13px;background:var(--blue);color:#fff;display:grid;place-items:center;font-family:Georgia,serif;font-weight:normal;font-style:italic;font-size:39px;padding-bottom:6px;box-shadow:0 5px 13px #254fe520}.brand-light{font-weight:450}.brand small{font-size:8px;display:block;font-weight:600;letter-spacing:1.7px;color:var(--muted);margin-top:5px}.top-context{font-size:12px;color:#67738c;letter-spacing:.2px}.top-context span{color:#b7bed0;margin:0 17px}.private-badge{display:flex;align-items:center;gap:7px;padding:7px 11px;font-size:11px;border:1px solid var(--line);border-radius:6px;color:#788293}.app-shell{display:grid;grid-template-columns:258px minmax(0,1fr);max-width:1800px;margin:auto;min-height:calc(100vh - 88px)}.sidebar{background:#fff;border-right:1px solid var(--line);padding:29px 18px;display:flex;flex-direction:column}.sidebar-top{display:flex;align-items:center;justify-content:space-between;padding:0 8px}.eyebrow{font-size:9px;letter-spacing:1.6px;font-weight:700;color:var(--muted)}.count-pill{font-size:10px;color:#818ba2;background:#f2f4f9;border-radius:5px;padding:4px 7px}.sidebar h2{font-size:17px;letter-spacing:-.3px;padding:14px 8px 18px}.level-filter{display:flex;background:#f4f6fa;border:1px solid #eef0f5;border-radius:7px;padding:3px;gap:1px;margin-bottom:23px}.level-filter button{border:0;background:transparent;color:#788197;font-size:10px;padding:7px 6px;border-radius:5px;flex:1}.level-filter button.active{color:var(--blue);background:#fff;box-shadow:0 1px 4px #172e5910}.nav-group{margin:0 0 21px}.nav-group h3{font-size:9px;letter-spacing:1.25px;text-transform:uppercase;color:#8892a6;font-weight:650;padding:0 10px 8px;display:flex;justify-content:space-between}.task-button{width:100%;display:flex;text-align:left;align-items:center;gap:10px;padding:11px 10px;background:none;border:0;border-radius:7px;margin:3px 0;color:#69758a;position:relative}.task-button.active{background:#edf2ff;color:var(--blue);font-weight:600}.task-button.active:before{content:"";width:3px;height:23px;background:var(--blue);position:absolute;left:-18px;border-radius:0 3px 3px 0}.task-button:hover{background:#f4f6fb}.task-number{font-size:10px;color:#9ba4b5;font-variant-numeric:tabular-nums}.task-button.active .task-number{color:var(--blue)}.task-name{font-size:11px;line-height:1.45}.task-check{margin-left:auto;font-size:13px;color:var(--green)}.progress-card{margin-top:auto;padding:18px 10px 10px;border-top:1px solid var(--line)}.progress-card>div:first-child{display:flex;justify-content:space-between;align-items:center}.progress-card b{font-size:12px;font-weight:600;color:var(--blue)}.progress-track{height:4px;background:#edf0f6;border-radius:3px;margin-top:13px;overflow:hidden}.progress-track span{display:block;height:100%;width:0;background:var(--blue);transition:width .3s}.progress-card p{font-size:10px;color:var(--muted);line-height:1.6;margin:10px 0 6px}.sidebar-note{display:flex;gap:9px;border:1px solid var(--line);border-radius:8px;padding:13px 10px;margin-top:18px}.sidebar-note p{font-size:10px;line-height:1.6;color:#8790a3}.note-symbol{border:1px solid #aab5c9;border-radius:50%;font-family:Georgia,serif;width:14px;height:14px;font-size:10px;text-align:center;color:#8b98b0;flex-shrink:0;margin-top:2px}main{min-width:0;padding:33px 37px 0}.workspace-heading{display:flex;justify-content:space-between;gap:18px;align-items:center;margin-bottom:28px}.blue{color:var(--blue)}h1{font-size:30px;letter-spacing:-1.15px;font-weight:650;line-height:1.25;margin:10px 0 10px}h1>span{color:var(--blue)}.workspace-heading p{font-size:12px;color:var(--muted);line-height:1.7}.mode-switch{display:flex;align-items:center;background:#e9edf5;border:1px solid #e4e8f0;border-radius:8px;padding:4px;flex-shrink:0}.mode-switch button{display:flex;align-items:center;gap:7px;border:0;background:none;padding:9px 11px;border-radius:5px;color:#808ba0;font-size:10px;white-space:nowrap}.mode-switch button.active{background:#fff;color:#34466e;box-shadow:0 2px 4px #23395708}.problem-card,.hints-card,.answer-card,.solution-card{background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 4px 16px #1c376302}.problem-top{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:18px 26px;border-bottom:1px solid var(--line)}.task-meta{display:flex;align-items:center;gap:12px;font-size:10px;color:var(--muted)}#task-number{color:var(--blue);font-size:10px;letter-spacing:1px;font-weight:650}.divider{width:1px;height:13px;background:var(--line)}.level-badge{border-radius:4px;background:#f0f7f3;color:#6d917c;font-size:9px;padding:4px 7px;white-space:nowrap}.level-badge.advanced{background:#fff6e9;color:#ad8446}.variant-tools{display:flex;align-items:center;gap:7px;font-size:10px;color:#8b94a5}.variant-tools label{margin-right:2px}.variant-tools input{width:52px;padding:6px;border:1px solid var(--line);border-radius:5px;color:#5d6b85;text-align:center;font-size:11px;appearance:textfield}.variant-tools input::-webkit-inner-spin-button{display:none}.icon-button{border:1px solid var(--line);border-radius:5px;background:#fff;color:#7d899e;width:29px;height:29px;display:grid;place-items:center;font-size:19px}.problem-body{display:grid;grid-template-columns:1.1fr 1fr;min-height:260px;padding:25px 26px;gap:28px}.statement h2{font-size:25px;letter-spacing:-.65px;font-weight:640;line-height:1.25;margin:3px 0 15px}.statement>p{font-size:13px;line-height:1.9;color:#748097;max-width:480px}.find-line{display:flex;align-items:center;gap:12px;margin:20px 0 15px}.find-line>span:first-child{font-size:9px;letter-spacing:1.2px;color:#929aac}.find-line b{font-family:Georgia,serif;font-style:italic;color:var(--blue);font-size:23px;font-weight:500}.find-line>span:last-child{font-size:11px;color:#8590a5}.assumptions{font-size:10px;color:#8b95a8}.assumptions summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:6px;width:fit-content}.assumptions summary:before{content:'+';font-size:14px}.assumptions[open] summary:before{content:'−'}.assumptions p{line-height:1.8;padding-top:7px}.diagram-panel{background:#f8faff;border:1px solid #eef2f9;border-radius:9px;padding:13px 15px 8px;overflow:hidden;min-width:0}.diagram-header{display:flex;justify-content:space-between;align-items:center;font-size:9px;color:#8290a7}.diagram-header>div{display:flex;gap:3px}.diagram-header button{font-size:9px;border:0;color:#8e9bb1;padding:4px 7px;border-radius:4px;background:none}.diagram-header button.active{background:#e9efff;color:var(--blue)}#diagram svg{display:block;width:100%;height:170px}#diagram-footnote{text-align:center;font-size:8px;color:#95a0b5;margin-top:0;line-height:1.5}.data-section{border-top:1px solid var(--line);padding:20px 26px 17px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:19px}.section-heading h3{display:flex;align-items:center;gap:9px;font-size:13px;font-weight:600;letter-spacing:-.15px}.step-dot{display:inline-grid;place-items:center;border:1px solid #e1e8fc;border-radius:50%;width:21px;height:21px;font-size:10px;font-weight:600;color:var(--blue);background:#f6f8ff}.step-dot.amber{color:#c79345;background:#fffaf0;border-color:#f2e6cc}.text-button{background:none;border:0;padding:0;color:#5874b6;font-size:10px;text-decoration:none}.text-button:hover{color:var(--blue)}.small{font-size:9px;color:#8a96ab}.fields-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 23px}.field label{font-size:10px;color:#808ba0;display:flex;align-items:center;justify-content:space-between;gap:5px;margin-bottom:7px}.field label b{font-family:Georgia,serif;font-style:italic;font-size:13px;color:#607393;font-weight:normal}.field-control{display:flex;border:1px solid #e1e7f0;border-radius:6px;overflow:hidden;background:#fff}.field-control:focus-within{border-color:var(--blue);box-shadow:0 0 0 3px #254fe50c}.field-control input{font-size:13px;min-width:0;width:100%;border:0;padding:10px 11px;color:#364967;font-weight:500;box-shadow:none!important}.field-control select{border:0;border-left:1px solid #edf0f5;border-radius:0;color:#8793a9;background:#fafbfe;font-size:10px;padding:5px 4px;min-width:54px;max-width:132px;box-shadow:none!important}.field.invalid .field-control{border-color:#d88d83}.field-error{font-size:10px;line-height:1.5;color:#bc6356;margin-top:5px}.data-note{font-size:9px;color:#99a3b4;margin-top:15px}.data-note:before{content:'↳';margin-right:6px}#data-error:not(:empty){padding:10px 12px;background:#fff4f0;border-radius:5px;font-size:11px;color:#b36552;margin-top:14px;line-height:1.6}.practice-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:20px;margin-top:20px}.hints-card,.answer-card{padding:22px 25px;min-width:0}.quiet,.tolerance{font-size:9px;color:#8e9bb0}.tolerance{background:#f4f7fc;padding:4px 7px;border-radius:4px;color:#8a99b2}.hint-empty{text-align:center;padding:5px 0 20px}.hint-icon{color:#c9a876;font-size:25px;background:#fdf8ed;width:40px;height:40px;display:inline-grid;place-items:center;border-radius:50%;margin-bottom:10px}.hint-empty p{font-size:12px;color:#737e93;margin-bottom:7px}.hint-empty>span:last-child{font-size:10px;line-height:1.8;color:#9aa2b1}.secondary-button,.primary-button{display:flex;align-items:center;justify-content:space-between;width:100%;border-radius:6px;font-size:11px;font-weight:550;padding:12px 15px}.secondary-button{border:1px solid #e4e9f1;color:#7585a3;background:#fff}.secondary-button>span,.primary-button>span{font-size:16px;font-weight:400}.primary-button{border:1px solid var(--blue);background:var(--blue);color:#fff;box-shadow:0 4px 8px #254fe515}.primary-button:hover{background:#1c43d0}.answer-card form>label{font-size:10px;display:block;color:#8d98ab;margin:3px 0 8px}.answer-input-wrap{display:flex;gap:8px}.answer-input-wrap input{min-width:0;flex:1;border:1px solid #e0e6f0;border-radius:6px;padding:12px 13px;font-size:14px;color:#405170}.answer-input-wrap input::placeholder{color:#a8b1c1;font-size:12px}.answer-input-wrap select{border:1px solid #e0e6f0;background:#fafbfd;border-radius:6px;padding:0 12px;color:#7b89a3;font-size:12px;min-width:77px}#answer-note{font-size:9px;color:#a1aabb;margin:8px 0 15px;line-height:1.5}.solution-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-top:14px;padding-top:13px;border-top:1px solid var(--line)}#attempt-count{font-size:9px;color:#9aa5b8}#show-solution{font-size:10px}.hint-item{display:flex;gap:10px;padding:10px 0;border-bottom:1px solid #f0f2f6}.hint-item:last-child{border:0;margin-bottom:14px}.hint-item>span{font-size:10px;color:#c69855;padding-top:2px}.hint-item p{font-size:11px;line-height:1.8;color:#78869b}#feedback:not(:empty){padding:11px 13px;margin-top:13px;border-radius:6px;font-size:11px;line-height:1.65}#feedback.correct{background:#edf8f3;color:#2e806b}#feedback.incorrect{background:#fff6ea;color:#a17a39}#feedback.error{background:#fff1ed;color:#b56859}#feedback b{display:block;margin-bottom:3px}.solution-card{padding:26px;margin-top:20px}.solution-card h2{font-size:19px;font-weight:600;letter-spacing:-.4px}.solution-tag{font-size:9px;letter-spacing:1.3px;color:#8396bd}.solution-step{display:grid;grid-template-columns:26px 1fr;gap:10px;padding:15px 0;border-top:1px solid var(--line)}.solution-step>span{font-size:11px;color:var(--blue);padding-top:2px}.solution-step h3{font-size:12px;font-weight:600;margin-bottom:11px}.formula{font-family:Georgia,"Times New Roman",serif;font-size:17px;line-height:1.8;overflow-wrap:anywhere;background:#f6f8fe;border-left:2px solid #cdd9fd;padding:11px 16px;color:#314872;margin-bottom:9px}.solution-step p{font-size:11px;line-height:1.7;color:#8490a4}.solution-answer{padding:15px 18px;border-radius:7px;background:#edf6f3;color:#377e6b;font-size:14px;line-height:1.7;margin-top:8px}.footer{padding:25px 0;display:flex;justify-content:space-between;gap:16px;font-size:8px;color:#9aa6bb;line-height:1.5}.footer-dot{margin:0 7px;color:#c4ccda}.mobile-select{display:none}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%) translateY(20px);background:#253754;color:#fff;font-size:12px;border-radius:8px;padding:13px 20px;box-shadow:0 8px 24px #13264325;z-index:10;opacity:0;pointer-events:none;transition:.2s;max-width:90vw;text-align:center;line-height:1.5}#toast.show{opacity:1;transform:translateX(-50%)}.skip-link{position:absolute;top:-100px;left:15px;z-index:20;background:#fff;color:var(--blue);padding:12px}.skip-link:focus{top:10px}[hidden]{display:none!important}
body.class-mode .app-shell{display:block;max-width:1400px}body.class-mode .sidebar{display:none}body.class-mode .mobile-select{display:flex}body.class-mode main{padding-left:45px;padding-right:45px}body.class-mode .statement h2{font-size:31px}body.class-mode .statement>p{font-size:19px;line-height:1.7;max-width:650px}body.class-mode .problem-body{min-height:300px}body.class-mode #diagram svg{height:235px}body.class-mode .field label{font-size:14px}body.class-mode .field-control input{font-size:19px}body.class-mode .field-control select{font-size:13px}body.class-mode .hint-item p{font-size:17px}body.class-mode .solution-step h3{font-size:17px}body.class-mode .formula{font-size:23px}body.class-mode .solution-step p{font-size:15px}body.class-mode #feedback{font-size:16px}body.class-mode .section-heading h3{font-size:17px}body.class-mode .answer-input-wrap input{font-size:22px}body.class-mode .primary-button{font-size:15px}
@media(min-width:1550px){main{padding:40px 55px 0}.app-shell{grid-template-columns:280px minmax(0,1fr)}.statement>p{font-size:15px}.task-name{font-size:12px}.problem-body{padding:30px 32px}.data-section{padding:24px 32px}.fields-grid{gap:18px 30px}.field label{font-size:12px}.field-control input{font-size:15px}#diagram svg{height:190px}}
@media(max-width:1180px){.app-shell{grid-template-columns:230px minmax(0,1fr)}main{padding:26px 23px 0}.sidebar{padding-left:14px;padding-right:14px}.task-button.active:before{left:-14px}.workspace-heading{align-items:flex-start;flex-direction:column;gap:17px}.mode-switch{align-self:flex-end;margin-top:-3px}h1{font-size:28px}.problem-top{padding:16px 20px;flex-wrap:wrap}.problem-body{padding:22px 20px;gap:19px}.statement h2{font-size:23px}.data-section{padding:20px}.hints-card,.answer-card{padding:20px}.task-meta{gap:8px}.fields-grid{gap:14px}.footer{font-size:8px}}
@media(max-width:950px){.top-context{display:none}.app-shell{grid-template-columns:200px minmax(0,1fr)}.task-name{font-size:10px}.level-filter button{font-size:9px;padding:7px 3px}.sidebar h2{font-size:15px}.fields-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.problem-body{grid-template-columns:1fr}.diagram-panel{max-width:none}.statement>p{max-width:none}.practice-grid{grid-template-columns:1fr 1fr;gap:14px}.solution-toggle-row{flex-wrap:wrap;gap:8px}.level-badge{font-size:8px}.footer{flex-direction:column;gap:6px}body.class-mode .problem-body{grid-template-columns:1fr 1fr}}
@media(max-width:720px){.topbar{height:73px;padding:0 20px}.brand{font-size:19px;gap:10px}.brand-mark{width:34px;height:38px;font-size:34px;border-radius:10px}.brand small{font-size:6px;letter-spacing:1.4px}.private-badge{font-size:9px;padding:6px 8px}.app-shell{display:block}.sidebar{display:none}main,body.class-mode main{padding:25px 17px 0}.workspace-heading{gap:16px;margin-bottom:18px}.workspace-heading .eyebrow{font-size:8px}h1{font-size:27px;margin-top:8px}.workspace-heading p{font-size:11px}.mode-switch{align-self:flex-start;margin-top:0}.mode-switch button{font-size:10px;padding:8px 11px}.mobile-select{display:flex;align-items:center;gap:12px;margin:0 0 17px}.mobile-select label{font-size:11px;color:var(--muted)}.mobile-select select{flex:1;min-width:0;border:1px solid var(--line);border-radius:7px;background:#fff;padding:11px;color:#4d638d;font-size:12px}.problem-top{padding:16px 18px;gap:13px}.task-meta{flex-wrap:wrap;gap:8px;font-size:9px}.variant-tools{margin-left:auto}.problem-body{padding:22px 18px;gap:20px}.statement h2{font-size:25px}.statement>p{font-size:13px}.find-line{margin:18px 0 14px}.diagram-panel{padding:13px 13px 8px}.data-section{padding:20px 18px}.section-heading h3{font-size:12px}.fields-grid{gap:15px 13px}.field label{font-size:9px;min-height:24px}.field-control input{padding:10px 8px;font-size:13px}.field-control select{max-width:106px;font-size:9px;padding:4px 1px;min-width:42px}.practice-grid{grid-template-columns:1fr;gap:16px;margin-top:16px}.hints-card,.answer-card{padding:20px}.hint-empty{padding-top:0;padding-bottom:16px}.hint-empty>span:last-child br{display:none}.hint-empty .hint-icon{height:32px;width:32px;font-size:21px}.answer-input-wrap input{padding:13px}.primary-button,.secondary-button{font-size:12px}.solution-toggle-row{flex-wrap:nowrap}.solution-card{padding:22px 18px}.formula{font-size:16px;padding:10px}.solution-tag{font-size:8px}.footer{font-size:8px;padding:21px 2px}body.class-mode .problem-body{grid-template-columns:1fr}body.class-mode .statement>p{font-size:17px}body.class-mode .statement h2{font-size:27px}body.class-mode .field label{font-size:10px}body.class-mode .field-control input{font-size:15px}body.class-mode .field-control select{font-size:10px}body.class-mode .hint-item p{font-size:14px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
@media print{.sidebar,.topbar,.workspace-heading,.mobile-select,.variant-tools,.practice-grid,.footer,#toast,.text-button,#chart-tabs{display:none!important}.app-shell{display:block}main{padding:0}.problem-card,.solution-card{border:1px solid #ddd;box-shadow:none;break-inside:avoid}.field-control input,.field-control select{color:#000}.solution-card{margin-top:10px}.problem-body{grid-template-columns:1fr 1fr}.fields-grid{grid-template-columns:repeat(3,1fr)}}
/* Keep compound units legible on narrow screens. */
.field-control select{flex-shrink:0;padding-right:7px;max-width:none}
.field-control select.single-unit{appearance:none;padding:5px 9px;min-width:82px;text-align:center;cursor:default}
.field label{color:#6f7d94;font-size:11px}
.statement>p{color:#687791}
@media(max-width:720px){.field.wide-unit{grid-column:span 2}.field label{font-size:10px;gap:8px}.field-control select{font-size:10px}.field-control select.single-unit{font-size:9px;padding:5px;min-width:75px}.field.wide-unit .field-control select{min-width:120px}.field.wide-unit .field-control input{font-size:14px}}
.mobile-select{align-items:center;gap:12px;margin:0 0 18px}
.mobile-select label{font-size:12px;color:var(--muted)}
.mobile-select select{min-width:0;flex:1;max-width:620px;border:1px solid var(--line);border-radius:7px;background:#fff;padding:11px 13px;color:#4d638d;font-size:13px}
body.class-mode .mobile-select select{font-size:15px}

.footer-author{color:#71819b;white-space:nowrap}
@media(max-width:720px){.topbar{height:88px}.brand{font-size:16px;line-height:1.15;letter-spacing:-.3px}.brand-title>.brand-light{display:block;margin-top:2px}.brand small{margin-top:5px;font-size:6px;letter-spacing:1px}.private-badge{flex-shrink:0}.footer{gap:9px}}

.brand-emblem{display:block;width:48px;height:48px;flex:0 0 48px;object-fit:contain;border-radius:50%}
.footer-author a{color:#526db1;text-decoration:none;text-underline-offset:3px}
.footer-author a:hover{text-decoration:underline;color:var(--blue)}
.footer-author a>span{font-size:11px;margin-left:2px}
@media(max-width:720px){.brand-emblem{width:44px;height:44px;flex-basis:44px}.brand small{font-size:6px}.private-badge{padding:6px 7px}}
@media(max-width:370px){.brand{font-size:14px;gap:6px}.brand-emblem{width:39px;height:39px;flex-basis:39px}.private-badge{font-size:8px;gap:4px}.topbar{padding:0 15px}}
.footer-author{font-size:11px;line-height:1.6}
.direction-row{display:flex;align-items:center;gap:22px;margin:-4px 0 23px;padding:14px 18px;border:1px solid #e6ebf5;background:#fafdff;border-radius:9px}
.direction-picker{display:flex;align-items:center;gap:12px;flex-shrink:0}.direction-picker label{font-size:11px;color:#73809a}.direction-picker select{min-width:235px;border:1px solid #dce4f1;border-radius:6px;background:#fff;color:#365591;font-size:12px;padding:10px 28px 10px 12px}
.direction-row>p{color:#8090a9;font-size:11px;line-height:1.6;max-width:350px}.share-site-button{display:flex;align-items:center;gap:7px;border:1px solid #dce5f4;color:#5673ad;background:#f7faff;border-radius:6px;padding:9px 12px;font-size:11px;white-space:nowrap}.share-site-button>span{font-size:16px;line-height:1}
@media(max-width:1180px){.direction-row{align-items:flex-start;flex-direction:column;gap:9px}.direction-row>p{max-width:none}}
@media(max-width:720px){.direction-row{padding:14px;margin-bottom:18px}.direction-picker{width:100%;flex-direction:column;align-items:flex-start;gap:8px}.direction-picker select{width:100%;min-width:0;font-size:12px}.direction-row>p{font-size:10px}.share-site-button{font-size:10px;padding:8px;gap:4px}}
@media(max-width:370px){.share-site-button{font-size:9px;padding:7px}.share-site-button>span{font-size:13px}}

/* Course navigation and lecture materials follow the existing visual theme. */
.site-navigation{display:flex;align-items:center;gap:5px}
.site-navigation a{padding:10px 15px;border-radius:7px;font-size:14px;font-weight:550;color:#657591;text-decoration:none}
.site-navigation a:hover{background:#f5f7fc}.site-navigation a[aria-current="page"]{color:var(--blue);background:var(--soft-blue)}
.lectures-main{max-width:1240px;margin:0 auto;padding:38px 36px 0;min-height:calc(100vh - 88px)}
.lecture-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:28px}
.lecture-heading h1{font-size:34px;margin:10px 0 12px}.lecture-heading .eyebrow{font-size:12px}
.lecture-heading p{font-size:16px;line-height:1.7;color:#687791;max-width:760px}
.lecture-count{font-size:14px;white-space:nowrap;background:#eaf0fc;color:#526da7;border-radius:6px;padding:9px 12px}
.lecture-list{display:grid;gap:20px}.lecture-card{display:grid;grid-template-columns:minmax(240px,.8fr) minmax(0,1.4fr);background:white;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.lecture-cover{display:flex;align-items:center;padding:20px;background:#f0f4fc;border-right:1px solid var(--line)}
.lecture-cover img{width:100%;height:auto;display:block;box-shadow:0 4px 18px #23395710}
.lecture-card-body{padding:26px 30px}.lecture-meta{display:flex;flex-wrap:wrap;gap:10px 16px;font-size:14px;line-height:1.5;color:#6d7e98}
.lecture-meta>span:first-child{color:var(--blue);font-size:12px;font-weight:650;letter-spacing:1px}
.lecture-card h2{font-size:23px;line-height:1.35;font-weight:650;letter-spacing:-.45px;margin:12px 0}
.lecture-card h2 a{text-decoration:none}.lecture-card h2 a:hover{color:var(--blue)}
.lecture-card-body>p{font-size:16px;color:#6a7991;line-height:1.65;margin-bottom:14px}.lecture-file-info{font-size:14px;color:#73819a}
.lecture-card-actions{display:flex;align-items:center;flex-wrap:wrap;gap:18px;margin-top:23px}
.lecture-primary{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;background:var(--blue);color:white;padding:12px 16px;border-radius:7px;text-decoration:none;font-size:14px;font-weight:550}
.lecture-primary:hover{background:#1c43d0}.lecture-link{color:#4264b4;font-size:14px;line-height:1.6;text-decoration:none;text-underline-offset:4px}.lecture-link:hover{text-decoration:underline}
.lecture-reader{margin-top:28px;border:1px solid var(--line);border-radius:12px;background:#fff;overflow:hidden;scroll-margin-top:20px}
.reader-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:24px 26px 15px}
.reader-heading .eyebrow{font-size:12px}.reader-heading h2{font-size:23px;line-height:1.4;letter-spacing:-.3px;margin-top:10px;font-weight:600}
.reader-close{flex-shrink:0;padding:8px 11px;border:1px solid var(--line);border-radius:6px;background:#fff;color:#657591;font-size:14px}
.reader-actions{display:flex;flex-wrap:wrap;gap:10px 24px;padding:0 26px 12px}.reader-help{font-size:14px;line-height:1.6;color:#73819a;padding:0 26px 20px}
.pdf-viewer{display:block;width:100%;height:80vh;min-height:430px;max-height:1100px;border:0;border-top:1px solid var(--line);background:#edf0f5}
.pdf-fallback{padding:36px 24px;font-size:16px;color:#526584;line-height:1.7}.lecture-noscript{padding:24px;background:white;border:1px solid var(--line);font-size:16px;line-height:1.8}
.lecture-footer{font-size:12px;padding:30px 0;align-items:center;flex-wrap:wrap}.lecture-footer .footer-author{font-size:14px}
@media(max-width:950px){.topbar{gap:12px;padding-left:20px;padding-right:20px}.site-navigation a{padding:10px;font-size:14px}.lecture-card{grid-template-columns:1fr 1.4fr}.lecture-card-body{padding:23px}.lecture-card h2{font-size:21px}}
@media(max-width:720px){.topbar{flex-wrap:wrap;height:auto;min-height:88px;padding:15px 20px 10px;gap:12px}.site-navigation{order:3;flex-basis:100%;justify-content:center;border-top:1px solid #eff2f7;padding-top:9px}.site-navigation a{flex:1;text-align:center;max-width:200px}.lectures-main{padding:26px 17px 0}.lecture-heading{align-items:flex-start;gap:14px}.lecture-heading h1{font-size:29px}.lecture-heading p{font-size:16px}.lecture-count{padding:7px 9px;font-size:12px;margin-top:22px}.lecture-card{grid-template-columns:1fr}.lecture-cover{border-right:0;border-bottom:1px solid var(--line);padding:18px}.lecture-cover img{max-width:430px;margin:auto}.lecture-card-body{padding:23px 20px}.lecture-card h2{font-size:23px}.lecture-meta{font-size:14px}.lecture-card-actions{gap:16px}.reader-heading{padding:20px 18px 14px;flex-direction:column}.reader-close{align-self:flex-end;order:-1}.reader-heading h2{font-size:22px}.reader-actions{padding:0 18px 12px;flex-direction:column}.reader-help{padding:0 18px 18px}.pdf-viewer{height:65vh;min-height:360px}.lecture-footer{align-items:flex-start;font-size:12px}}
@media(max-width:370px){.topbar{padding-left:15px;padding-right:15px}.lecture-heading{flex-wrap:wrap}.lecture-count{margin-top:0}.lecture-card-body{padding:20px 16px}.lecture-primary{gap:18px}}

/* Approved engineering backdrop, shared by all course sections. */
body{background:#f5f8fd url('./assets/engineering-background.png') center top/100% auto repeat-y;padding:30px 0}
.topbar,.app-shell{width:88%;max-width:1440px;margin-left:auto;margin-right:auto}
.topbar{border:1px solid #dfe7f4;border-radius:14px 14px 0 0;padding-left:28px;padding-right:28px}
.app-shell{background:rgba(245,248,253,.96);border:1px solid #dfe7f4;border-top:0;border-radius:0 0 14px 14px;min-height:calc(100vh - 148px);box-shadow:0 12px 36px #26487208}
.sidebar{border-radius:0 0 0 14px}.workspace-heading h1{color:#1c3155}.problem-card,.hints-card,.answer-card,.solution-card{background:#fff}
body.class-mode .app-shell{max-width:1440px}
.site-navigation a{white-space:nowrap}.site-navigation a[aria-current="page"]{background:transparent;border-radius:0;box-shadow:inset 0 -2px var(--blue)}
.materials-page .lectures-main{width:88%;max-width:1440px;border:1px solid #dfe7f4;border-top:0;border-radius:0 0 14px 14px;background:rgba(245,248,253,.96);padding:38px 36px 0;min-height:calc(100vh - 148px);box-shadow:0 12px 36px #26487208}
.materials-empty{padding:52px 32px;background:#fff;border:1px solid var(--line);border-radius:12px;text-align:center}
.materials-empty h2{font-size:24px;font-weight:600;color:#314b74;margin-bottom:12px}.materials-empty p{font-size:16px;line-height:1.7;color:#6a7991;max-width:510px;margin:0 auto 22px}.empty-symbol{display:none}
@media(max-width:1180px){.topbar{height:auto;min-height:88px;flex-wrap:wrap;padding:16px 24px 9px;gap:12px}.site-navigation{order:3;flex-basis:100%;justify-content:center;border-top:1px solid #eff2f7;padding-top:4px}.site-navigation a{padding:11px 18px}.brand{font-size:21px}.app-shell{grid-template-columns:210px minmax(0,1fr)}}
@media(max-width:950px){.topbar,.app-shell,.materials-page .lectures-main{width:94%}.brand{font-size:20px}.app-shell{grid-template-columns:190px minmax(0,1fr)}}
@media(max-width:720px){body{padding:12px 0;background-size:auto 900px;background-position:center top}.topbar,.app-shell,.materials-page .lectures-main{width:calc(100% - 16px)}.topbar{padding:14px 15px 7px;border-radius:11px 11px 0 0;gap:12px}.brand{font-size:16px}.app-shell{display:block}.site-navigation{gap:4px}.site-navigation a{min-width:0;max-width:none;white-space:normal;padding:9px 5px;font-size:13px;line-height:1.35;align-self:stretch;display:flex;align-items:center;justify-content:center}.site-navigation a:last-child{flex:1.6}.materials-page .lectures-main{padding:25px 16px 0}.lecture-card-body{padding-left:17px;padding-right:17px}.materials-empty{padding:36px 21px}.materials-empty h2{font-size:23px}main,body.class-mode main{padding-left:14px;padding-right:14px}.footer-author{white-space:normal}}
@media(max-width:370px){.brand{font-size:14px;gap:6px}.topbar{padding-left:11px;padding-right:11px}.share-site-button{padding:7px;font-size:9px}.site-navigation a{font-size:12px;padding:9px 4px}.materials-page .lectures-main{padding-left:12px;padding-right:12px}}
@media print{body{background:#fff;padding:0}.app-shell,.materials-page .lectures-main{width:100%;border:0;box-shadow:none;background:#fff}.reader-close,.reader-actions,.reader-help{display:none}}
