:root{--bg:#f7f8fb;--card:#fff;--primary:#0b6ff6;--muted:#6b7280;--accent:#10b981;--danger:#ef4444;--max-width:1000px}*{box-sizing:border-box}html,body,#root{height:100%;margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial}body{color:#111;background:linear-gradient(#f7f8fb,#fff);justify-content:center;padding:24px;display:flex}.app{width:100%;max-width:var(--max-width)}.header{text-align:center;margin-bottom:18px}.header h1{margin:0;font-size:1.6rem}.tagline{color:var(--muted);margin:6px 0 0}.main{background:var(--card);border-radius:12px;padding:20px;box-shadow:0 6px 20px #0c12260f}.uploader{margin-bottom:18px}.uploader h2{margin:0 0 8px;font-size:1.1rem}.dropzone{text-align:center;background:linear-gradient(#0b6ff605,#0000);border:2px dashed #e6edf8;border-radius:8px;padding:20px}.dropzone p{color:var(--muted);margin:0 0 10px}.dropzone.dragover{border-color:var(--primary);transform:translateY(-2px);box-shadow:0 6px 18px #0b6ff60f}.btn-secondary,.btn-primary,.btn-ghost{cursor:pointer;border:none;border-radius:8px;padding:10px 14px}.btn-secondary{color:var(--primary);background:#ecf4ff}.btn-primary{background:var(--primary);color:#fff}.btn-ghost{color:var(--muted);background:0 0}.file-info{align-items:center;gap:12px;margin-top:12px;display:flex}.file-info .muted{color:var(--muted)}.uploader-actions{gap:8px;margin-top:12px;display:flex}.progress-bar{background:#eef2ff;border-radius:999px;height:10px;margin-top:12px;overflow:hidden}.progress-inner{background:linear-gradient(90deg,var(--primary), #7cc1ff);width:0;height:100%;transition:width .2s}.error{color:var(--danger);margin:12px 0}.progress-box{color:var(--muted);margin:12px 0}.results{margin-top:18px}.score-card{background:linear-gradient(90deg,#fff,#fbfdff);border-radius:10px;align-items:center;gap:12px;margin-bottom:12px;padding:12px;display:flex}.score-number{color:var(--primary);font-size:2rem;font-weight:700}.score-text{color:var(--muted)}.results-grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.card{background:var(--card);border-radius:10px;padding:12px;box-shadow:0 1px #0c122608}.card.full{grid-column:1/-1}.card h3{margin:0 0 8px}.keywords{flex-wrap:wrap;gap:8px;display:flex}.keyword{color:var(--accent);background:#f0f9f4;border-radius:8px;padding:6px 8px;font-size:.9rem}.preview{white-space:pre-wrap;color:#111;background:#f9fafb;border-radius:8px;max-height:200px;padding:10px;overflow:auto}.footer{text-align:center;color:var(--muted);margin-top:12px;font-size:.9rem}@media (width<=800px){.results-grid{grid-template-columns:1fr}body{padding:16px}}
