:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;line-height:1.5;font-weight:400;color:#213547;background-color:#fff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background-color:#f8f9fa}#root{min-height:100vh}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}button{border-radius:6px;border:1px solid #e9ecef;padding:.5em 1em;font-size:.9em;font-weight:500;font-family:inherit;background-color:#fff;color:#333;cursor:pointer;transition:all .2s ease}button:hover{background-color:#f8f9fa;border-color:#dee2e6}button:focus,button:focus-visible{outline:2px solid #646cff;outline-offset:2px}button:disabled{opacity:.6;cursor:not-allowed}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#f1f1f1}::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.loading-spinner{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-sm)}.loading-spinner__circle{position:relative;display:inline-block;border-radius:50%}.loading-spinner__path{width:100%;height:100%;border-radius:50%;border:2px solid transparent;border-top-color:currentColor;animation:spin 1s linear infinite}.loading-spinner__label{font-size:var(--font-size-sm);color:var(--color-text-secondary);font-weight:500;text-align:center}.loading-spinner--xs .loading-spinner__circle{width:16px;height:16px}.loading-spinner--xs .loading-spinner__path{border-width:1px}.loading-spinner--xs .loading-spinner__label{font-size:var(--font-size-xs)}.loading-spinner--sm .loading-spinner__circle{width:20px;height:20px}.loading-spinner--sm .loading-spinner__path{border-width:2px}.loading-spinner--md .loading-spinner__circle{width:24px;height:24px}.loading-spinner--md .loading-spinner__path{border-width:2px}.loading-spinner--lg .loading-spinner__circle{width:32px;height:32px}.loading-spinner--lg .loading-spinner__path{border-width:3px}.loading-spinner--xl .loading-spinner__circle{width:40px;height:40px}.loading-spinner--xl .loading-spinner__path{border-width:3px}.loading-spinner--primary{color:var(--color-primary)}.loading-spinner--secondary{color:var(--color-text-secondary)}.loading-spinner--success{color:var(--color-success)}.loading-spinner--warning{color:var(--color-warning)}.loading-spinner--error{color:var(--color-error)}.loading-spinner--info{color:var(--color-info)}.loading-spinner--gradient .loading-spinner__path{border:2px solid transparent;background:linear-gradient(45deg,var(--color-primary),var(--color-secondary)) border-box;border-radius:50%;mask:linear-gradient(#fff 0 0) padding-box,linear-gradient(#fff 0 0);mask-composite:xor;-webkit-mask-composite:xor}.loading-spinner--pulse .loading-spinner__circle{animation:pulse 2s ease-in-out infinite}.loading-spinner--pulse .loading-spinner__path{animation:none;border:2px solid currentColor;opacity:.6}.loading-spinner--dots{flex-direction:row}.loading-spinner--dots .loading-spinner__circle{display:flex;gap:4px}.loading-spinner--dots .loading-spinner__path{width:8px;height:8px;border-radius:50%;background-color:currentColor;border:none;animation:loadingDots 1.4s ease-in-out infinite both}.loading-spinner--dots .loading-spinner__path:nth-child(1){animation-delay:-.32s}.loading-spinner--dots .loading-spinner__path:nth-child(2){animation-delay:-.16s}.loading-spinner--dots .loading-spinner__path:nth-child(3){animation-delay:0s}@media (prefers-reduced-motion: reduce){.loading-spinner__path,.loading-spinner--pulse .loading-spinner__circle{animation:none}.loading-spinner--dots .loading-spinner__path{animation:none;opacity:.7}}@media (prefers-contrast: high){.loading-spinner__path{border-width:3px}.loading-spinner--xs .loading-spinner__path{border-width:2px}.loading-spinner--sm .loading-spinner__path{border-width:3px}}.markdown-editor{border:1px solid var(--color-border-secondary);border-radius:var(--radius-lg);overflow:hidden;background-color:var(--color-bg-primary);transition:all var(--transition-base);box-shadow:var(--shadow-sm)}.markdown-editor:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md)}.markdown-editor .monaco-editor{font-family:var(--font-family-mono)}.markdown-editor .monaco-editor .view-lines{line-height:1.5}.markdown-editor .monaco-editor.vs-dark,.markdown-editor .monaco-editor.vs-dark .margin{background-color:var(--color-bg-secondary)}.markdown-editor .monaco-editor.vs{background-color:var(--color-bg-primary)}.markdown-editor .monaco-editor.vs .margin{background-color:var(--color-bg-secondary)}.editor-loading{display:flex;align-items:center;justify-content:center;height:100%;color:var(--color-text-secondary);font-size:var(--font-size-sm);background-color:var(--color-bg-primary);animation:fadeIn .3s ease-out}.markdown-editor:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px #667eea1a}@media (prefers-reduced-motion: reduce){.markdown-editor{transition:none}.editor-loading{animation:none}}@media (prefers-contrast: high){.markdown-editor{border-width:2px}.markdown-editor:focus-within{border-width:3px}}.markdown-editor-with-debounce{display:flex;flex-direction:column;gap:8px}.editor-header{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background-color:#f8f9fa;border:1px solid #e1e5e9;border-radius:6px 6px 0 0;font-size:14px}.status-info{display:flex;align-items:center;gap:8px}.processing-indicator{color:#007bff;font-weight:500;animation:pulse 1.5s ease-in-out infinite}.last-saved{color:#28a745;font-weight:500}.save-now-btn{padding:4px 12px;background-color:#007bff;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:12px;font-weight:500;transition:background-color .2s}.save-now-btn:hover:not(:disabled){background-color:#0056b3}.save-now-btn:disabled{background-color:#6c757d;cursor:not-allowed;opacity:.6}@media (prefers-color-scheme: dark){.editor-header{background-color:#2d3748;border-color:#4a5568;color:#e2e8f0}.processing-indicator{color:#63b3ed}.last-saved{color:#68d391}}.skeleton{background:linear-gradient(90deg,var(--color-bg-secondary) 25%,var(--color-bg-accent) 50%,var(--color-bg-secondary) 75%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite;display:block}.skeleton--rectangular{border-radius:var(--radius-sm)}.skeleton--rounded{border-radius:var(--radius-lg)}.skeleton--circular{border-radius:50%}.skeleton-container{display:flex;flex-direction:column}.skeleton-paragraph{display:flex;flex-direction:column;gap:var(--spacing-md)}.skeleton-card{border:1px solid var(--color-border-secondary);border-radius:var(--radius-lg);overflow:hidden;background-color:var(--color-bg-primary)}.skeleton-card__content{padding:var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-sm)}@media (prefers-reduced-motion: reduce){.skeleton{animation:none;background:var(--color-bg-accent)}}@media (prefers-contrast: high){.skeleton{background:repeating-linear-gradient(90deg,var(--color-bg-secondary) 0px,var(--color-bg-secondary) 10px,var(--color-bg-accent) 10px,var(--color-bg-accent) 20px)}}.preview-panel{border:1px solid var(--color-border-secondary);border-radius:var(--radius-lg);background-color:var(--color-bg-primary);overflow:hidden;position:relative;display:flex;flex-direction:column;transition:all var(--transition-base)}.preview-loading{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;height:100%;color:var(--color-text-secondary);font-size:var(--font-size-sm);gap:var(--spacing-lg);padding:var(--spacing-xl);animation:fadeIn .3s ease-out}.preview-skeleton{width:100%;max-width:600px;margin-top:var(--spacing-lg)}.preview-empty{display:flex;align-items:center;justify-content:center;height:100%;color:var(--color-text-tertiary);font-style:italic;animation:fadeIn .3s ease-out}.preview-empty p{margin:0;text-align:center}.preview-content{flex:1;padding:var(--spacing-xl);overflow-y:auto;line-height:1.6;font-family:var(--font-family-sans);color:var(--color-text-primary);transition:all var(--transition-base);animation:fadeIn .4s ease-out}.preview-content h1,.preview-content h2,.preview-content h3,.preview-content h4,.preview-content h5,.preview-content h6{margin-top:var(--spacing-xl);margin-bottom:var(--spacing-md);font-weight:600;line-height:1.25;color:var(--color-text-primary);transition:color var(--transition-base)}.preview-content h1{font-size:var(--font-size-3xl);border-bottom:1px solid var(--color-border-primary);padding-bottom:var(--spacing-sm);background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.preview-content h2{font-size:var(--font-size-2xl);border-bottom:1px solid var(--color-border-primary);padding-bottom:var(--spacing-xs)}.preview-content h3{font-size:var(--font-size-xl)}.preview-content h4{font-size:var(--font-size-lg)}.preview-content h5{font-size:var(--font-size-base)}.preview-content h6{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.preview-content p{margin-top:0;margin-bottom:var(--spacing-md)}.preview-content blockquote{margin:0 0 var(--spacing-md) 0;padding:0 var(--spacing-md);color:var(--color-text-secondary);border-left:4px solid var(--color-border-primary);background-color:var(--color-bg-secondary);border-radius:0 var(--radius-md) var(--radius-md) 0;padding:var(--spacing-md);font-style:italic}.preview-content ul,.preview-content ol{margin-top:0;margin-bottom:16px;padding-left:32px}.preview-content li{margin-bottom:4px}.preview-content li>p{margin-bottom:8px}.preview-content code{padding:var(--spacing-xs) var(--spacing-sm);font-size:85%;background-color:var(--color-bg-tertiary);border-radius:var(--radius-sm);font-family:var(--font-family-mono);color:var(--color-primary);border:1px solid var(--color-border-secondary)}.preview-content pre.hljs{padding:var(--spacing-lg);overflow:auto;font-size:85%;line-height:1.45;background-color:#1e1e1e!important;color:#d4d4d4!important;border-radius:var(--radius-lg);margin-bottom:var(--spacing-md);border:1px solid #333;box-shadow:0 4px 12px #00000026;transition:all var(--transition-base)}.preview-content pre.hljs:hover{box-shadow:0 6px 20px #0003;transform:translateY(-1px)}.preview-content pre.hljs code{display:inline;max-width:auto;padding:0;margin:0;overflow:visible;line-height:inherit;word-wrap:normal;background-color:transparent!important;color:inherit!important;border:0}.preview-content pre:not(.hljs){padding:var(--spacing-lg);overflow:auto;font-size:85%;line-height:1.45;background-color:var(--color-bg-tertiary);border-radius:var(--radius-lg);margin-bottom:var(--spacing-md);border:1px solid var(--color-border-secondary);box-shadow:var(--shadow-sm);transition:all var(--transition-base)}.preview-content pre:not(.hljs):hover{box-shadow:var(--shadow-md)}.preview-content pre:not(.hljs) code{display:inline;max-width:auto;padding:0;margin:0;overflow:visible;line-height:inherit;word-wrap:normal;background-color:transparent;border:0}.preview-content table{border-spacing:0;border-collapse:collapse;margin-bottom:var(--spacing-md);width:100%;overflow:auto;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--color-border-secondary)}.preview-content table th,.preview-content table td{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border-secondary);transition:background-color var(--transition-base)}.preview-content table th{font-weight:600;background-color:var(--color-bg-secondary);color:var(--color-text-primary)}.preview-content table tr:nth-child(2n){background-color:var(--color-bg-tertiary)}.preview-content table tr:hover{background-color:var(--color-bg-accent)}.preview-content a{color:var(--color-primary);text-decoration:none;transition:all var(--transition-base);border-bottom:1px solid transparent}.preview-content a:hover{text-decoration:none;border-bottom-color:var(--color-primary);color:var(--color-primary-hover)}.preview-content a:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-sm)}.preview-content img{max-width:100%;height:auto;border-radius:var(--radius-lg);margin:var(--spacing-sm) 0;box-shadow:var(--shadow-sm);transition:all var(--transition-base)}.preview-content img:hover{box-shadow:var(--shadow-md);transform:scale(1.02)}.preview-content hr{height:2px;padding:0;margin:var(--spacing-xl) 0;background:linear-gradient(90deg,var(--color-primary),var(--color-secondary));border:0;border-radius:var(--radius-sm)}.preview-content .task-list-item{list-style-type:none;margin-left:-32px;padding-left:32px}.preview-content .task-list-item input[type=checkbox]{margin-right:8px}.preview-content .katex{font-size:1.1em}.preview-content .katex-display{margin:var(--spacing-md) 0;text-align:center}.preview-content .katex-display-wrapper{margin:var(--spacing-md) 0;text-align:center;display:block}.preview-content .katex-display-wrapper .katex-display{margin:0}.preview-content .katex-inline{display:inline;margin:0}.preview-content .mermaid{text-align:center;margin:16px 0}@media (max-width: 1024px){.preview-content{padding:16px;font-size:14px}.preview-content h1{font-size:1.75em}.preview-content h2{font-size:1.375em}.preview-content h3{font-size:1.125em}.preview-content pre{padding:12px;font-size:13px}.preview-content table{font-size:13px}.preview-content table th,.preview-content table td{padding:4px 8px}}@media (max-width: 480px){.preview-content{padding:12px;font-size:13px}.preview-content h1{font-size:1.5em}.preview-content h2{font-size:1.25em}.preview-content pre{padding:8px;font-size:12px}}@media (prefers-reduced-motion: reduce){.preview-content,.preview-loading,.preview-empty,.preview-content img,.preview-content pre,.preview-content a,.preview-content table th,.preview-content table td,.preview-content table tr{animation:none;transition:none}.preview-content img:hover{transform:none}}.pdf-export-button{display:flex;flex-direction:column;gap:8px;width:100%;max-width:250px}.export-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;background:#2563eb;color:#fff;border:2px solid #2563eb;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px #2563eb33;min-height:44px;font-family:var(--font-family-sans);text-shadow:none;letter-spacing:.025em;width:100%;background:#059669;border-color:#059669;box-shadow:0 2px 4px #05966933}.export-btn:hover:not(:disabled){background:#047857;border-color:#047857;box-shadow:0 4px 12px #0596694d}.export-btn:active:not(:disabled){background:#065f46;border-color:#065f46}.export-btn:hover:not(:disabled){background:#1d4ed8;border-color:#1d4ed8;box-shadow:0 4px 12px #2563eb4d;transform:translateY(-1px)}.export-btn:active:not(:disabled){background:#1e40af;border-color:#1e40af;transform:translateY(0);box-shadow:0 2px 4px #2563eb33}.export-btn:focus-visible{outline:3px solid rgba(37,99,235,.5);outline-offset:2px}.export-btn:disabled{background:#e5e7eb;color:#9ca3af;border-color:#e5e7eb;cursor:not-allowed;transform:none;box-shadow:none;text-shadow:none}.export-btn.exporting{background:#059669;border-color:#059669;color:#fff;cursor:wait;box-shadow:0 2px 8px #0596694d}.export-icon{font-size:16px;display:inline-block;line-height:1}.export-icon.spinning{animation:spin 1s linear infinite}.progress-container{display:flex;align-items:center;gap:8px;margin-top:8px;height:20px;visibility:hidden}.progress-container.visible{visibility:visible}.progress-bar{flex:1;height:6px;background-color:#f3f4f6;border-radius:3px;overflow:hidden;border:1px solid #d1d5db}.progress-fill{height:100%;background:#059669;border-radius:3px;transition:width .3s ease;animation:progressFill .3s ease-out}.progress-text{font-size:12px;color:#374151;font-weight:600;min-width:35px;text-align:right;font-family:var(--font-family-sans)}.error-container{margin-top:8px;display:flex;flex-direction:column;gap:8px}.error-message{display:flex;align-items:center;gap:8px;padding:10px 12px;background-color:#fef2f2;border:2px solid #dc2626;border-radius:8px;font-size:13px;color:#dc2626;animation:fadeIn .3s ease-out;box-shadow:0 2px 4px #dc26261a}.error-icon{font-size:16px;flex-shrink:0}.error-text{flex:1;line-height:1.4;font-family:var(--font-family-sans);font-weight:500}.error-close{background:none;border:none;color:#dc2626;font-size:18px;font-weight:700;cursor:pointer;padding:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease;flex-shrink:0}.error-close:hover{background-color:#dc26261a;transform:scale(1.1)}.error-close:focus-visible{outline:2px solid #dc2626;outline-offset:2px}.info-message{display:flex;align-items:flex-start;gap:8px;padding:10px 12px;background-color:#eff6ff;border:2px solid #3b82f6;border-radius:8px;font-size:13px;color:#1e40af;animation:fadeIn .3s ease-out;box-shadow:0 2px 4px #3b82f61a}.info-icon{font-size:16px;flex-shrink:0;margin-top:1px}.info-text{flex:1;line-height:1.4;font-family:var(--font-family-sans);font-weight:500}@media (max-width: 1024px){.pdf-export-button{max-width:100%}.export-btn{padding:.875rem 1rem;font-size:1rem}.error-message{font-size:.85rem}}@media (prefers-reduced-motion: reduce){.export-btn{transition:none}.export-icon.spinning{animation:none}.progress-fill{transition:none;animation:none}.error-message{animation:none}}@media (prefers-contrast: high){.export-btn{border:2px solid var(--color-primary)}.export-btn:disabled{border-color:var(--color-text-tertiary)}.error-message,.progress-bar{border-width:2px}}.error-boundary{display:flex;align-items:center;justify-content:center;min-height:400px;padding:2rem;background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;margin:1rem}.error-boundary-content{text-align:center;max-width:500px}.error-icon{font-size:4rem;margin-bottom:1rem}.error-boundary h2{color:#dc3545;margin-bottom:1rem;font-size:1.5rem}.error-boundary p{color:#6c757d;margin-bottom:1.5rem;line-height:1.5}.error-details{text-align:left;margin:1rem 0;padding:1rem;background-color:#f1f3f4;border-radius:4px;border:1px solid #d1d5db}.error-details summary{cursor:pointer;font-weight:600;color:#374151;margin-bottom:.5rem}.error-details summary:hover{color:#111827}.error-stack{font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.875rem;color:#374151;white-space:pre-wrap;word-break:break-word}.error-stack pre{background-color:#fff;padding:.75rem;border-radius:4px;border:1px solid #d1d5db;margin-top:.5rem;overflow-x:auto;font-size:.75rem;line-height:1.4}.error-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.retry-button,.reload-button{padding:.75rem 1.5rem;border:none;border-radius:6px;font-weight:600;cursor:pointer;transition:all .2s ease;font-size:.875rem}.retry-button{background-color:#007bff;color:#fff}.retry-button:hover{background-color:#0056b3;transform:translateY(-1px)}.reload-button{background-color:#6c757d;color:#fff}.reload-button:hover{background-color:#545b62;transform:translateY(-1px)}.retry-button:active,.reload-button:active{transform:translateY(0)}@media (max-width: 1024px){.error-boundary{padding:1rem;margin:.5rem}.error-boundary-content{max-width:100%}.error-icon{font-size:3rem}.error-boundary h2{font-size:1.25rem}.error-actions{flex-direction:column;align-items:center}.retry-button,.reload-button{width:100%;max-width:200px}}.theme-toggle{display:flex;align-items:center;gap:var(--spacing-sm);background:none;border:none;cursor:pointer;padding:var(--spacing-sm);border-radius:var(--radius-lg);transition:background-color var(--transition-base);color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:500}.theme-toggle:hover{background-color:var(--color-bg-accent)}.theme-toggle:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.theme-toggle-track{position:relative;width:44px;height:24px;background-color:var(--color-bg-accent);border:2px solid var(--color-border-secondary);border-radius:12px;transition:all var(--transition-base)}.theme-toggle:hover .theme-toggle-track{border-color:var(--color-primary)}.theme-toggle-thumb{position:absolute;top:2px;left:2px;width:16px;height:16px;background-color:var(--color-bg-primary);border-radius:50%;transition:all var(--transition-base);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-sm)}[data-theme=dark] .theme-toggle-thumb{transform:translate(20px);background-color:var(--color-bg-secondary)}[data-theme=dark] .theme-toggle-track{background-color:var(--color-primary);border-color:var(--color-primary)}.theme-icon{font-size:10px;line-height:1;transition:transform var(--transition-base)}.theme-toggle:hover .theme-icon{transform:scale(1.1)}.theme-label{font-family:var(--font-family-sans);-webkit-user-select:none;user-select:none}.theme-toggle.compact{padding:var(--spacing-xs);gap:0}.theme-toggle.compact .theme-label{display:none}.theme-toggle.compact .theme-toggle-track{width:36px;height:20px}.theme-toggle.compact .theme-toggle-thumb{width:14px;height:14px}.theme-toggle.compact[data-theme=dark] .theme-toggle-thumb{transform:translate(16px)}@media (prefers-reduced-motion: reduce){.theme-toggle-track,.theme-toggle-thumb,.theme-icon{transition:none}}@media (prefers-contrast: high){.theme-toggle-track{border-width:3px}.theme-toggle:focus-visible{outline-width:3px}}.notification{position:fixed;top:20px;right:20px;min-width:300px;max-width:500px;padding:16px;border-radius:8px;box-shadow:0 4px 12px #00000026;z-index:1000;animation:slideIn .3s ease-out;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.notification__content{display:flex;align-items:center;gap:12px}.notification__icon{font-size:18px;flex-shrink:0}.notification__message{flex:1;font-size:14px;line-height:1.4}.notification__close{position:absolute;top:8px;right:8px;background:none;border:none;font-size:20px;cursor:pointer;color:inherit;opacity:.7;padding:4px;line-height:1}.notification__close:hover{opacity:1}.notification--info{background-color:#e3f2fd;border-left:4px solid #2196f3;color:#1565c0}.notification--success{background-color:#e8f5e8;border-left:4px solid #4caf50;color:#2e7d32}.notification--warning{background-color:#fff3e0;border-left:4px solid #ff9800;color:#ef6c00}.notification--error{background-color:#ffebee;border-left:4px solid #f44336;color:#c62828}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@media (max-width: 1024px){.notification{left:20px;right:20px;min-width:auto;max-width:none}}.stats-display{display:flex;align-items:center;font-size:12px;color:#6b7280;padding:4px 8px;background-color:#f9fafb;border-radius:6px;margin-left:auto;border:1px solid #e5e7eb}.stats-item{display:flex;align-items:center;gap:4px}.stats-icon{font-size:14px}.stats-label{font-weight:500}.stats-value{font-weight:600;color:#4b5563}.stats-separator{margin:0 8px;color:#d1d5db}@media (max-width: 640px){.stats-display{font-size:11px;padding:3px 6px}.stats-label{display:none}}:root{--color-primary: #667eea;--color-primary-hover: #5a6fd8;--color-primary-active: #4c63d2;--color-secondary: #764ba2;--color-secondary-hover: #6a4190;--color-bg-primary: #ffffff;--color-bg-secondary: #f8f9fa;--color-bg-tertiary: #f6f8fa;--color-bg-accent: #e9ecef;--color-text-primary: #1f2328;--color-text-secondary: #656d76;--color-text-tertiary: #8b949e;--color-text-inverse: #ffffff;--color-border-primary: #d1d9e0;--color-border-secondary: #e1e5e9;--color-border-tertiary: #30363d;--color-success: #28a745;--color-success-bg: #d4edda;--color-warning: #ffc107;--color-warning-bg: #fff3cd;--color-error: #dc3545;--color-error-bg: #f8d7da;--color-info: #007bff;--color-info-bg: #d1ecf1;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px rgba(0, 0, 0, .07);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px rgba(0, 0, 0, .1);--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 12px;--radius-full: 50%;--font-family-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", sans-serif;--font-family-mono: "Monaco", "Menlo", "Ubuntu Mono", monospace;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 2rem;--transition-fast: .15s ease;--transition-base: .2s ease;--transition-slow: .3s ease}[data-theme=dark]{--color-bg-primary: #0d1117;--color-bg-secondary: #161b22;--color-bg-tertiary: #21262d;--color-bg-accent: #30363d;--color-text-primary: #f0f6fc;--color-text-secondary: #e6edf3;--color-text-tertiary: #8b949e;--color-text-inverse: #0d1117;--color-border-primary: #30363d;--color-border-secondary: #21262d;--color-border-tertiary: #484f58;--color-success: #3fb950;--color-success-bg: #1a2f1a;--color-warning: #d29922;--color-warning-bg: #2d2a1a;--color-error: #f85149;--color-error-bg: #2d1a1a;--color-info: #58a6ff;--color-info-bg: #1a2332;--color-primary: #58a6ff;--color-primary-hover: #4493f8;--color-primary-active: #3182f6;--color-secondary: #bc8cff;--color-secondary-hover: #a374ff}@media (prefers-color-scheme: dark){:root:not([data-theme]){--color-bg-primary: #0d1117;--color-bg-secondary: #161b22;--color-bg-tertiary: #21262d;--color-bg-accent: #30363d;--color-text-primary: #f0f6fc;--color-text-secondary: #e6edf3;--color-text-tertiary: #8b949e;--color-text-inverse: #0d1117;--color-border-primary: #30363d;--color-border-secondary: #21262d;--color-border-tertiary: #484f58;--color-success: #3fb950;--color-success-bg: #1a2f1a;--color-warning: #d29922;--color-warning-bg: #2d2a1a;--color-error: #f85149;--color-error-bg: #2d1a1a;--color-info: #58a6ff;--color-info-bg: #1a2332;--color-primary: #58a6ff;--color-primary-hover: #4493f8;--color-primary-active: #3182f6;--color-secondary: #bc8cff;--color-secondary-hover: #a374ff}}@media (prefers-reduced-motion: reduce){:root{--transition-fast: 0s;--transition-base: 0s;--transition-slow: 0s}}@media (prefers-contrast: high){:root{--color-border-primary: #000000;--color-border-secondary: #000000}[data-theme=dark]{--color-border-primary: #ffffff;--color-border-secondary: #ffffff}}@keyframes fadeOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-10px)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes bounce{0%,20%,53%,80%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1);transform:translateZ(0)}40%,43%{animation-timing-function:cubic-bezier(.755,.05,.855,.06);transform:translate3d(0,-8px,0)}70%{animation-timing-function:cubic-bezier(.755,.05,.855,.06);transform:translate3d(0,-4px,0)}90%{transform:translate3d(0,-2px,0)}}@keyframes shimmer{0%{background-position:-200px 0}to{background-position:calc(200px + 100%) 0}}@keyframes progressFill{0%{width:0%}to{width:var(--progress-width, 100%)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes scaleOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.9)}}.animate-fade-in{animation:fadeIn .3s ease-out}.animate-fade-out{animation:fadeOut .3s ease-out}.animate-slide-in-left{animation:slideInFromLeft .3s ease-out}.animate-slide-in-right{animation:slideInFromRight .3s ease-out}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.animate-spin{animation:spin 1s linear infinite}.animate-bounce{animation:bounce 1s infinite}.animate-shimmer{background:linear-gradient(90deg,var(--color-bg-secondary) 0%,var(--color-bg-accent) 50%,var(--color-bg-secondary) 100%);background-size:200px 100%;animation:shimmer 1.5s ease-in-out infinite}.animate-scale-in{animation:scaleIn .2s ease-out}.animate-scale-out{animation:scaleOut .2s ease-out}.loading-skeleton{background:linear-gradient(90deg,var(--color-bg-secondary) 25%,var(--color-bg-accent) 50%,var(--color-bg-secondary) 75%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite;border-radius:var(--radius-md)}.loading-dots{display:inline-flex;gap:4px}.loading-dots:after{content:"";display:inline-block;width:4px;height:4px;border-radius:50%;background-color:currentColor;animation:loadingDots 1.4s ease-in-out infinite both}.loading-dots:before{content:"";display:inline-block;width:4px;height:4px;border-radius:50%;background-color:currentColor;animation:loadingDots 1.4s ease-in-out -.16s infinite both;margin-right:4px}@keyframes loadingDots{0%,80%,to{transform:scale(0);opacity:.5}40%{transform:scale(1);opacity:1}}.hover-lift{transition:transform var(--transition-base),box-shadow var(--transition-base)}.hover-lift:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.hover-scale{transition:transform var(--transition-base)}.hover-scale:hover{transform:scale(1.05)}.hover-glow{transition:box-shadow var(--transition-base)}.hover-glow:hover{box-shadow:0 0 20px #667eea4d}.focus-ring{outline:none;transition:box-shadow var(--transition-fast)}.focus-ring:focus-visible{box-shadow:0 0 0 3px #667eea4d}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.animate-pulse,.animate-spin,.animate-bounce,.animate-shimmer{animation:none!important}}@media (prefers-contrast: high){.loading-skeleton{background:repeating-linear-gradient(90deg,var(--color-bg-secondary) 0px,var(--color-bg-secondary) 10px,var(--color-bg-accent) 10px,var(--color-bg-accent) 20px)}}.lazy-image-container{position:relative;overflow:hidden}.lazy-image{transition:opacity .3s ease;width:100%;height:auto}.lazy-image.loading{opacity:.7;filter:blur(2px)}.lazy-image.loaded{opacity:1;filter:none}.skip-to-main{position:absolute;top:-40px;left:6px;background:#000;color:#fff;padding:8px;text-decoration:none;border-radius:4px;z-index:1000;transition:top .3s}.skip-to-main:focus{top:6px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.focus-visible{outline:2px solid #0066cc;outline-offset:2px}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media (prefers-contrast: high){.app{filter:contrast(1.2)}}@media print{.app-header,.bottom-ad-section,.header-actions{display:none!important}.app-main{margin-top:0!important}.preview-panel{width:100%!important}.editor-panel{display:none!important}body{background:#fff!important;color:#000!important}}.will-change-transform{will-change:transform}.will-change-opacity{will-change:opacity}@font-face{font-family:System;src:local("system-ui"),local("-apple-system"),local("BlinkMacSystemFont");font-display:swap}.app-header{contain:layout style paint}.editor-container{contain:layout}.status-dot{transform:translateZ(0);backface-visibility:hidden}.app{height:100vh;min-height:750px;display:flex;flex-direction:column;background-color:var(--color-bg-primary);color:var(--color-text-primary);font-family:var(--font-family-sans);transition:background-color var(--transition-base),color var(--transition-base);overflow:hidden}.app-header{background-color:#ffeaa7;padding:var(--spacing-md);border-bottom:1px solid var(--color-border-secondary);animation:fadeIn .3s ease-out}.header-layout{display:grid;grid-template-columns:1fr auto 1fr;gap:var(--spacing-md);align-items:center}.header-left{display:flex;justify-content:flex-start;align-items:center}.header-left-container{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:var(--spacing-sm)}.header-left-container h1{margin:0;color:var(--color-text-primary);font-size:var(--font-size-2xl);font-weight:700;background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-align:left}.header-left-container p{margin:var(--spacing-xs) 0 0 0;color:var(--color-text-secondary);font-size:var(--font-size-sm);text-align:left;line-height:1.3}.header-center{display:flex;justify-content:center;align-items:center}.upper-ad-container{width:735px;height:95px;background-color:var(--color-bg-accent);border:2px dashed var(--color-border-secondary);border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:500;transition:all var(--transition-base);position:relative;overflow:hidden}.upper-ad-container:before{content:"📢 Upper Advertisement Space - 735×95px";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);opacity:.6;font-family:var(--font-family-mono);letter-spacing:.5px;pointer-events:none}.upper-ad-banner,.bottom-ad-banner{display:block;margin:0 auto;border-radius:var(--radius-md);overflow:hidden;transition:all var(--transition-base)}.upper-ad-banner:hover,.bottom-ad-banner:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm)}.upper-ad-container.has-ad:before,.bottom-ad-container.has-ad:before{display:none}@media (max-width: 1024px){.upper-ad-banner,.bottom-ad-banner{width:100%!important;max-width:735px;height:95px!important}}.upper-ad-container:hover{border-color:var(--color-primary);background-color:var(--color-bg-primary);transform:translateY(-2px);box-shadow:var(--shadow-sm)}.header-right,.header-right-container{display:flex;justify-content:flex-end;align-items:center}.header-status{animation:slideInFromLeft .3s ease-out}.connection-status{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-xl);font-size:var(--font-size-sm);font-weight:500;transition:all var(--transition-base);border:1px solid transparent}.connection-status.connected{color:var(--color-success);background-color:var(--color-success-bg);border-color:var(--color-success)}.connection-status.connecting,.connection-status.rendering{color:var(--color-info);background-color:var(--color-info-bg);border-color:var(--color-info)}.connection-status.ready{color:var(--color-text-secondary);background-color:var(--color-bg-accent);border-color:var(--color-border-secondary)}.connection-status.error{color:var(--color-error);background-color:var(--color-error-bg);border-color:var(--color-error)}.connection-status .status-dot{width:8px;height:8px;border-radius:var(--radius-full);background-color:currentColor;transition:transform var(--transition-base)}.connection-status.connecting .status-dot,.connection-status.rendering .status-dot{animation:pulse 1s ease-in-out infinite}.connection-status:hover .status-dot{transform:scale(1.2)}.header-actions{display:flex;flex-direction:column;align-items:flex-end;gap:var(--spacing-sm);animation:slideInFromRight .3s ease-out}.header-pdf-button{white-space:nowrap}.app-error{position:fixed;top:20px;right:20px;z-index:1000;background-color:var(--color-error-bg);border:1px solid var(--color-error);color:var(--color-error);padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--radius-lg);animation:slideInFromRight .3s ease-out;box-shadow:0 4px 20px #dc35454d;max-width:400px;width:auto}.error-content{display:flex;align-items:center;gap:var(--spacing-sm)}.error-icon{font-size:var(--font-size-lg);flex-shrink:0}.error-message{flex:1;font-weight:500;line-height:1.4}.error-close{background:none;border:none;color:currentColor;font-size:var(--font-size-xl);cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-full);transition:all var(--transition-base);flex-shrink:0}.error-close:hover{background-color:#dc35451a;transform:scale(1.1)}.error-close:focus-visible{outline:2px solid currentColor;outline-offset:2px}.app-main{flex:1;padding:var(--spacing-md);animation:fadeIn .4s ease-out;display:flex;flex-direction:column;overflow:hidden}.editor-container{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md);flex:1;min-height:0}.editor-panel{display:flex;flex-direction:column;border:1px solid #3c4043;border-radius:var(--radius-lg);overflow:hidden;background-color:#1e1e1e;box-shadow:0 4px 12px #00000026;transition:all var(--transition-base);animation:scaleIn .3s ease-out;position:relative}.editor-panel:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#007acc,#0078d4,#005a9e);z-index:1}.preview-panel{display:flex;flex-direction:column;border:1px solid var(--color-border-secondary);border-radius:var(--radius-lg);overflow:hidden;background-color:var(--color-bg-primary);box-shadow:var(--shadow-sm);transition:all var(--transition-base);animation:scaleIn .3s ease-out}.editor-panel:hover{box-shadow:0 8px 25px #00000040;border-color:#007acc;transform:translateY(-1px)}.preview-panel:hover{box-shadow:var(--shadow-md);border-color:var(--color-primary)}.editor-panel .panel-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md) var(--spacing-lg);background-color:#2d2d30;border-bottom:1px solid #3c4043;transition:background-color var(--transition-base);position:relative;z-index:2}.editor-panel .panel-header:before{content:"●●●";position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#ff5f56;font-size:12px;letter-spacing:2px}.editor-panel .panel-header:after{content:"📝 document.md";position:absolute;left:60px;top:50%;transform:translateY(-50%);background-color:#3c3c3c;color:#ccc;padding:4px 12px;border-radius:4px 4px 0 0;font-size:12px;font-family:Consolas,Monaco,Courier New,monospace;border:1px solid #464647;border-bottom:none}.editor-panel .panel-header h2{font-size:var(--font-size-lg);color:#ccc;font-weight:500;font-family:Consolas,Monaco,Courier New,monospace;margin:0 0 0 160px}.preview-panel .panel-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md) var(--spacing-lg);background-color:#a8e6cf;border-bottom:1px solid var(--color-border-secondary);transition:background-color var(--transition-base)}.preview-panel .panel-header h2{margin:0;font-size:var(--font-size-lg);color:var(--color-text-primary);font-weight:600}.preview-panel .panel-header h2:before{content:"📄 ";margin-right:8px}.panel-header h2{margin:0;font-size:var(--font-size-lg);color:var(--color-text-primary);font-weight:600}.panel-status{display:flex;align-items:center;font-size:var(--font-size-sm)}.status-indicator{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-xl);font-weight:500;transition:all var(--transition-base);border:1px solid transparent}.editor-panel .status-indicator.ready{color:#4ec9b0;background-color:#4ec9b01a;border-color:#4ec9b0}.editor-panel .status-indicator.processing{color:#dcdcaa;background-color:#dcdcaa1a;border-color:#dcdcaa}.editor-panel .status-indicator.loading{color:#569cd6;background-color:#569cd61a;border-color:#569cd6}.preview-panel .status-indicator.ready{color:var(--color-success);background-color:var(--color-success-bg);border-color:var(--color-success)}.preview-panel .status-indicator.processing{color:var(--color-warning);background-color:var(--color-warning-bg);border-color:var(--color-warning)}.preview-panel .status-indicator.loading{color:var(--color-info);background-color:var(--color-info-bg);border-color:var(--color-info)}.status-dot{width:8px;height:8px;border-radius:var(--radius-full);background-color:currentColor;transition:transform var(--transition-base)}.status-indicator.processing .status-dot{animation:pulse 1.5s ease-in-out infinite}.status-indicator.loading .status-dot{animation:pulse 1s ease-in-out infinite}.status-indicator:hover .status-dot{transform:scale(1.2)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInFromLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes slideInFromRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.editor-panel .markdown-editor{flex:1;border:none;outline:none;transition:all var(--transition-base)}.markdown-preview{flex:1;padding:var(--spacing-lg);background-color:var(--color-bg-primary);overflow-y:auto;transition:background-color var(--transition-base)}.markdown-preview pre{background-color:var(--color-bg-tertiary);padding:var(--spacing-lg);border-radius:var(--radius-md);overflow-x:auto;font-size:var(--font-size-xs);line-height:1.4;border:1px solid var(--color-border-secondary)}.skyscraper-ad-space{display:flex;justify-content:center;align-items:center;width:125px;background-color:var(--color-bg-secondary);border-left:1px solid var(--color-border-secondary);border-right:1px solid var(--color-border-secondary);animation:fadeIn .4s ease-out;visibility:hidden}.middle-ad-container{width:125px;height:610px;background-color:var(--color-bg-accent);border:2px dashed var(--color-border-secondary);border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;color:var(--color-text-secondary);font-size:var(--font-size-xs);font-weight:500;transition:all var(--transition-base);position:relative;overflow:hidden;writing-mode:vertical-rl;text-orientation:mixed;visibility:visible}.middle-ad-container:before{content:"📢 Middle Ad 125×610px";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) rotate(90deg);opacity:.6;font-family:var(--font-family-mono);letter-spacing:.5px;white-space:nowrap;writing-mode:horizontal-tb;text-orientation:mixed}.middle-ad-container:hover{border-color:var(--color-primary);background-color:var(--color-bg-primary);transform:translate(-2px);box-shadow:var(--shadow-sm)}.bottom-ad-section{width:100%;display:flex;justify-content:center;align-items:center;padding:var(--spacing-md) 0;animation:fadeIn .4s ease-out;flex-shrink:0}.bottom-ad-container{width:735px;height:95px;background-color:var(--color-bg-accent);border:2px dashed var(--color-border-secondary);border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:500;transition:all var(--transition-base);position:relative;overflow:hidden}.bottom-ad-container:before{content:"📢 Advertisement Space - 735×95px";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);opacity:.6;font-family:var(--font-family-mono);letter-spacing:.5px;pointer-events:none}.bottom-ad-container:hover{border-color:var(--color-primary);background-color:var(--color-bg-primary);transform:translateY(-2px);box-shadow:var(--shadow-sm)}@media (max-width: 1024px){.app{height:auto;min-height:100vh;overflow-y:auto}.editor-container{grid-template-columns:1fr;grid-template-rows:1fr 1fr;gap:var(--spacing-sm);height:auto}.editor-panel,.preview-panel{height:500px}.app-header{padding:var(--spacing-sm)}.header-layout{grid-template-columns:1fr;grid-template-rows:auto auto auto;gap:var(--spacing-sm);height:auto;text-align:center}.header-left,.header-center,.header-right{justify-content:center}.header-left-container{height:auto;align-items:center;text-align:center}.header-left-container h1{font-size:var(--font-size-xl);text-align:center}.header-right-container{height:auto;justify-content:center}.upper-ad-container{width:100%;max-width:735px;margin:0 var(--spacing-sm)}.upper-ad-container:before{content:"📢 Upper Ad Space";font-size:var(--font-size-xs)}.app-error{top:10px;right:10px;left:10px;max-width:none}.header-pdf-button{max-width:200px}.app-main{padding:var(--spacing-sm)}.panel-header{padding:var(--spacing-sm) var(--spacing-md)}.panel-header h2{font-size:var(--font-size-base)}.editor-container{flex:1;min-height:0}.bottom-ad-container{width:100%;max-width:735px;margin:0 var(--spacing-sm)}.bottom-ad-container:before{content:"📢 Ad Space";font-size:var(--font-size-xs)}}@media (max-width: 1024px){.upper-ad-container{width:100%;max-width:600px}.header-left-container h1{font-size:var(--font-size-xl)}}@media (prefers-reduced-motion: reduce){.app,.app-header,.app-main,.editor-panel,.preview-panel,.header-status,.header-actions,.status-dot,.connection-status .status-dot,.status-indicator.processing .status-dot,.status-indicator.loading .status-dot{animation:none}*{transition:none!important}}@media (prefers-contrast: high){.editor-panel,.preview-panel{border-width:2px}.panel-header{border-bottom-width:2px}.app-error{border-width:2px}}
