:root{font-family:DM Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#18241f;background:#f8f9f6;font-synthesis:none;font-size:15px;font-weight:400;--canvas: #f8f9f6;--surface: #fff;--ink: #18241f;--muted: #626c65;--forest: #214e42;--sage: #e7f0dd;--line: #dce2db;--radius: 10px;--serif: Georgia, "Times New Roman", serif}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}button{color:inherit}button:disabled{cursor:not-allowed;opacity:.45}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid #7c9e65;outline-offset:4px}h1:focus,main:focus{outline:none}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-weight:400}h1,h2{font-family:var(--serif);letter-spacing:-1.1px}h1{font-size:46px;line-height:1.13}h2{font-size:29px;line-height:1.25}h3{font-size:19px;font-weight:550;line-height:1.4}p{line-height:1.7}svg{flex-shrink:0}fieldset{padding:0;margin:0;border:0;min-width:0}input,textarea,select{background:#fff;border:1px solid #bdc8bd;border-radius:6px;padding:11px 13px;color:var(--ink);min-width:0}select{padding-right:30px;max-width:100%}textarea{resize:vertical;width:100%;line-height:1.7}input[type=radio],input[type=checkbox]{accent-color:var(--forest);width:17px;height:17px;flex-shrink:0}input[type=radio]{margin:0}summary{cursor:pointer;line-height:1.6}progress{width:100%;height:5px;border:0;background:var(--line);accent-color:var(--forest)}progress::-webkit-progress-bar{background:var(--line);border-radius:4px}progress::-webkit-progress-value{background:var(--forest);border-radius:4px}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:-80px;left:16px;z-index:100;padding:12px 20px;background:var(--forest);color:#fff;border-radius:5px}.skip-link:focus{top:12px}.muted{color:var(--muted)}.small-text{font-size:13px;line-height:1.65}.between{display:flex;align-items:center;justify-content:space-between;gap:16px}.button{border:1px solid var(--forest);background:var(--forest);color:#fff;display:inline-flex;align-items:center;justify-content:center;gap:13px;min-height:44px;padding:11px 20px;border-radius:6px;font-weight:550;line-height:1.4;transition:background .15s,transform .15s}.button:hover:not(:disabled){background:#183d33;transform:translateY(-1px)}.button.light{background:#fff;color:#172b20;border-color:#fff}.button.light:hover{background:#f0f5e9}.button.outline{background:transparent;color:var(--ink);border-color:#859285}.button.outline:hover{background:var(--sage)}.button.small{min-height:38px;padding:8px 15px;font-size:14px}.text-button{display:inline-flex;gap:9px;align-items:center;border:0;background:transparent;color:var(--forest);font-weight:550;padding:9px 0;min-height:40px}.text-button:hover:not(:disabled){text-decoration:underline;text-underline-offset:4px}.icon-button{display:inline-flex;justify-content:center;align-items:center;min-width:40px;min-height:40px;background:none;border:1px solid transparent;border-radius:6px}.icon-button:hover:not(:disabled){background:var(--sage)}.external-link{display:inline-flex;align-items:center;gap:7px;color:var(--forest);font-size:13px;line-height:1.7;text-decoration:underline;text-decoration-color:#b5c6b4;text-underline-offset:4px}.external-link:hover{text-decoration-color:var(--forest)}.sidebar{position:fixed;inset:0 auto 0 0;width:240px;background:var(--surface);border-right:1px solid var(--line);padding:29px 24px;display:flex;flex-direction:column;z-index:30}.brand{display:flex;gap:13px;align-items:center;color:#173f2d;margin:0 6px 41px}.brand>svg{transform:rotate(-18deg)}.brand strong{font-family:var(--serif);font-weight:700;font-size:57px;line-height:.96;letter-spacing:-3px}.brand div{display:flex;flex-direction:column}.brand span{font-size:11px;letter-spacing:2.6px;margin-top:8px;color:var(--muted)}.sidebar nav{display:flex;flex-direction:column;gap:10px}.sidebar nav a{display:flex;align-items:center;gap:14px;border-radius:8px;padding:14px 13px;min-height:48px;font-size:15px;white-space:nowrap}.sidebar nav a:hover{background:#f2f5ed}.sidebar nav a.active{background:#e7f1dc;color:#163e2d;font-weight:550}.sources-nav{margin-top:auto;display:flex;gap:11px;align-items:center;border-top:1px solid var(--line);padding:24px 5px 3px;font-size:12px;color:#59665d}.sources-nav:hover{color:var(--forest)}.app-body{margin-left:240px}.topbar{height:69px;display:flex;justify-content:space-between;align-items:center;margin:0 44px;border-bottom:1px solid var(--line);font-size:15px}.topbar>span:last-child{font-size:13px}.main-content{max-width:1380px;margin:0 auto;padding:42px 44px 64px;min-height:calc(100vh - 69px)}.mobile-header{display:none}.storage-error{background:#fff1d9;padding:14px 44px;display:flex;justify-content:space-between;align-items:center}h1:focus-visible,main:focus-visible{outline:none}.home-heading{padding:1px 4px 0}.home-heading h1{font-size:64px;letter-spacing:-2.5px;margin-bottom:10px;line-height:1.13}.home-heading p{font-size:23px;line-height:1.5;color:#687168;margin-bottom:25px;letter-spacing:-.3px}.feature{position:relative;isolation:isolate;overflow:hidden;background:#214e42;border-radius:9px;color:#fff;min-height:210px;padding:32px 36px;display:flex;align-items:center;justify-content:space-between}.feature>div:first-child{position:relative;z-index:2;max-width:77%}.feature h2{font-size:34px;letter-spacing:-1px;margin-bottom:10px}.feature p{color:#c1d7c9;font-size:17px;margin-bottom:20px;line-height:1.5}.feature .tree-art{width:29%;max-width:300px;position:absolute;right:20px;bottom:15px;z-index:1}.landscape{position:absolute;width:640px;height:120px;right:-160px;bottom:-98px;transform:rotate(-9deg);border-radius:50%;background:#90b79b30;box-shadow:0 -1px #b5d2b933}.landscape:before{content:"";position:absolute;width:650px;height:120px;right:310px;bottom:12px;transform:rotate(18deg);border-radius:50%;background:#90b79b22;border-top:1px solid #b5d2b922}.home-columns{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:36px;margin-top:34px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 6px}.section-heading h2{font-size:31px;margin-bottom:2px}.section-heading p{font-size:15px;color:var(--muted);margin-bottom:16px}.quiet-count{font-size:12px;white-space:nowrap;color:var(--muted);font-variant-numeric:tabular-nums}.chapter{border-bottom:1px solid var(--line)}.chapter:last-child{border-bottom:0}.chapter-row{display:flex;gap:21px;align-items:center;width:100%;padding:20px 6px;background:transparent;border:0;text-align:left}.chapter-row:hover{background:#edf2e855;border-radius:8px}.chapter-number{width:42px;height:42px;border-radius:8px;display:flex;align-items:center;justify-content:center;background:#e1ecd3;color:#234f35;font-size:16px;font-weight:550;flex-shrink:0}.chapter-number.done{background:var(--forest);color:#fff}.chapter-row>span:nth-child(2){display:flex;flex-direction:column;gap:4px;flex:1}.chapter-row strong{font-size:16px;font-weight:550}.chapter-row>span:nth-child(2)>span{color:var(--muted);font-size:13px;line-height:1.5}.chapter-chevron{transition:transform .2s;margin-left:auto}.expanded .chapter-chevron{transform:rotate(90deg)}.lesson-list{padding:0 8px 12px 66px}.lesson-list-meta{font-size:11px;color:var(--muted);margin:0 0 5px}.lesson-list>a{display:flex;align-items:center;gap:10px;padding:11px 0;font-size:13px}.lesson-list>a:hover{color:var(--forest);text-decoration:underline;text-underline-offset:4px}.lesson-list>a>small{margin-left:auto;color:var(--muted);white-space:nowrap;font-size:11px}.lesson-dot{border:1px solid #acbaa9;display:inline-flex;justify-content:center;align-items:center;width:17px;height:17px;border-radius:50%;flex-shrink:0}.lesson-dot.done{background:var(--forest);border-color:var(--forest);color:#fff}.path-footnote{display:flex;gap:8px;font-size:11px;color:var(--muted);margin:21px 6px}.daily-panel{align-self:start;border:1px solid var(--line);border-radius:10px;padding:24px 26px 20px}.daily-panel h2{font-size:29px;margin:0 0 14px}.daily-panel h3{font-family:var(--serif);font-size:24px;font-weight:400;letter-spacing:-.7px;margin:13px 0 5px}.daily-panel p{font-size:14px;color:var(--muted);line-height:1.7;margin-bottom:15px}.daily-panel .button{font-size:14px;gap:13px;padding:10px 17px}.daily-motto{margin-top:25px;border-top:1px solid var(--line);padding-top:17px;font-size:10px;letter-spacing:1.4px;color:var(--muted);white-space:nowrap}.flash-art{height:151px;position:relative;margin:9px 0 19px}.flash-art>div{position:absolute;width:123px;height:134px;background:var(--canvas);border:1px solid #a0aba0;border-radius:10px;left:60px;top:12px;transform:rotate(15deg)}.flash-art>div:nth-child(2){transform:rotate(7deg);left:45px;top:5px}.flash-art>div:nth-child(3){transform:rotate(-8deg);left:20px;top:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#fafbf8}.flash-art span{color:#50742d;font-size:37px;line-height:1}.flash-art p{font-size:13px;color:var(--ink);text-align:center;margin:6px 0 0;line-height:1.45}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:1px 0 33px}.page-heading h1{margin-bottom:12px}.page-heading p{color:var(--muted);font-size:16px;margin:0;max-width:680px}.lesson-layout{display:grid;grid-template-columns:minmax(0,800px) 215px;gap:42px}.breadcrumb{display:flex;gap:13px;align-items:center;color:var(--muted);font-size:12px;margin-bottom:21px;flex-wrap:wrap}.breadcrumb a:hover{color:var(--forest)}.lesson-heading h1{font-size:43px;letter-spacing:-1.5px;margin-bottom:9px}.lesson-heading>p{font-size:21px;color:var(--muted);margin:0 0 10px}.english-name{font-size:12px;color:var(--muted)}.lesson-tabs{display:flex;gap:26px;border-bottom:1px solid var(--line);margin:25px 0 30px}.lesson-tabs button{background:none;border:0;border-bottom:3px solid transparent;min-height:48px;padding:12px 6px;color:var(--muted);white-space:nowrap;display:flex;gap:7px;align-items:center}.lesson-tabs button.active{color:var(--forest);border-bottom-color:var(--forest);font-weight:600}.lesson-tabs button:hover{color:var(--forest)}.lesson-content{animation:enter .2s ease}.lesson-content>p{font-size:15px;line-height:1.85;margin-bottom:20px}.lesson-content .lead,.lead{font-size:17px;line-height:1.75}.lesson-content h2{font-size:28px}.lesson-content .callout{margin-top:25px}.lesson-rail{border-left:1px solid var(--line);padding-left:24px;height:max-content;position:sticky;top:30px}.lesson-rail h2{font-size:20px;letter-spacing:-.4px;margin-bottom:22px}.lesson-rail nav{display:flex;flex-direction:column;gap:17px}.lesson-rail nav a{display:flex;gap:11px;align-items:center;font-size:12px;line-height:1.6;color:var(--muted)}.lesson-rail nav a>span{height:25px;width:25px;flex-shrink:0;background:#e8ede4;display:flex;justify-content:center;align-items:center;border-radius:50%;font-size:12px}.lesson-rail nav a.active{color:var(--forest);font-weight:550}.lesson-rail nav a.active>span{background:var(--forest);color:#fff}.rail-meta{border-top:1px solid var(--line);margin-top:26px;padding-top:18px;color:var(--muted);font-size:12px}.rail-meta p{display:flex;gap:9px;align-items:center;margin-bottom:14px}.rail-meta>a{font-size:11px;text-decoration:underline;text-underline-offset:3px}.lesson-footer{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:30px;padding-top:22px;border-top:1px solid var(--line)}.concept-figure{margin:24px 0;padding:24px;border:1px solid #cfd9cf;background:#ffffff65;border-radius:8px;overflow:hidden}.concept-figure h3{text-align:center;font-family:var(--serif);font-size:24px;margin-bottom:30px;color:var(--forest)}figcaption{color:var(--muted);font-size:12px;line-height:1.7;text-align:center;margin-top:18px}.figure-result{text-align:center;font-size:15px;margin:22px 0 7px}.figure-controls{display:flex;align-items:center;justify-content:space-between;margin-top:20px;border-top:1px solid var(--line);padding-top:14px}.figure-controls>span{font-size:13px;color:var(--muted)}.array-view{display:flex;justify-content:center;padding:22px 0 35px;max-width:100%;overflow-x:auto}.array-cell{position:relative;min-width:37px;width:62px;flex-shrink:1;aspect-ratio:1/1;max-height:62px;border:1px solid #9eac9d;margin-right:-1px;display:flex;justify-content:center;align-items:center;background:#fff;font-family:var(--serif);font-size:25px;transition:background .2s}.array-cell.active{background:#dbe9ce;border-color:#78936d;z-index:1;color:#183e2c}.array-cell.settled:not(.active){background:#f0f4eb}.array-cell.muted{opacity:.35}.array-cell>small{position:absolute;top:-19px;font-family:monospace;font-size:10px;color:var(--muted)}.cell-marker{position:absolute;bottom:-29px;color:var(--forest);font-size:26px;line-height:1}.small-tree{width:100%;height:200px}.graph-view{width:100%;max-height:290px;display:block}.growth-bars>div{display:flex;gap:12px;align-items:center;margin:12px 0}.growth-bars code{width:94px;flex-shrink:0;font-size:13px}.growth-bars>div>span{height:17px;background:#6f8f67;border-radius:2px;max-width:calc(100% - 106px)}.hash-diagram{display:flex;justify-content:center;gap:10px}.hash-diagram>div{display:flex;flex-direction:column;gap:8px;align-items:center;flex:1;max-width:75px}.bucket-index{color:var(--muted);font:12px monospace}.bucket{padding:13px 3px;border:1px solid #adbea9;background:#eaf0e2;border-radius:4px;font:13px monospace;white-space:nowrap;width:100%;text-align:center}.order-diagram{display:flex;justify-content:space-around;gap:20px;padding:20px 0}.order-diagram>div{display:flex;flex-direction:column;gap:10px}.order-diagram small{font-size:10px;letter-spacing:1.5px;color:var(--muted)}.order-diagram strong{font-family:var(--serif);font-size:26px;font-weight:400}.order-diagram span{font-size:12px;color:var(--muted)}.merge-diagram{text-align:center;font-family:monospace;font-size:20px;max-width:340px;margin:0 auto}.merge-diagram>div{display:flex;justify-content:space-around;padding:9px;color:var(--forest)}.merge-diagram>strong{display:inline-block;padding:10px 25px;background:var(--sage);border-radius:4px;font-weight:500}.callout{display:flex;gap:14px;align-items:flex-start;padding:20px 22px;background:#e8efe3;border-radius:7px;color:#2b4431;font-size:14px;line-height:1.8;margin:24px 0}.callout>svg{margin-top:3px;color:#466e3e}.callout strong{display:block;font-weight:600;margin-bottom:4px}.worked-steps{list-style:none;padding:0;margin:25px 0}.worked-steps li{display:flex;gap:17px;padding:17px 0;border-bottom:1px solid var(--line)}.worked-steps li>span{width:27px;height:27px;display:flex;align-items:center;justify-content:center;background:var(--sage);color:var(--forest);font-size:12px;flex-shrink:0;border-radius:50%;margin-top:1px}.worked-steps p{margin:0;font-size:15px}.pitfall{border-left:3px solid #bfa06b;padding:4px 0 4px 19px;margin:30px 0}.pitfall h3{font-size:15px;font-weight:600;margin-bottom:7px}.pitfall p{font-size:14px;margin:0 0 7px;color:#666249}.code-block{border:1px solid var(--line);border-radius:8px;background:#f0f3ed;overflow:auto;margin:24px 0}.code-label{display:flex;justify-content:space-between;padding:14px 19px;font-size:10px;letter-spacing:1.2px;border-bottom:1px solid var(--line);color:#566951;gap:20px;white-space:nowrap}.code-label span{font-size:10px;letter-spacing:0;color:var(--muted)}pre{margin:0;padding:19px 0;font:12px/1.95 ui-monospace,SFMono-Regular,Consolas,monospace;min-width:max-content}.code-line{display:flex;padding-right:20px;min-height:23px}.code-line.active{background:#d9e7cd;box-shadow:inset 3px 0 var(--forest)}.line-number{color:#52634f;-webkit-user-select:none;user-select:none;width:40px;flex-shrink:0;text-align:right;margin-right:17px}.question-card{padding:25px;border:1px solid var(--line);background:#fff;border-radius:9px;margin:24px 0}.section-kicker{font-size:10px;letter-spacing:1.5px;color:var(--muted)}.question-card h3{margin:12px 0 23px;font-size:18px;font-weight:500}.answer-option{display:flex;align-items:center;gap:13px;padding:14px 16px;border:1px solid var(--line);border-radius:6px;margin-bottom:10px;font-size:14px;line-height:1.55;cursor:pointer}.answer-option.selected{border-color:#4c7756;background:#f0f5e9}.answer-option.correct{border-color:#618456;background:#eaf2df}.answer-option>svg{margin-left:auto;color:var(--forest)}.question-card>.button{margin-top:8px}.answer-feedback{padding:19px 20px;background:#f0f4e9;border-radius:6px;margin-top:19px;font-size:14px}.answer-feedback.retry{background:#faf3e6}.answer-feedback>strong{display:flex;gap:8px;align-items:center;font-weight:600}.answer-feedback p{margin:10px 0}.answer-feedback summary{font-size:12px;color:#4f654a;margin-top:14px}.answer-feedback details p{font-size:12px}.answer-feedback details b{font-weight:550}.complete-action{display:flex;gap:16px;align-items:center;font-size:12px;color:var(--muted);flex-wrap:wrap}.completion{display:flex;gap:14px;align-items:flex-start;padding:23px;background:var(--sage);border-radius:8px;color:var(--forest)}.completion h3{margin:0 0 4px;font-size:16px}.completion p{margin:0;font-size:13px}.empty-state{text-align:center;max-width:610px;margin:50px auto;padding:30px 15px}.empty-state h2{margin:20px 0 13px}.empty-state>svg{color:var(--forest)}.empty-state p{color:var(--muted)}.empty-state .text-button{display:flex;margin:15px auto}.segmented{display:flex;gap:5px;padding:4px;border:1px solid var(--line);border-radius:8px;max-width:100%;background:#f0f3eb}.segmented button{border:0;background:transparent;padding:10px 16px;border-radius:5px;color:var(--muted);font-size:13px;min-height:40px;white-space:nowrap}.segmented button.active{background:#fff;color:var(--forest);box-shadow:0 1px 3px #18302012;font-weight:550}.segmented button span{font-size:11px;background:var(--sage);padding:2px 6px;border-radius:4px;margin-left:6px}.review-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px}.select-label select{font-size:13px;background:transparent}.review-stage{max-width:750px;margin:36px auto}.review-meta{display:flex;justify-content:space-between;gap:16px;font-size:12px;color:var(--muted);margin:0 3px 13px}.flashcard{min-height:350px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:#fff;border:1px solid #d6dfd1;border-radius:14px;padding:35px 50px;box-shadow:0 4px 0 -1px #edf1e7,0 5px #d8e0d2}.flashcard-label{font-size:10px;letter-spacing:1.9px;color:#687b5e;margin-bottom:23px}.flashcard h2{font-size:29px;line-height:1.35;letter-spacing:-.5px;max-width:600px;margin-bottom:22px}.flash-hint{font-size:13px;color:var(--muted);margin-bottom:24px}.flash-answer{animation:enter .2s}.flash-answer>p{font-size:18px;color:var(--forest);font-weight:550}.flash-answer>span{font-size:14px;line-height:1.8;display:block}.flash-answer>a{display:inline-flex;align-items:center;gap:8px;margin-top:25px;font-size:12px;text-decoration:underline;text-underline-offset:3px}.rating-area>p{text-align:center;font-size:13px;color:var(--muted);margin:25px 0 15px}.rating-buttons{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.rating{display:flex;flex-direction:column;align-items:center;gap:6px;padding:13px;background:#fff;border:1px solid var(--line);border-radius:7px}.rating:hover{background:var(--sage);border-color:#9eaf96}.rating strong{font-size:14px;font-weight:550}.rating span{font-size:11px;color:var(--muted)}.rating.good{background:var(--forest);color:#fff}.rating.good span{color:#d2e1c9}.review-explainer{margin-top:40px;display:flex;align-items:flex-start;gap:15px;border-top:1px solid var(--line);padding-top:23px;color:var(--muted)}.review-explainer>svg{color:#6d8460}.review-explainer strong{font-size:13px;color:var(--ink);font-weight:550}.review-explainer p{font-size:12px;margin:5px 0}.lab-controls{display:flex;gap:20px;align-items:flex-end;flex-wrap:wrap}.lab-controls label,.trace-form label{display:flex;flex-direction:column;gap:7px;font-size:12px;color:var(--muted)}.lab-controls select{min-width:190px}.lab-controls form{display:flex;align-items:flex-end;gap:12px;flex:1}.lab-controls form>label:first-child{flex:1}.lab-controls input{width:100%}.target-input{width:72px}.error-text{color:#a44236;font-size:13px;margin-top:14px}.lab-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:22px;margin:27px 0}.lab-grid>.code-block{margin:0}.visualizer{background:#fff;border:1px solid var(--line);border-radius:9px;overflow:hidden;display:flex;flex-direction:column;min-width:0}.visualizer-header{display:flex;gap:12px;justify-content:space-between;align-items:center;padding:19px 22px}.visualizer-header h2{font-family:inherit;font-size:15px;font-weight:550;letter-spacing:0;margin:0}.visualizer-header>span{font-size:11px;color:var(--muted);white-space:nowrap}.visualizer>.array-view{margin:30px 15px 12px;min-height:135px}.visualizer .array-cell{font-size:21px}.frame-caption{padding:0 24px;text-align:center;font-size:13px;color:#556a50;min-height:52px;margin:10px 0}.variables{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;margin:0 18px 24px}.variables>div{display:flex;gap:9px;align-items:center;background:#f1f4ed;border-radius:4px;padding:7px 10px;font:12px monospace}.variables small{color:var(--muted)}.variables strong{color:var(--forest);font-weight:500}.playback{display:flex;align-items:center;gap:6px;margin-top:auto;padding:14px;border-top:1px solid var(--line)}.speed{margin-left:auto}.speed select{font-size:11px;padding:8px 19px 8px 8px;background:transparent;border:0}.narrow-panel{max-width:740px;margin:30px auto}.trace-form{display:flex;gap:15px;align-items:flex-end;margin:24px 0}.trace-form input{max-width:220px}.round-icon{display:inline-flex;width:49px;height:49px;align-items:center;justify-content:center;background:var(--sage);border-radius:12px;color:var(--forest);flex-shrink:0}.exam-year-bar{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:24px}.exam-banner{display:flex;gap:23px;background:#eaf0e3;border:1px solid #d8e3cf;padding:26px 28px;border-radius:9px}.exam-banner h2{font-size:26px;margin-bottom:7px}.exam-banner p{font-size:14px;color:var(--muted);margin-bottom:12px}.inline-links{display:flex;flex-wrap:wrap;gap:14px 23px}.source-note{font-size:12px;color:var(--muted);line-height:1.8;margin:20px 0}.exam-task-list>button{width:100%;display:flex;gap:22px;align-items:center;padding:22px 9px;border:0;border-bottom:1px solid var(--line);text-align:left;background:transparent}.exam-task-list>button:hover{background:#edf2e8}.task-index{font-family:var(--serif);font-size:23px;color:#50664b;min-width:30px}.exam-task-list>button>span:nth-child(2){display:flex;flex-direction:column;gap:6px;flex:1}.exam-task-list strong{font-weight:500;font-size:16px}.exam-task-list small{color:var(--muted);font-size:12px}.archive-older{margin-top:35px}.archive-older h3{font-size:16px;margin-bottom:6px}.archive-older p{font-size:13px;color:var(--muted)}.older-links{display:flex;gap:24px;flex-wrap:wrap}.exam-detail{max-width:810px;margin:0 auto}.exam-detail>.breadcrumb{margin-top:23px}.exam-detail>h2{font-size:35px;margin-bottom:14px}.written-answer{display:flex;flex-direction:column;gap:10px;margin:30px 0 23px;font-size:14px;font-weight:550}.written-answer textarea,.written-answer span{font-weight:400}.hint{margin:20px 0;padding:15px 18px;border:1px dashed #bacbb1;border-radius:6px;font-size:13px}.hint p{margin:12px 0 0}.exam-solution{margin-top:35px;animation:enter .25s}.exam-solution>h3{font-family:var(--serif);font-size:27px;font-weight:400}.self-assessment{padding:22px;background:#eef2e8;border-radius:8px;margin:25px 0}.self-assessment legend{float:left;width:100%;font-weight:550;margin-bottom:14px}.self-assessment label{clear:both;display:flex;align-items:flex-start;gap:10px;padding:8px 0;font-size:13px;line-height:1.6}.self-assessment input{margin-top:2px}.patterns{max-width:850px;margin:0 auto}.patterns>.callout{margin-bottom:37px}.pattern-row{display:flex;gap:19px;align-items:center;border-bottom:1px solid var(--line);padding:24px 0}.pattern-row>div{flex:1}.pattern-row h3{font-size:17px;margin:0 0 7px;font-weight:550}.pattern-row p{font-size:13px;color:var(--muted);margin:0 0 7px}.pattern-row .external-link{font-size:11px}.exam-strategy{margin-top:38px}.exam-strategy ol{padding-left:20px}.exam-strategy li{padding:9px 0;font-size:14px;line-height:1.8}.practice-intro{max-width:650px;margin:45px auto;text-align:center}.practice-intro>.round-icon{margin-bottom:23px}.practice-intro h2{font-size:32px}.practice-intro>p{color:var(--muted)}.practice-facts{display:flex;justify-content:center;gap:18px;flex-wrap:wrap;color:var(--muted);font-size:12px;margin:23px 0}.practice-intro>.small-text{margin-top:23px}.exam-test{max-width:740px;margin:35px auto}.exam-test>.between{font-size:12px;color:var(--muted)}.timer{display:flex;align-items:center;gap:8px;font-variant-numeric:tabular-nums}.exam-test progress{margin-top:20px}.exam-test h2{font-size:27px;margin:30px 0}.exam-test fieldset{margin-bottom:28px}.exam-test>.small-text{margin-top:23px}.practice-results{max-width:800px;margin:30px auto}.practice-results header{text-align:center;margin-bottom:35px}.practice-results header>svg{color:var(--forest)}.practice-results h2{margin:15px 0 8px}.practice-results header>p{color:var(--muted);font-size:14px}.practice-results details{padding:18px 0;border-bottom:1px solid var(--line);font-size:13px}.practice-results summary{font-size:14px}.result-correct,.result-wrong{display:inline-block;padding:3px 7px;font-size:10px;border-radius:4px;margin-right:12px;background:#e4eed9;color:#36582b}.result-wrong{background:#f0e6d5;color:#785928}.practice-results details p{margin:12px 0}.practice-results details a{color:var(--forest);text-decoration:underline}.practice-results>.button{margin-top:25px}.sources-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:45px}.sources-layout>section>h2{font-size:27px;margin-top:36px;margin-bottom:13px}.sources-layout>section>p{font-size:14px;color:var(--muted)}.book-reference{display:flex;align-items:flex-start;gap:17px;margin-bottom:18px;padding:25px;background:var(--sage);border-radius:8px}.book-reference>svg{color:var(--forest);margin-top:5px}.book-reference h2{font-size:25px;margin:7px 0 10px;letter-spacing:-.7px}.book-reference p{font-size:13px;margin:0;line-height:1.7;color:#566b4e}.source-links{display:flex;flex-direction:column;gap:9px;align-items:flex-start}.book-mapping>div{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:14px 0;border-bottom:1px solid var(--line);font-size:13px}.book-mapping strong{font-weight:500}.book-mapping span{color:var(--muted);white-space:nowrap}.storage-panel{border:1px solid var(--line);border-radius:9px;align-self:start;padding:24px;position:sticky;top:25px}.storage-panel>svg{color:var(--forest);margin-bottom:17px}.storage-panel h2{font-size:25px;margin-bottom:14px}.storage-panel p{font-size:13px;color:var(--muted)}.storage-panel .button,.storage-panel .text-button{font-size:12px;gap:8px}.storage-panel .text-button{margin:8px 0 15px}.storage-panel .small-text{font-size:11px}.import-message{padding:10px;background:var(--sage);border-radius:5px;font-size:12px!important}@keyframes enter{0%{transform:translateY(4px)}to{transform:translateY(0)}}@media(min-width:1500px){.sidebar{width:248px}.app-body{margin-left:248px}.main-content{padding-top:25px}.home-heading h1{font-size:73px}.home-heading p{font-size:26px}.feature{min-height:220px}.feature h2{font-size:42px}.home-columns{grid-template-columns:minmax(0,1fr) 410px;gap:40px}.daily-panel{padding:26px 29px}.flash-art{height:175px;margin-top:23px}.flash-art>div{width:139px;height:150px;left:92px}.flash-art>div:nth-child(2){left:75px}.flash-art>div:nth-child(3){left:52px}.daily-panel h3{font-size:27px}.daily-panel p{font-size:15px}.chapter-row{padding-top:15px;padding-bottom:15px}.chapter-row strong{font-size:18px}.chapter-row>span:nth-child(2)>span{font-size:15px}.chapter-number{width:45px;height:45px}.home-columns{margin-top:33px}.daily-motto{font-size:11px}.lesson-layout{gap:50px;grid-template-columns:minmax(0,1fr) 245px}.lesson-heading h1{font-size:49px}.lesson-rail nav a{font-size:13px}.lesson-content>p{font-size:16px}}@media(max-width:1200px){.sidebar{width:210px;padding:27px 18px}.app-body{margin-left:210px}.main-content{padding:34px 30px 55px}.topbar{margin:0 30px}.home-heading h1{font-size:52px}.home-heading p{font-size:20px}.home-columns{gap:25px;grid-template-columns:minmax(0,1fr) 260px}.daily-panel{padding:22px}.feature{padding:29px;min-height:206px}.feature h2{font-size:29px}.feature p{font-size:14px}.feature .tree-art{width:25%;right:6px}.feature>div:first-child{max-width:82%}.chapter-row{gap:16px}.chapter-row strong{font-size:15px}.chapter-row>span:nth-child(2)>span{font-size:12px}.daily-panel h2{font-size:27px}.daily-panel h3{font-size:22px}.daily-motto{font-size:9px;letter-spacing:1px}.flash-art>div{left:40px}.flash-art>div:nth-child(2){left:28px}.flash-art>div:nth-child(3){left:10px}.lesson-layout{gap:26px;grid-template-columns:minmax(0,1fr) 180px}.lesson-rail{padding-left:18px}.lesson-heading h1{font-size:38px}.lesson-heading>p{font-size:18px}.lesson-tabs{gap:18px}.lesson-tabs button{font-size:13px}.sources-layout{gap:25px;grid-template-columns:minmax(0,1fr) 240px}.storage-panel{padding:20px}.page-heading h1{font-size:39px}.lab-grid{grid-template-columns:1fr}.lab-grid .code-block{max-height:350px}.playback{justify-content:center}.speed{margin-left:10px}}@media(max-width:1000px){.home-columns{grid-template-columns:1fr}.daily-panel{display:grid;grid-template-columns:1fr 1fr;column-gap:30px;padding:25px}.daily-panel h2{grid-column:1}.daily-panel .flash-art{grid-column:2;grid-row:1/5;align-self:center;margin:0}.daily-panel h3,.daily-panel p{grid-column:1}.daily-panel .button{grid-column:1;justify-self:start}.daily-motto{grid-column:1/-1;margin-top:18px}.lesson-layout{grid-template-columns:1fr}.lesson-rail{position:static;border-left:0;border-top:1px solid var(--line);padding:25px 0 0;display:none}.sources-layout{grid-template-columns:1fr}.storage-panel{position:static}.storage-panel>.button{margin-right:20px}.feature h2{max-width:360px}.home-heading h1{font-size:48px}.home-heading p{font-size:18px}.feature p{max-width:320px}.chapter-row{padding:20px 6px}.chapter-row strong{font-size:17px}.chapter-row>span:nth-child(2)>span{font-size:14px}.home-columns{margin-top:30px}.section-heading h2{font-size:29px}}@media(max-width:760px){.sidebar{transform:translate(-100%);transition:transform .2s;width:245px;top:61px;padding-top:24px;z-index:45}.sidebar.open{transform:translate(0)}.sidebar .brand{display:none}.sidebar nav{margin-top:6px}.sidebar nav a{padding:13px}.sources-nav{margin-bottom:15px}.app-body{margin-left:0;padding-top:61px}.topbar{display:none}.mobile-header{display:flex;position:fixed;top:0;left:0;right:0;height:61px;align-items:center;justify-content:space-between;padding:0 19px;border-bottom:1px solid var(--line);background:var(--surface);z-index:50}.mobile-brand{display:flex;align-items:center;gap:9px;color:var(--forest);font-family:var(--serif);font-size:33px;letter-spacing:-1px;font-weight:700}.mobile-brand>span{font-family:inherit;font-size:11px;letter-spacing:1px;font-weight:400;margin-left:7px}.menu-backdrop{position:fixed;top:61px;right:0;bottom:0;left:0;background:#0e271d55;border:0;z-index:40}.main-content{padding:31px 22px 45px;min-height:calc(100vh - 61px)}h1:focus-visible,main:focus-visible{outline:none}.home-heading{padding:0}.home-heading h1{font-size:43px;letter-spacing:-1.9px}.home-heading p{font-size:17px;margin-bottom:25px}.feature{min-height:240px;padding:27px 25px;align-items:flex-start}.feature>div:first-child{max-width:100%}.feature h2{font-size:30px;max-width:320px}.feature p{max-width:290px;font-size:14px}.feature .tree-art{width:165px;right:-17px;bottom:5px;opacity:.55;z-index:-1}.feature .button{font-size:13px;margin-top:2px;position:relative}.feature .landscape{z-index:-1}.home-columns{gap:32px}.section-heading{padding:0}.section-heading h2{font-size:29px}.section-heading p{font-size:14px}.quiet-count{font-size:11px}.chapter-row{padding:19px 0;gap:15px}.chapter-row strong{font-size:15px}.chapter-row>span:nth-child(2)>span{font-size:12px}.chapter-number{width:37px;height:37px;font-size:13px;border-radius:7px}.chapter-chevron{width:17px}.lesson-list{padding-left:51px}.lesson-list>a{font-size:12px}.lesson-list>a>small{font-size:10px}.path-footnote{font-size:10px;margin-left:0;line-height:1.7;align-items:center}.daily-panel{padding:23px;column-gap:15px}.daily-panel h2{font-size:25px}.daily-panel h3{font-size:22px}.daily-panel p{font-size:12px}.daily-panel .button{font-size:11px;gap:7px;padding:10px 12px}.daily-panel .flash-art{transform:scale(.9);transform-origin:left center}.daily-motto{font-size:9px}.page-heading{margin-bottom:25px}.page-heading h1{font-size:37px;letter-spacing:-1.3px}.page-heading p{font-size:14px}.lesson-heading h1{font-size:36px}.lesson-heading>p{font-size:18px}.breadcrumb{font-size:11px;gap:10px;margin-bottom:18px}.lesson-tabs{gap:10px;overflow-x:auto;margin-top:24px;margin-bottom:25px}.lesson-tabs button{font-size:12px;padding:12px 3px;min-height:46px;flex:1;justify-content:center}.lesson-content>p{font-size:14px}.lesson-content .lead{font-size:16px}.concept-figure{padding:20px 15px}.concept-figure h3{font-size:23px}.concept-figure figcaption{font-size:11px}.array-cell{font-size:23px}.small-tree{height:165px}.callout{font-size:13px;padding:17px;gap:11px}.worked-steps{margin-top:14px}.worked-steps li{gap:12px}.worked-steps p{font-size:14px}.code-label{padding:12px;font-size:9px}.code-label span{font-size:9px}.line-number{width:27px;margin-right:12px}pre{font-size:11px}.question-card{padding:20px 16px}.question-card h3{font-size:16px}.answer-option{font-size:13px;padding:12px}.answer-feedback{font-size:13px;padding:16px}.lesson-footer .button{font-size:12px;gap:9px;padding:10px 14px}.lesson-footer .text-button{font-size:13px}.lesson-footer .small-text{font-size:11px;max-width:150px;text-align:right}.review-toolbar{flex-direction:column;align-items:stretch}.segmented{align-self:flex-start}.segmented button{font-size:12px;padding:9px 13px}.review-toolbar .select-label{align-self:flex-start}.review-stage{margin-top:25px}.review-meta{font-size:11px}.flashcard{padding:28px 24px;min-height:335px}.flashcard h2{font-size:25px}.flashcard-label{font-size:9px;letter-spacing:1.4px}.flash-answer>p{font-size:16px}.rating-buttons{gap:7px}.rating{padding:12px 5px}.rating strong{font-size:12px}.rating span{font-size:10px}.review-explainer{gap:12px}.lab-controls{align-items:stretch;gap:16px}.lab-controls>label{width:100%}.lab-controls select{width:100%}.lab-controls form{gap:9px;width:100%;flex-wrap:wrap}.lab-controls form>.button{font-size:12px;padding:11px 12px}.lab-controls form input{font-size:13px}.lab-grid{margin-top:21px}.visualizer-header{padding:18px 15px}.visualizer-header h2{font-size:14px}.visualizer>.array-view{margin-left:12px;margin-right:12px}.visualizer .array-cell{font-size:18px;min-width:24px}.frame-caption{padding:0 18px}.playback{gap:3px;padding:12px 7px}.playback .icon-button{min-width:32px}.playback .button{padding:8px 10px;font-size:12px;gap:6px}.speed{margin-left:0}.speed select{padding-right:17px;font-size:10px}.variables{gap:7px}.variables>div{font-size:11px;padding:6px 8px}.exam-year-bar{flex-direction:column;align-items:flex-start}.exam-banner{padding:22px 18px;gap:14px}.exam-banner .round-icon{width:36px;height:36px;border-radius:8px}.exam-banner h2{font-size:23px}.exam-banner p{font-size:13px}.inline-links{gap:10px 18px}.external-link{font-size:12px}.exam-task-list>button{padding:20px 2px;gap:15px}.exam-task-list strong{font-size:15px}.exam-task-list small{font-size:11px}.task-index{font-size:21px;min-width:25px}.exam-detail>h2{font-size:31px}.exam-detail .lead{font-size:15px}.written-answer textarea{font-size:14px}.pattern-row{gap:13px;align-items:flex-start}.pattern-row h3{font-size:15px}.pattern-row p{font-size:12px}.pattern-row>.text-button{font-size:12px;padding-top:0;min-height:30px}.pattern-row .chapter-number{width:30px;height:30px}.practice-intro{margin-top:35px}.practice-intro h2{font-size:29px}.practice-intro>p{font-size:14px}.practice-facts{font-size:11px;gap:12px}.exam-test h2{font-size:24px}.exam-test>.between>.button{font-size:12px;max-width:230px}.sources-layout>section>p{font-size:13px}.book-reference{padding:21px 18px;gap:14px}.book-reference h2{font-size:24px}.book-reference>svg{width:23px}.book-mapping>div{font-size:12px}.storage-error{padding:14px 20px;font-size:12px}.order-diagram{gap:15px}.order-diagram strong{font-size:22px}.order-diagram span{font-size:10px}.sources-layout>section>h2{font-size:25px}}@media(max-width:370px){.main-content{padding-left:16px;padding-right:16px}.home-heading h1{font-size:36px}.home-heading p{font-size:15px}.feature h2{font-size:27px}.feature{padding:23px}.feature p{max-width:235px}.chapter-row strong{font-size:14px}.chapter-row>span:nth-child(2)>span{font-size:11px}.chapter-row{gap:12px}.daily-panel{display:block}.daily-panel .flash-art{display:none}.daily-panel h3{margin-top:20px}.daily-panel p{font-size:13px}.daily-panel .button{font-size:12px}.page-heading h1,.lesson-heading h1{font-size:32px}.lesson-tabs{gap:7px}.lesson-tabs button{font-size:11px;padding-left:1px;padding-right:1px}.review-meta{font-size:10px}.review-meta>span:first-child{max-width:160px}.flashcard{padding:25px 18px}.flashcard h2{font-size:23px}.segmented button{font-size:11px;padding:8px 11px}.lab-controls form>.button{width:100%}.trace-form{flex-wrap:wrap}.bucket{font-size:11px}.hash-diagram{gap:6px}.book-mapping>div{align-items:flex-start}.book-mapping strong{max-width:165px}.book-mapping span{font-size:11px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}.linked-diagram{display:flex;flex-direction:column;align-items:flex-start;max-width:380px;margin:12px auto;gap:5px}.linked-diagram>small{color:var(--muted);font:12px monospace}.linked-diagram>div{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%}.linked-diagram b{font:24px var(--serif);padding:12px 18px;border:1px solid #9eac9d;border-radius:5px;background:var(--sage)}.linked-diagram code{font-size:13px;color:var(--muted)}.diagram-arrow{text-align:center;font-size:24px;color:var(--forest);margin:0}.concept-figure .diagram-arrow+.array-view{padding-top:10px}.linked-diagram>span{margin-left:22px;color:var(--forest)}@media(max-width:370px){.linked-diagram>div{gap:7px}.linked-diagram b{padding:10px 12px}}h1[tabindex]:focus-visible,main[tabindex]:focus-visible{outline:none}@media(min-width:1500px){.lesson-layout{grid-template-columns:minmax(0,780px) 245px;justify-content:center}.concept-figure .array-cell{width:85px;max-height:70px;font-size:29px}.concept-figure .array-view{padding-top:25px}}@media(max-width:760px){.sidebar{visibility:hidden}.sidebar.open{visibility:visible}.daily-panel{display:block}.daily-panel .flash-art{height:150px;width:210px;margin:22px auto;transform:none}.daily-panel h3{font-size:24px}.daily-panel p{font-size:14px}.daily-panel .button{font-size:13px}.daily-motto{margin-top:23px}.linked-diagram>div{gap:8px}.linked-diagram b{padding:12px}}.course-shortcuts{display:flex;flex-wrap:wrap;gap:12px 24px;margin:-8px 0 24px}.course-shortcuts a{display:inline-flex;align-items:center;gap:10px;font-size:14px;color:var(--forest);text-decoration:underline;text-underline-offset:5px}.catalog-filters{display:flex;flex-wrap:wrap;gap:20px;margin:28px 0 16px;align-items:end}.catalog-filters label{display:flex;flex-direction:column;gap:8px;font-size:13px}.catalog-search{flex:1 1 300px}.catalog-search>span:last-child{position:relative}.catalog-search svg{position:absolute;left:14px;top:15px;color:var(--muted)}.catalog-search input{width:100%;padding-left:42px;min-height:48px}.catalog-filters select{min-height:48px;max-width:100%}.lesson-catalog{max-width:880px}.lesson-catalog section{margin:32px 0 40px}.lesson-catalog h2{font-family:var(--serif);font-size:26px;padding-bottom:12px;border-bottom:1px solid var(--line);margin-bottom:0;display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px}.lesson-catalog h2 span{font:12px DM Sans,sans-serif;color:var(--muted)}.catalog-lesson{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 8px;border-bottom:1px solid var(--line)}.catalog-lesson:hover{background:var(--sage)}.catalog-lesson>span{display:flex;flex-direction:column;gap:5px}.catalog-lesson strong{font-size:15px;font-weight:500}.catalog-lesson small{font-size:12px;color:var(--muted)}.catalog-lesson>svg{flex-shrink:0;color:var(--forest)}.semester-intro{display:flex;gap:20px;padding:24px;background:var(--sage);border-radius:var(--radius);margin-bottom:28px}.semester-intro>svg{flex-shrink:0;color:var(--forest)}.semester-intro p{margin:0;font-size:14px;line-height:1.8}.semester-intro strong{font-weight:600}.semester-weeks{max-width:900px}.semester-weeks section{border-bottom:1px solid var(--line)}.semester-week-toggle{display:flex;width:100%;align-items:center;gap:24px;text-align:left;background:transparent;border:0;padding:20px 12px}.semester-week-toggle>span:nth-child(2){display:flex;flex-direction:column;gap:6px;flex:1}.semester-week-toggle strong{font-weight:500;font-size:16px}.semester-week-toggle small{color:var(--muted);font-size:12px}.week-number{font-size:13px;color:var(--forest);white-space:nowrap}.current-week{background:#edf3e8}.week-lessons{padding:0 24px 20px 82px}.week-lessons a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;font-size:14px;color:var(--forest)}.week-lessons a:hover{text-decoration:underline}.semester-provenance{margin-top:36px;padding-top:16px;border-top:1px solid var(--line)}.comparison-scroll{overflow-x:auto;margin:28px 0}.semester-table{width:100%;border-collapse:collapse;font-size:14px}.semester-table caption{text-align:left;font-family:var(--serif);font-size:24px;margin-bottom:16px}.semester-table th,.semester-table td{text-align:left;padding:16px 12px;border-bottom:1px solid var(--line);vertical-align:top}.semester-table thead{background:var(--sage)}.semester-table th{font-weight:500}.exam-givens{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:24px;margin:24px 0}.exam-givens h2,.exam-given-code h2{font-size:17px;font-weight:500;margin-bottom:12px}.exam-givens ul{padding-left:20px;margin:0;font-size:14px;line-height:1.9;overflow-wrap:anywhere}.exam-givens li+li{margin-top:12px}.exam-figure{color:var(--forest);margin:24px 0;padding:24px;border:1px solid var(--line);background:var(--surface);border-radius:var(--radius);text-align:center}.exam-figure svg{display:block;width:100%;max-width:480px;margin:auto}.exam-figure figcaption{color:var(--muted);font-size:13px;margin-top:8px}.exam-figure details{text-align:left;margin-top:20px;font-size:13px;color:var(--muted)}.exam-figure details p{margin:12px 0 0;line-height:1.7}.exam-part-nav{display:flex;flex-wrap:wrap;gap:8px;margin:32px 0 24px}.exam-part-nav a{padding:11px 18px;border:1px solid var(--line);border-radius:6px;font-size:14px}.exam-part-nav a.active{background:var(--forest);border-color:var(--forest);color:#fff}.exam-subquestion>h2{font:30px var(--serif);margin:12px 0}.exam-subquestion>p{line-height:1.9;font-size:16px}.exam-solution>p{font-size:15px;line-height:1.9}.exam-checklist{margin:28px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px 0;font-size:14px}.exam-checklist summary{cursor:pointer}.preserve-lines{white-space:pre-wrap;overflow-wrap:anywhere}@media(max-width:760px){.catalog-filters{flex-direction:column;align-items:stretch}.catalog-search{flex-basis:auto}.catalog-filters input{font-size:16px}.semester-intro{padding:20px 16px;gap:12px}.semester-week-toggle{padding:18px 4px;gap:16px}.semester-week-toggle strong{font-size:15px}.week-lessons{padding:0 12px 16px}.semester-table{font-size:12px}.semester-table th,.semester-table td{padding:12px 8px}.exam-givens,.exam-figure{padding:16px}.exam-part-nav{gap:6px}.exam-part-nav a{padding:11px 13px}.exam-subquestion>p{font-size:15px}}.section-navigation{display:grid;gap:10px;padding:20px 0;border-block:1px solid var(--line);margin-bottom:24px}.section-navigation label{color:var(--muted);font-size:.86rem}.section-navigation progress{width:100%;height:5px;accent-color:var(--forest)}.section-navigation select{max-width:100%}.recall-check{padding:24px;background:var(--sage);border-radius:var(--radius);margin:32px 0 8px}.recall-check h3{margin:12px 0 20px}.recall-check label,.practice-problem label,.mistake-list label,.add-mistake label,.training-controls label,.mock-jump{display:grid;gap:8px;margin-bottom:20px;font-weight:500}.recall-check textarea,.practice-problem textarea,.practice-problem input:not([type=radio]):not([type=checkbox]),.mistake-list textarea,.training-controls select,.recall-check select,.practice-problem select,.add-mistake select,.mistake-list select,.section-navigation select,.mock-jump select{width:100%;min-width:0;background:var(--surface);border:1px solid #9faea3;border-radius:6px;padding:12px;color:var(--ink)}.recall-check textarea,.practice-problem textarea,.mistake-list textarea{resize:vertical;line-height:1.7}.recall-answer{border-top:1px solid #b7c9aa;margin-top:24px;padding-top:12px}.training-links{display:flex;flex-wrap:wrap;gap:12px 24px;border-block:1px solid var(--line);padding:16px 0;margin:0 0 32px}.training-links a{color:var(--forest);font-weight:600;font-size:.9rem;text-decoration:underline;text-underline-offset:4px;padding:6px 0}.training-controls{display:flex;flex-wrap:wrap;gap:24px;margin-bottom:16px}.training-controls label{flex:1;min-width:min(240px,100%)}.practice-problem{max-width:820px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:32px;margin-bottom:32px}.practice-problem h2{font-family:var(--serif);font-size:1.6rem;font-weight:400;line-height:1.4;margin:8px 0 24px}.practice-problem p,.mistake-list p{line-height:1.8}.practice-problem fieldset{padding:0;border:0;margin:24px 0;min-width:0}.practice-problem .answer-option{display:flex;font-weight:400;margin-bottom:10px}.action-row{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin:20px 0 0}.practice-result{margin-top:28px;padding-top:24px;border-top:1px solid var(--line)}.practice-result h3{margin-top:0}.code-editor{font-family:ui-monospace,monospace;font-size:.9rem;-moz-tab-size:2;tab-size:2;white-space:pre;overflow:auto}.language-help{margin:24px 0}.language-help summary,.mistake-list summary{cursor:pointer;padding:12px 0}.trace-log{font-size:.8rem;line-height:1.8;padding-left:24px;overflow-wrap:anywhere}.table-scroll{overflow:auto;max-width:100%}.table-scroll table{border-collapse:collapse;width:100%;font-size:.9rem}.table-scroll th,.table-scroll td{border-bottom:1px solid var(--line);padding:12px;text-align:left;min-width:120px;vertical-align:top}.mistake-list{max-width:820px}.mistake-list details{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px 24px;margin-bottom:16px}.mistake-list summary span{margin-right:16px}.add-mistake{border-top:1px solid var(--line);padding:20px 0;margin-top:20px}.readiness-chapter{margin:36px 0}.readiness-row{display:grid;grid-template-columns:minmax(150px,1fr) auto;gap:8px 24px;padding:20px 0;border-bottom:1px solid var(--line)}.readiness-row>.small-text{grid-column:1 / -1}.readiness-row a{font-weight:600}.evidence-status{font-size:.85rem;color:var(--muted)}.evidence-status.supported{color:var(--forest);font-weight:600}.mock-status{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:20px;background:var(--sage);border-radius:var(--radius);margin-bottom:16px}.mock-jump{max-width:820px;margin-top:28px}.practice-problem .rubric-row{display:flex;align-items:flex-start;gap:12px;font-weight:400;line-height:1.7}.rubric-row input{flex:none;margin-top:6px}.mock-submit{margin:24px 0}.history-row{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;width:100%;padding:20px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);text-align:left;margin-bottom:12px}.lesson-content>h2:focus{outline:none}@media(max-width:760px){.practice-problem{padding:20px}.practice-problem h2{font-size:1.3rem}.recall-check{padding:20px}.training-links{gap:8px 16px}.training-controls{gap:0}.readiness-row{grid-template-columns:1fr}.readiness-row>.small-text{grid-column:auto}.mistake-list details{padding:12px 16px}.action-row .button{max-width:100%;white-space:normal}}.lesson-main,.section-navigation{min-width:0}.lesson-footer>.button{min-width:0;max-width:72%;white-space:normal;text-align:left}.lesson-footer>.button svg{flex-shrink:0}.plan-task{display:flex;gap:24px;justify-content:space-between;padding:28px 0;border-bottom:1px solid var(--border, #d8dfd7)}.plan-task>div{min-width:0;max-width:650px}.plan-task>label{flex-shrink:0;align-self:flex-start;display:flex;align-items:center;gap:8px}.plan-task .text-button{margin-right:18px}.coverage-row,.diagnostic-result{padding:20px 0;border-bottom:1px solid var(--border, #d8dfd7)}.coverage-row summary,.diagnostic-result summary,.written-rubric summary{cursor:pointer;font-weight:600;line-height:1.6}.coverage-row dl{margin:24px 0}.coverage-row dt{font-size:.84rem;font-weight:600;margin-top:18px;color:var(--muted, #555f58)}.coverage-row dd{margin:6px 0 0;line-height:1.7}.coverage-exam{display:block;margin:8px 0}.written-rubric{margin-top:32px;padding-top:24px;border-top:1px solid var(--border, #d8dfd7)}.written-rubric .rubric-row{display:block;padding:16px 0}.written-rubric .rubric-row label{max-width:320px}.practice-problem input[type=number]{max-width:180px}.exam-year-bar .segmented{flex-wrap:wrap}.training-controls select{max-width:100%}.training-links{flex-wrap:wrap;row-gap:12px}.trace-log code{overflow-wrap:anywhere;white-space:pre-wrap}@media(max-width:600px){.plan-task{flex-direction:column;gap:12px}.readiness-row{flex-wrap:wrap}.training-controls{min-width:0}.training-controls>label{min-width:0}.exam-year-bar{overflow:visible}}
