:root{--bg:#fff;--fg:#1f2328;--muted:#6a737d;--border:#e5e7eb;--primary:#1677ff;--max-width:1080px}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--fg);margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}a{color:var(--primary);text-decoration:none}.site-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;padding:12px 24px;display:flex}.site-header .brand{color:var(--fg);font-size:18px;font-weight:700}.site-header nav{align-items:center;gap:16px;display:flex}.site-header nav a{color:var(--fg)}.linklike{color:var(--fg);font:inherit;cursor:pointer;background:0 0;border:none;padding:0}.locale-switcher{border:1px solid var(--border);border-radius:6px;padding:2px 8px;font-size:12px}.container{max-width:var(--max-width);margin:0 auto;padding:24px}.hero{text-align:center;padding:80px 24px 64px}.hero h1{margin:0 0 16px;font-size:40px}.hero p{color:var(--muted);max-width:640px;margin:0 auto 32px;font-size:18px}.course-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;display:grid}.course-card{border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:8px;padding:20px;display:flex}.course-card h3{margin:0}.course-card .summary{color:var(--muted);flex:1}.course-card .price{font-size:18px;font-weight:700}.auth-main{justify-content:center;padding:64px 24px;display:flex}.auth-card{border:1px solid var(--border);border-radius:10px;width:100%;max-width:380px;padding:28px}.auth-card h1{margin:0 0 20px;font-size:22px}.auth-alt{color:var(--muted);margin-top:16px;font-size:14px}.syllabus-section{margin-bottom:20px}.syllabus-section h3{margin:0 0 8px}.syllabus-section ol{margin:0;padding-left:24px}.syllabus-section li{color:var(--fg);padding:3px 0}.badge{border:1px solid var(--primary);color:var(--primary);border-radius:999px;margin-left:8px;padding:0 8px;font-size:12px;display:inline-block}.admin-table{border-collapse:collapse;width:100%;font-size:14px}.admin-table th,.admin-table td{border-bottom:1px solid var(--border);text-align:left;vertical-align:top;padding:10px 12px}.admin-table th{background:#f6f8fa}.cell-sub{color:var(--muted);font-size:12px}.table-action{border:1px solid var(--primary);color:var(--primary);cursor:pointer;background:0 0;border-radius:6px;margin:2px 0;padding:2px 10px;font-size:13px}.table-action.danger{color:#cf1322;border-color:#cf1322}.reader-grid{grid-template-columns:280px minmax(0,1fr);align-items:start;gap:40px;display:grid}@media (max-width:800px){.reader-grid{grid-template-columns:1fr}}.reader-sidebar{max-height:calc(100vh - 48px);font-size:14px;position:sticky;top:24px;overflow-y:auto}.sidebar-section h4{margin:16px 0 6px}.sidebar-section ul{margin:0;padding:0;list-style:none}.sidebar-section li a{color:var(--fg);border-radius:6px;gap:6px;padding:4px 8px;display:flex}.sidebar-section li a:hover{background:#f3f4f6}.sidebar-section li.current>a{color:var(--primary);background:#e8f1ff;font-weight:600}.sidebar-section .check{color:#22a06b;flex-shrink:0;width:16px}.locked-box{border:1px dashed var(--border);text-align:center;border-radius:10px;margin:24px 0;padding:40px}.fallback-notice{background:#fffbe6;border:1px solid #ffe58f;border-radius:8px;padding:8px 12px;font-size:14px}.lesson-nav{border-top:1px solid var(--border);justify-content:space-between;gap:16px;margin-top:40px;padding-top:16px;display:flex}.lesson-content{font-size:16px;line-height:1.75}.lesson-content h2{border-bottom:1px solid var(--border);margin-top:40px;padding-bottom:6px}.lesson-content h3{margin-top:28px}.lesson-content pre{border:1px solid var(--border);border-radius:8px;padding:16px;font-size:14px;overflow-x:auto}.lesson-content code{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,monospace}.lesson-content :not(pre)>code{border:1px solid var(--border);background:#f6f8fa;border-radius:4px;padding:1px 5px;font-size:14px}.lesson-content table{border-collapse:collapse;width:100%;margin:16px 0;display:block;overflow-x:auto}.lesson-content th,.lesson-content td{border:1px solid var(--border);text-align:left;padding:8px 12px}.lesson-content th{background:#f6f8fa}.lesson-content blockquote{border-left:4px solid var(--border);color:var(--muted);margin:16px 0;padding:0 16px}.lesson-content img{max-width:100%}.mermaid-block{text-align:center;margin:16px 0;overflow-x:auto}.mermaid-block svg{max-width:100%;height:auto}.video-embed{aspect-ratio:16/9;background:#000;border:0;border-radius:10px;width:100%;margin:16px 0}.quiz-question{border:1px solid var(--border);border-radius:10px;padding:16px 20px}
