:root{color-scheme:dark;--bg:#101719;--surface:#151f22;--line:#2a383c;--muted:#91a5aa;--text:#e4edec;--accent:#a4d6bc;--scale:1;font-family:Segoe UI,Arial,sans-serif;font-size:16px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer;border:1px solid var(--line);background:transparent;border-radius:6px;padding:8px 13px;min-height:38px}button:hover{background:#263b36;border-color:#769d88}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:4px}button:disabled{opacity:.35;cursor:default}a{color:var(--accent)}.shell{display:grid;grid-template-columns:250px 1fr;min-height:100dvh}.sidebar{padding:34px 22px;border-right:1px solid var(--line);background:#0d1416;display:flex;flex-direction:column;position:sticky;top:0;height:100dvh}.brand{display:flex;align-items:center;gap:12px;color:var(--text);text-decoration:none;font-size:11px;font-weight:600;line-height:1.5;letter-spacing:1.8px}.brand-mark{border:1px solid #587a68;border-radius:9px;padding:10px 7px;font:21px Georgia;color:var(--accent);letter-spacing:-2px}.brand-mark span{color:#658378}.nav-label{color:#6e8589;font-size:10px;letter-spacing:2px;margin:51px 12px 15px}nav{display:flex;flex-direction:column;gap:5px}nav button{text-align:left;border:1px solid transparent;padding:12px 10px;color:#9eb0b3;font-size:13px;display:flex;align-items:center;gap:11px}nav button .num{font:10px Consolas,monospace;color:#5e797d}nav button.active{color:#cae7d6;border-color:#344b40;background:#1c3027}nav button.active .num{color:var(--accent)}.side-bottom{margin-top:auto;padding:25px 11px 0;font-size:12px;color:#acbfba;line-height:2}.side-bottom small{font-size:10px;color:#698084}.status-dot{display:inline-block;width:5px;height:5px;background:var(--accent);border-radius:50%;margin-right:6px}main{padding:0 clamp(24px,3.2vw,70px) 12px;min-width:0;max-width:2300px;width:100%;margin:auto}header{min-height:83px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:15px}.breadcrumb{font-size:10px;letter-spacing:1.5px;color:#c0cecc}.breadcrumb span{color:#778f92;margin-left:13px}.tools{display:flex;gap:7px}.tools button{font-size:11px;min-height:32px;padding:5px 10px}.title-row{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:36px 0 31px}h1{font-size:clamp(26px,2.7vw,45px);font-weight:400;letter-spacing:-1.4px;margin:0 0 12px}.title-row p{color:var(--muted);font-size:13px;line-height:1.6;margin:0}#topic-number{font:48px Georgia;color:#2d4447}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 272px;gap:32px;min-height:560px}.section-toolbar{display:flex;justify-content:space-between;gap:16px;font-size:10px;letter-spacing:1.5px;color:#8ca4a7;margin-bottom:17px;padding:4px 0}.section-toolbar span:last-child{color:#607b80;letter-spacing:.5px}.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-content:start}.card{background:var(--surface);border:1px solid var(--line);border-radius:9px;padding:22px 23px;min-height:164px;min-width:0}.card h2{font-size:calc(12px * var(--scale));font-weight:500;margin:0 0 17px;color:#aec5bf}.equation{font-family:Cambria Math,Cambria,Georgia,serif;font-size:calc(clamp(21px,1.75vw,30px) * var(--scale));line-height:1.7;overflow-wrap:anywhere;color:#ecf4e9;min-height:40px}.frac{display:inline-flex;flex-direction:column;vertical-align:middle;align-items:stretch;text-align:center;line-height:1.15;margin:0 .12em;font-size:.87em}.frac>span{padding:.1em .18em}.frac>span:first-child{border-bottom:1px solid currentColor}.equation sub,.equation sup{font-size:.58em}.card p{font-size:calc(11px * var(--scale));line-height:1.65;color:#8fa6a8;margin:16px 0 0}.card.wide{grid-column:1/-1}.card.wide .equation{font-size:calc(clamp(21px,1.8vw,30px) * var(--scale))}.reference{border-left:1px solid var(--line);padding-left:26px}.reference h2{font-size:11px;letter-spacing:1px;font-weight:500;margin:3px 0 20px;color:#b6cdc6}.diagram{background:#111b1e;border:1px solid #293d41;border-radius:8px;margin-bottom:25px;overflow:hidden;min-height:135px;display:flex;align-items:center;justify-content:center}.diagram svg{width:100%;max-height:175px}.diagram button{padding:0;border:0;border-radius:0;width:100%;height:100%}.diagram img{width:100%;display:block;filter:invert(.88) hue-rotate(170deg);opacity:.85}.symbols{font-size:11px;line-height:1.8;color:#9eb6b8}.symbols div{padding:6px 0;border-bottom:1px solid #223135}.note{margin-top:24px;padding-top:5px}.note h3{font-size:11px;color:#b5d0bf;font-weight:500}.note p{font-size:11px;line-height:1.8;color:#88a0a4}.source-buttons{display:flex;flex-wrap:wrap;gap:6px;margin-top:20px}.source-buttons button{font-size:10px;padding:5px 9px;min-height:30px}.pager{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin:18px 0;color:#87a4a6;font-size:11px}.pager button{font-size:11px}.pager .page-dot{padding:4px 9px;min-height:30px}.pager .selected{color:#d5eadd;background:#294638}footer{margin-top:27px;padding:17px 0 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:12px;color:#647f83;font-size:10px}footer button{border:0;padding:5px 9px;min-height:30px;font-size:10px;color:#b0c9be}.footer-line{margin:0 10px}dialog{background:#10191c;color:var(--text);border:1px solid #40565a;border-radius:12px;box-shadow:0 30px 100px #0009}dialog::backdrop{background:#020708db}#viewer{width:94vw;max-width:2000px;height:92dvh;padding:0;overflow:hidden}.viewer-bar{height:60px;padding:10px 20px;display:flex;justify-content:space-between;align-items:center;gap:10px;border-bottom:1px solid var(--line);font-size:13px}.viewer-bar button{font-size:12px;min-height:32px;padding:5px 13px}.viewer-bar>div{display:flex;gap:6px}#image-scroll{height:calc(100% - 60px);overflow:auto;padding:20px;cursor:grab;touch-action:pan-x pan-y}#viewer-image{display:block;max-width:none;height:auto;margin:0 auto;user-select:none;-webkit-user-drag:none}#setup{max-width:620px;padding:36px;line-height:1.8;font-size:14px}#setup h2{font-size:28px;font-weight:400}.muted{color:var(--muted)}.close-setup{float:right;font-size:11px}.material-panel{grid-column:1/-1}.material-panel h2{font-size:16px;font-weight:500}.material-tabs{display:flex;gap:9px;margin-bottom:20px}.material-tabs .active{background:#294638}.chart-preview{width:100%;display:block;border-radius:5px;filter:invert(.87) hue-rotate(170deg)}.chart-button{padding:0;width:100%;overflow:hidden}.material-panel p{font-size:12px;color:var(--muted);line-height:1.8}.library-btn{display:flex;justify-content:space-between;align-items:center;text-align:left;width:100%;gap:20px;padding:19px;margin-bottom:9px;background:#152023;font-size:13px}.library-btn small{color:#6d9094;font-size:10px}.library{grid-column:1/-1}.shape-thumb{margin-top:16px;padding:0;width:100%;overflow:hidden;border:0}.shape-thumb img{width:100%;display:block;filter:invert(.88) hue-rotate(170deg)}
@media(min-width:1800px){.workspace{grid-template-columns:minmax(0,1fr) 310px;gap:45px}.card{min-height:190px;padding:28px}.card p{font-size:calc(12px * var(--scale))}.reference p,.symbols{font-size:12px}main{padding-top:15px}}
@media(max-width:1100px){.shell{grid-template-columns:205px 1fr}.sidebar{padding:25px 14px}main{padding:0 24px 12px}.workspace{grid-template-columns:minmax(0,1fr) 210px;gap:20px}.reference{padding-left:18px}.cards{grid-template-columns:1fr}.card{min-height:145px}.title-row{padding:26px 0}nav button{font-size:12px}.breadcrumb{font-size:9px;letter-spacing:.5px}.workspace{min-height:0}}
@media(max-width:760px){.shell{display:block}.sidebar{height:auto;position:static;border-right:0;border-bottom:1px solid var(--line);padding:16px}.brand{font-size:9px}.brand-mark{font-size:18px;padding:6px}.nav-label,.side-bottom{display:none}nav{margin-top:16px;flex-direction:row;overflow:auto;padding-bottom:5px}nav button{white-space:nowrap;padding:8px 11px;min-height:38px}nav .num{display:none}.workspace{display:block}.reference{border-left:0;border-top:1px solid var(--line);padding:24px 0;margin-top:25px}.diagram{display:none}.symbols{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}main{padding:0 20px 15px}header{min-height:62px}.breadcrumb{max-width:48%;line-height:1.8}.breadcrumb span{margin-left:4px}.title-row{padding:25px 0}h1{font-size:30px}.title-row p{font-size:12px}#topic-number{font-size:32px}.cards{grid-template-columns:1fr}.card.wide{grid-column:auto}.card{padding:20px}.equation{font-size:calc(24px * var(--scale))}footer{align-items:flex-start;line-height:1.7}footer>span:first-child{max-width:35%}.viewer-bar{padding:8px 10px;font-size:10px}.viewer-bar button{font-size:10px;padding:5px 9px}#setup{padding:22px}#setup h2{font-size:23px}}
@media(max-height:800px) and (min-width:1101px){.sidebar{padding-top:24px}.nav-label{margin-top:30px}nav button{padding-top:9px;padding-bottom:9px}header{min-height:63px}.title-row{padding:23px 0}.workspace{min-height:0}.card{min-height:145px;padding:18px}.card h2{margin-bottom:11px}.card p{margin-top:10px}footer{margin-top:15px}.diagram{min-height:100px}.diagram svg{max-height:120px}.note{margin-top:13px}}
.scroll-controls{position:fixed;right:12px;bottom:10px;display:flex;gap:5px;z-index:2}.scroll-controls button{background:#18272b;border-color:#3e5a5f;padding:5px 11px;font-size:15px;min-height:32px}footer{padding-right:80px}
