.markdown-viewer{background:var(--color-white);border-radius:var(--space-3);padding:var(--space-8);box-shadow:0 2px var(--space-2) #00000014;max-width:900px;margin:0 auto}.markdown-viewer h1{font-size:28px;font-weight:700;color:var(--text-primary);margin-bottom:var(--space-6);padding-bottom:var(--space-4);border-bottom:2px solid #eaeaea}.markdown-viewer h2{font-size:22px;font-weight:600;color:var(--text-primary);margin-top:var(--space-8);margin-bottom:var(--space-4)}.markdown-viewer h3{font-size:18px;font-weight:600;color:#333;margin-top:var(--space-6);margin-bottom:var(--space-3)}.markdown-viewer p{font-size:15px;line-height:1.8;color:#444;margin-bottom:var(--space-4)}.markdown-viewer ul,.markdown-viewer ol{padding-left:var(--space-6);margin-bottom:var(--space-4)}.markdown-viewer li{font-size:15px;line-height:1.8;color:#444;margin-bottom:var(--space-2)}.markdown-viewer code{background:#f5f5f5;padding:2px 6px;border-radius:4px;font-family:Consolas,Monaco,monospace;font-size:var(--text-sm);color:#e83e8c}.markdown-viewer pre{background:#282c34;padding:var(--space-4);border-radius:var(--space-2);overflow-x:auto;margin-bottom:var(--space-4)}.markdown-viewer pre code{background:transparent;color:#abb2bf;padding:0}.markdown-viewer a{color:#667eea;text-decoration:none}.markdown-viewer a:hover{text-decoration:underline}.markdown-viewer blockquote{border-left:4px solid #667eea;padding-left:var(--space-4);margin:var(--space-4) 0;color:#666;font-style:italic}.markdown-viewer table{width:100%;border-collapse:collapse;margin-bottom:var(--space-4)}.markdown-viewer th,.markdown-viewer td{border:1px solid #eaeaea;padding:var(--space-3);text-align:left}.markdown-viewer th{background:#f5f5f5;font-weight:600}.markdown-viewer img{max-width:100%;border-radius:var(--space-2);margin:var(--space-4) 0}.loading-container,.error-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-16);color:#666}.loading-container p,.error-container p{margin-top:var(--space-4);font-size:var(--space-4)}.error-container button{margin-top:var(--space-4);padding:10px var(--space-6);background:#667eea;color:#fff;border:none;border-radius:var(--space-2);cursor:pointer;font-size:var(--text-sm)}.error-container button:hover{background:#5a6fd6}.spin{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}
