html,body{overflow-x:clip}.acad{--paper: #f4f3ff;--card: #ffffff;--ink: #2a2350;--muted: #7b76a3;--line: #eceafe;--brand: #6c5ce7;--brand-soft: #efeafe;--gold: #cf9a34;--serif: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;--disp: "SF Pro Rounded", ui-rounded, "Segoe UI", system-ui, -apple-system, sans-serif;--shadow: 0 1px 2px rgba(20,26,50,.05), 0 8px 22px rgba(20,26,50,.07);--shadow-lg: 0 2px 6px rgba(20,26,50,.06), 0 20px 46px rgba(20,26,50,.12);width:100vw;margin-left:calc(50% - 50vw);background:var(--paper);color:var(--ink);font-family:system-ui,Segoe UI,Roboto,sans-serif;padding:0 0 3.5rem}@media(prefers-color-scheme:dark){.acad{--paper:#141127;--card:#211d3f;--ink:#eeeaff;--muted:#9a92c4;--line:#2e2850;--brand:#8b7cf0;--brand-soft:#2a2450;--gold:#e2b358;--shadow: 0 1px 2px rgba(0,0,0,.3), 0 10px 26px rgba(0,0,0,.35);--shadow-lg: 0 2px 6px rgba(0,0,0,.35), 0 24px 56px rgba(0,0,0,.5)}}[data-theme=light] .acad{--paper:#f4f3ff;--card:#fff;--ink:#2a2350;--muted:#7b76a3;--line:#eceafe;--brand:#6c5ce7;--brand-soft:#efeafe;--gold:#cf9a34}[data-theme=dark] .acad{--paper:#141127;--card:#211d3f;--ink:#eeeaff;--muted:#9a92c4;--line:#2e2850;--brand:#8b7cf0;--brand-soft:#2a2450;--gold:#e2b358;--shadow:0 1px 2px rgba(0,0,0,.3),0 10px 26px rgba(0,0,0,.35);--shadow-lg:0 2px 6px rgba(0,0,0,.35),0 24px 56px rgba(0,0,0,.5)}.acad h1,.acad h2,.acad h3{font-family:var(--disp);margin:0}.acad a{color:inherit}.acad-hero{position:relative;overflow:hidden;padding:2.6rem 0 2.3rem;background:linear-gradient(135deg,#6c5ce7,#7c5cf0 45%,#c86bfa)}.acad-hero:before{content:"";position:absolute;top:-40%;right:-8%;width:480px;height:480px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.22),transparent 70%);pointer-events:none}.acad-hero-in{position:relative;z-index:1;max-width:1320px;margin:0 auto;padding:0 clamp(.9rem,3vw,1.6rem)}.acad-eyebrow{margin:0;display:inline-flex;align-items:center;gap:.5rem;font-family:var(--disp);font-weight:700;font-size:.9rem;color:#ffffffe6}.acad-eyebrow b{color:#fff}.acad-mark{background:#fff!important;box-shadow:inset 0 0 0 3px #7c5cf0!important}.acad-eyebrow b{font-variant:small-caps;letter-spacing:.1em}.acad-mark{width:20px;height:20px;border-radius:6px;background:var(--brand);box-shadow:inset 0 0 0 3px var(--paper)}.acad-streak{display:inline-block;margin-left:.4rem;font-family:var(--disp);font-weight:800;font-size:.72rem;color:#c77d1e;background:color-mix(in srgb,#f59e0b 15%,var(--card));border:1px solid color-mix(in srgb,#f59e0b 35%,var(--line));border-radius:999px;padding:.14rem .6rem;vertical-align:middle}.acad-h1{margin:.5rem 0;font-weight:800;letter-spacing:-.02em;line-height:1.04;font-size:clamp(2.2rem,6vw,3.7rem);text-wrap:balance;color:#fff}.acad-sub{margin:0;max-width:58ch;font-size:1.14rem;line-height:1.55;color:#ffffffe6}.acad-tabs{display:flex;flex-wrap:wrap;gap:.4rem;margin:1.3rem 0 0}.acad-tabs a{font-family:var(--disp);font-weight:700;font-size:.94rem;text-decoration:none;color:#ffffffe0;background:#ffffff29;padding:.5rem 1rem;border-radius:999px}.acad-tabs a:hover{color:#fff;background:#ffffff47}.acad-tabs a.on{color:#6c5ce7;background:#fff}.acad-forgrown{margin:.85rem 0 0}.acad-forgrown a{font-family:var(--disp);font-weight:700;font-size:.9rem;color:#ffffffdb;text-decoration:underline;text-underline-offset:3px;text-decoration-color:#fff6}.acad-forgrown a:hover{color:#fff;text-decoration-color:#fff}.acad-streak{background:#fff3!important;border-color:#ffffff59!important;color:#fff!important}.acad-grid{max-width:1320px;margin:1.2rem auto 0;padding:0 clamp(.9rem,3vw,1.6rem);display:grid;grid-template-columns:260px minmax(0,1fr) 320px;gap:1.3rem;align-items:start}.acad-nav,.acad-rail{display:flex;flex-direction:column;gap:1rem;position:sticky;top:12px}.mobile-only{display:none}.panel{background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow)}.panel-h{display:flex;align-items:center;justify-content:space-between;padding:.85rem 1rem .55rem}.panel-h h3{font-size:.78rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.panel-h .more{font-size:.78rem;font-weight:700;color:var(--brand);text-decoration:none}.notebook{padding:.5rem .45rem .7rem}.nb-title{display:flex;align-items:center;gap:.5rem;padding:.5rem .6rem;font-family:var(--disp);font-weight:800}.nb-title svg{width:18px;height:18px;color:var(--gold)}.folder{border-radius:12px;margin:.15rem .2rem}.fhead{display:flex;align-items:center;gap:.55rem;width:100%;text-align:left;font:inherit;font-family:var(--disp);font-weight:700;cursor:pointer;border:none;background:transparent;color:var(--ink);padding:.5rem .55rem;border-radius:10px}.fhead:hover{background:var(--brand-soft)}.fic{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;flex:none}.fic svg{width:18px;height:18px}.fmeta{flex:1 1 auto;min-width:0}.fmeta b{display:block;font-size:.92rem}.fmeta span{font-size:.72rem;color:var(--muted);font-weight:600}.caret{width:16px;height:16px;color:var(--muted);transition:transform .18s;flex:none}.folder.open .caret{transform:rotate(90deg)}.cbar{height:5px;border-radius:999px;background:var(--line);margin:.1rem .6rem;overflow:hidden}.cbar span{display:block;height:100%;background:var(--brand);border-radius:999px;transition:width .4s ease}.flist{list-style:none;margin:0;padding:.2rem .25rem .5rem 2.35rem;display:none}.folder.open .flist{display:block}.flist li{margin:.1rem 0}.flist a{display:flex;align-items:center;gap:.5rem;text-decoration:none;font-size:.86rem;font-weight:600;color:var(--muted);padding:.34rem .45rem;border-radius:8px}.flist a:hover{background:var(--brand-soft);color:var(--ink)}.flist .dotnum{flex:none;width:20px;height:20px;border-radius:50%;border:1.5px solid var(--line);display:grid;place-items:center;font-size:.66rem;font-weight:800;color:var(--muted)}.flist a.is-done .dotnum{background:#2ec7a9;border-color:#2ec7a9;color:#fff}.flist .flink-cap{color:var(--brand);font-weight:700}.acad-main{display:flex;flex-direction:column;gap:1rem;min-width:0}.resume-last{display:flex;align-items:center;gap:.7rem 1rem;flex-wrap:wrap;text-decoration:none;color:var(--ink);padding:.9rem 1.1rem;border-radius:14px;background:var(--card);border:1px solid var(--line);border-left:4px solid var(--brand);box-shadow:var(--shadow)}.resume-last:hover{border-color:var(--brand);text-decoration:none}.rl-tag{flex:none;font-family:var(--disp);font-weight:800;font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;color:var(--brand);background:var(--brand-soft);padding:.22rem .6rem;border-radius:999px}.rl-t{flex:1 1 12rem;min-width:0}.rl-t b{display:block;font-family:var(--disp);font-size:1.05rem}.rl-t span{font-size:.85rem;color:var(--muted)}.rl-go{margin-left:auto;font-family:var(--disp);font-weight:800;color:var(--brand)}.feature{display:flex;align-items:center;gap:.7rem 1rem;flex-wrap:wrap;text-decoration:none;padding:1.15rem 1.3rem;border-radius:18px;color:#fff;background:linear-gradient(135deg,var(--brand),#7a3ff0);box-shadow:var(--shadow-lg)}.feature-tag{font-family:var(--disp);font-weight:800;font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:#fff;background:#ffffff38;padding:.28rem .7rem;border-radius:999px}.feature-body{flex:1 1 15rem;font-size:1rem;line-height:1.45}.feature-body b{display:block;font-family:var(--disp);font-weight:800;font-size:1.3rem;letter-spacing:-.01em}.feature-go{margin-left:auto;font-family:var(--disp);font-weight:800}.sectitle{display:flex;align-items:baseline;gap:.6rem;margin:.8rem 0 0}.sectitle h2{font-size:1.2rem;font-weight:800}.sectitle .count{font-size:.82rem;color:var(--muted);font-weight:600}.catalog{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:.9rem}.course{position:relative;display:flex;flex-direction:column;text-decoration:none;background:var(--card);border:1px solid var(--line);border-radius:18px;padding:1.1rem 1.15rem;box-shadow:var(--shadow);transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease;overflow:hidden}.course:before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--c)}.course:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);border-color:color-mix(in srgb,var(--c) 45%,var(--line))}.course-top{display:flex;align-items:center;justify-content:space-between}.course-ic{width:46px;height:46px;border-radius:13px;background:var(--c);display:grid;place-items:center;box-shadow:0 4px 12px color-mix(in srgb,var(--c) 45%,transparent)}.course-ic svg{width:25px;height:25px}.course-ring{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--c) 0%,color-mix(in srgb,var(--c) 16%,transparent) 0)}.course-ring b{width:34px;height:34px;border-radius:50%;background:var(--card);display:grid;place-items:center;font-family:var(--disp);font-weight:800;font-size:.68rem;color:var(--c);font-variant-numeric:tabular-nums}.course-name{margin:.8rem 0 .2rem;font-size:1.2rem;font-weight:800}.course-blurb{margin:0;font-size:.92rem;line-height:1.45;color:var(--muted);flex:1 1 auto}.course-foot{display:flex;align-items:center;justify-content:space-between;margin-top:.9rem;padding-top:.7rem;border-top:1px solid var(--line)}.course-count{font-size:.78rem;font-weight:700;color:var(--muted)}.course-cta{font-family:var(--disp);font-weight:800;font-size:.9rem;color:var(--c)}.minirow{display:grid;grid-template-columns:1fr 1fr;gap:.9rem}.mini{display:flex;align-items:center;gap:.7rem;text-decoration:none;background:var(--card);border:1px solid var(--line);border-radius:15px;padding:.85rem .95rem;box-shadow:var(--shadow)}.mini:hover{border-color:var(--brand)}.mini-ic{width:40px;height:40px;border-radius:11px;display:grid;place-items:center;flex:none}.mini-ic svg{width:22px;height:22px}.mini-t b{display:block;font-family:var(--disp);font-size:.95rem}.mini-t span{font-size:.78rem;color:var(--muted)}.practice{margin-top:.3rem}.practice summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:.6rem;font-family:var(--disp);font-weight:800;font-size:.95rem;color:var(--muted);padding:.7rem .2rem}.practice summary::-webkit-details-marker{display:none}.practice summary:before{content:"+";width:22px;height:22px;border-radius:7px;background:var(--card);border:1px solid var(--line);display:grid;place-items:center}.practice[open] summary:before{content:"-"}.practice .pc{font-weight:600;font-size:.8rem}.practice-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.5rem;margin-top:.5rem}.pd{text-decoration:none;font-size:.86rem;font-weight:600;color:var(--ink);background:var(--card);border:1px solid var(--line);border-radius:10px;padding:.55rem .7rem}.pd:hover{border-color:var(--brand);color:var(--brand)}.promo{list-style:none;margin:0;padding:.3rem .6rem .7rem;display:flex;flex-direction:column;gap:.4rem}.promo a{display:flex;align-items:center;gap:.7rem;text-decoration:none;padding:.5rem;border-radius:11px}.promo a:hover{background:var(--brand-soft)}.promo .pic{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;flex:none}.promo .pic svg{width:21px;height:21px}.promo b{display:block;font-family:var(--disp);font-size:.9rem}.promo small{font-size:.76rem;color:var(--muted)}.rank{list-style:none;margin:0;padding:.3rem .7rem .8rem;display:flex;flex-direction:column;gap:.2rem}.rank li{display:flex;align-items:center;gap:.6rem;padding:.35rem .3rem}.rank .rn{width:20px;text-align:center;font-weight:800;font-family:var(--disp);color:var(--muted)}.rank li:nth-child(1) .rn{color:var(--gold)}.rank .rname{flex:1 1 auto;font-weight:700;font-size:.9rem}.rank .rsc{font-weight:800;color:var(--brand);font-variant-numeric:tabular-nums}.rank-empty{color:var(--muted);font-size:.84rem}.hubfeed{padding:0 .55rem .6rem}.hubfeed-pad{padding:.3rem .7rem .7rem}.hf-item{padding:.5rem .3rem;border-top:1px solid var(--line)}.hf-item:first-child{border-top:none}.hf-top{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem}.hf-lesson{font-family:var(--disp);font-weight:800;font-size:.82rem;color:var(--brand);text-decoration:none}.hf-lesson:hover{text-decoration:underline}.hf-t{font-size:.66rem;color:var(--muted);flex:none}.hf-body{margin-top:.15rem;font-size:.82rem;line-height:1.4;color:var(--ink);word-break:break-word}.hf-body b{color:var(--ink)}.hf-tag{color:var(--brand);font-weight:700}.joincard{padding:1rem 1.1rem 1.1rem}.joincard h3{font-size:1.05rem;font-weight:800}.joincard p{margin:.4rem 0 .9rem;font-size:.88rem;color:var(--muted);line-height:1.5}.joinbtn{display:inline-block;text-decoration:none;font-family:var(--disp);font-weight:800;font-size:.9rem;color:#fff;background:var(--brand);border-radius:11px;padding:.6rem 1.1rem}.mnav-btn{width:100%;display:flex;align-items:center;gap:.6rem;font:inherit;font-family:var(--disp);font-weight:700;cursor:pointer;background:var(--card);border:1px solid var(--line);border-radius:13px;padding:.7rem .85rem;box-shadow:var(--shadow);color:var(--ink)}.mnav-ic{width:30px;height:30px;border-radius:9px;background:var(--brand);display:grid;place-items:center;flex:none}.mnav-t{flex:1 1 auto;text-align:left}.mnav-t b{display:block}.mnav-t span{font-size:.74rem;color:var(--muted);font-weight:600}@media(max-width:1120px){.acad-grid{grid-template-columns:240px minmax(0,1fr)}.acad-rail{display:none}}@media(max-width:820px){.acad-grid{grid-template-columns:1fr}.acad-nav{position:static}.mobile-only{display:block}.notebook{display:none}.notebook.nb-show{display:block;margin-top:.6rem}.minirow{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.course,.cbar span{transition:none}}
