:root{--bg:#fafafa;--surface:#fff;--border:#e5e5e5;--fg:#1a1a1a;--fg-muted:#6b6b6b;--accent:#c1442e;--accent-hover:#a83926;--accent-soft:#fdece8;--radius:10px;--max-width:1100px}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:#0000;overflow-x:hidden}html,body{background:var(--bg);color:var(--fg);font-family:system-ui,-apple-system,sans-serif;line-height:1.6}img,pre,code{max-width:100%}a{color:var(--accent);text-decoration:none;transition:color .15s}a:hover{color:var(--accent-hover)}h1,h2,h3{line-height:1.2}.container{max-width:var(--max-width);margin:0 auto;padding:64px 24px}@media (max-width:768px){.container{padding:32px 16px}}.hero{margin-bottom:48px}@media (max-width:768px){.hero{margin-bottom:32px}}.hero h1{letter-spacing:-.02em;color:var(--accent);margin-bottom:8px;font-size:48px;font-weight:800}@media (max-width:768px){.hero h1{font-size:32px}}.hero p{color:var(--fg-muted);font-size:18px}@media (max-width:768px){.hero p{font-size:16px}}.breadcrumbs{margin-bottom:24px}@media (max-width:768px){.breadcrumbs{margin-bottom:16px}}.breadcrumbs ol{flex-wrap:wrap;align-items:center;gap:8px;font-size:14px;list-style:none;display:flex}@media (max-width:768px){.breadcrumbs ol{gap:6px;font-size:13px}}.breadcrumbs li{align-items:center;gap:8px;display:flex}@media (max-width:768px){.breadcrumbs li{gap:6px}}.breadcrumbs li:not(:last-child):after{content:"/";color:var(--fg-muted);opacity:.5}.breadcrumbs a{color:var(--fg-muted);transition:color .15s}.breadcrumbs a:hover{color:var(--accent)}.breadcrumbs span[aria-current=page]{color:var(--fg);font-weight:500}.code-wrap{border:1px solid var(--border);border-radius:var(--radius);background:#f6f8fa;margin:20px 0;position:relative;overflow:hidden}.code-wrap pre{-webkit-overflow-scrolling:touch;margin:0;padding:20px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:14px;line-height:1.6;overflow-x:auto}@media (max-width:480px){.code-wrap pre{padding:14px;font-size:12px}}.code-wrap code{font-family:inherit}.code-wrap [data-line]{display:block}.copy-btn{background:var(--surface);border:1px solid var(--border);color:var(--fg-muted);cursor:pointer;border-radius:6px;padding:4px 10px;font-size:12px;transition:color .15s,border-color .15s;position:absolute;top:10px;right:10px}.copy-btn:hover{color:var(--accent);border-color:var(--accent)}@media (max-width:480px){.copy-btn{padding:3px 8px;font-size:11px;top:6px;right:6px}}.course-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--fg);padding:24px;transition:border-color .15s,transform .15s}@media (max-width:480px){.course-card{padding:20px}}.course-card h3{color:var(--accent);margin-bottom:8px;font-size:22px}@media (max-width:480px){.course-card h3{font-size:18px}}.course-card p{color:var(--fg-muted);margin-bottom:16px;font-size:15px}.course-card .meta{color:var(--accent);background:var(--accent-soft);border-radius:999px;padding:4px 10px;font-size:13px}.course-card:hover{border-color:var(--accent);transform:translateY(-2px)}.grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;display:grid}@media (max-width:480px){.grid{grid-template-columns:1fr}}.lesson-link{width:100%;color:var(--fg);align-items:center;gap:16px;display:flex}.lesson-link .title{flex:1}.lesson-link .arrow{color:var(--fg-muted);transition:transform .15s,color .15s}.lesson-link:hover .arrow{color:var(--accent);transform:translate(4px)}.quiz{flex-direction:column;gap:24px;margin-bottom:48px;display:flex}.quiz-question{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:24px}@media (max-width:768px){.quiz-question{padding:16px}}.quiz-question-header{gap:12px;margin-bottom:16px;display:flex}.quiz-question-header .quiz-num{color:var(--accent);font-variant-numeric:tabular-nums;flex-shrink:0;font-weight:700}.quiz-question-header p{overflow-wrap:break-word;font-size:16px;font-weight:500}.quiz-options{flex-direction:column;gap:8px;display:flex}.quiz-option{border-radius:var(--radius);cursor:pointer;align-items:center;gap:10px;padding:10px 14px;transition:background .15s;display:flex}.quiz-option:hover{background:var(--accent-soft)}.quiz-option input{accent-color:var(--accent);flex-shrink:0}.quiz-option span{overflow-wrap:break-word;font-size:15px}.quiz-input{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);width:100%;padding:10px 14px;font-family:inherit;font-size:15px}.quiz-input:focus{border-color:var(--accent);outline:none}.quiz-select{margin-top:8px}.quiz-code{border:1px solid var(--border);border-radius:var(--radius);white-space:pre-wrap;background:#f6f8fa;padding:16px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:14px;line-height:1.8;overflow-x:auto}@media (max-width:768px){.quiz-code{padding:12px;font-size:12px}}.quiz-select-inline{border:1px solid var(--accent);background:var(--surface);color:var(--accent);font-family:inherit;font-size:inherit;cursor:pointer;border-radius:4px;margin:0 4px;padding:2px 8px;display:inline-block}.quiz-submit{background:var(--accent);color:#fff;border-radius:var(--radius);cursor:pointer;border:none;padding:14px 28px;font-size:16px;font-weight:600;transition:background .15s}.quiz-submit:hover:not(:disabled){background:var(--accent-hover)}.quiz-submit:disabled{opacity:.6;cursor:not-allowed}.quiz-meta{flex-wrap:wrap;gap:12px;margin-top:12px;display:flex}.quiz-meta span{color:var(--accent);background:var(--accent-soft);border-radius:999px;padding:4px 10px;font-size:13px}.quiz-error{color:#ef4444;font-size:14px}.quiz-block{flex-direction:column;gap:16px;margin-top:32px;display:flex}.quiz-status{flex-wrap:wrap;gap:12px;font-size:13px;display:flex}.quiz-status span{color:var(--fg-muted);background:var(--accent-soft);border-radius:999px;padding:4px 10px}.quiz-status .quiz-status-passed{color:#10b981;background:#d1fae5;font-weight:600}.quiz-limit{color:#ef4444;font-size:14px}.quiz-link{background:var(--accent);color:#fff;border-radius:var(--radius);margin-top:32px;padding:12px 24px;font-weight:600;transition:background .15s;display:inline-block}.quiz-link:hover{background:var(--accent-hover);color:#fff}.scroll-top{background:var(--accent);color:#fff;cursor:pointer;z-index:50;border:none;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;font-size:20px;font-weight:700;transition:background .15s,transform .15s;display:flex;position:fixed;bottom:24px;right:24px;box-shadow:0 4px 16px #c1442e4d}.scroll-top:hover{background:var(--accent-hover);transform:translateY(-2px)}@media (max-width:480px){.scroll-top{width:42px;height:42px;font-size:18px;bottom:16px;right:16px}}.track-list{flex-direction:column;gap:32px;padding-top:32px;display:flex}@media (max-width:768px){.track-list{gap:20px;padding-top:20px}}.track-block{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:32px;transition:border-color .15s}@media (max-width:768px){.track-block{padding:20px}}.track-block:hover{border-color:var(--accent)}.track-block header{margin-bottom:24px}@media (max-width:768px){.track-block header{margin-bottom:16px}}.track-block header h2{letter-spacing:-.02em;margin-bottom:8px;font-size:28px;font-weight:800}@media (max-width:768px){.track-block header h2{font-size:22px}}.track-block header h2 a{color:var(--accent)}.track-block header h2 a:hover{color:var(--accent-hover)}.track-block header .track-desc{color:var(--fg-muted);overflow-wrap:break-word;margin-bottom:12px;font-size:15px;line-height:1.6}.track-block header .meta{color:var(--accent);background:var(--accent-soft);border-radius:999px;padding:4px 10px;font-size:13px;display:inline-block}.track-courses{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:8px;margin-bottom:20px;list-style:none;display:grid}@media (max-width:480px){.track-courses{grid-template-columns:1fr}}.track-courses li a{border-radius:var(--radius);background:var(--bg);border:1px solid #0000;flex-direction:column;gap:4px;min-width:0;padding:12px 14px;transition:border-color .15s,background .15s;display:flex}.track-courses li a:hover{border-color:var(--accent);background:var(--accent-soft)}.track-courses li a .track-course-title{color:var(--fg);overflow-wrap:break-word;font-size:15px;font-weight:500}.track-courses li a .track-course-meta{color:var(--fg-muted);font-size:12px}.track-all{color:var(--accent);font-size:14px;font-weight:600;display:inline-block}.track-all:hover{color:var(--accent-hover)}.track-nav{z-index:100;background:var(--bg);border-bottom:1px solid var(--border);-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:8px;padding:12px 0;display:flex;position:sticky;top:0;overflow-x:auto}.track-nav::-webkit-scrollbar{display:none}@media (max-width:768px){.track-nav{padding:10px 0}}.track-nav button{border:1px solid var(--border);background:var(--surface);color:var(--fg-muted);cursor:pointer;white-space:nowrap;border-radius:999px;flex-shrink:0;padding:8px 16px;font-size:14px;font-weight:500;transition:color .15s,border-color .15s,background .15s}.track-nav button:hover{color:var(--accent);border-color:var(--accent)}.track-nav button.active{color:#fff;background:var(--accent);border-color:var(--accent)}@media (max-width:480px){.track-nav button{padding:6px 12px;font-size:13px}}.course-header{margin-bottom:40px}@media (max-width:768px){.course-header{margin-bottom:24px}}.course-header h1{letter-spacing:-.02em;color:var(--accent);overflow-wrap:break-word;margin-bottom:8px;font-size:40px;font-weight:800}@media (max-width:768px){.course-header h1{font-size:28px}}.lead{color:var(--fg-muted);margin-bottom:40px;font-size:18px}@media (max-width:768px){.lead{margin-bottom:24px;font-size:16px}}.home-page .hero{margin-bottom:24px}.lessons{flex-direction:column;gap:10px;list-style:none;display:flex}.lessons li{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);align-items:center;gap:16px;min-width:0;padding:18px 22px;font-size:16px;display:flex}@media (max-width:480px){.lessons li{gap:12px;padding:14px 16px;font-size:15px}}.lessons .num{color:var(--accent);font-variant-numeric:tabular-nums;flex-shrink:0;font-weight:700}.lesson-layout{grid-template-columns:260px minmax(0,1fr);align-items:start;gap:48px;display:grid}@media (max-width:900px){.lesson-layout{grid-template-columns:minmax(0,1fr);gap:24px}}.sidebar{min-width:0;position:sticky;top:32px}@media (max-width:900px){.sidebar{width:100%;position:static}}.sidebar-lessons{flex-direction:column;gap:4px;margin-top:16px;list-style:none;display:flex}.sidebar-lessons li{border-radius:var(--radius);min-width:0}.sidebar-lessons li.active{background:var(--accent-soft)}.sidebar-lessons li.active a{color:var(--accent);font-weight:600}.sidebar-lessons li a{color:var(--fg-muted);border-radius:var(--radius);overflow-wrap:break-word;align-items:center;gap:10px;min-width:0;padding:10px 12px;font-size:14px;display:flex}.sidebar-lessons li a:hover{background:var(--surface);color:var(--fg)}.sidebar-lessons li a .num{font-variant-numeric:tabular-nums;color:var(--accent);flex-shrink:0;font-weight:600}.lesson-content{min-width:0}.lesson-content .lesson-num{color:var(--accent);background:var(--accent-soft);border-radius:999px;margin-bottom:16px;padding:4px 10px;font-size:13px;font-weight:600;display:inline-block}.lesson-content h1{letter-spacing:-.02em;overflow-wrap:break-word;margin-bottom:24px;font-size:36px;font-weight:800}@media (max-width:768px){.lesson-content h1{margin-bottom:16px;font-size:24px}}.lesson-content .content{margin-bottom:48px;font-size:17px;line-height:1.7}@media (max-width:768px){.lesson-content .content{margin-bottom:32px;font-size:15px}}.lesson-nav{border-top:1px solid var(--border);justify-content:space-between;gap:16px;padding-top:24px;display:flex}@media (max-width:480px){.lesson-nav{flex-direction:column;gap:12px}}.lesson-nav .nav-btn{color:var(--fg-muted);overflow-wrap:break-word;min-width:0;font-size:14px}.lesson-nav .nav-btn.next{text-align:right;margin-left:auto}@media (max-width:480px){.lesson-nav .nav-btn.next{text-align:left;margin-left:0}}.lesson-nav .nav-btn:hover{color:var(--accent)}.markdown{min-width:0}.markdown h2{overflow-wrap:break-word;margin:40px 0 16px;font-size:26px;font-weight:700}@media (max-width:768px){.markdown h2{margin:28px 0 12px;font-size:20px}}.markdown h3{overflow-wrap:break-word;margin:32px 0 12px;font-size:20px;font-weight:700}@media (max-width:768px){.markdown h3{margin:24px 0 10px;font-size:17px}}.markdown p{overflow-wrap:break-word;margin:16px 0;line-height:1.7}@media (max-width:768px){.markdown p{font-size:15px}}.markdown ul,.markdown ol{margin:16px 0;padding-left:24px}@media (max-width:768px){.markdown ul,.markdown ol{padding-left:20px}}.markdown li{overflow-wrap:break-word;margin:8px 0}@media (max-width:768px){.markdown li{font-size:15px}}.markdown a{color:var(--accent);overflow-wrap:break-word;word-break:break-word;text-decoration:underline}.markdown table{border-collapse:collapse;-webkit-overflow-scrolling:touch;width:100%;max-width:100%;margin:24px 0;font-size:15px;display:block;overflow-x:auto}@media (max-width:768px){.markdown table{margin:16px 0;font-size:13px}}.markdown thead{background:var(--accent-soft)}.markdown th{text-align:left;color:var(--accent);border-bottom:2px solid var(--accent);white-space:nowrap;padding:12px 16px;font-weight:600}@media (max-width:768px){.markdown th{padding:8px 12px}}.markdown td{border-bottom:1px solid var(--border);vertical-align:top;padding:12px 16px}@media (max-width:768px){.markdown td{padding:8px 12px}}.markdown tbody tr:hover{background:var(--surface)}.markdown tbody tr:last-child td{border-bottom:none}.markdown code:not(pre code){background:var(--accent-soft);color:var(--accent);overflow-wrap:break-word;word-break:break-word;border-radius:4px;padding:2px 6px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.9em}.markdown blockquote{border-left:3px solid var(--accent);color:var(--fg-muted);overflow-wrap:break-word;margin:20px 0;padding-left:16px}.markdown hr{border:none;border-top:1px solid var(--border);margin:32px 0}.quiz-result-wrap{flex-direction:column;gap:32px;margin-bottom:48px;display:flex}.quiz-result{background:var(--surface);border:2px solid var(--border);border-radius:var(--radius);text-align:center;padding:48px 24px}.quiz-result.passed{border-color:#10b981}.quiz-result.failed{border-color:#ef4444}.quiz-result h2{margin-bottom:16px;font-size:28px}.quiz-result.passed h2{color:#10b981}.quiz-result.failed h2{color:#ef4444}.quiz-result .quiz-score{margin-bottom:8px;font-size:20px;font-weight:600}.quiz-result .quiz-hint{color:var(--fg-muted);margin-bottom:32px}.quiz-actions{flex-wrap:wrap;justify-content:center;gap:16px;display:flex}.quiz-details{flex-direction:column;gap:12px;display:flex}.quiz-details h3{margin-bottom:8px;font-size:20px;font-weight:700}.quiz-detail{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px 20px}.quiz-detail.correct{border-left:4px solid #10b981}.quiz-detail.wrong{border-left:4px solid #ef4444}@media (max-width:768px){.quiz-detail{padding:12px 14px}}.quiz-detail-header{align-items:flex-start;gap:12px;margin-bottom:10px;display:flex}.quiz-detail-header .quiz-mark{flex-shrink:0;margin-left:auto;font-size:18px;font-weight:700}.quiz-detail-header .quiz-num{color:var(--accent);font-variant-numeric:tabular-nums;flex-shrink:0;font-weight:700}.quiz-detail-header p{overflow-wrap:break-word;font-size:15px;font-weight:500}.quiz-detail.correct .quiz-mark{color:#10b981}.quiz-detail.wrong .quiz-mark{color:#ef4444}.quiz-detail-body{color:var(--fg-muted);font-size:14px;line-height:1.6}.quiz-detail-body p{overflow-wrap:break-word;margin:4px 0}.quiz-detail-body strong{color:var(--fg)}
