body{background:#f5f3ff;min-height:100vh;margin:0}#root{min-height:100vh}:root{--bg-body:#f5f3ff;--bg-surface:#fff;--brand-purple:#863bff;--brand-purple-light:#a855f7;--brand-cyan:#47bfff;--card-bg:#fff;--card-border:#e9e5f5;--card-shadow:0 1px 3px rgba(134,59,255,.06), 0 8px 24px rgba(134,59,255,.04);--card-shadow-hover:0 1px 3px rgba(134,59,255,.08), 0 12px 32px rgba(134,59,255,.08);--inner-card-bg:#faf8ff;--inner-card-border:#ede9f7;--text-primary:#1e1b2e;--text-secondary:#4a4560;--text-tertiary:#7c7891;--text-muted:#a8a3bd;--input-bg:#fff;--input-border:#ddd8eb;--input-border-focus:var(--brand-purple);--input-focus-ring:rgba(134,59,255,.2);--score-green:#16a34a;--score-amber:#d97706;--score-red:#dc2626;--tag-green-bg:#dcfce7;--tag-green-text:#166534;--tag-amber-bg:#fef3c7;--tag-amber-text:#92400e;--tag-red-bg:#fee2e2;--tag-red-text:#991b1b;--tag-gray-bg:#f3f0fa;--tag-gray-text:#4a4560;--tag-blue-bg:#e0f2fe;--tag-blue-text:#0369a1;--bar-track:#ede9f7;--divider:#ede9f7}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg-body);color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6}.app{flex-direction:column;max-width:780px;min-height:100vh;margin:0 auto;padding:24px 16px;display:flex}header{text-align:center;margin-bottom:36px;padding-top:12px}header h1{background:linear-gradient(135deg, var(--brand-purple), var(--brand-cyan));-webkit-text-fill-color:transparent;letter-spacing:-.03em;-webkit-background-clip:text;background-clip:text;align-items:center;gap:10px;font-size:2.25rem;font-weight:800;display:inline-flex}.header-logo{filter:drop-shadow(0 0 8px rgba(134,59,255,.35));flex-shrink:0;animation:3s ease-in-out infinite logoPulse}@keyframes logoPulse{0%,to{filter:drop-shadow(0 0 8px rgba(134,59,255,.35))}50%{filter:drop-shadow(0 0 16px rgba(134,59,255,.55))}}.subtitle{color:var(--text-tertiary);margin-top:6px;font-size:1rem}main{flex:1}.input-section{background:var(--card-bg);border:1px solid var(--card-border);box-shadow:var(--card-shadow);border-radius:16px;margin-bottom:24px;padding:28px;transition:box-shadow .25s}.input-section:hover{box-shadow:var(--card-shadow-hover)}.field{margin-bottom:18px}.field label{color:var(--text-secondary);margin-bottom:6px;font-size:.875rem;font-weight:600;display:block}.optional{color:var(--text-muted);font-weight:400}textarea,input[type=text],input[type=url]{border:1.5px solid var(--input-border);width:100%;color:var(--text-primary);background:var(--input-bg);border-radius:10px;padding:11px 14px;font-family:inherit;font-size:.875rem;transition:border-color .15s,box-shadow .15s}textarea:focus,input[type=text]:focus,input[type=url]:focus{border-color:var(--input-border-focus);box-shadow:0 0 0 3px var(--input-focus-ring);outline:none}textarea::placeholder,input::placeholder{color:var(--text-muted)}textarea{resize:vertical;min-height:160px}.actions{gap:10px;margin-top:10px;display:flex}button{cursor:pointer;border:none;border-radius:10px;padding:10px 22px;font-size:.875rem;font-weight:600;transition:all .2s}.btn-primary{color:#fff;background:linear-gradient(135deg,#863bff,#6f2ddb);box-shadow:0 2px 8px rgba(134,59,255,.25)}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#9b5cff,#7e3bef);transform:translateY(-1px);box-shadow:0 4px 16px rgba(134,59,255,.35)}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:var(--bg-body);color:var(--text-secondary);border:1.5px solid var(--card-border)}.btn-secondary:hover{color:var(--text-primary);background:#ede9f7;border-color:#d5cfe6}.btn-ghost{color:var(--text-muted);background:0 0}.btn-ghost:hover{color:var(--text-secondary);background:rgba(134,59,255,.05)}.btn-sm{white-space:nowrap;padding:8px 16px;font-size:.8rem}.input-tabs{gap:0;margin-bottom:8px;display:flex}.tab{background:var(--bg-body);color:var(--text-tertiary);border:1.5px solid var(--card-border);cursor:pointer;padding:7px 18px;font-size:.8rem;font-weight:600;transition:all .15s}.tab:first-child{border-radius:8px 0 0 8px}.tab:last-child{border-left:none;border-radius:0 8px 8px 0}.tab-active{background:var(--brand-purple);color:#fff;border-color:var(--brand-purple)}.tab-active+.tab{border-left:1.5px solid var(--card-border)}.url-input-group{flex-direction:column;gap:8px;display:flex}.url-row{gap:8px;display:flex}.url-row input[type=url]{flex:1}.fetched-preview{min-height:120px;color:var(--text-secondary);font-size:.8rem}.loading-dots{min-width:5.5em;display:inline-flex}.loading-dots:after{content:"...";vertical-align:bottom;width:0;animation:1.2s steps(3,end) infinite dots;display:inline-block;overflow:hidden}@keyframes dots{to{width:1.1em}}.field-error{color:var(--score-red);margin-top:4px;font-size:.8rem}.resume-upload{align-items:center;gap:10px;margin-top:8px;display:flex}.upload-btn{cursor:pointer;align-items:center;min-height:44px;display:inline-flex;position:relative}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.resume-input-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;opacity:0;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.file-name{color:var(--text-tertiary);text-overflow:ellipsis;white-space:nowrap;max-width:200px;font-size:.8rem;overflow:hidden}.results{background:var(--card-bg);border:1px solid var(--card-border);box-shadow:var(--card-shadow);border-radius:16px;animation:.35s fadeIn;overflow:hidden}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.result-tabs{border-bottom:1.5px solid var(--divider);-webkit-overflow-scrolling:touch;scrollbar-width:none;background:var(--inner-card-bg);display:flex;overflow-x:auto}.result-tabs::-webkit-scrollbar{display:none}.result-tab{color:var(--text-tertiary);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2.5px solid transparent;border-radius:0;align-items:center;gap:6px;padding:12px 16px;font-size:.8rem;font-weight:600;transition:all .15s;display:flex}.result-tab:hover{color:var(--text-secondary);background:rgba(134,59,255,.04)}.result-tab-active{color:var(--brand-purple);border-bottom-color:var(--brand-purple)}.tab-badge{background:var(--score-red);color:#fff;border-radius:10px;padding:1px 6px;font-size:.65rem;font-weight:700;line-height:1.4}.tab-panel{-webkit-overflow-scrolling:touch;min-height:400px;max-height:70vh;overflow-y:auto}.tab-content{padding:24px}.results-header{align-items:flex-start;gap:24px;margin-bottom:20px;display:flex}.score-badge{background:var(--bg-body);border:4px solid;border-radius:50%;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;width:90px;height:90px;display:flex}.score-value{font-size:1.75rem;font-weight:800;line-height:1}.score-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-top:2px;font-size:.65rem}.confidence-badge{text-transform:capitalize;border:1px solid;border-radius:20px;margin-bottom:4px;padding:2px 10px;font-size:.7rem;font-weight:600;display:inline-block}.results-meta{flex-direction:column;flex:1;gap:6px;display:flex}.meta-row{align-items:center;gap:8px;display:flex}.meta-label{color:var(--text-muted);min-width:80px;font-size:.8rem}.meta-value{text-transform:capitalize;color:var(--text-secondary);font-size:.875rem;font-weight:500}.risk-tag{border-radius:20px;padding:2px 10px;font-size:.75rem;font-weight:600;display:inline-block}.status-tag{text-transform:capitalize;border-radius:20px;padding:2px 10px;font-size:.75rem;font-weight:600;display:inline-block}.recommendation{border-left:4px solid;border-radius:10px;align-items:center;gap:12px;margin-bottom:20px;padding:14px 18px;display:flex}.rec-action{white-space:nowrap;font-size:1rem;font-weight:700}.rec-reason{font-size:.875rem}.dimensions-grid{flex-direction:column;gap:12px;margin-bottom:20px;display:flex}.dimension-row{flex-direction:column;gap:3px;display:flex}.dim-header{justify-content:space-between;align-items:baseline;display:flex}.dim-label{color:var(--text-secondary);font-size:.8rem;font-weight:600}.dim-score{font-size:.8rem;font-weight:700}.dim-bar-track{background:var(--bar-track);border-radius:4px;height:7px;overflow:hidden}.dim-bar-fill{border-radius:4px;height:100%;transition:width .5s}.dim-detail{color:var(--text-muted);font-size:.72rem;line-height:1.3}.detail-section{margin-bottom:16px}.detail-section h3{text-transform:uppercase;letter-spacing:.05em;color:var(--text-tertiary);margin-bottom:6px;font-size:.8rem}.detail-section ul{padding:0;list-style:none}.detail-section ol{color:var(--text-secondary);padding-left:20px}.detail-section li{color:var(--text-secondary);padding:3px 0;font-size:.875rem}.detail-section ul li:before{content:"•";color:var(--text-muted);margin-right:8px}.warnings li:before{content:"⚠";color:var(--score-amber)}.dealbreakers li:before{content:"⛔";color:var(--score-red)}.highlights li:before{content:"✓";color:var(--score-green)}.questions li{color:var(--text-secondary);padding:4px 0;font-size:.875rem}.skill-section{margin-bottom:16px}.skill-section h3{text-transform:uppercase;letter-spacing:.05em;color:var(--text-tertiary);margin-bottom:8px;font-size:.8rem}.skill-tags{flex-wrap:wrap;gap:6px;display:flex}.skill-tag{border-radius:20px;padding:4px 12px;font-size:.75rem;font-weight:500}.skill-tag.matched{background:var(--tag-green-bg);color:var(--tag-green-text)}.skill-tag.missing{background:var(--tag-red-bg);color:var(--tag-red-text)}.skill-tag.preferred-match{background:var(--tag-blue-bg);color:var(--tag-blue-text)}.skill-tag.preferred-miss{background:var(--tag-gray-bg);color:var(--tag-gray-text)}.skill-summary-row{gap:16px;margin-bottom:20px;display:flex}.skill-summary-item{text-align:center;background:var(--inner-card-bg);border:1px solid var(--inner-card-border);border-radius:10px;flex:1;padding:14px}.summary-number{color:var(--text-primary);font-size:1.5rem;font-weight:800;line-height:1.2;display:block}.summary-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;font-size:.7rem}.category-breakdown{margin-top:20px}.category-breakdown h3{text-transform:uppercase;letter-spacing:.05em;color:var(--text-tertiary);margin-bottom:10px;font-size:.8rem}.category-table{flex-direction:column;gap:8px;display:flex}.category-row{align-items:center;gap:10px;display:flex}.category-row.weak-category{opacity:1}.category-row.weak-category .cat-name{color:var(--score-red);font-weight:600}.cat-name{color:var(--text-secondary);flex-shrink:0;min-width:160px;font-size:.8rem}.cat-bar-track{background:var(--bar-track);border-radius:4px;flex:1;height:7px;overflow:hidden}.cat-bar-fill{border-radius:4px;height:100%;transition:width .5s}.cat-pct{color:var(--text-tertiary);text-align:right;min-width:30px;font-size:.75rem;font-weight:600}.quality-header{flex-direction:column;gap:12px;margin-bottom:20px;display:flex}.empty-state{color:var(--text-muted);text-align:center;padding:24px;font-size:.875rem}.flags-list{flex-direction:column;gap:8px;display:flex}.flag-item{background:var(--inner-card-bg);border:1px solid var(--inner-card-border);border-radius:10px;align-items:flex-start;gap:10px;padding:12px 14px;display:flex}.severity-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:6px}.flag-content{flex-direction:column;flex:1;gap:2px;display:flex}.flag-message{color:var(--text-secondary);font-size:.85rem}.flag-details{color:var(--text-muted);font-size:.75rem}.flag-severity{text-transform:uppercase;color:var(--text-muted);flex-shrink:0;font-size:.7rem;font-weight:600}.comp-grid{grid-template-columns:repeat(3,1fr);gap:12px;margin:16px 0;display:grid}.comp-card{background:var(--inner-card-bg);border:1px solid var(--inner-card-border);border-radius:10px;padding:14px}.comp-card h3{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:6px;font-size:.7rem}.comp-value{flex-direction:column;display:flex}.salary-range{color:var(--text-primary);font-size:1.1rem;font-weight:700}.salary-type{color:var(--text-muted);text-transform:capitalize;font-size:.7rem}.comp-empty{color:var(--text-muted);font-size:.8rem}.comp-tags{flex-wrap:wrap;gap:4px;display:flex}.benefits-section{margin-top:16px}.benefits-section h3{text-transform:uppercase;letter-spacing:.05em;color:var(--text-tertiary);margin-bottom:8px;font-size:.8rem}.role-meta,.growth-meta{flex-direction:column;gap:8px;margin:16px 0;display:flex}footer{text-align:center;color:var(--text-muted);padding:24px 0 8px;font-size:.75rem}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (max-width:768px){.app{padding:20px 14px}.input-section,.tab-content{padding:20px}.comp-grid{grid-template-columns:1fr 1fr}.cat-name{min-width:120px}}@media (max-width:480px){.app{padding:16px 12px}header{margin-bottom:24px}header h1{font-size:1.75rem}.subtitle{font-size:.875rem}.input-section{border-radius:12px;padding:16px}.results{border-radius:12px}.results-header{text-align:center;flex-direction:column;align-items:center}.meta-row{flex-wrap:wrap;justify-content:center}.meta-label{min-width:70px}.recommendation{text-align:center;flex-direction:column;padding:12px 14px}.actions{flex-direction:column}button{width:100%}.url-row{flex-direction:column}.resume-upload{flex-direction:column;align-items:flex-start}.result-tabs{padding:0 4px}.result-tab{padding:10px 8px;font-size:.7rem}.tab-content{padding:16px}.tab-panel{max-height:60vh}.skill-summary-row{flex-direction:column;gap:8px}.comp-grid{grid-template-columns:1fr}.cat-name{min-width:80px;font-size:.72rem}.score-badge{width:80px;height:80px}.score-value{font-size:1.5rem}.flag-item{padding:10px}.salary-range{font-size:1rem}}
