@import "https://fonts.googleapis.com/css2?family=DM+Serif+Display&family=DM+Sans:wght@400;500;600&display=swap";:root{--bg:#0f0f0f;--surface:#1a1a1a;--border:#2a2a2a;--accent:#c8a96e;--accent-dim:#c8a96e26;--text:#f0ede8;--text-muted:#888;--success:#4caf82;--warning:#e0a84a;--danger:#e05a4a}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);min-height:100vh;font-family:DM Sans,sans-serif}nav{border-bottom:1px solid var(--border);align-items:center;padding:20px 40px;display:flex}nav h2{color:var(--accent);letter-spacing:.02em;font-family:DM Serif Display,serif;font-size:1.2rem}.landing{max-width:680px;margin:120px auto;padding:0 40px}.landing h1{color:var(--text);margin-bottom:24px;font-family:DM Serif Display,serif;font-size:3rem;line-height:1.15}.landing p{color:var(--text-muted);margin-bottom:48px;font-size:1.1rem;line-height:1.7}.upload{max-width:560px;margin:80px auto;padding:0 40px}.upload h2{margin-bottom:40px;font-family:DM Serif Display,serif;font-size:2rem}.field{margin-bottom:24px}.field label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:8px;font-size:.8rem;font-weight:600;display:block}.field input[type=text]{background:var(--surface);border:1px solid var(--border);width:100%;color:var(--text);border-radius:6px;outline:none;padding:12px 16px;font-family:DM Sans,sans-serif;font-size:.95rem;transition:border-color .2s}.field input[type=text]:focus{border-color:var(--accent)}.field input[type=file]{background:var(--surface);border:1px dashed var(--border);width:100%;color:var(--text-muted);cursor:pointer;border-radius:6px;padding:16px;font-size:.9rem}.processing{text-align:center;max-width:480px;margin:160px auto;padding:0 40px}.processing h2{margin-bottom:16px;font-family:DM Serif Display,serif;font-size:2rem}.processing p{color:var(--text-muted);font-size:.95rem}.spinner{border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:40px;height:40px;margin:0 auto 32px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.results{max-width:760px;margin:60px auto;padding:0 40px 80px}.results h2{margin-bottom:8px;font-family:DM Serif Display,serif;font-size:2rem}.results-meta{color:var(--text-muted);margin-bottom:40px;font-size:.9rem}.chapter-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;margin-bottom:24px;padding:32px}.chapter-card h3{border-bottom:1px solid var(--border);margin-bottom:24px;padding-bottom:16px;font-family:DM Serif Display,serif;font-size:1.3rem}.score-row{align-items:center;gap:12px;margin-bottom:8px;display:flex}.score-label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);flex-shrink:0;width:160px;font-size:.75rem;font-weight:600}.score-badge{border-radius:20px;padding:3px 10px;font-size:.8rem;font-weight:600}.score-badge.strong,.score-badge.compliant{color:var(--success);background:#4caf8226}.score-badge.needs-work,.score-badge.partially{color:var(--warning);background:#e0a84a26}.score-badge.weak,.score-badge.non-compliant{color:var(--danger);background:#e05a4a26}.feedback-text{color:var(--text-muted);margin:12px 0 20px;font-size:.9rem;line-height:1.7}.summary-box{background:var(--accent-dim);border-left:3px solid var(--accent);color:var(--text);border-radius:0 6px 6px 0;margin-top:20px;padding:16px 20px;font-size:.9rem;line-height:1.7}.btn{cursor:pointer;border:none;border-radius:6px;padding:14px 32px;font-family:DM Sans,sans-serif;font-size:.95rem;font-weight:600;transition:opacity .2s;display:inline-block}.btn:hover{opacity:.85}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-primary{background:var(--accent);color:#0f0f0f}.btn-outline{border:1px solid var(--border);color:var(--text);background:0 0}
