:root{--bg:#0e1117;--bg2:#151a23;--bg3:#1c2230;--line:#2a3241;--tx:#dfe5ee;--tx2:#98a3b6;--tx3:#6b7688;--ac:#6ea8fe;--ac2:#4f8cf0;--ok:#5fd08a;--warn:#f0b45c;--dang:#f2777a;--key:#c792ea;--mono:ui-monospace,"SF Mono",SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;--sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Roboto,Helvetica,Arial,sans-serif}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--tx);font-family:var(--sans);-webkit-font-smoothing:antialiased;font-size:16px}a{color:var(--ac);text-decoration:none}a:hover{text-decoration:underline}.course-page{line-height:1.7}.home-page,.notes-page{line-height:1.65}@keyframes fade{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.page-header{z-index:50;background:var(--bg2);border-bottom:1px solid var(--line);position:sticky;top:0}.header-row{align-items:center;gap:16px;height:52px;padding:0 14px;display:flex}.page-header #burger{border:1px solid var(--line);color:var(--tx);cursor:pointer;background:0 0;border-radius:7px;padding:5px 9px;font-size:15px;display:none}.page-header .brand{letter-spacing:-.2px;white-space:nowrap;color:var(--tx);font-size:15px;font-weight:700}.page-header .brand:hover{text-decoration:none}.page-header .brand span{color:var(--ac)}.site-nav{flex:1;align-items:center;gap:4px;min-width:0;display:flex;overflow-x:auto}.site-nav a{white-space:nowrap;color:var(--tx2);border-radius:7px;padding:6px 10px;font-size:13px}.site-nav a:hover{color:var(--tx);background:var(--bg3);text-decoration:none}.site-nav a.active{color:var(--ac);background:var(--bg3);font-weight:600}.header-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.page-header .tbtn{background:var(--bg3);border:1px solid var(--line);color:var(--tx2);cursor:pointer;white-space:nowrap;border-radius:7px;padding:5px 10px;font-family:inherit;font-size:12px}.page-header .tbtn:hover{color:var(--tx);border-color:var(--ac)}.progress-row{border-top:1px solid var(--line);align-items:center;gap:12px;height:34px;padding:0 14px;display:flex}#gbar{background:var(--bg3);border-radius:99px;flex:1;min-width:60px;max-width:420px;height:7px;overflow:hidden}#gbar>i{background:linear-gradient(90deg, var(--ac), var(--ok));width:0;height:100%;transition:width .3s;display:block}#gpct{color:var(--tx2);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:12px}@media (width<=760px){.page-header .brand{display:none}.site-nav{scrollbar-width:none;gap:2px;overflow-x:auto}.site-nav::-webkit-scrollbar{display:none}.site-nav a{flex:none;padding:8px 10px}.page-header #resetBtn{display:none}}@media (width<=900px){.page-header #burger{display:block}}@media print{.page-header{display:none}}.note-btn{background:var(--bg3);border:1px solid var(--line);color:var(--tx2);cursor:pointer;font:inherit;white-space:nowrap;border-radius:7px;padding:6px 12px;font-size:12.5px}.note-btn:hover:not(:disabled){color:var(--tx);border-color:var(--ac)}.note-btn:disabled{opacity:.45;cursor:not-allowed}.note-btn.primary{color:var(--ac);border-color:var(--ac)}.note-btn.primary:hover:not(:disabled){background:color-mix(in srgb, var(--ac) 14%, transparent)}.note-btn.danger:hover:not(:disabled){color:var(--dang);border-color:var(--dang)}.note-link{color:var(--tx3);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-size:12px}.note-link:hover{color:var(--ac)}.note-link.danger:hover{color:var(--dang)}.note-html{color:var(--tx);word-break:break-word;font-size:14px;line-height:1.6}.note-html>:first-child{margin-top:0}.note-html>:last-child{margin-bottom:0}.note-html p{margin:8px 0}.note-html h2{letter-spacing:-.2px;border:0;margin:12px 0 6px;padding:0;font-size:16px}.note-html h3{color:var(--tx);margin:10px 0 5px;font-size:14.5px}.note-html ul,.note-html ol{margin:8px 0;padding-left:20px}.note-html li{margin:3px 0}.note-html li>p{margin:0}.note-html blockquote{border-left:3px solid var(--line);color:var(--tx2);margin:8px 0;padding:2px 0 2px 12px}.note-html code{font-family:var(--mono);background:var(--bg3);color:var(--key);border-radius:4px;padding:1.5px 5px;font-size:.87em}.note-html pre{background:var(--bg3);border:1px solid var(--line);font-family:var(--mono);border-radius:8px;margin:8px 0;padding:10px 12px;font-size:12.4px;line-height:1.55;overflow-x:auto}.note-html pre code{color:inherit;font-size:inherit;background:0 0;padding:0}.note-html hr{border:0;border-top:1px solid var(--line);margin:12px 0}.note-html a{color:var(--ac)}.note-time{color:var(--tx3);font-variant-numeric:tabular-nums;margin-right:auto;font-size:11.5px}.note-item-foot{align-items:center;gap:12px;margin-top:8px;display:flex}.note-item-actions{gap:8px;margin-top:8px;display:flex}.note-error{color:var(--dang);margin:8px 0 0;font-size:12.5px}.note-success{color:var(--ok);margin:8px 0 0;font-size:12.5px}.note-empty{color:var(--tx3);margin:4px 0;font-size:13px}.rte{border:1px solid var(--line);background:var(--bg);border-radius:9px;overflow:hidden}.rte:focus-within{border-color:var(--ac)}.rte-toolbar{background:var(--bg3);border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:1px;padding:5px 6px;display:flex}.rte-tool{color:var(--tx2);cursor:pointer;min-width:26px;height:26px;font:inherit;background:0 0;border:0;border-radius:5px;justify-content:center;align-items:center;padding:0 6px;font-size:12.5px;line-height:1;display:inline-flex}.rte-tool:hover:not(:disabled){background:var(--bg2);color:var(--tx)}.rte-tool.active{background:color-mix(in srgb, var(--ac) 20%, transparent);color:var(--ac)}.rte-tool:disabled{opacity:.35;cursor:not-allowed}.rte-tool.is-bold{font-weight:800}.rte-tool.is-italic{font-style:italic}.rte-tool.is-underline{text-decoration:underline}.rte-tool.is-strike{text-decoration:line-through}.rte-sep{background:var(--line);width:1px;height:16px;margin:0 4px}.rte-body{display:block}.rte-content{min-height:var(--rte-min-h,120px);max-height:40vh;color:var(--tx);word-break:break-word;outline:none;padding:10px 12px;font-size:13.5px;line-height:1.6;overflow-y:auto}.rte-content>:first-child{margin-top:0}.rte-content>:last-child{margin-bottom:0}.rte-content p{margin:7px 0}.rte-content h2{border:0;margin:11px 0 5px;padding:0;font-size:16px}.rte-content h3{margin:9px 0 4px;font-size:14.5px}.rte-content ul,.rte-content ol{margin:7px 0;padding-left:20px}.rte-content li{margin:2px 0}.rte-content li>p{margin:0}.rte-content blockquote{border-left:3px solid var(--line);color:var(--tx2);margin:8px 0;padding:2px 0 2px 12px}.rte-content code{font-family:var(--mono);background:var(--bg3);color:var(--key);border-radius:4px;padding:1.5px 5px;font-size:.87em}.rte-content pre{background:var(--bg3);border:1px solid var(--line);font-family:var(--mono);border-radius:8px;margin:8px 0;padding:10px 12px;font-size:12.4px;overflow-x:auto}.rte-content pre code{color:inherit;background:0 0;padding:0}.rte-content hr{border:0;border-top:1px solid var(--line);margin:10px 0}.rte-content a{color:var(--ac);text-decoration:underline}.rte-content p.is-editor-empty:first-child:before{content:attr(data-placeholder);float:left;pointer-events:none;height:0;color:var(--tx3)}.notes-pane{z-index:38;background:var(--bg2);border-left:1px solid var(--line);width:var(--notes-w,380px);flex-direction:column;display:flex;position:fixed;top:87px;bottom:0;right:0}.notes-pane.state-collapsed{width:44px}.notes-pane:not(.dragging){transition:width .16s}.pane-rail{color:var(--tx2);cursor:pointer;font:inherit;background:0 0;border:0;flex-direction:column;flex:1;align-items:center;gap:10px;padding:16px 0;display:flex}.pane-rail:hover{background:var(--bg3);color:var(--tx)}.pane-rail-icon{font-size:15px}.pane-rail-text{writing-mode:vertical-rl;letter-spacing:.14em;text-transform:uppercase;font-size:12px;font-weight:600}.pane-rail-count{background:var(--ac);color:#0b1020;border-radius:99px;padding:1px 6px;font-size:11px;font-weight:700}.pane-resizer{cursor:col-resize;z-index:2;width:7px;position:absolute;top:0;bottom:0;left:-3px}.pane-resizer:hover,.pane-resizer:focus-visible{background:color-mix(in srgb, var(--ac) 45%, transparent);outline:none}body.nb-resizing{cursor:col-resize;-webkit-user-select:none;user-select:none}.pane-head{border-bottom:1px solid var(--line);flex-shrink:0;align-items:center;gap:10px;padding:11px 12px;display:flex}.pane-title{align-items:baseline;gap:8px;min-width:0;font-size:13.5px;display:flex}.pane-title b{color:var(--tx)}.pane-title span{color:var(--tx3);white-space:nowrap;font-size:11.5px}.pane-badge{background:var(--bg3);border:1px solid var(--line);border-radius:99px;padding:0 7px;color:var(--tx2)!important;font-size:11px!important}.pane-head-actions{gap:2px;margin-left:auto;display:flex}.pane-icon{color:var(--tx3);cursor:pointer;width:26px;height:26px;font:inherit;background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;font-size:13px;display:inline-flex}.pane-icon:hover{background:var(--bg3);color:var(--tx);text-decoration:none}.pane-compose{border-bottom:1px solid var(--line);flex-shrink:0;padding:12px}.pane-compose-foot{align-items:center;gap:10px;margin-top:9px;display:flex}.pane-hint{color:var(--tx3);margin-right:auto;font-size:11px}.pane-pad{padding:0 12px}.pane-list{flex:1;padding:12px;overflow-y:auto}.pane-note{background:var(--bg);border:1px solid var(--line);border-radius:9px;margin-bottom:10px;padding:11px 13px}.pane-note:last-child{margin-bottom:0}@media (width<=900px){.notes-pane{max-width:calc(100vw - 48px);box-shadow:-8px 0 34px #00000073}.notes-pane.state-wide{width:min(620px,100vw - 48px)}.pane-resizer{display:none}}@media (pointer:coarse){.rte-toolbar{scrollbar-width:none;flex-wrap:nowrap;overflow-x:auto}.rte-toolbar::-webkit-scrollbar{display:none}.rte-tool{flex:none;min-width:38px;height:38px;font-size:14px}.rte-sep{flex:none}.pane-compose-foot{justify-content:flex-end}.pane-icon{width:38px;height:38px;font-size:15px}.note-link{padding:6px 2px;font-size:13px}.note-btn{padding:9px 14px}.pane-hint{display:none}}@media print{.notes-pane{display:none}}.notes-page .wrap{max-width:900px;margin:0 auto;padding:40px 24px 120px}.notes-page h1{letter-spacing:-.5px;margin:0 0 6px;font-size:30px}.notes-page .sub{color:var(--tx2);max-width:620px;margin:0 0 26px;font-size:15.5px}.notes-toolbar{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:10px;padding-bottom:14px;display:flex}.notes-search{background:var(--bg2);border:1px solid var(--line);min-width:180px;color:var(--tx);font:inherit;border-radius:8px;flex:1;padding:8px 11px;font-size:13.5px}.notes-search:focus{border-color:var(--ac);outline:none}.notes-select{background:var(--bg2);border:1px solid var(--line);color:var(--tx2);font:inherit;cursor:pointer;border-radius:8px;padding:8px 10px;font-size:13px}.notes-toolbar-actions{gap:8px;display:flex}.notes-file{display:none}.notes-count{color:var(--tx3);font-variant-numeric:tabular-nums;margin:14px 0 0;font-size:12px}.notes-empty{color:var(--tx2);background:var(--bg2);border:1px solid var(--line);border-radius:10px;margin:18px 0;padding:22px;font-size:14.5px}.notes-group{margin-top:34px}.notes-group>h2{letter-spacing:.1em;text-transform:uppercase;color:var(--tx3);border-bottom:1px solid var(--line);margin:0 0 12px;padding-bottom:8px;font-size:13px;font-weight:700}.notes-module{margin:0 0 22px}.notes-module>h3{margin:0 0 10px;font-size:14.5px;font-weight:600}.notes-module>h3 a{color:var(--tx)}.notes-module>h3 a:hover{color:var(--ac);text-decoration:none}.notes-module-num{font-family:var(--mono);color:var(--tx3);margin-right:7px;font-size:11.5px}.note-card{background:var(--bg2);border:1px solid var(--line);border-radius:10px;margin:0 0 10px;padding:13px 15px}@media (width<=620px){.notes-page .wrap{padding:28px 16px 100px}.notes-toolbar-actions{width:100%}.notes-toolbar-actions .note-btn{flex:1}}.home-page .wrap{max-width:1080px;margin:0 auto;padding:52px 24px 110px}.home-page .hero{border-bottom:1px solid var(--line);padding-bottom:30px}.home-page .hero h1{letter-spacing:-.035em;margin:0;font-size:clamp(34px,5.4vw,52px);font-weight:700;line-height:1.02}.home-page .hero h1 em{color:var(--ac);font-style:normal}.home-page .hero-line{color:var(--tx2);max-width:54ch;margin:14px 0 0;font-size:16.5px;line-height:1.55}.home-page .hero-stats{flex-wrap:wrap;gap:0;margin:26px 0 0;display:flex}.home-page .hero-stats>div{border-right:1px solid var(--line);margin-right:34px;padding-right:34px}.home-page .hero-stats>div:last-child{border-right:0;margin-right:0;padding-right:0}.home-page .hero-stats dt{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--tx3);font-size:10.5px}.home-page .hero-stats dd{font-family:var(--mono);color:var(--tx);font-variant-numeric:tabular-nums;margin:5px 0 0;font-size:25px;font-weight:600}.home-page .hero-stats dd.live{color:var(--ok)}.home-page .resume{background:var(--bg2);border:1px solid var(--line);border-left:3px solid var(--ac);border-radius:11px;flex-wrap:wrap;align-items:center;gap:20px;margin:26px 0 0;padding:16px 20px;display:flex}.home-page .resume:hover{border-color:var(--ac);border-left-color:var(--ac);text-decoration:none}.home-page .resume-eyebrow{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--tx3);flex:0 0 100%;font-size:10.5px}.home-page .resume-where{flex-direction:column;gap:3px;min-width:0;display:flex}.home-page .resume-where b{color:var(--tx);font-size:15px;font-weight:650}.home-page .resume-mod{color:var(--tx2);font-size:14px}.home-page .resume-mod i{font-family:var(--mono);color:var(--tx3);margin-right:8px;font-size:11.5px;font-style:normal}.home-page .resume-go{color:var(--ac);white-space:nowrap;margin-left:auto;font-size:14px;font-weight:650}.home-page .cards{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;margin-top:26px;display:grid}.home-page .card{background:var(--bg2);border:1px solid var(--line);border-radius:13px;flex-direction:column;padding:20px 20px 17px;transition:border-color .15s,transform .15s;display:flex}.home-page .card:hover{border-color:var(--ac);text-decoration:none;transform:translateY(-2px)}.home-page .card .kicker{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--tx3);font-size:10px}.home-page .card h2{letter-spacing:-.02em;color:var(--tx);margin:9px 0 8px;font-size:19px}.home-page .card-line{color:var(--tx2);margin:0 0 15px;font-size:14px;line-height:1.5}.home-page .topics{flex-wrap:wrap;gap:6px;margin:0 0 18px;padding:0;list-style:none;display:flex}.home-page .topics li{color:var(--tx2);background:var(--bg3);border:1px solid var(--line);border-radius:99px;padding:3px 10px;font-size:11.5px}.home-page .spine{align-items:flex-end;gap:2px;height:18px;margin-top:auto;display:flex}.home-page .spine i{background:var(--line);border-radius:1.5px;flex:1;min-width:2px;height:9px;transition:height .18s,background-color .18s}.home-page .spine i.done{background:var(--ok);height:15px}.home-page .spine i.here{background:var(--ac);height:18px}.home-page .card-foot{border-top:1px solid var(--line);align-items:baseline;gap:10px;margin-top:12px;padding-top:12px;display:flex}.home-page .count{font-family:var(--mono);color:var(--tx3);font-variant-numeric:tabular-nums;font-size:11.5px}.home-page .count b{color:var(--ok);font-weight:600}.home-page .go{color:var(--ac);white-space:nowrap;margin-left:auto;font-size:13px;font-weight:650}.home-page .how{border-top:1px solid var(--line);margin-top:48px;padding-top:24px}.home-page .how h3{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--tx3);margin:0 0 14px;font-size:10.5px;font-weight:700}.home-page .how ol{counter-reset:how;grid-template-columns:repeat(3,1fr);gap:20px;margin:0;padding:0;list-style:none;display:grid}.home-page .how li{counter-increment:how;color:var(--tx2);border-top:1px solid var(--line);margin:0;padding-top:11px;font-size:13.5px;line-height:1.6}.home-page .how li:before{content:counter(how, decimal-leading-zero);font-family:var(--mono);color:var(--tx3);margin-bottom:5px;font-size:10.5px;display:block}.home-page .how b{color:var(--tx);font-weight:650}@media (width<=900px){.home-page .cards,.home-page .how ol{grid-template-columns:1fr}.home-page .spine{height:16px}}@media (width<=620px){.home-page .wrap{padding:32px 16px 90px}.home-page .hero-stats>div{margin-right:20px;padding-right:20px}.home-page .hero-stats dd{font-size:21px}.home-page .resume-go{flex:0 0 100%;margin-left:0}}@media (prefers-reduced-motion:reduce){.home-page .card,.home-page .spine i{transition:none}.home-page .card:hover{transform:none}}.course-page #side{background:var(--bg2);border-right:1px solid var(--line);z-index:40;width:284px;padding:14px 0 60px;position:fixed;top:87px;bottom:0;left:0;overflow-y:auto}.course-page #side .grp{letter-spacing:.13em;text-transform:uppercase;color:var(--tx3);padding:16px 18px 6px;font-size:10.5px;font-weight:700}.course-page #side a.nav{color:var(--tx2);border-left:3px solid #0000;align-items:baseline;gap:9px;padding:7px 18px;font-size:13.5px;line-height:1.45;display:flex}.course-page #side a.nav:hover{background:var(--bg3);color:var(--tx);text-decoration:none}.course-page #side a.nav.on{color:var(--ac);border-left-color:var(--ac);background:var(--bg3);font-weight:600}.course-page #side a.nav .n{color:var(--tx3);font-family:var(--mono);min-width:20px;font-size:11px}.course-page #side a.nav .dot{color:var(--ok);opacity:0;margin-left:auto;font-size:11px}.course-page #side a.nav.done .dot{opacity:1}.course-page #sfilter{background:var(--bg3);border:1px solid var(--line);width:calc(100% - 28px);color:var(--tx);border-radius:8px;margin:0 14px;padding:7px 10px;font-family:inherit;font-size:13px}.course-page #scrim{z-index:39;background:#0000008c;display:none;position:fixed;inset:87px 0 0}.course-page main{margin-left:284px;margin-right:var(--notes-w,0)}.course-page .wrap{max-width:860px;margin:0 auto;padding:34px 28px 120px}.course-page h1{letter-spacing:-.6px;margin:0 0 6px;font-size:31px;line-height:1.25}.course-page h2{letter-spacing:-.3px;border-top:1px solid var(--line);margin:44px 0 12px;padding-top:14px;font-size:22px}.course-page h3{color:var(--tx);margin:28px 0 8px;font-size:17px}.course-page h4{color:var(--tx2);text-transform:uppercase;letter-spacing:.06em;margin:20px 0 6px;font-size:14.5px}.course-page p{margin:12px 0}.course-page ul,.course-page ol{margin:12px 0;padding-left:22px}.course-page li{margin:5px 0}.course-page .lede{color:var(--tx2);margin:0 0 8px;font-size:16.5px}.course-page .meta{flex-wrap:wrap;gap:8px;margin:14px 0 26px;display:flex}.course-page .pill{background:var(--bg3);border:1px solid var(--line);color:var(--tx2);border-radius:99px;padding:3px 11px;font-size:11.5px}.course-page .pill.hard{color:var(--dang);border-color:var(--dang)}.course-page .pill.med{color:var(--warn);border-color:var(--warn)}.course-page .pill.easy{color:var(--ok);border-color:var(--ok)}.course-page code{font-family:var(--mono);background:var(--bg3);color:var(--key);border-radius:4px;padding:1.5px 5px;font-size:.875em}.course-page strong{color:var(--tx);font-weight:650}.course-page hr{border:0;border-top:1px solid var(--line);margin:32px 0}.course-page blockquote{border-left:3px solid var(--line);color:var(--tx2);margin:16px 0;padding:2px 0 2px 16px}.course-page .cal{border:1px solid var(--line);background:var(--bg2);border-left-width:3px;border-radius:8px;margin:18px 0;padding:12px 16px;font-size:14.5px}.course-page .cal>b:first-child{letter-spacing:.1em;text-transform:uppercase;margin-bottom:5px;font-size:11.5px;display:block}.course-page .cal p{margin:7px 0}.course-page .cal.tip{border-left-color:var(--ac)}.course-page .cal.tip>b{color:var(--ac)}.course-page .cal.key{border-left-color:var(--key)}.course-page .cal.key>b{color:var(--key)}.course-page .cal.warn{border-left-color:var(--warn)}.course-page .cal.warn>b{color:var(--warn)}.course-page .cal.trap{border-left-color:var(--dang)}.course-page .cal.trap>b{color:var(--dang)}.course-page .cal.win{border-left-color:var(--ok)}.course-page .cal.win>b{color:var(--ok)}.course-page .cw{border:1px solid var(--line);background:var(--bg2);border-radius:9px;margin:18px 0;overflow:hidden}.course-page .cw .bar{background:var(--bg3);border-bottom:1px solid var(--line);align-items:center;padding:0 6px;display:flex}.course-page .cw .bar .cap{color:var(--tx3);font-size:11.5px;font-family:var(--mono);margin-right:auto;padding:0 8px}.course-page .cw .bar button{color:var(--tx3);font:600 12px var(--sans);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;padding:8px 12px}.course-page .cw .bar button.on{color:var(--ac);border-bottom-color:var(--ac)}.course-page .cw .bar .cpy{color:var(--tx3);border-radius:6px;padding:6px 9px;font-size:11px}.course-page .cw .bar .cpy:hover{color:var(--tx);background:var(--bg2)}.course-page .cw pre{font-family:var(--mono);color:var(--tx);margin:0;padding:14px 16px;font-size:12.9px;line-height:1.65;display:none;overflow-x:auto}.course-page .cw pre.on{display:block}.course-page .cw pre code,.course-page pre.plain code{color:inherit;font-size:inherit;background:0 0;border-radius:0;padding:0}.course-page .cw pre .c{color:var(--tx3);font-style:italic}.course-page .cw pre .k{color:#c792ea;font-weight:600}.course-page .cw pre .s{color:#a5d6a7}.course-page .cw pre .n{color:#f0b45c}.course-page .cw pre .f{color:#82aaff}.course-page pre.plain{background:var(--bg2);border:1px solid var(--line);font-family:var(--mono);border-radius:9px;margin:18px 0;padding:14px 16px;font-size:12.9px;line-height:1.6;overflow-x:auto}.course-page table{border-collapse:collapse;width:100%;margin:18px 0;font-size:14px}.course-page th,.course-page td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:8px 11px}.course-page th{color:var(--tx3);text-transform:uppercase;letter-spacing:.08em;background:var(--bg2);font-size:11px;font-weight:700}.course-page tbody tr:hover{background:var(--bg2)}.course-page td code{font-size:12.4px}.course-page .tscroll{overflow-x:auto}.course-page table.pb td:first-child{width:26px;padding-right:0}.course-page table.pb input{width:15px;height:15px;accent-color:var(--ok);cursor:pointer;margin-top:5px}.course-page table.pb .d{white-space:nowrap;font-size:11px;font-weight:700}.course-page .d-E{color:var(--ok)}.course-page .d-M{color:var(--warn)}.course-page .d-H{color:var(--dang)}.course-page table.pb tr.done td:nth-child(2){opacity:.5;text-decoration:line-through}.course-page .why{color:var(--tx2);font-size:13px}.course-page .prem{letter-spacing:.06em;text-transform:uppercase;color:var(--warn);border:1px solid var(--warn);white-space:nowrap;vertical-align:1px;opacity:.85;border-radius:4px;padding:0 4px;font-size:9.5px;font-weight:700}.course-page details{background:var(--bg2);border:1px solid var(--line);border-radius:8px;margin:12px 0;padding:0}.course-page details>summary{cursor:pointer;color:var(--ac);padding:10px 15px;font-size:13.5px;font-weight:600;list-style:none}.course-page details>summary::-webkit-details-marker{display:none}.course-page details>summary:before{content:"▸ ";color:var(--tx3)}.course-page details[open]>summary:before{content:"▾ "}.course-page details>summary:hover{background:var(--bg3)}.course-page details .dbody{border-top:1px solid var(--line);padding:2px 15px 12px}.course-page details .dbody>:first-child{margin-top:10px}.course-page .quiz{background:var(--bg2);border:1px solid var(--line);border-radius:9px;margin:16px 0;padding:14px 16px}.course-page .quiz .q{margin:0 0 10px;font-size:14.5px;font-weight:600}.course-page .quiz .opt{text-align:left;background:var(--bg3);border:1px solid var(--line);width:100%;color:var(--tx);cursor:pointer;font:inherit;border-radius:7px;margin:6px 0;padding:8px 12px;font-size:13.5px;display:block}.course-page .quiz .opt:hover{border-color:var(--ac)}.course-page .quiz .opt.right{border-color:var(--ok);background:color-mix(in srgb,var(--ok) 14%,transparent)}.course-page .quiz .opt.wrong{border-color:var(--dang);background:color-mix(in srgb,var(--dang) 14%,transparent);opacity:.75}.course-page .quiz .exp{color:var(--tx2);border-top:1px solid var(--line);margin-top:10px;padding-top:10px;font-size:13.5px;display:none}.course-page .quiz.answered .exp{display:block}.course-page .grid2{grid-template-columns:1fr 1fr;gap:14px;margin:18px 0;display:grid}.course-page .card{background:var(--bg2);border:1px solid var(--line);border-radius:9px;padding:13px 16px;font-size:14px}.course-page .card h5{color:var(--ac);margin:0 0 6px;font-size:13.5px}.course-page .card p{margin:6px 0}.course-page .steps{counter-reset:s;padding-left:0;list-style:none}.course-page .steps>li{counter-increment:s;margin:12px 0;padding-left:34px;position:relative}.course-page .steps>li:before{content:counter(s);background:var(--bg3);border:1px solid var(--line);width:23px;height:23px;color:var(--ac);font:700 11.5px var(--mono);border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:1px;left:0}.course-page .ascii{font-family:var(--mono);white-space:pre;background:var(--bg2);border:1px solid var(--line);color:var(--tx2);border-radius:9px;margin:18px 0;padding:14px 16px;font-size:12.4px;line-height:1.45;overflow-x:auto}.course-page .kv{gap:10px;margin:7px 0;font-size:13.5px;display:flex}.course-page .kv b{min-width:120px;color:var(--tx2);font-weight:600}.course-page .pager{border-top:1px solid var(--line);justify-content:space-between;gap:12px;margin-top:56px;padding-top:22px;display:flex}.course-page .pager a{background:var(--bg2);border:1px solid var(--line);border-radius:9px;flex:1;padding:12px 15px;font-size:13.5px}.course-page .pager a:hover{border-color:var(--ac);text-decoration:none}.course-page .pager a small{color:var(--tx3);text-transform:uppercase;letter-spacing:.08em;font-size:11px;display:block}.course-page .pager a.nx{text-align:right}.course-page .pager a.gh{visibility:hidden}.course-page .modone{background:var(--bg2);border:1px solid var(--line);border-radius:9px;align-items:center;gap:10px;margin:30px 0 0;padding:12px 16px;font-size:14px;display:flex}.course-page .modone input{width:17px;height:17px;accent-color:var(--ok);cursor:pointer}.course-page section.mod{display:none}.course-page section.mod.on{animation:.18s fade;display:block}@media (width<=900px){.course-page #side{transition:transform .2s;transform:translate(-100%);box-shadow:0 0 40px #00000080}body.navopen .course-page #side{transform:none}body.navopen .course-page #scrim{display:block}.course-page main{margin-left:0;margin-right:44px}.course-page .wrap{padding:24px 16px 100px}.course-page .grid2{grid-template-columns:1fr}.course-page h1{font-size:25px}}@media print{.course-page #side,.course-page #scrim,.course-page .pager{display:none}.course-page main{margin:0}.course-page section.mod{display:block!important}body .course-page{color:#000;background:#fff}}.course-page .pill.warn-pill{color:var(--warn);border-color:var(--warn)}
