@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=JetBrains+Mono:wght@400;500&display=swap";*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;min-height:100vh;-webkit-font-smoothing:antialiased}:root{--bg-base: #f0f2f5;--bg-card: #ffffff;--bg-elevated: #f7f8fa;--bg-input: #f0f2f5;--bg-header: rgba(255,255,255,.82);--text-primary: #0f172a;--text-secondary: #475569;--text-muted: #94a3b8;--accent: #6366f1;--accent-hover: #4f46e5;--accent-glow: rgba(99,102,241,.18);--accent-subtle: #eef2ff;--green: #10b981;--green-subtle: #d1fae5;--amber: #f59e0b;--amber-subtle: #fef3c7;--red: #ef4444;--red-subtle: #fee2e2;--border: #e2e8f0;--border-hover: #cbd5e1;--divider: #f1f5f9;--shadow-sm: 0 1px 3px rgba(0,0,0,.06);--shadow-md: 0 4px 12px rgba(0,0,0,.06);--shadow-lg: 0 8px 30px rgba(0,0,0,.08);--shadow-glow: 0 0 20px var(--accent-glow);--radius-xl: 20px;--radius-lg: 14px;--radius-md: 10px;--radius-sm: 6px;--radius-pill: 100px;--header-blur: blur(16px);--transition: .2s cubic-bezier(.4,0,.2,1)}[data-theme=dark]{--bg-base: #0c0e14;--bg-card: #151822;--bg-elevated: #1c2030;--bg-input: #1c2030;--bg-header: rgba(12,14,20,.82);--text-primary: #e8eaf0;--text-secondary: #8b95a8;--text-muted: #515c6f;--accent: #818cf8;--accent-hover: #6366f1;--accent-glow: rgba(129,140,248,.15);--accent-subtle: rgba(129,140,248,.1);--green: #34d399;--green-subtle: rgba(52,211,153,.12);--amber: #fbbf24;--amber-subtle: rgba(251,191,36,.12);--red: #f87171;--red-subtle: rgba(248,113,113,.12);--border: #1e2435;--border-hover: #2a3148;--divider: #1a1f2e;--shadow-sm: 0 1px 3px rgba(0,0,0,.25);--shadow-md: 0 4px 12px rgba(0,0,0,.3);--shadow-lg: 0 8px 30px rgba(0,0,0,.4);--shadow-glow: 0 0 30px var(--accent-glow)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--bg-base);color:var(--text-primary);line-height:1.6;min-height:100vh;-webkit-font-smoothing:antialiased;transition:background var(--transition),color var(--transition)}.app{min-height:100vh;display:flex;flex-direction:column}.header{position:sticky;top:0;z-index:100;background:var(--bg-header);backdrop-filter:var(--header-blur);-webkit-backdrop-filter:var(--header-blur);border-bottom:1px solid var(--border);padding:.85rem 2rem;transition:background var(--transition)}.header-content{max-width:1280px;margin:0 auto;display:flex;justify-content:space-between;align-items:center}.logo{display:flex;align-items:center;gap:.75rem}.logo-icon{width:32px;height:32px;color:var(--accent);filter:drop-shadow(0 0 6px var(--accent-glow))}.logo h1{font-size:1.25rem;font-weight:700;letter-spacing:-.03em;background:linear-gradient(135deg,var(--accent),var(--green));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.tagline{font-size:.75rem;color:var(--text-muted);font-weight:400;letter-spacing:.01em}.header-actions{display:flex;align-items:center;gap:.75rem}.theme-toggle{width:38px;height:38px;display:flex;align-items:center;justify-content:center;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;color:var(--text-secondary);transition:all var(--transition)}.theme-toggle:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-subtle)}.status-badge{display:flex;align-items:center;gap:.4rem;padding:.4rem .85rem;border-radius:var(--radius-pill);font-size:.75rem;font-weight:600;letter-spacing:.01em}.status-badge.connected{background:var(--green-subtle);color:var(--green)}.status-badge.disconnected{background:var(--red-subtle);color:var(--red)}.btn-secondary{display:flex;align-items:center;gap:.5rem;background:var(--bg-elevated);border:1px solid var(--border);color:var(--text-secondary);padding:.5rem 1rem;border-radius:var(--radius-md);cursor:pointer;font-weight:500;font-size:.82rem;transition:all var(--transition)}.btn-secondary:hover,.btn-secondary.active{background:var(--accent-subtle);color:var(--accent);border-color:var(--accent)}.btn-primary{width:100%;padding:.95rem 2rem;background:linear-gradient(135deg,var(--accent),var(--accent-hover));border:none;border-radius:var(--radius-lg);color:#fff;font-size:1rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.6rem;transition:all var(--transition);box-shadow:0 4px 18px var(--accent-glow)}.btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow-glow)}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-primary:disabled{opacity:.45;cursor:not-allowed}.btn-icon{width:34px;height:34px;display:flex;align-items:center;justify-content:center;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;color:var(--text-secondary);transition:all var(--transition)}.btn-icon:hover{background:var(--accent);color:#fff;border-color:var(--accent)}.btn-danger-sm{background:transparent;border:1px solid var(--red);color:var(--red);padding:.35rem .75rem;border-radius:var(--radius-sm);cursor:pointer;font-size:.78rem;font-weight:500;transition:all var(--transition)}.btn-danger-sm:hover:not(:disabled){background:var(--red);color:#fff}.btn-danger-sm:disabled{opacity:.35;cursor:not-allowed}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.how-it-works{background:var(--bg-elevated);border-bottom:1px solid var(--border);overflow:hidden}.info-container{max-width:1280px;margin:0 auto;padding:1.75rem 2rem;display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}.info-card{background:var(--bg-card);padding:1.5rem;border-radius:var(--radius-lg);border:1px solid var(--border);text-align:center;transition:all var(--transition)}.info-card:hover{border-color:var(--accent);box-shadow:var(--shadow-glow);transform:translateY(-2px)}.info-icon{font-size:1.75rem;margin-bottom:.6rem}.info-card h3{font-size:.95rem;font-weight:600;margin-bottom:.4rem}.info-card p{font-size:.82rem;color:var(--text-secondary);line-height:1.6}.main{flex:1;max-width:1280px;width:100%;margin:0 auto;padding:2rem}.section{margin-bottom:2.5rem}.section-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1.15rem}.step-number{width:30px;height:30px;background:linear-gradient(135deg,var(--accent),var(--accent-hover));color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.82rem;box-shadow:0 2px 8px var(--accent-glow)}.section-header h2{font-size:1.1rem;font-weight:650;letter-spacing:-.01em}.results-count{margin-left:auto;background:var(--accent-subtle);color:var(--accent);padding:.35rem .85rem;border-radius:var(--radius-pill);font-size:.78rem;font-weight:600}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.5rem;box-shadow:var(--shadow-sm);transition:all var(--transition)}.card:hover{border-color:var(--border-hover);box-shadow:var(--shadow-md)}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.card-header h3{display:flex;align-items:center;gap:.5rem;font-size:.92rem;font-weight:600}.card-actions{display:flex;gap:.5rem}.input-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;margin-bottom:1.25rem}.textarea{width:100%;min-height:180px;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-md);padding:1rem;color:var(--text-primary);font-family:inherit;font-size:.88rem;resize:vertical;transition:all var(--transition);line-height:1.7}.textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.textarea::placeholder{color:var(--text-muted)}.skills-preview{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--divider)}.skills-label{font-size:.78rem;color:var(--text-muted);margin-bottom:.5rem;display:block}.skill-pills{display:flex;flex-wrap:wrap;gap:.35rem}.skill-pill{background:var(--accent);color:#fff;padding:.25rem .65rem;border-radius:var(--radius-pill);font-size:.72rem;font-weight:500}.dropzone{border:2px dashed var(--border);border-radius:var(--radius-lg);padding:2rem;text-align:center;cursor:pointer;transition:all var(--transition)}.dropzone:hover{border-color:var(--accent);background:var(--accent-subtle)}.drop-icon{width:40px;height:40px;color:var(--text-muted);margin-bottom:.65rem}.dropzone:hover .drop-icon{color:var(--accent)}.drop-text{font-weight:500;color:var(--text-secondary);margin-bottom:.2rem;font-size:.9rem}.drop-hint{font-size:.78rem;color:var(--text-muted)}.file-list{margin-top:1rem;display:flex;flex-direction:column;gap:.4rem}.file-item-wrapper{display:flex;flex-direction:column}.file-item{display:flex;align-items:center;gap:.75rem;padding:.7rem 1rem;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);transition:all var(--transition)}.file-item:hover{border-color:var(--border-hover)}.file-item.error{border-color:var(--red);background:var(--red-subtle)}.file-icon{color:var(--accent);flex-shrink:0}.file-name{flex:1;font-weight:500;font-size:.88rem}.file-chars{color:var(--text-muted);font-size:.72rem;font-family:JetBrains Mono,monospace;background:var(--bg-card);padding:.15rem .45rem;border-radius:var(--radius-sm)}.file-preview-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:.2rem;display:flex;transition:color var(--transition)}.file-preview-btn:hover{color:var(--accent)}.file-remove{background:none;border:none;color:var(--text-muted);font-size:1.2rem;cursor:pointer;line-height:1;transition:color var(--transition)}.file-remove:hover{color:var(--red)}.extracted-text-preview{background:var(--bg-elevated);border:1px solid var(--border);border-top:none;border-radius:0 0 var(--radius-md) var(--radius-md);overflow:hidden}.extracted-text-header{display:flex;justify-content:space-between;align-items:center;padding:.65rem 1rem;background:var(--bg-card);border-bottom:1px solid var(--divider);font-size:.82rem;font-weight:500;color:var(--text-secondary)}.extracted-skills-badge{background:var(--green-subtle);color:var(--green);padding:.2rem .55rem;border-radius:var(--radius-pill);font-size:.72rem}.extracted-text-content{padding:1rem;max-height:220px;overflow-y:auto;font-family:JetBrains Mono,monospace;font-size:.78rem;line-height:1.7;color:var(--text-secondary);white-space:pre-wrap;word-break:break-word;background:var(--bg-card);margin:0}.extracted-skills-list{padding:.65rem 1rem;border-top:1px solid var(--divider);display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;font-size:.78rem;color:var(--text-muted)}.skill-pill.small{padding:.15rem .45rem;font-size:.68rem}.pipeline-container{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm)}.pipeline-header{padding:1rem 1.25rem;cursor:pointer}.pipeline-summary{display:flex;justify-content:space-between;align-items:center;margin-bottom:.65rem}.pipeline-title{display:flex;align-items:center;gap:.5rem;font-weight:500;font-size:.9rem}.spin-icon{color:var(--accent);animation:spin 1s linear infinite}.check-icon{color:var(--green)}.toggle-btn{background:none;border:none;color:var(--text-muted);cursor:pointer}.progress-track{height:5px;background:var(--bg-elevated);border-radius:3px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,var(--accent),var(--green));border-radius:3px}.pipeline-steps{border-top:1px solid var(--border);padding:1rem 1.25rem;display:flex;flex-direction:column;gap:.6rem;overflow:hidden}.pipeline-step{display:flex;align-items:center;gap:1rem;padding:.7rem 1rem;background:var(--bg-elevated);border-radius:var(--radius-md);position:relative;border:1px solid transparent;transition:all var(--transition)}.pipeline-step.complete{background:var(--green-subtle)}.pipeline-step.active{background:var(--accent-subtle);border-color:var(--accent)}.step-icon-wrapper{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--bg-card);border-radius:50%;color:var(--text-muted)}.step-icon-wrapper.complete{background:var(--green);color:#fff}.step-icon-wrapper.active{background:var(--accent);color:#fff}.step-content{flex:1}.step-label{display:block;font-weight:500;font-size:.88rem}.step-detail{display:block;font-size:.78rem;color:var(--text-secondary)}.step-pulse{position:absolute;right:1rem;width:8px;height:8px;background:var(--accent);border-radius:50%}.match-dashboard{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.5rem;box-shadow:var(--shadow-md);transition:all var(--transition)}.match-dashboard:hover{border-color:var(--border-hover);box-shadow:var(--shadow-lg)}.dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.25rem}.candidate-info{display:flex;align-items:center;gap:.75rem}.candidate-info h3{font-size:1.1rem;font-weight:650}.rank-badge{background:linear-gradient(135deg,var(--accent),var(--accent-hover));color:#fff;padding:.2rem .6rem;border-radius:var(--radius-sm);font-size:.72rem;font-weight:700}.score-trend svg{width:22px;height:22px}.trend-up{color:var(--green)}.trend-neutral{color:var(--amber)}.trend-down{color:var(--red)}.dashboard-main{display:flex;align-items:center;gap:2rem;margin-bottom:1.25rem}.gauge-container{position:relative;flex-shrink:0}.gauge-svg{transform:rotate(-90deg)}.gauge-value{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center}.gauge-number{font-size:2rem;font-weight:800;letter-spacing:-.03em}.gauge-percent{font-size:.95rem;font-weight:500}.gauge-label{position:absolute;bottom:-10px;left:50%;transform:translate(-50%);padding:.2rem .7rem;border-radius:var(--radius-pill);font-size:.68rem;font-weight:600;white-space:nowrap}.score-details{flex:1}.score-row{display:flex;align-items:center;gap:.85rem;margin-bottom:.7rem}.score-row .score-label{width:100px;font-size:.82rem;color:var(--text-secondary)}.mini-bar{flex:1;height:7px;background:var(--bg-elevated);border-radius:4px;overflow:hidden}.mini-fill{height:100%;border-radius:4px}.mini-fill.bert{background:linear-gradient(90deg,var(--accent),#a78bfa)}.mini-fill.skills{background:linear-gradient(90deg,var(--green),#6ee7b7)}.score-row .score-value{width:45px;text-align:right;font-weight:700;font-size:.88rem;font-family:JetBrains Mono,monospace}.breakdown-toggle{display:flex;align-items:center;gap:.5rem;background:var(--bg-elevated);border:1px solid var(--border);padding:.55rem 1rem;border-radius:var(--radius-md);cursor:pointer;font-size:.82rem;color:var(--text-secondary);margin-bottom:.85rem;width:100%;transition:all var(--transition)}.breakdown-toggle:hover{border-color:var(--accent);color:var(--accent)}.formula-box{background:var(--bg-elevated);border-radius:var(--radius-md);padding:1rem;margin-bottom:.85rem;font-family:JetBrains Mono,monospace;font-size:.82rem;overflow:hidden;border:1px solid var(--border)}.formula-box code{display:block;color:var(--accent);margin-bottom:.45rem;font-weight:600}.formula-box p{color:var(--text-secondary);margin-left:1rem;margin-bottom:.2rem}.formula-box .result{color:var(--green);margin-top:.45rem}.skills-heatmap{display:grid;grid-template-columns:1fr 1fr;gap:.85rem;margin-bottom:.85rem}.skills-section{background:var(--bg-elevated);border-radius:var(--radius-md);padding:1rem;border:1px solid var(--border)}.skills-section h4{font-size:.82rem;font-weight:600;margin-bottom:.65rem}.skills-grid{display:flex;flex-wrap:wrap;gap:.35rem}.skill-chip{padding:.25rem .65rem;border-radius:var(--radius-pill);font-size:.72rem;font-weight:500;cursor:default;transition:all var(--transition)}.skill-chip.matched{background:var(--green-subtle);color:var(--green)}.skill-chip.missing{background:var(--red-subtle);color:var(--red);cursor:pointer}.skill-chip.missing:hover{background:var(--red);color:#fff}.no-skills{font-size:.78rem;color:var(--text-muted);font-style:italic}.skill-tooltip{position:fixed;bottom:2rem;left:50%;transform:translate(-50%);background:var(--bg-card);color:var(--text-primary);border:1px solid var(--border);padding:.85rem 1.25rem;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:1000;max-width:300px}.skill-tooltip strong{display:block;margin-bottom:.2rem}.skill-tooltip em{color:var(--amber)}.ai-explanation{background:var(--accent-subtle);border-radius:var(--radius-md);padding:1rem;border-left:3px solid var(--accent)}.ai-explanation h4{color:var(--accent);font-size:.88rem;margin-bottom:.4rem}.ai-explanation p{color:var(--text-secondary);font-size:.82rem;line-height:1.7}.results-grid{display:grid;gap:1.25rem}.footer{background:var(--bg-card);border-top:1px solid var(--border);padding:1.25rem;text-align:center;color:var(--text-muted);font-size:.8rem;transition:all var(--transition)}@media(max-width:900px){.header-content{flex-direction:column;gap:.85rem}.header{padding:.85rem 1rem}.info-container{grid-template-columns:1fr;padding:1.25rem 1rem}.input-grid,.skills-heatmap{grid-template-columns:1fr}.dashboard-main{flex-direction:column;text-align:center}.main{padding:1rem}}
