:root{--font-sans: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "JetBrains Mono", monospace;--bg-primary: #0b0f19;--bg-secondary: #111827;--bg-card: #1a2234;--bg-card-hover: #222d42;--bg-input: #151d2c;--border-color: #243048;--border-focus: #3b82f6;--text-primary: #f8fafc;--text-secondary: #94a3b8;--text-muted: #64748b;--brand-blue: #2563eb;--brand-blue-hover: #1d4ed8;--brand-cyan: #06b6d4;--status-authentic: #10b981;--status-authentic-bg: rgba(16, 185, 129, .12);--status-authentic-border: rgba(16, 185, 129, .3);--status-manipulated: #f43f5e;--status-manipulated-bg: rgba(244, 63, 94, .12);--status-manipulated-border: rgba(244, 63, 94, .3);--status-uncertain: #eab308;--status-uncertain-bg: rgba(234, 179, 8, .12);--status-uncertain-border: rgba(234, 179, 8, .3);--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-xl: 24px;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .2);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .3), 0 2px 4px -2px rgba(0, 0, 0, .3);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .4), 0 4px 6px -4px rgba(0, 0, 0, .4)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background-color:var(--bg-primary);color:var(--text-primary);min-height:100vh;line-height:1.5;-webkit-font-smoothing:antialiased}.app-container{display:flex;flex-direction:column;min-height:100vh}.main-content{flex:1;max-width:1200px;width:100%;margin:0 auto;padding:2rem 1.5rem}.navbar{background:#111827d9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border-color);position:sticky;top:0;z-index:50}.nav-inner{max-width:1200px;margin:0 auto;padding:.875rem 1.5rem;display:flex;align-items:center;justify-content:space-between}.nav-brand{display:flex;align-items:center;gap:.75rem;text-decoration:none;color:var(--text-primary);cursor:pointer}.nav-brand-logo{width:36px;height:36px;background:linear-gradient(135deg,#1e3a8a,#2563eb);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;box-shadow:0 0 15px #2563eb59}.nav-brand-text h1{font-size:1.15rem;font-weight:700;letter-spacing:-.02em}.nav-brand-tagline{font-size:.75rem;color:var(--brand-cyan);font-weight:500;letter-spacing:.05em;text-transform:uppercase}.nav-links{display:flex;align-items:center;gap:.5rem}.nav-btn{background:transparent;border:1px solid transparent;color:var(--text-secondary);font-family:inherit;font-size:.9rem;font-weight:500;padding:.5rem .875rem;border-radius:var(--radius-sm);cursor:pointer;display:flex;align-items:center;gap:.5rem;transition:all .2s ease}.nav-btn:hover{color:var(--text-primary);background:var(--bg-card)}.nav-btn.active{color:#fff;background:var(--bg-card-hover);border-color:var(--border-color)}.btn-primary{background:var(--brand-blue);color:#fff;border:none;font-family:inherit;font-weight:600;padding:.55rem 1.1rem;border-radius:var(--radius-sm);cursor:pointer;display:inline-flex;align-items:center;gap:.5rem;transition:background .2s ease,transform .1s ease}.btn-primary:hover:not(:disabled){background:var(--brand-blue-hover)}.btn-primary:active:not(:disabled){transform:translateY(1px)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{background:var(--bg-card);color:var(--text-primary);border:1px solid var(--border-color);font-family:inherit;font-weight:500;padding:.55rem 1rem;border-radius:var(--radius-sm);cursor:pointer;display:inline-flex;align-items:center;gap:.5rem;transition:all .2s ease}.btn-secondary:hover:not(:disabled){background:var(--bg-card-hover);border-color:var(--border-focus)}.btn-danger{background:transparent;color:#f87171;border:1px solid rgba(248,113,113,.25);font-family:inherit;font-weight:500;padding:.35rem .65rem;border-radius:var(--radius-sm);cursor:pointer;display:inline-flex;align-items:center;gap:.35rem;transition:all .2s ease;font-size:.8rem}.btn-danger:hover{background:#f8717126;border-color:#f87171}.hero-section{text-align:center;margin-bottom:2.5rem;padding:1rem 0}.hero-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.35rem .85rem;background:#2563eb26;border:1px solid rgba(37,99,235,.3);border-radius:9999px;color:#60a5fa;font-size:.825rem;font-weight:600;margin-bottom:1rem}.hero-title{font-size:2.5rem;font-weight:800;letter-spacing:-.03em;margin-bottom:.75rem;background:linear-gradient(135deg,#fff 40%,#94a3b8);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.hero-subtitle{font-size:1.1rem;color:var(--text-secondary);max-width:650px;margin:0 auto}.upload-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-xl);padding:2rem;box-shadow:var(--shadow-lg);max-width:780px;margin:0 auto 2.5rem}.dropzone{border:2px dashed var(--border-color);border-radius:var(--radius-lg);padding:3rem 1.5rem;text-align:center;background:#11182766;cursor:pointer;transition:all .2s ease;position:relative}.dropzone:hover,.dropzone.drag-active{border-color:var(--brand-blue);background:#2563eb0d}.dropzone-icon{width:56px;height:56px;margin:0 auto 1rem;color:#60a5fa;background:#2563eb1a;border-radius:50%;display:flex;align-items:center;justify-content:center}.dropzone-title{font-size:1.25rem;font-weight:700;margin-bottom:.5rem}.dropzone-subtitle{color:var(--text-secondary);font-size:.9rem;margin-bottom:1.25rem}.format-tags{display:flex;justify-content:center;flex-wrap:wrap;gap:.5rem}.format-tag{background:var(--bg-card);border:1px solid var(--border-color);padding:.2rem .6rem;border-radius:var(--radius-sm);font-size:.75rem;font-family:var(--font-mono);color:var(--text-muted)}.preview-box{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:1.25rem;margin-bottom:1.5rem}.preview-media-wrapper{max-height:380px;overflow:hidden;border-radius:var(--radius-md);display:flex;justify-content:center;align-items:center;background:#000;margin-bottom:1rem}.preview-media-wrapper img,.preview-media-wrapper video{max-width:100%;max-height:380px;object-fit:contain}.file-info-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem}.file-info-details{display:flex;align-items:center;gap:.75rem}.file-type-badge{background:var(--brand-blue);color:#fff;font-size:.75rem;font-weight:700;text-transform:uppercase;padding:.2rem .5rem;border-radius:var(--radius-sm)}.file-name{font-weight:600;font-size:.95rem}.file-size{color:var(--text-muted);font-size:.85rem}.loading-box{text-align:center;padding:2.5rem 1.5rem}.spinner{width:44px;height:44px;border:3px solid rgba(37,99,235,.2);border-top-color:var(--brand-blue);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 1.25rem}@keyframes spin{to{transform:rotate(360deg)}}.loading-step-title{font-size:1.15rem;font-weight:700;margin-bottom:.5rem}.loading-subtext{font-size:.875rem;color:var(--text-secondary)}.result-card{border-radius:var(--radius-xl);background:var(--bg-secondary);border:1px solid var(--border-color);padding:2rem;box-shadow:var(--shadow-lg);margin-bottom:2rem;position:relative;overflow:hidden}.result-card.authentic{border-left:6px solid var(--status-authentic)}.result-card.manipulated{border-left:6px solid var(--status-manipulated)}.result-card.uncertain{border-left:6px solid var(--status-uncertain)}.result-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--border-color)}.result-status-badge{display:inline-flex;align-items:center;gap:.6rem;padding:.5rem 1.1rem;border-radius:9999px;font-size:1.05rem;font-weight:700;letter-spacing:-.01em}.badge-authentic{background:var(--status-authentic-bg);color:var(--status-authentic);border:1px solid var(--status-authentic-border)}.badge-manipulated{background:var(--status-manipulated-bg);color:var(--status-manipulated);border:1px solid var(--status-manipulated-border)}.badge-uncertain{background:var(--status-uncertain-bg);color:var(--status-uncertain);border:1px solid var(--status-uncertain-border)}.result-metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1.5rem}.metric-item{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:1rem}.metric-label{font-size:.75rem;text-transform:uppercase;color:var(--text-muted);font-weight:600;margin-bottom:.35rem}.metric-value{font-size:1.25rem;font-weight:700;color:var(--text-primary)}.result-explanation-box{background:#111827b3;border:1px solid var(--border-color);border-radius:var(--radius-md);padding:1.25rem;margin-bottom:1.5rem}.result-explanation-box h4{font-size:.9rem;font-weight:600;margin-bottom:.4rem;color:#cbd5e1}.result-explanation-box p{color:var(--text-secondary);font-size:.95rem;line-height:1.6}.disclaimer-banner{display:flex;align-items:flex-start;gap:.75rem;background:#1e293b99;border:1px solid rgba(148,163,184,.2);border-radius:var(--radius-md);padding:.875rem 1rem;font-size:.825rem;color:#94a3b8;line-height:1.5}.demo-warning-banner{display:flex;align-items:center;gap:.75rem;background:#eab30826;border:1px solid rgba(234,179,8,.35);border-radius:var(--radius-md);padding:.875rem 1rem;margin-bottom:1.25rem;color:#fde047;font-size:.85rem;font-weight:600}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.25rem;margin-bottom:2.5rem}.stat-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:1.5rem;box-shadow:var(--shadow-sm);display:flex;align-items:center;gap:1.25rem}.stat-icon{width:48px;height:48px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;background:var(--bg-card)}.stat-val{font-size:1.75rem;font-weight:800;line-height:1}.stat-title{font-size:.85rem;color:var(--text-secondary);margin-top:.25rem}.history-table-wrapper{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow:hidden}.history-table{width:100%;border-collapse:collapse;text-align:left}.history-table th{background:var(--bg-card);color:var(--text-secondary);font-weight:600;font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;padding:1rem 1.25rem;border-bottom:1px solid var(--border-color)}.history-table td{padding:1rem 1.25rem;border-bottom:1px solid var(--border-color);font-size:.9rem;vertical-align:middle}.history-table tr:hover td{background:#ffffff05}.history-table tr:last-child td{border-bottom:none}.empty-state{text-align:center;padding:3.5rem 1.5rem;color:var(--text-muted)}.empty-state-icon{width:48px;height:48px;margin:0 auto 1rem;opacity:.4}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:100;padding:1rem}.modal-content{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-xl);width:100%;max-width:440px;padding:2rem;box-shadow:var(--shadow-lg);position:relative}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.modal-title{font-size:1.25rem;font-weight:700}.modal-close-btn{background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:.25rem}.modal-close-btn:hover{color:var(--text-primary)}.form-group{margin-bottom:1.25rem}.form-label{display:block;font-size:.85rem;font-weight:600;margin-bottom:.5rem;color:var(--text-secondary)}.form-input{width:100%;padding:.75rem 1rem;background:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);font-family:inherit;font-size:.95rem;outline:none;transition:border-color .2s ease}.form-input:focus{border-color:var(--border-focus)}.form-error{background:#f43f5e1a;border:1px solid rgba(244,63,94,.3);color:#fb7185;padding:.65rem .85rem;border-radius:var(--radius-sm);font-size:.85rem;margin-bottom:1rem}.app-footer{background:var(--bg-secondary);border-top:1px solid var(--border-color);padding:2rem 1.5rem;margin-top:auto;font-size:.875rem;color:var(--text-muted)}.footer-inner{max-width:1200px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:.75rem;text-align:center}@media (min-width: 640px){.footer-inner{flex-direction:row;justify-content:space-between}}
