:root{--font-sans:'Inter',-apple-system,sans-serif;--font-mono:'JetBrains Mono',monospace;--radius:12px;--transition:0.25s ease}
[data-theme="dark"]{--bg:#0F172A;--bg2:#1E293B;--bg-card:rgba(30,41,59,0.85);--bg-input:rgba(51,65,85,0.5);--border:rgba(148,163,184,0.1);--text:#F1F5F9;--text2:#94A3B8;--text3:#64748B;--primary:#3B82F6;--secondary:#F97316;--accent:#10B981;--red:#F87171;--green:#34D399;--gradient:linear-gradient(135deg,#3B82F6,#6366F1)}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-sans);background:var(--bg);color:var(--text);min-height:100vh}
.app{max-width:800px;margin:0 auto}.header{padding:16px 24px;border-bottom:1px solid var(--border)}
.logo{display:flex;align-items:center;gap:10px}.logo h1{font-size:1rem;font-weight:700;background:var(--gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.btn{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-sans);font-size:.82rem;font-weight:500;padding:8px 16px;border-radius:8px;border:none;cursor:pointer;transition:all var(--transition)}
.btn-primary{background:var(--gradient);color:#fff}.btn-primary:hover{transform:translateY(-1px)}
.main{padding:24px;display:flex;flex-direction:column;gap:20px}
.label{font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text2);margin-bottom:8px;display:block}
textarea{width:100%;padding:12px;background:var(--bg-input);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);font-family:var(--font-sans);font-size:.85rem;resize:vertical;outline:none;line-height:1.5}textarea:focus{border-color:var(--primary)}
.score-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:20px;display:flex;align-items:center;gap:16px;margin-bottom:14px}
.score-letter{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.6rem;font-weight:800;color:#fff;flex-shrink:0}
.grade-a{background:#10B981}.grade-b{background:#3B82F6}.grade-c{background:#F97316}.grade-d{background:#EF4444}.grade-f{background:#DC2626}
.score-card h2{font-size:.9rem;font-weight:600;margin-bottom:4px}.score-card p{font-size:.82rem;color:var(--text2)}
.findings{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;margin-bottom:14px}
.finding{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:14px;animation:fadeIn .3s ease}
.finding h3{font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px;display:flex;align-items:center;gap:6px}
.finding p{font-size:.8rem;color:var(--text2);line-height:1.4}
.dot{width:8px;height:8px;border-radius:50%;display:inline-block}.dot-red{background:var(--red)}.dot-green{background:var(--green)}.dot-orange{background:var(--secondary)}
.summary-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:16px}
.summary-card h3{font-size:.85rem;font-weight:600;margin-bottom:8px}.summary-card p{font-size:.82rem;color:var(--text2);line-height:1.5}
@keyframes fadeIn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:640px){.findings{grid-template-columns:1fr}.main{padding:16px}}
