/* --- Global Styles --- */
body {
    font-family: system-ui, -apple-system, sans-serif;
    overscroll-behavior: none;
}

/* --- Scrollbar --- */
::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 10px; }
::-webkit-scrollbar-thumb:hover { background: #94a3b8; }

/* --- Animations --- */
.loader {
    width: 48px; height: 48px;
    border: 5px solid #FFF;
    border-bottom-color: #3b82f6;
    border-radius: 50%;
    display: inline-block;
    box-sizing: border-box;
    animation: rotation 1s linear infinite;
}
@keyframes rotation {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}
@keyframes fadeIn {
    from { opacity: 0; transform: scale(0.95); }
    to { opacity: 1; transform: scale(1); }
}
@keyframes slideUp {
    from { transform: translateY(20px); opacity: 0; }
    to { transform: translateY(0); opacity: 1; }
}
.animate-fade-in { animation: fadeIn 0.3s ease-out forwards; }
.animate-slide-up { animation: slideUp 0.3s ease-out forwards; }

/* --- Utility --- */
.drop-zone.dragover {
    background-color: #eff6ff;
    border-color: #3b82f6;
    transform: scale(1.02);
}

/* Syntax Highlight Override */
pre[class*="language-"] {
    margin: 0 !important;
    border-radius: 0.5rem;
    font-size: 12px !important;
}

/* Office Preview Styles */
.excel-preview table {
    border-collapse: collapse;
    width: 100%;
    font-size: 14px;
}
.excel-preview th, .excel-preview td {
    border: 1px solid #e2e8f0;
    padding: 8px;
    text-align: left;
}
.excel-preview th {
    background-color: #f8fafc;
    font-weight: bold;
    color: #475569;
}
.excel-preview tr:nth-child(even) {
    background-color: #f8fafc;
}

.word-preview {
    padding: 2rem;
    background: white;
    color: #334155;
    line-height: 1.6;
}
.word-preview h1, .word-preview h2, .word-preview h3 {
    margin-top: 1.5em;
    margin-bottom: 0.5em;
    font-weight: bold;
    color: #1e293b;
}
.word-preview p { margin-bottom: 1em; }
.word-preview table { border-collapse: collapse; width: 100%; margin: 1em 0; }
.word-preview td, .word-preview th { border: 1px solid #cbd5e1; padding: 0.5em; }
