body{color:#0f172a;background:linear-gradient(#f1f5f9 0%,#e2e8f0 100%);margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif}#root{min-height:100vh}.app-shell{--primary:#1e3a5f;--primary-soft:#e8eef5;--success:#15803d;--warning:#ea580c;--danger:#dc2626;--text-main:#0f172a;--text-muted:#475569;max-width:1200px;margin:0 auto;padding:24px}.topbar{color:#fff;background:linear-gradient(135deg,#1e3a5f 0%,#274a75 100%);border-radius:16px;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;padding:20px;display:flex;box-shadow:0 10px 28px #1e3a5f40}.topbar h1{letter-spacing:-.02em;margin:0 0 6px;font-size:1.8rem}.topbar p{color:#ffffffe0;margin:0}.topbar code{color:#fff;background:#ffffff29;border-radius:8px;padding:8px 10px}.error-banner{color:var(--danger);background:#fef2f2;border:1px solid #fecaca;border-radius:10px;margin-bottom:16px;padding:10px 12px;animation:.24s ease-out fadeUp}.success-banner{color:var(--success);background:#ecfdf3;border:1px solid #86efac;border-radius:10px;margin-bottom:16px;padding:10px 12px;animation:.24s ease-out fadeUp}.grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.card{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:18px;transition:transform .18s,box-shadow .18s;box-shadow:0 10px 24px #0f172a17}.card:hover{transform:translateY(-2px);box-shadow:0 14px 32px #0f172a1f}.card h2{color:var(--primary);margin-top:0}.card h3,.card h4{color:var(--text-main);margin-bottom:8px}.full-width{grid-column:1/-1}.stack{gap:10px;display:grid}input,textarea,select,button{width:100%;font:inherit;box-sizing:border-box;border:1px solid #d1d5db;border-radius:10px;padding:10px 12px}input:focus,textarea:focus,select:focus{border-color:var(--primary);outline-offset:1px;outline:2px solid #bfdbfe}button{background:var(--primary);color:#fff;cursor:pointer;border:none;justify-content:center;align-items:center;gap:8px;font-weight:600;transition:background .18s,transform .18s;display:inline-flex}button:hover:enabled{background:#274a75;transform:translateY(-1px)}button:disabled{opacity:.6;cursor:not-allowed}.mode-row{gap:8px;margin-bottom:10px;display:flex}.chip{color:var(--primary);background:#edf2f8;border:1px solid #bfdbfe}.chip.active{background:var(--primary);color:#fff}.result{border-top:1px solid #e5e7eb;margin-top:12px;padding-top:12px}.score-row{margin-bottom:10px}.score-header{color:var(--text-main);justify-content:space-between;margin-bottom:5px;display:flex}.bar-track{background:#e2e8f0;border-radius:999px;width:100%;height:11px;overflow:hidden}.bar-fill{border-radius:999px;height:100%;transition:width .48s}.bar-fill.success{background:linear-gradient(90deg,#16a34a,#22c55e)}.bar-fill.warning{background:linear-gradient(90deg,#ea580c,#f97316)}.bar-fill.danger{background:linear-gradient(90deg,#dc2626,#ef4444)}.score-pill{border-radius:999px;margin-left:6px;padding:2px 8px;font-size:.74rem;font-weight:700}.score-pill.success{color:#166534;background:#dcfce7}.score-pill.warning{color:#9a3412;background:#ffedd5}.score-pill.danger{color:#991b1b;background:#fee2e2}.skills-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px;display:grid}.chip-group{flex-wrap:wrap;gap:8px;display:flex}.skill-chip{border-radius:999px;padding:6px 10px;font-size:.8rem;font-weight:600}.skill-chip.matched{color:#14532d;background:#dcfce7}.skill-chip.missing{color:#991b1b;background:#fee2e2}.spinner{border:2px solid #ffffff73;border-top-color:#fff;border-radius:50%;width:16px;height:16px;animation:.8s linear infinite spin}.spinner-inline{display:inline-block}.split-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid #e5e7eb;padding:10px 8px;font-size:14px}.muted{color:var(--text-muted)}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@media (width<=980px){.grid{grid-template-columns:1fr}.topbar{flex-direction:column}.skills-grid{grid-template-columns:1fr}}@media (width<=640px){.app-shell,.card{padding:14px}.mode-row{flex-wrap:wrap}}
