:root{--bg:#0a0b14;--surface:#12131f;--surface2:#1a1b2e;--border:#2a2b3d;--accent:#6c63ff;--accent-h:#8b85ff;--accent-dim:#6c63ff22;--success:#22c98a;--success-bg:#22c98a18;--danger:#ff6b6b;--danger-bg:#ff6b6b18;--warning:#ffb800;--text:#f0f0ff;--text2:#8b8fa8;--text3:#767aa0;--radius:12px;--radius-lg:20px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--bg);color:var(--text);line-height:1.6;min-height:100vh;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}h1,h2,h3{font-family:Space Grotesk,-apple-system,sans-serif;letter-spacing:-.02em}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.75rem 1.5rem;font-size:.9rem;font-weight:600;border-radius:var(--radius);border:none;cursor:pointer;font-family:inherit;transition:all .15s;text-decoration:none}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-h);transform:translateY(-1px)}.btn-primary:disabled{background:var(--text3);cursor:not-allowed;transform:none}.btn-ghost{background:transparent;color:var(--text2);border:1px solid var(--border)}.btn-ghost:hover{border-color:var(--accent);color:var(--text)}.btn-danger{background:var(--danger-bg);color:var(--danger);border:1px solid #ff6b6b44}.btn-danger:hover{background:#ff6b6b30}.btn-sm{padding:.5rem 1rem;font-size:.8rem}.btn-full{width:100%}.icon-btn{background:none;border:1px solid transparent;border-radius:6px;cursor:pointer;padding:4px 6px;color:var(--text2);transition:all .15s;line-height:1}.icon-btn:hover{color:var(--text);background:var(--surface2);border-color:var(--border)}.icon-btn:disabled{opacity:.5;cursor:not-allowed}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.5rem}.card-accent{border-color:#6c63ff44}.field{margin-bottom:1rem}.field label{display:block;font-size:.7rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text2);margin-bottom:6px}.field input,.field select,.field textarea{width:100%;padding:10px 14px;font-size:.875rem;font-family:inherit;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);transition:border-color .15s,box-shadow .15s}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #6c63ff22}.field input::placeholder,.field textarea::placeholder{color:var(--text3)}.field textarea{resize:vertical;line-height:1.6}.field-error{font-size:.75rem;color:var(--danger);margin-top:4px}.tag{display:inline-flex;align-items:center;font-size:.65rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:3px 8px;border-radius:20px}.tag-purple{background:var(--accent-dim);color:var(--accent-h);border:1px solid #6c63ff44}.tag-green{background:var(--success-bg);color:var(--success);border:1px solid #22c98a44}.tag-red{background:var(--danger-bg);color:var(--danger);border:1px solid #ff6b6b44}.tag-amber{background:#ffb80018;color:var(--warning);border:1px solid #ffb80044}.gauge-track{width:100%;background:var(--surface2)}.gauge-fill,.gauge-track{height:6px;border-radius:3px}.gauge-fill{transition:width 1.2s cubic-bezier(.34,1.56,.64,1)}.gauge-fill-pass{background:linear-gradient(90deg,var(--accent),var(--success))}.gauge-fill-fail{background:linear-gradient(90deg,var(--danger),#ff9b6b)}.nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:1rem 2rem;background:rgba(10,11,20,.9);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border)}.nav-logo{font-family:Space Grotesk,sans-serif;font-size:1.4rem;font-weight:700;color:var(--text);letter-spacing:-.02em}.nav-logo span{color:var(--accent)}.app-layout{display:flex;min-height:100vh;padding-top:65px}.sidebar{width:200px;flex-shrink:0;background:var(--surface);border-right:1px solid var(--border);padding:1.5rem 0;position:fixed;top:65px;left:0;bottom:0;overflow-y:auto}.sidebar-item{display:flex;align-items:center;gap:10px;padding:.6rem 1.25rem;font-size:.875rem;color:var(--text2);cursor:pointer;transition:all .15s;border:none;background:none;width:100%;text-align:left;font-family:inherit;text-decoration:none}.sidebar-item:hover{color:var(--text);background:var(--surface2)}.sidebar-item.active{color:var(--accent);background:var(--accent-dim)}.sidebar-divider{height:1px;background:var(--border);margin:.75rem 1.25rem}.main-content{flex:1 1;margin-left:200px;padding:2rem;max-width:900px}.spinner{width:32px;height:32px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite;margin:0 auto}@keyframes spin{to{transform:rotate(1turn)}}.notification{display:flex;align-items:center;gap:10px;padding:.75rem 1rem;border-radius:var(--radius);font-size:.875rem;margin-bottom:1rem}.notification-success{background:var(--success-bg);color:var(--success);border:1px solid #22c98a44}.notification-error{background:var(--danger-bg);color:var(--danger);border:1px solid #ff6b6b44}.notification-warning{background:#ffb80018;color:var(--warning);border:1px solid #ffb80044}.divider{height:1px;background:var(--border);margin:1.5rem 0}.score-big{font-family:Space Grotesk,sans-serif;font-size:3rem;font-weight:700;line-height:1}.score-pass{color:var(--success)}.score-fail{color:var(--danger)}@media (max-width:768px){.sidebar{width:100%;position:relative;top:0;height:auto}.main-content{margin-left:0;padding:1rem}.app-layout{flex-direction:column}.nav{padding:.875rem 1.25rem}}.main-content-wide{max-width:none}.master-detail{display:flex;gap:1.5rem;align-items:flex-start}.master-list-panel{flex:1 1 38%;min-width:0}.master-detail-panel{flex:1 1 62%;min-width:0;position:-webkit-sticky;position:sticky;top:calc(65px + 1.5rem);max-height:calc(100vh - 65px - 3rem);overflow-y:auto}.job-card{display:flex;align-items:center;gap:10px;padding:.7rem .875rem;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);margin-bottom:.5rem;cursor:pointer;transition:border-color .15s,background .15s}.job-card:hover{border-color:#6c63ff66}.job-card-selected{border-color:var(--accent);background:var(--accent-dim)}.job-card-title{font-size:.85rem;font-weight:600}.job-card-company,.job-card-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.job-card-company{font-size:.75rem;color:var(--text2)}.job-card-meta{font-size:.7rem;color:var(--text3);margin-top:2px}.avatar-circle{flex-shrink:0;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700;font-family:Space Grotesk,sans-serif}.avatar-circle-lg{width:44px;height:44px;font-size:1.1rem}.job-nav{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:.6rem;gap:.6rem;margin-bottom:1.25rem}.job-nav-item{display:block;width:100%;text-align:left;padding:.85rem 1rem;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface2);cursor:pointer;font-family:inherit;transition:border-color .15s,background .15s}.job-nav-item:hover{border-color:#6c63ff88}.job-nav-item.active{border-color:var(--accent);background:#6c63ff11}.job-nav-item:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.job-nav-top{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:6px}.job-nav-icon{font-size:1.25rem;line-height:1}.job-nav-label{font-size:.9rem;font-weight:700;margin-bottom:2px;color:var(--accent-h)}.job-nav-desc{font-size:.75rem;color:var(--text2);line-height:1.4}@media (max-width:640px){.job-nav{grid-template-columns:1fr}}.finding-item{display:flex;gap:10px;align-items:flex-start;padding:8px 0;border-bottom:1px solid var(--border)}.finding-item:last-child{border-bottom:none}.finding-icon{flex-shrink:0;width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.65rem;font-weight:700;margin-top:1px}.finding-icon-good{background:var(--success-bg);color:var(--success)}.finding-icon-talk{background:var(--accent-dim);color:var(--accent-h)}.finding-icon-gap{background:var(--danger-bg);color:var(--danger)}@keyframes detailFadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.detail-fade-in{animation:detailFadeIn .2s ease-out}.download-badge{width:20px;height:20px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:var(--accent);border:none;padding:0;color:#fff;cursor:pointer;transition:background .15s,transform .15s}.download-badge:hover{background:var(--accent-h);transform:scale(1.08)}.download-badge:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-text-action{background:none;border:none;cursor:pointer;font-family:inherit;font-size:.8rem;font-weight:700;color:var(--accent-h);padding:6px 10px;border-radius:6px;transition:background .15s,color .15s}.btn-text-action:hover{background:var(--accent-dim);color:var(--text)}.btn-text-action:disabled{opacity:.5;cursor:not-allowed}@keyframes checkmarkPop{0%{transform:scale(.4);opacity:0}55%{transform:scale(1.3);opacity:1;box-shadow:0 0 10px 3px #22c98aaa}to{transform:scale(1);opacity:1;box-shadow:0 0 0 0 transparent}}.checkmark-pop{animation:checkmarkPop .55s ease-out}@keyframes phraseFade{0%{opacity:0}to{opacity:1}}.loading-phrase{animation:phraseFade .3s ease-in}@media (max-width:1000px){.master-detail{flex-direction:column}.master-detail-panel{position:static;max-height:none;width:100%}}