.hero{border-bottom:1px solid var(--line);background:linear-gradient(180deg, color-mix(in srgb, var(--bg-alt) 70%, transparent), transparent 70%), var(--bg);position:relative;overflow:hidden}.hero:before{content:"";background-image:linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px);opacity:.4;pointer-events:none;background-size:56px 56px;position:absolute;inset:0;mask-image:radial-gradient(80% 60% at 30% 0,#000 20%,#0000 100%)}.hero-inner{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:center;gap:40px;padding:64px 24px 58px;display:grid;position:relative}.hero-copy .eyebrow{margin-bottom:18px}.hero h1{letter-spacing:-.03em;text-wrap:balance;margin-bottom:18px;font-size:clamp(36px,4.6vw,56px);font-weight:830;line-height:1.1}.hero h1 em{color:var(--accent);font-style:normal}.hero-lede{color:var(--sub);max-width:46ch;font-size:17px;line-height:1.8}.hero-cta{flex-wrap:wrap;gap:10px;margin-top:26px;display:flex}.hero-meta{color:var(--faint);flex-wrap:wrap;gap:8px 18px;margin-top:22px;font-size:12.5px;display:flex}.hero-meta span{align-items:center;gap:6px;display:inline-flex}.hero-demo{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--card);box-shadow:var(--shadow-pop);padding:14px;position:relative}.hero-demo-label{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--faint);align-items:center;gap:7px;padding:0 2px 10px;font-size:10px;display:flex}.section{padding:62px 0}.section+.section{border-top:1px solid var(--line)}.section-head{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:28px;display:flex}.section-title{letter-spacing:-.02em;font-size:clamp(23px,2.6vw,29px);font-weight:790;line-height:1.3}.section-sub{color:var(--sub);max-width:60ch;margin-top:8px;font-size:15px;line-height:1.75}.section-link{white-space:nowrap;color:var(--accent);font-size:13.5px;font-weight:640;text-decoration:none}.feature-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.feature{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);box-shadow:var(--shadow-card);padding:22px 22px 24px}.feature-num{font-family:var(--font-mono);letter-spacing:.14em;color:var(--faint);margin-bottom:14px;font-size:10px}.feature h3{letter-spacing:-.01em;margin-bottom:8px;font-size:17px;font-weight:720}.feature p{color:var(--sub);font-size:14px;line-height:1.75}.feature-tags{flex-wrap:wrap;gap:5px;margin-top:14px;display:flex}.part-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.part-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);color:var(--ink);transition:border-color .16s var(--ease), transform .16s var(--ease), box-shadow .16s var(--ease);flex-direction:column;gap:8px;padding:20px;text-decoration:none;display:flex}.part-card:hover{border-color:var(--accent-line);box-shadow:var(--shadow-card);color:var(--ink);transform:translateY(-2px)}.part-card-top{align-items:baseline;gap:9px;display:flex}.part-num{font-family:var(--font-mono);color:var(--faint);font-size:11px}.part-card h3{letter-spacing:-.01em;font-size:16.5px;font-weight:720}.part-card p{color:var(--sub);flex:1;font-size:13px;line-height:1.7}.part-card-foot{font-family:var(--font-mono);color:var(--faint);border-top:1px dashed var(--line);align-items:center;gap:8px;padding-top:8px;font-size:10.5px;display:flex}.route-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.route-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);flex-direction:column;gap:10px;padding:20px;display:flex}.route-card h3{font-size:16px;font-weight:730}.route-card .desc{color:var(--sub);flex:1;font-size:13px;line-height:1.7}.route-parts{flex-wrap:wrap;gap:4px;display:flex}.route-parts .pill{padding:2px 8px;font-size:10.5px}.route-foot{font-family:var(--font-mono);color:var(--faint);border-top:1px dashed var(--line);justify-content:space-between;align-items:center;padding-top:8px;font-size:10.5px;display:flex}.update-list{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);gap:0;display:grid;overflow:hidden}.update-row{color:var(--ink);transition:background .14s var(--ease);grid-template-columns:96px minmax(0,1fr) auto;align-items:center;gap:14px;padding:13px 18px;text-decoration:none;display:grid}.update-row+.update-row{border-top:1px solid var(--line)}.update-row:hover{background:var(--hover);color:var(--ink)}.update-part{font-family:var(--font-mono);letter-spacing:.04em;color:var(--faint);font-size:10.5px}.update-title{font-size:14.5px;font-weight:620;line-height:1.5;display:block}.update-thesis{color:var(--sub);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:12.5px;line-height:1.6;display:block;overflow:hidden}.update-min{font-family:var(--font-mono);color:var(--faint);white-space:nowrap;font-size:10.5px}.cta{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--card);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;margin:0 0 70px;padding:34px 32px;display:flex}.cta h2{letter-spacing:-.02em;font-size:22px;font-weight:780}.cta p{color:var(--sub);margin-top:6px;font-size:14px}.syllabus{max-width:860px;margin:0 auto;padding:44px 24px 80px}.syllabus-head{border-bottom:1px solid var(--line);margin-bottom:8px;padding-bottom:26px}.part-block{border-bottom:1px solid var(--line);padding:30px 0;scroll-margin-top:80px}.part-block-head{flex-wrap:wrap;align-items:baseline;gap:12px;margin-bottom:8px;display:flex}.part-block-head .num{font-family:var(--font-mono);color:var(--faint);font-size:12px}.part-block-head h2{letter-spacing:-.02em;font-size:22px;font-weight:780}.part-block-desc{color:var(--sub);max-width:68ch;margin-bottom:18px;font-size:14px;line-height:1.75}.topic-block{margin-top:18px}.topic-block h3{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--faint);margin-bottom:6px;font-size:10.5px}.lesson-row{color:var(--ink);transition:background .14s var(--ease);border-radius:9px;align-items:center;gap:12px;padding:11px 12px;text-decoration:none;display:flex}.lesson-row:hover{background:var(--hover);color:var(--ink)}.lesson-row .idx{font-family:var(--font-mono);color:var(--faint);flex:none;width:26px;font-size:10.5px}.lesson-row .body{flex:1;min-width:0}.lesson-row .t{font-size:15px;font-weight:620;line-height:1.5;display:block}.lesson-row .d{color:var(--sub);text-overflow:ellipsis;white-space:nowrap;margin-top:1px;font-size:12.5px;line-height:1.6;display:block;overflow:hidden}.lesson-row .right{flex:none;align-items:center;gap:8px;display:flex}.lesson-row .min{font-family:var(--font-mono);color:var(--faint);font-size:10.5px}.roadmap-page{max-width:980px;margin:0 auto;padding:44px 24px 80px}.roadmap-switch{flex-wrap:wrap;gap:7px;margin:22px 0 26px;display:flex}.roadmap-panel[hidden]{display:none}.roadmap-switch .chip[aria-selected=true]{background:var(--ink);border-color:var(--ink);color:var(--bg)}.exam-page,.lab-page{min-height:68vh}.exam-bar{align-items:flex-start}.roadmap-track{gap:10px;display:grid}.roadmap-step{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);color:var(--ink);grid-template-columns:34px minmax(0,1fr);gap:14px;padding:16px 18px;text-decoration:none;display:grid}.roadmap-step:hover{border-color:var(--accent-line);color:var(--ink)}.roadmap-step .n{font-family:var(--font-mono);color:var(--faint);padding-top:2px;font-size:12px}.roadmap-step h3{margin-bottom:4px;font-size:16.5px;font-weight:720}.roadmap-step p{color:var(--sub);font-size:13px;line-height:1.7}.roadmap-step .stats{font-family:var(--font-mono);color:var(--faint);gap:14px;margin-top:8px;font-size:10.5px;display:flex}.doc-page{max-width:760px;margin:0 auto;padding:44px 24px 80px}.glossary-list{border-top:1px solid var(--line);gap:0;margin-top:24px;display:grid}.glossary-item{border-bottom:1px solid var(--line);padding:14px 2px;scroll-margin-top:80px}.glossary-term{flex-wrap:wrap;align-items:baseline;gap:9px;display:flex}.glossary-term b{font-size:15.5px;font-weight:720}.glossary-term .en{font-family:var(--font-mono);color:var(--faint);font-size:10.5px}.glossary-def{color:var(--sub);margin-top:3px;font-size:14px;line-height:1.75}.lab-page,.exam-page{max-width:940px;margin:0 auto;padding:44px 24px 80px}.exam-bar{flex-wrap:wrap;align-items:center;gap:8px;margin:20px 0 24px;display:flex}.exam-stage{margin-top:18px}.exam-result{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);text-align:center;margin-top:24px;padding:22px}.exam-result .score{font-family:var(--font-mono);color:var(--accent);font-size:40px;font-weight:700;line-height:1.2}@media (width<=1024px){.feature-grid,.part-grid,.route-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-inner{grid-template-columns:minmax(0,1fr);gap:30px;padding:44px 24px 40px}.hero-demo{max-width:520px}}@media (width<=680px){.feature-grid,.part-grid,.route-grid{grid-template-columns:minmax(0,1fr)}.section{padding:44px 0}.update-row{grid-template-columns:minmax(0,1fr) auto}.update-part{display:none}.cta{margin-bottom:44px;padding:24px}.lesson-row .d{display:none}}
