.loading-notice{background:var(--bg-secondary, #f0f9ff);border:1px solid var(--border-info, #60a5fa);border-radius:8px;padding:12px 16px;margin-bottom:16px;text-align:center;color:var(--text-secondary, #475569)}.latex-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;flex-wrap:wrap}.toolbar-buttons{display:flex;gap:8px;align-items:center}.template-select{padding:8px 12px;border:1px solid var(--border-color, #e2e8f0);border-radius:6px;background:var(--bg-primary, #ffffff);color:var(--text-primary, #1e293b);font-size:.85rem;cursor:pointer;min-width:140px}.template-select:hover{border-color:var(--color-primary, #6366f1)}.template-select:focus{outline:none;border-color:var(--color-primary, #6366f1);box-shadow:0 0 0 2px var(--color-primary-alpha, rgba(99, 102, 241, .2))}.latex-editor{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px;min-height:400px}@media(max-width:768px){.latex-editor{grid-template-columns:1fr;min-height:auto}}.editor-section,.preview-section{display:flex;flex-direction:column;border:1px solid var(--border-color, #e2e8f0);border-radius:8px;overflow:hidden;background:var(--bg-primary, #ffffff)}.section-header{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;background:var(--bg-secondary, #f8fafc);border-bottom:1px solid var(--border-color, #e2e8f0);font-weight:600;font-size:.9rem}.char-count{font-size:.75rem;color:var(--text-muted, #94a3b8);font-weight:400}.status-ok{font-size:.75rem;color:var(--color-success, #22c55e);font-weight:400}.status-error{font-size:.75rem;color:var(--color-error, #ef4444);font-weight:400}.latex-input{flex:1;padding:14px;border:none;resize:none;font-family:Menlo,Monaco,Consolas,monospace;font-size:.85rem;line-height:1.5;min-height:350px;background:var(--bg-primary, #ffffff);color:var(--text-primary, #1e293b)}.latex-input:focus{outline:none}.latex-input::placeholder{color:var(--text-muted, #94a3b8)}.latex-preview{flex:1;padding:20px;overflow-y:auto;min-height:350px;font-family:Times New Roman,Georgia,serif;font-size:1rem;line-height:1.6;background:var(--color-bg-card)}.latex-preview h1,.latex-preview .title{font-size:1.5rem;font-weight:700;margin-bottom:.5rem;text-align:center}.latex-preview h2,.latex-preview .author,.latex-preview .date{text-align:center;margin-bottom:.5rem}.latex-preview .section{font-size:1.25rem;font-weight:700;margin-top:1.5rem;margin-bottom:.75rem}.latex-preview .subsection{font-size:1.1rem;font-weight:700;margin-top:1rem;margin-bottom:.5rem}.latex-preview table{border-collapse:collapse;margin:1rem auto}.latex-preview table td,.latex-preview table th{border:1px solid #333;padding:6px 12px}.latex-preview ul,.latex-preview ol{margin:.75rem 0;padding-left:2rem}.latex-preview li{margin:.25rem 0}.latex-preview .katex{font-size:1.1em}.empty-preview{color:var(--text-muted, #94a3b8);font-style:italic}.parse-error{color:var(--color-error, #ef4444);background:var(--color-error-subtle);padding:12px;border-radius:6px;font-family:system-ui,sans-serif}.parse-error-suggestion{background:linear-gradient(135deg,var(--color-warning-subtle, #fffbeb) 0%,var(--bg-secondary, #fef3c7) 100%);border:1px solid var(--color-warning, #f59e0b);border-radius:8px;padding:16px;font-family:system-ui,sans-serif}.parse-error-suggestion p{margin:0;color:var(--text-primary, #1f2937)}.parse-error-suggestion ul{color:var(--text-secondary, #4b5563)}.parse-error-suggestion strong{color:var(--color-warning-dark, #d97706)}.export-buttons{display:flex;gap:12px;margin-bottom:16px}@media(max-width:480px){.export-buttons{flex-direction:column}.export-buttons .btn{width:100%}}.latex-notice{background:var(--bg-secondary, #fef9c3);border:1px solid var(--border-warning, #fcd34d);border-radius:8px;padding:12px 16px;margin-bottom:16px;font-size:.85rem;color:var(--text-secondary, #92400e);line-height:1.5}.privacy-note{text-align:center;color:var(--text-muted, #64748b);font-size:.85rem;padding:12px}.mode-toggle{display:flex;align-items:center;gap:8px}.mode-label{font-weight:500;color:var(--text-secondary, #475569);font-size:.9rem}.mode-select{padding:8px 12px;border:1px solid var(--border-color, #e2e8f0);border-radius:6px;background:var(--bg-primary, #ffffff);color:var(--text-primary, #1e293b);font-size:.85rem;cursor:pointer}.mode-select:focus{outline:none;border-color:var(--color-primary, #6366f1);box-shadow:0 0 0 2px var(--color-primary-alpha, rgba(99, 102, 241, .2))}.swiftlatex-progress{background:var(--bg-secondary, #f0f9ff);border:1px solid var(--border-info, #60a5fa);border-radius:8px;padding:12px 16px;margin-bottom:16px}.swiftlatex-progress.error{background:var(--color-error-subtle, #fef2f2);border-color:var(--color-error, #ef4444)}.swiftlatex-progress.ready{background:var(--color-success-subtle, #f0fdf4);border-color:var(--color-success, #22c55e)}.progress-message{display:block;margin-bottom:8px;font-size:.9rem;color:var(--text-secondary, #475569)}.progress-bar{height:6px;background:var(--bg-tertiary, #e2e8f0);border-radius:3px;overflow:hidden}.progress-fill{height:100%;background:var(--color-primary, #6366f1);border-radius:3px;transition:width .3s ease}.notice-muted{color:var(--text-muted, #94a3b8);font-size:.85rem}.busytex-progress{background:var(--bg-secondary, #f0f9ff);border:1px solid var(--border-info, #60a5fa);border-radius:8px;padding:12px 16px;margin-bottom:16px}.busytex-progress.error{background:var(--color-error-subtle, #fef2f2);border-color:var(--color-error, #ef4444)}.busytex-progress.ready{background:var(--color-success-subtle, #f0fdf4);border-color:var(--color-success, #22c55e)}.latex-help{background:var(--bg-secondary, #f8fafc);border:1px solid var(--border-color, #e2e8f0);border-radius:8px;margin-bottom:16px}.latex-help summary{padding:12px 16px;cursor:pointer;font-weight:600;color:var(--text-primary, #1e293b);-webkit-user-select:none;user-select:none}.latex-help summary:hover{background:var(--bg-tertiary, #f1f5f9)}.latex-help[open] summary{border-bottom:1px solid var(--border-color, #e2e8f0)}.help-content{padding:12px 16px}.help-content ul{margin:0;padding-left:1.5rem}.help-content li{margin:8px 0;font-size:.9rem;color:var(--text-secondary, #475569)}.help-content code{background:var(--bg-tertiary, #e2e8f0);padding:2px 6px;border-radius:4px;font-size:.85em}.help-note{margin-top:12px;font-size:.85rem;color:var(--text-muted, #64748b)}.project-files{background:var(--bg-primary, #ffffff);border:1px solid var(--border-color, #e2e8f0);border-radius:8px;margin-bottom:16px;overflow:hidden}.project-header{display:flex;align-items:center;gap:8px;padding:10px 14px;background:var(--bg-secondary, #f8fafc);border-bottom:1px solid var(--border-color, #e2e8f0);font-weight:600;font-size:.9rem}.main-file-selector{display:flex;align-items:center;gap:8px;padding:8px 14px;background:var(--bg-secondary, #f8fafc);border-bottom:1px solid var(--border-color, #e2e8f0);font-size:.85rem}.main-file-selector label{color:var(--text-secondary, #64748b)}.main-file-selector select{flex:1;padding:4px 8px;border:1px solid var(--border-color, #e2e8f0);border-radius:4px;font-size:.85rem;background:var(--bg-primary, #ffffff)}.file-list{max-height:200px;overflow-y:auto}.file-item{display:flex;align-items:center;gap:8px;padding:8px 14px;border-bottom:1px solid var(--border-color, #e2e8f0);font-size:.85rem}.file-item:last-child{border-bottom:none}.file-item.main{background:var(--color-primary-subtle, #f0f9ff)}.file-item.more{color:var(--text-muted, #64748b);font-style:italic;justify-content:center}.file-icon{font-size:1rem}.file-name{flex:1;color:var(--text-primary, #1e293b);font-family:Menlo,Monaco,monospace;font-size:.8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-size{color:var(--text-muted, #94a3b8);font-size:.75rem}.badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:12px;font-size:.7rem;font-weight:600;text-transform:uppercase}.badge-bib{background:var(--color-success-subtle, #dcfce7);color:var(--color-success-dark, #166534)}.latex-controls{display:flex;gap:12px;align-items:center;margin-bottom:16px;flex-wrap:wrap}.template-selector{display:flex;align-items:center;gap:8px}.template-selector label{font-weight:500;color:var(--text-secondary, #475569);font-size:.9rem}.template-selector select{padding:8px 12px;border:1px solid var(--border-color, #e2e8f0);border-radius:6px;background:var(--bg-primary, #ffffff);font-size:.85rem}.latex-editor-container{margin-bottom:16px}.error-message{background:var(--color-error-subtle, #fef2f2);border:1px solid var(--color-error, #ef4444);border-radius:8px;padding:12px 16px;margin-bottom:16px;color:var(--color-error-dark, #991b1b);font-size:.9rem}
