:root{font-family:Geist,system-ui,sans-serif;color:#171819;background:#f8f8f8;font-synthesis:none;font-weight:400;--bg:#f8f8f8;--surface:#fff;--raised:#eee;--line:#e6e6e6;--ink:#171819;--muted:#717477;--subtle:#555b60;--blue:#1d5fbf;--ease:cubic-bezier(.23,1,.32,1);--note:#fff2a9;color-scheme:light}:root[data-theme=dark]{--bg:#111;--surface:#181818;--raised:#262626;--line:#303030;--ink:#eee;--muted:#aaa;--subtle:#b8bbbd;--blue:#8bb4ef;--note:#5b4c19;background:var(--bg);color:var(--ink);color-scheme:dark}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button{border:0;background:none}button:disabled{cursor:default;opacity:.4}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--blue);outline-offset:4px}a{color:inherit}svg{flex-shrink:0}button{touch-action:manipulation}::selection{background:#d9e7fb;color:#152e50}button,.button{text-decoration:none}p{line-height:1.65}h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4{font-weight:500}h1{font-size:30px;letter-spacing:-1.1px;line-height:1.18}h2{font-size:20px;letter-spacing:-.5px}h3{font-size:15px}small{font-size:12px}.muted{color:var(--muted)}.eyebrow{font-size:12px;color:var(--muted);margin-bottom:14px}.skip{position:fixed;top:-60px;left:20px;background:var(--ink);color:var(--bg);z-index:20;padding:12px}.skip:focus{top:10px}.sidebar{position:fixed;left:0;top:0;bottom:0;width:248px;border-right:1px solid var(--line);padding:32px 20px 16px;display:flex;flex-direction:column;background:var(--bg);z-index:5}.brand{display:flex;align-items:center;gap:0;font-weight:600;font-size:20px;letter-spacing:-.75px;white-space:nowrap}.brand svg{margin-right:9px}.brand-light{font-weight:400;color:var(--muted)}.brand-button{padding:0}.workspace-label{font-size:11px;color:var(--muted);margin-top:8px;margin-left:36px}.primary-nav{margin-top:36px;display:grid;gap:4px}.primary-nav>button{display:flex;align-items:center;gap:10px;padding:10px 11px;text-align:left;font-size:13px;border-radius:6px;color:var(--subtle)}.primary-nav>button.active{background:var(--raised);color:var(--ink)}.primary-nav small{margin-left:auto;color:var(--muted)}.nav-new{margin-left:auto;font-size:10px;color:var(--muted)}.nav-section{display:flex;justify-content:space-between;margin:36px 10px 18px;font-size:11px;color:var(--muted)}.nav-section>span:first-child{color:var(--subtle)}.chapter-nav{overflow-y:auto;margin:0 -10px;padding:0 8px;scrollbar-width:thin;scrollbar-color:var(--line) transparent;flex:1}.nav-group{margin-bottom:22px}.group-label{font-size:11px;color:var(--subtle);display:flex;gap:10px;padding:0 10px 10px}.group-label>span{font-family:Geist Mono,monospace;font-size:10px;color:var(--muted)}.chapter-nav button{font-size:12px;text-align:left;display:flex;align-items:center;gap:9px;min-height:35px;width:100%;padding:7px 10px;color:var(--subtle);border-radius:5px}.chapter-nav button>span:last-child{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.chapter-nav button.selected{background:var(--raised);color:var(--ink)}.chapter-dot{font-family:Geist Mono,monospace;font-size:10px;color:var(--muted);width:16px;flex-shrink:0}.chapter-dot.done{color:var(--blue)}.sidebar-footer{border-top:1px solid var(--line);padding:18px 10px 0;margin-top:10px;font-size:11px}.sidebar-footer>div:first-child{display:flex;justify-content:space-between}.sidebar-footer>div:first-child>span:last-child{font-family:Geist Mono,monospace}.progress-track{height:3px;background:var(--line);margin:13px 0 7px;overflow:hidden;border-radius:4px}.progress-track i{height:100%;display:block;background:var(--blue);transform-origin:left;transition:transform .25s var(--ease)}.footer-meta{display:flex;align-items:center;justify-content:space-between;color:var(--muted)}.main{margin-left:248px;min-height:100dvh}.topbar{height:82px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 44px;border-bottom:1px solid var(--line)}.breadcrumb{display:flex;align-items:center;gap:12px;font-size:11px;white-space:nowrap}.breadcrumb>span:first-child{color:var(--muted)}.breadcrumb svg{color:var(--muted)}.top-actions{display:flex;align-items:center;gap:26px}.searchbox{display:flex;align-items:center;gap:9px;color:var(--muted);font-size:12px}.searchbox input{background:none;border:0;color:var(--ink);width:150px;min-width:0;padding:8px 0;outline-offset:2px}.searchbox input::placeholder{color:var(--muted)}kbd{font-family:inherit;font-size:10px;border:1px solid var(--line);border-radius:4px;padding:3px 5px;white-space:nowrap}.local-badge{font-size:10px;color:var(--muted);display:flex;align-items:center;gap:6px;white-space:nowrap}.local-badge>span{height:5px;width:5px;border-radius:50%;background:#86988d}.content{max-width:1260px;margin:0 auto;padding:44px 48px}.intro{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:32px;gap:25px}.intro h1{font-size:32px;font-weight:500;letter-spacing:-1.3px}.intro-copy{font-size:14px;line-height:1.7;color:var(--subtle);margin-top:14px}.course-meta{display:flex;gap:22px;align-items:center;font-size:11px;color:var(--muted);margin-top:22px}.course-meta>span{display:flex;align-items:center;gap:6px}.intro-note{font-size:12px;color:var(--muted);padding-bottom:2px}.tiny-rule{display:block;width:24px;height:1px;background:var(--ink);margin-bottom:12px}.learning-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(270px,1fr);gap:16px}.continue-panel{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:24px;display:flex;flex-direction:column;min-height:273px}.panel-top{display:flex;justify-content:space-between;gap:12px;font-size:10px;color:var(--muted)}.panel-top>span:first-child{display:flex;align-items:center;gap:7px;color:var(--subtle)}.blue-dot{width:5px;height:5px;background:var(--blue);border-radius:50%;display:inline-block;flex-shrink:0}.chapter-context{font-size:11px;color:var(--muted);margin-top:26px;margin-bottom:6px}.continue-panel h2{font-size:26px;letter-spacing:-.8px}.continue-panel>p:last-of-type{font-size:12px;color:var(--subtle);max-width:470px;margin:10px 0 24px;line-height:1.7}.continue-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto}.continue-bottom>span{font-size:10px;color:var(--muted);white-space:nowrap}.separator{padding:0 6px;color:var(--muted)}.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:6px;padding:11px 15px;font-size:12px;border:1px solid var(--line);background:var(--surface);line-height:1.4;min-height:38px;transition:transform .14s var(--ease),background-color .14s ease}.button.primary{color:var(--bg);background:var(--ink);border-color:var(--ink)}.button:active{transform:scale(.97)}.icon-button{display:inline-flex;align-items:center;justify-content:center;padding:8px;border-radius:5px;color:var(--muted);flex-shrink:0;min-width:30px;min-height:30px}.is-saved{color:var(--blue)}.stack-panel{border:1px solid var(--line);border-radius:8px;background:#efefee;position:relative;overflow:hidden;min-height:273px;display:flex;flex-direction:column}.stack-label{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:#606367;padding:20px 20px 0;z-index:1}.stack-panel>p{font-size:10px;color:#707476;text-align:center;padding:0 12px 15px;margin-top:auto}.stack-scene{height:205px;position:relative;perspective:900px;transform-style:preserve-3d;width:100%;margin-top:5px}.slab{position:absolute;left:50%;top:29px;width:148px;height:100px;transform-style:preserve-3d;transform:translate(-50%) rotateX(54deg) rotate(-37deg) translateZ(0);transition:transform .5s var(--ease);padding:0;outline-offset:20px}.slab-0{z-index:3;top:8px}.slab-1{z-index:2;top:42px}.slab-2{z-index:1;top:76px}.slab-top{position:absolute;top:0;right:0;bottom:0;left:0;background:#35383b;color:#dadddf;display:flex;align-items:center;justify-content:space-between;padding:14px;font-family:Geist Mono,monospace;font-size:8px;border:1px solid #64676a;backface-visibility:hidden}.slab-1 .slab-top{background:#4b4e51}.slab-2 .slab-top{background:#626669}.slab-front{position:absolute;top:100%;left:0;height:22px;width:100%;background:#25272a;transform-origin:top;transform:rotateX(-90deg);display:flex;align-items:center;justify-content:space-between;padding:0 12px;font-family:Geist Mono,monospace;font-size:8px;color:#898e92;border:1px solid #3d4246}.slab-right{position:absolute;right:0;top:0;width:22px;height:100%;background:#181b1e;transform-origin:right;transform:rotateY(-90deg);border:1px solid #44484b}.server-lights{display:flex;gap:4px}.server-lights i{display:block;width:3px;height:3px;background:#aaaeb0;border-radius:50%}.slab-0 .server-lights i:first-child{background:#75a9ee}.curriculum-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:42px 0 22px}.curriculum-head h2{font-size:18px}.curriculum-head h2>span{font-family:Geist Mono,monospace;font-size:10px;vertical-align:middle;color:var(--muted);margin-left:8px;background:var(--raised);border-radius:4px;padding:3px 5px}.curriculum-head p{font-size:11px;color:var(--muted);margin-top:6px}.filter{display:flex;gap:2px;padding:3px;border:1px solid var(--line);border-radius:6px}.filter button{font-size:10px;padding:7px 9px;white-space:nowrap;border-radius:4px;color:var(--muted)}.filter button.active{background:var(--surface);color:var(--ink);box-shadow:0 1px 3px #0000000a}.part{background:var(--surface);border:1px solid var(--line);border-radius:8px;overflow:hidden;margin-bottom:16px}.part-heading{padding:20px 22px;display:flex;gap:16px;align-items:center;border-bottom:1px solid var(--line)}.part-number{font-family:Geist Mono,monospace;font-size:13px;color:var(--muted)}.part-heading h3{font-size:13px;margin-bottom:5px}.part-heading div>span{font-size:10px;color:var(--muted)}.part-progress{margin-left:auto;font-size:10px;font-family:Geist Mono,monospace;color:var(--muted)}.chapter-row{display:flex;align-items:center;padding:0 14px;border-bottom:1px solid var(--line);min-height:56px}.chapter-row:last-child{border-bottom:0}.chapter-open{display:flex;align-items:center;gap:16px;flex:1;min-width:0;text-align:left;padding:17px 8px}.row-status{width:22px;flex-shrink:0;font-family:Geist Mono,monospace;font-size:11px;color:var(--muted);display:flex;align-items:center}.row-status.done{color:var(--blue)}.row-title{font-size:12px;line-height:1.5;flex:1}.row-time{font-size:10px;color:var(--muted);white-space:nowrap;margin-left:10px}.chapter-open>svg{color:var(--muted);margin:0 6px}.bookmark-control{margin-left:5px}.content-footer{display:flex;align-items:center;gap:10px;font-size:10px;color:var(--muted);padding:24px 0 0}.content-footer>span:last-child{margin-left:auto}.title-row{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:4px 0 34px}.title-row h1{font-size:28px}.title-row .muted{font-size:13px;margin-top:12px}.title-count{font-size:14px;color:var(--muted);margin-left:8px;vertical-align:middle}.empty{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:330px;text-align:center;gap:15px;color:var(--muted);padding:35px}.empty h2,.empty h3{color:var(--ink);font-size:20px}.empty p{font-size:13px;max-width:360px}.empty .button{margin-top:8px}.result-row{display:flex;align-items:center;gap:24px;padding:26px 0;border-bottom:1px solid var(--line);width:100%;text-align:left}.chapter-number{font-family:Geist Mono,monospace;font-size:12px;color:var(--muted)}.result-row>div:nth-child(2){flex:1}.result-row h3{font-size:17px}.result-row p{font-size:13px;color:var(--subtle);margin-top:9px}.result-row>svg{color:var(--muted)}mark{color:var(--ink);background:var(--note);border-radius:2px;padding:1px 2px;box-decoration-break:clone;-webkit-box-decoration-break:clone}.reader-layout{display:grid;grid-template-columns:minmax(0,760px) 190px;gap:56px;max-width:1120px;padding:34px 44px 60px;margin:auto}.reader{min-width:0}.reader-kicker{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:11px;color:var(--muted);margin-bottom:40px}.reader-kicker button{display:flex;align-items:center;gap:7px;padding:0}.reader-heading h1{font-size:32px;line-height:1.2;max-width:700px;font-weight:500;letter-spacing:-1px}.reader-heading>p:not(.eyebrow){color:var(--subtle);font-size:14px;margin-top:18px;line-height:1.8}.reader-meta{display:flex;gap:20px;margin-top:22px;color:var(--muted);font-size:11px}.reader-tools{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:28px 0}.reader-tabs{display:flex;gap:23px;overflow-x:auto}.reader-tabs button{display:flex;align-items:center;gap:7px;white-space:nowrap;font-size:12px;padding:16px 0;color:var(--muted);border-bottom:1px solid transparent}.reader-tabs button.active{color:var(--ink);border-color:var(--ink)}.reader-buttons{display:flex;gap:4px;padding-left:12px}.reading-hint{display:flex;align-items:center;gap:9px;font-size:10px;color:var(--muted);margin-bottom:28px}.source-page{scroll-margin-top:25px}.source-page-label{display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:10px;border-top:1px solid var(--line);padding-top:20px;margin:36px 0 24px}.source-page:first-of-type .source-page-label{border-top:0;margin-top:0;padding-top:0}.source-page-label button{display:flex;align-items:center;gap:4px;font-size:10px;color:var(--muted)}.reading-content h2{font-size:22px;line-height:1.45;margin:30px 0 16px;letter-spacing:-.65px;scroll-margin-top:28px}.reading-content p{font-size:15px;line-height:1.95;margin-bottom:21px;color:var(--subtle)}.term{color:var(--ink);font-weight:500}.callout{margin:26px 0;padding:22px 24px;background:var(--surface);border:1px solid var(--line);border-left:3px solid #d0b75b;border-radius:0 6px 6px 0}.callout.warning{border-left-color:#bc765f}.callout.beyond{border-left-color:#7b9ec4}.callout.why{border-left-color:#88a596}.callout-label{display:flex;align-items:flex-start;gap:9px;color:var(--ink);font-size:12px;font-weight:500;line-height:1.6}.callout-label>span:first-letter{text-transform:uppercase}.callout-label svg{margin-top:2px;color:var(--muted)}.callout p{font-size:14px;color:var(--ink);margin:13px 0 0;line-height:1.9}.source-detail{margin:24px 0;border:1px solid var(--line);border-radius:6px;overflow:hidden;background:var(--surface)}.source-detail pre{font-family:Geist Mono,monospace;font-size:11px;line-height:1.75;padding:22px;overflow-x:auto;color:var(--subtle);margin:0}.source-detail button{display:flex;align-items:center;justify-content:center;gap:7px;font-size:11px;color:var(--subtle);width:100%;border-top:1px solid var(--line);padding:13px}.toc{min-width:0}.toc-sticky{position:sticky;top:30px;padding-top:55px}.toc-sticky>p{font-size:11px;color:var(--ink);margin-bottom:18px}.toc nav{display:flex;flex-direction:column;gap:14px;max-height:49dvh;overflow-y:auto;scrollbar-width:thin}.toc a{font-size:11px;color:var(--muted);text-decoration:none;line-height:1.6}.toc-tip{margin-top:36px;padding-top:24px;border-top:1px solid var(--line);color:var(--muted)}.toc-tip h4{font-size:12px;color:var(--ink);margin:10px 0 8px}.toc-tip p{font-size:11px}.toc-tip button{display:flex;align-items:center;gap:7px;font-size:11px;margin:16px 0 0;padding:0;color:var(--ink)}.chapter-end{border:1px solid var(--line);border-radius:8px;padding:28px;margin-top:44px;text-align:center;background:var(--surface)}.chapter-end>div>svg{color:var(--muted);margin-bottom:16px}.chapter-end h2{font-size:21px}.chapter-end p{font-size:12px;color:var(--muted);margin:10px 0 22px}.chapter-pagination{display:flex;gap:30px;justify-content:space-between;margin-top:28px}.chapter-pagination button{display:flex;align-items:center;gap:10px;max-width:48%;font-size:10px;text-align:left;padding:0;color:var(--muted)}.chapter-pagination button:last-child{text-align:right}.chapter-pagination small{display:block;font-size:11px;color:var(--ink);line-height:1.6;margin-top:5px}.note-editor h2{font-size:21px;margin-bottom:12px}.note-editor>p{font-size:13px;color:var(--muted);margin-bottom:30px}.note-editor label{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px}.note-editor label>span{font-size:10px;color:var(--muted)}textarea{width:100%;min-height:280px;resize:vertical;border:1px solid var(--line);border-radius:6px;margin-top:12px;background:var(--surface);color:var(--ink);padding:20px;font-size:14px;line-height:1.9}textarea::placeholder{color:var(--muted)}.highlights-list{margin-top:30px}.highlights-list h3{display:flex;align-items:center;gap:8px;margin-bottom:14px;font-size:13px}.highlights-list h3>span{font-size:10px;color:var(--muted)}.highlight-item{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:14px 0;border-top:1px solid var(--line)}.highlight-item p{font-size:13px;line-height:1.9;overflow-wrap:anywhere}.notebook-section{background:var(--surface);padding:28px;border:1px solid var(--line);border-radius:8px;margin-bottom:20px}.notebook-title{display:grid;grid-template-columns:1fr auto;gap:9px;padding:0;text-align:left;width:100%}.notebook-title>span{grid-column:1;font-size:10px;color:var(--muted)}.notebook-title h2{grid-column:1;font-size:20px}.notebook-title svg{grid-column:2;grid-row:1/3;align-self:center;color:var(--muted)}.saved-note{font-size:14px;color:var(--subtle);line-height:1.9;white-space:pre-wrap;margin-top:22px;overflow-wrap:anywhere}.notice{font-size:12px;display:flex;gap:10px;color:var(--muted);line-height:1.7;margin-bottom:22px}.notice svg{margin-top:3px}.page-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.page-grid button{padding:0;text-align:left;min-width:0}.page-grid img{display:block;width:100%;border:1px solid var(--line);border-radius:5px;aspect-ratio:595.92/842.88;object-fit:contain;background:#fff}.page-grid span{display:flex;justify-content:space-between;font-size:10px;color:var(--muted);margin-top:9px}.recall{max-width:1050px}.title-row select{background:var(--surface);border:1px solid var(--line);border-radius:5px;padding:9px 12px;font-size:11px;color:var(--subtle);max-width:200px}.review-meta{display:flex;justify-content:space-between;gap:20px;font-size:11px;color:var(--muted);margin-bottom:16px}.review-meta>span:last-child{white-space:nowrap}.recall-card{perspective:1600px;min-height:390px}.recall-card-inner{display:grid;transform-style:preserve-3d;transition:transform .5s var(--ease);min-height:390px}.recall-card.revealed .recall-card-inner{transform:rotateY(180deg)}.recall-front,.recall-back{grid-area:1/1;padding:50px 60px;backface-visibility:hidden;border:1px solid var(--line);border-radius:8px;background:var(--surface);min-width:0}.recall-front{display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center}.recall-front>svg{color:var(--muted);margin-bottom:25px}.recall-front>p{font-size:11px;color:var(--muted);margin-bottom:16px}.recall-front h2{font-size:27px;max-width:580px;line-height:1.4;letter-spacing:-.75px}.recall-front h2:first-letter,.recall-back h3:first-letter{text-transform:uppercase}.recall-front>span{font-size:11px;color:var(--muted);margin-top:22px}.recall-back{transform:rotateY(180deg)}.recall-back h3{font-size:20px;line-height:1.5;margin:15px 0}.recall-back>p{font-size:14px;line-height:1.85;color:var(--subtle)}.recall-back button{display:flex;gap:6px;align-items:center;padding:0;margin-top:24px;font-size:11px}.recall-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:22px}.recall-caption{font-size:10px;color:var(--muted);text-align:center;margin:22px 0}.highlight-toolbar{position:fixed;bottom:30px;left:calc(50% + 124px);transform:translate(-50%);display:flex;align-items:center;gap:15px;background:var(--ink);color:var(--bg);padding:9px 12px 9px 18px;box-shadow:0 8px 30px #0002;border-radius:8px;max-width:calc(100vw - 35px);z-index:20}.highlight-toolbar>span{font-size:11px;max-width:220px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--bg);opacity:.65}.highlight-toolbar>button:not(.icon-button){display:flex;align-items:center;gap:7px;font-size:12px;white-space:nowrap;padding:8px 0}.highlight-toolbar .icon-button{color:var(--bg)}.toast{position:fixed;bottom:28px;left:calc(50% + 124px);transform:translate(-50%);z-index:25;display:flex;align-items:center;gap:9px;padding:14px 20px;background:var(--ink);color:var(--bg);font-size:12px;border-radius:6px;box-shadow:0 5px 20px #0002;max-width:calc(100vw - 40px)}.page-dialog{position:fixed;top:0;right:0;bottom:0;left:0;width:min(900px,96vw);height:95dvh;padding:0;background:#e9e9e9;border:0;border-radius:8px;color:#292929;z-index:50;overflow:hidden;margin:auto;box-shadow:0 20px 90px #0005}.page-dialog::backdrop{background:#0009}.dialog-bar{height:56px;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 20px;font-size:12px;border-bottom:1px solid #ddd}.dialog-bar>div{display:flex;gap:5px}.dialog-image{height:calc(100% - 56px);overflow-y:auto;padding:20px;overscroll-behavior:contain}.dialog-image img{width:100%;display:block;max-width:800px;margin:auto}.mobilebar,.overlay{display:none}.resume-link{font-size:12px;display:flex;gap:8px;align-items:center;padding:10px 0;color:var(--blue)}.focus-mode .sidebar{display:none}.focus-mode .main{margin-left:0}.focus-mode .toc{display:none}.focus-mode .reader-layout{display:block;max-width:850px}.focus-mode .toast,.focus-mode .highlight-toolbar{left:50%}@media(hover:hover)and (pointer:fine){.primary-nav>button:hover,.chapter-nav button:hover{background:var(--raised)}.chapter-row:hover{background:var(--bg)}.icon-button:hover{background:var(--raised);color:var(--ink)}.button:hover{background:var(--raised)}.button.primary:hover{background:#333;color:#fff}.stack-scene:hover .slab-0{transform:translate(-50%) rotateX(54deg) rotate(-37deg) translateZ(32px)}.stack-scene:hover .slab-2{transform:translate(-50%) rotateX(54deg) rotate(-37deg) translateZ(-22px)}.slab:hover .slab-top{border-color:#a4aab0}.toc a:hover{color:var(--ink)}.source-page-label button:hover,.source-detail button:hover,.result-row:hover h3{text-decoration:underline}.page-grid button:hover img{border-color:var(--muted)}}@keyframes enter{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}.overview .intro{animation:enter .3s var(--ease) both}.learning-grid{animation:enter .3s var(--ease) 50ms both}.reading-content{animation:enter .18s var(--ease) both}.keyboard .reading-content{animation:none}.keyboard .recall-card-inner{transition:none}@media(min-width:1600px){.content{padding-top:55px}.intro{margin-bottom:40px}.learning-grid{grid-template-columns:1.6fr 1fr}.continue-panel{min-height:300px}.stack-scene{margin-top:20px}.curriculum-head{margin-top:48px}}@media(max-width:1200px){.sidebar{width:226px;padding-left:16px;padding-right:16px}.main{margin-left:226px}.topbar{padding:0 30px}.content{padding:38px 32px}.reader-layout{grid-template-columns:minmax(0,1fr) 160px;gap:30px;padding:30px}.local-badge,.intro-note{display:none}.continue-bottom{flex-wrap:wrap}.continue-panel{padding:22px}.continue-panel h2{font-size:24px}.reader-heading h1{font-size:30px}.toast,.highlight-toolbar{left:calc(50% + 113px)}}@media(max-width:1000px){.mobilebar{display:flex;position:sticky;top:0;z-index:9;height:56px;background:var(--bg);border-bottom:1px solid var(--line);align-items:center;justify-content:space-between;padding:0 18px}.mobilebar .brand{font-size:18px}.sidebar{transform:translate(-100%);width:270px;z-index:15;transition:transform .25s cubic-bezier(.32,.72,0,1)}.sidebar.open{transform:translate(0)}.overlay{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:14}.main{margin-left:0}.topbar{height:64px}.content{max-width:920px;padding:34px}.reader-layout{max-width:970px;padding:30px 34px}.toast,.highlight-toolbar{left:50%}.focus-mode .mobilebar{display:flex}}@media(max-width:720px){.content{padding:28px 20px}.topbar{padding:0 20px;gap:10px;height:58px}.breadcrumb{font-size:10px;gap:6px}.breadcrumb>span:first-child,.breadcrumb>svg{display:none}.searchbox{gap:6px}.searchbox input{width:145px;font-size:11px}.searchbox kbd{display:none}.intro{margin-bottom:24px}.intro h1{font-size:29px;letter-spacing:-1.2px}.intro-copy{font-size:13px}.course-meta{font-size:10px;gap:14px;flex-wrap:wrap;margin-top:20px}.learning-grid{grid-template-columns:1fr}.continue-panel{min-height:267px;padding:22px}.continue-panel>p:last-of-type{font-size:13px}.continue-bottom{gap:16px;justify-content:space-between}.continue-bottom>span{font-size:10px}.stack-panel{min-height:255px}.stack-scene{height:190px;margin-top:0}.stack-label{padding-top:16px}.stack-panel>p{padding-bottom:15px}.curriculum-head{align-items:flex-start;flex-direction:column;gap:18px;margin:32px 0 18px}.curriculum-head h2{font-size:20px}.curriculum-head p{font-size:12px}.filter{width:100%;display:grid;grid-template-columns:repeat(3,1fr)}.filter button{font-size:11px;min-height:36px;padding:8px}.part-heading{padding:18px 16px}.part-heading h3{font-size:14px}.part-heading div>span{font-size:11px}.chapter-row{padding:0 7px;min-height:62px}.chapter-open{gap:10px;padding:16px 7px;display:grid;grid-template-columns:21px 1fr 32px}.chapter-open .row-title{font-size:13px;grid-column:2}.chapter-open .row-time{grid-column:2;margin:0;font-size:10px;grid-row:2}.chapter-open>svg{grid-row:1/3;grid-column:3;justify-self:center;margin:0}.row-status{grid-row:1/3;align-self:center;font-size:10px}.bookmark-control{min-height:44px;min-width:35px;margin:0}.content-footer{line-height:1.7}.content-footer>span:last-child{display:none}.reader-layout{display:block;padding:26px 20px 40px}.toc{display:none}.reader-kicker{margin-bottom:30px;align-items:flex-start;line-height:1.6}.reader-kicker>span{max-width:55%;text-align:right;font-size:10px}.reader-heading h1{font-size:30px;letter-spacing:-.9px}.reader-heading>p:not(.eyebrow){font-size:14px}.reader-meta{font-size:10px;gap:15px;flex-wrap:wrap}.reader-tabs{gap:16px}.reader-tabs button{min-height:48px;font-size:11px;gap:5px}.reader-tabs button>svg{display:none}.reader-buttons{padding-left:5px;gap:0}.reader-buttons .icon-button{min-height:44px;min-width:32px;padding:7px}.reading-hint{font-size:11px;align-items:flex-start;line-height:1.7}.reading-hint>svg{margin-top:2px}.reading-content p{font-size:15px;line-height:1.9}.reading-content h2{font-size:22px}.callout{padding:20px}.callout-label{font-size:11px}.callout p{font-size:14px}.source-page-label button{min-height:36px}.chapter-end{padding:28px 20px}.chapter-pagination small{font-size:11px}.page-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.title-row{align-items:flex-start;flex-direction:column;gap:18px;margin-bottom:28px}.title-row h1{font-size:29px}.empty{padding:30px 10px;min-height:310px}.empty h2{font-size:21px}.empty p{font-size:14px}.button{min-height:44px;font-size:12px}.icon-button{min-height:36px;min-width:36px}.note-editor label{align-items:flex-start;flex-direction:column;gap:7px}.notebook-section{padding:22px}.notebook-title h2{font-size:20px}.notebook .saved-note{font-size:14px}.highlight-toolbar>span{display:none}.highlight-toolbar{bottom:20px;width:max-content}.highlight-toolbar>button:not(.icon-button){padding:8px 16px}.toast{width:max-content;bottom:20px}.recall-front,.recall-back{padding:32px 24px}.recall-front h2{font-size:23px}.review-meta{flex-direction:column;gap:7px}.recall-card,.recall-card-inner{min-height:400px}.recall-front>span{line-height:1.7}.recall-controls{flex-wrap:wrap;gap:10px}.recall-controls>.primary{order:-1;width:100%}.recall-controls>.button:not(.primary){flex:1}.recall-back>p{font-size:14px}.page-dialog{height:96dvh;width:97vw;border-radius:5px}.dialog-bar{padding:0 12px;font-size:11px}.dialog-image{padding:8px}.source-detail pre{font-size:10px;padding:16px}.source-detail button{min-height:44px}.reader-tools{margin-top:24px}.page-grid span{font-size:11px}.source-page{scroll-margin-top:70px}.reading-content h2{scroll-margin-top:80px}.search-results .result-row{gap:14px}.search-results .result-row h3{font-size:16px}.search-results .result-row p{font-size:12px}.search-results .result-row svg{width:16px}.focus-mode .reader-layout{padding:26px 20px 40px}.recall-caption{font-size:11px;line-height:1.7}}@media(prefers-reduced-motion:reduce){.overview .intro,.learning-grid,.reading-content{animation:none}.slab,.recall-card-inner,.sidebar{transition:none}.recall-card.revealed .recall-card-inner{transform:none}.recall-back{transform:none;display:none}.recall-card.revealed .recall-front{display:none}.recall-card.revealed .recall-back{display:block}.progress-track i{transition:opacity .15s ease}.button{transition:background-color .15s ease}.button:active{transform:none}.stack-scene:hover .slab-0,.stack-scene:hover .slab-2{transform:translate(-50%) rotateX(54deg) rotate(-37deg)}}
