:root{--primary:#4f8cf7;--primary-dark:#3b6fd4;--primary-light:#93bbfd;--primary-bg:#eef4ff;--accent:#f97316;--accent-light:#fed7aa;--text:#1e293b;--text-secondary:#64748b;--text-muted:#94a3b8;--bg:#f6f8fc;--card-bg:#fff;--border:#e8ecf1;--border-light:#f1f5f9;--hover:#f0f4ff;--success:#22c55e;--success-bg:#f0fdf4;--warning:#f59e0b;--warning-bg:#fffbeb;--error:#ef4444;--error-bg:#fef2f2;--radius-sm:8px;--radius:12px;--radius-lg:16px;--radius-xl:20px;--shadow-sm:0 1px 3px #0f172a0a;--shadow:0 2px 8px #0f172a0f, 0 1px 2px #0f172a0a;--shadow-md:0 4px 16px #0f172a14, 0 2px 4px #0f172a0a;--shadow-lg:0 12px 32px #0f172a1a, 0 4px 8px #0f172a0f;--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition:.25s cubic-bezier(.4, 0, .2, 1);--transition-slow:.4s cubic-bezier(.4, 0, .2, 1)}html,body,#root{background:var(--bg);min-height:100%;margin:0;padding:0}body{color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-overflow-scrolling:touch;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,Helvetica Neue,Arial,sans-serif;line-height:1.6}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}::selection{background:var(--primary-light);color:var(--primary-dark)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes pulse-glow{0%,to{box-shadow:0 0 #4f8cf74d}50%{box-shadow:0 0 0 8px #4f8cf700}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes drawProgress{0%{stroke-dashoffset:var(--progress-offset)}to{stroke-dashoffset:var(--progress-target)}}.anim-fade-in{animation:.5s cubic-bezier(.4,0,.2,1) both fadeInUp}.anim-fade-in-1{animation-delay:50ms}.anim-fade-in-2{animation-delay:.1s}.anim-fade-in-3{animation-delay:.15s}.anim-fade-in-4{animation-delay:.2s}.anim-fade-in-5{animation-delay:.25s}.anim-fade-in-6{animation-delay:.3s}.anim-fade-in-7{animation-delay:.35s}.anim-fade-in-8{animation-delay:.4s}.anim-scale-in{animation:.4s cubic-bezier(.4,0,.2,1) both fadeInScale}.hover-lift{transition:transform var(--transition), box-shadow var(--transition)}.hover-lift:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)!important}.glass-header{-webkit-backdrop-filter:blur(12px);background:#ffffffd1!important}.markdown-body{color:var(--text);letter-spacing:.01em;overflow-wrap:break-word;word-break:break-word;font-size:16px;line-height:1.85}.markdown-body img,.markdown-body video,.markdown-body iframe,.markdown-body object,.markdown-body svg{height:auto;display:block;max-width:100%!important}.markdown-body table{-webkit-overflow-scrolling:touch;max-width:100%;display:block;overflow-x:auto}.markdown-body pre{-webkit-overflow-scrolling:touch;border-radius:var(--radius);max-width:100%;overflow-x:auto}.markdown-body pre code{white-space:pre;word-break:normal;overflow-wrap:normal}.markdown-body h1{border-bottom:2px solid var(--border);color:var(--primary-dark);letter-spacing:-.02em;margin:36px 0 18px;padding-bottom:14px;font-size:28px;font-weight:700}.markdown-body h2{color:var(--primary);letter-spacing:-.01em;margin:30px 0 14px;font-size:22px;font-weight:650}.markdown-body h3{color:var(--text);margin:26px 0 12px;font-size:18px;font-weight:600}.markdown-body h4{color:var(--text-secondary);margin:22px 0 10px;font-size:16px;font-weight:600}.markdown-body p{margin:14px 0}.markdown-body ul,.markdown-body ol{padding-left:1.5em}.markdown-body li{margin:6px 0}.markdown-body blockquote{border-left:4px solid var(--primary-light);border-radius:0 var(--radius-sm) var(--radius-sm) 0;background:var(--primary-bg);color:var(--text-secondary);margin:18px 0;padding:12px 18px}.markdown-body th,.markdown-body td{border:1px solid var(--border);white-space:normal;padding:10px 14px}.markdown-body th{background:var(--primary-bg);color:var(--primary-dark);font-weight:600}.markdown-body tr:nth-child(2n) td{background:var(--bg)}.markdown-body a{color:var(--primary);border-bottom:1px solid var(--primary-light);transition:border-color var(--transition-fast);text-decoration:none}.markdown-body a:hover{border-bottom-color:var(--primary)}.markdown-body code{font-family:JetBrains Mono,Fira Code,SF Mono,Monaco,Menlo,monospace;font-size:.88em}.markdown-body p>code,.markdown-body li>code{background:var(--primary-bg);color:var(--primary-dark);word-break:break-all;border-radius:5px;padding:2px 7px}.markdown-body strong{color:var(--primary-dark)}@media (width<=880px){.mobile-only{display:block}.desktop-only{display:none!important}.reader-layout{overflow:hidden;flex-direction:column!important;display:flex!important}.reader-layout>*{min-width:0!important}.reader-sidebar{order:2;margin-top:16px;position:static!important}.reader-main{order:1;overflow:hidden;width:100%!important}.profile-sider{display:none!important}.profile-content{padding:16px!important}.auth-hero{display:none!important}.auth-grid{grid-template-columns:1fr!important}.course-hero-inner{flex-direction:column!important;align-items:flex-start!important}.course-hero-cover{width:100%!important;height:160px!important}.hero-stats{flex-direction:column!important;gap:8px!important}.hero-stat-item{flex:1;min-width:auto!important}.responsive-table .ant-table{overflow-x:auto}.form-group-mobile{width:100%!important}.layout-header{gap:8px!important;padding:0 16px!important}.layout-content{padding:16px 12px 32px!important}.xp-progress-bar{width:36px!important}.xp-status-text{display:none!important}.stats-row{flex-wrap:wrap!important;gap:8px!important}.welcome-card{padding:20px 16px!important}.welcome-avatar{width:48px!important;height:48px!important}.reading-container{overflow:hidden;max-width:100%!important;padding:16px 12px!important}.section-nav-bottom{flex-direction:column!important;gap:10px!important}}@media (width<=480px){.layout-header{padding:0 10px!important}.layout-content{padding:12px 10px 24px!important}.course-grid [class*=ant-col]{padding:6px!important}}@media (width<=576px){.markdown-body{font-size:15px}.markdown-body h1{margin:28px 0 14px;font-size:22px}.markdown-body h2{margin:24px 0 12px;font-size:19px}.markdown-body h3{font-size:16px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
