:root{--bg: #0e1116;--panel: #161b22;--border: #2a323d;--text: #e6edf3;--muted: #93a1b1;--accent: #d94b1f;--accent-hover: #f05a2a;--ok: #3fb950;--warn: #e3b341;--err: #f85149;--radius: 10px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Segoe UI,system-ui,-apple-system,Roboto,sans-serif;font-size:15px;line-height:1.55}.page{max-width:860px;margin:0 auto;padding:32px 20px 64px}header{margin-bottom:28px}.brand{font-size:12px;letter-spacing:.28em;color:var(--accent);font-weight:700;margin-bottom:10px}h1{font-size:24px;margin:0 0 8px;line-height:1.25}h2{font-size:18px;margin:0 0 4px}.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:24px;margin-bottom:20px}.card.resume{border-color:var(--accent)}.muted{color:var(--muted)}.small{font-size:13px}.req{color:var(--accent)}.hint{display:block;font-size:12px;color:var(--muted);font-weight:400;margin-top:4px}.err{display:block;color:var(--err);font-size:13px;font-weight:400;margin-top:4px}.warn{color:var(--warn)}.ok{color:var(--ok);font-weight:600}.notice{background:#e3b34114;border-left:3px solid var(--warn);padding:10px 14px;border-radius:0 6px 6px 0;font-size:14px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin:20px 0 16px}label{display:block;font-size:14px;font-weight:600}label.full{margin-bottom:20px}input,select,textarea{width:100%;margin-top:6px;padding:10px 12px;background:#0d1117;border:1px solid var(--border);border-radius:6px;color:var(--text);font:inherit;font-weight:400}textarea{resize:vertical}input:focus,select:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:-1px;border-color:transparent}button{padding:10px 20px;border-radius:6px;border:1px solid var(--border);background:#21262d;color:var(--text);font:inherit;font-weight:600;cursor:pointer}button:hover:not(:disabled){border-color:var(--muted)}button.primary{background:var(--accent);border-color:var(--accent);color:#fff}button.primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}button:disabled{opacity:.45;cursor:not-allowed}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}.dropzone{border:2px dashed var(--border);border-radius:var(--radius);padding:44px 20px;text-align:center;cursor:pointer;margin:20px 0;transition:border-color .15s,background .15s}.dropzone:hover,.dropzone.over{border-color:var(--accent);background:#d94b1f0f}.dz-title{font-size:16px;font-weight:600;margin:0 0 4px}.summary{display:flex;flex-wrap:wrap;gap:28px;margin:18px 0}.summary .warn{flex-basis:100%;margin:0;font-size:14px}.mismatch{flex-basis:100%;background:#e3b34114;border-left:3px solid var(--warn);padding:12px 14px;border-radius:0 6px 6px 0}.mismatch p{margin:0 0 10px;font-size:14px}.mismatch p:last-child{margin-bottom:0}.mismatch button{padding:7px 14px;font-size:13px}.stat{display:flex;flex-direction:column}.stat .big{font-size:20px;font-weight:700;font-variant-numeric:tabular-nums}.stat .muted{font-size:12px;text-transform:uppercase;letter-spacing:.06em}.progress{height:10px;background:#0d1117;border-radius:999px;overflow:hidden;margin:20px 0 4px}.progress .bar{height:100%;background:var(--accent);transition:width .25s ease-out}.failures{margin-top:18px;border-top:1px solid var(--border);padding-top:14px}.failures ul{max-height:260px;overflow-y:auto;padding-left:20px;margin:8px 0;font-size:13px}.failures li{margin-bottom:4px}code{font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:12px}footer{margin-top:40px;padding-top:16px;border-top:1px solid var(--border);font-size:13px}@media(max-width:560px){.card{padding:18px}.grid{grid-template-columns:1fr}}
