:root{--text-xs: 11px;--text-sm: 13px;--text-base: 14px;--text-md: 15px;--text-lg: 18px;--text-xl: 22px;--text-2xl: 28px;--weight-normal: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--leading-tight: 1.25;--leading-normal: 1.5;--leading-relaxed: 1.7;--tracking-caps: .08em;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 12px;--radius-pill: 999px;--bg: #0f1117;--bg-card: #1a1d27;--bg-input: #141720;--bg-chip: #202535;--bg-hover: #1e2232;--border: #2d3748;--border-focus: var(--accent);--shadow: 0 1px 4px rgba(0,0,0,.4);--text-1: #e2e8f0;--text-2: #a0aec0;--text-3: #718096;--text-4: #4a5568;--accent: #667eea;--accent-hover: #5a67d8;--good-text: #68d391;--good-bg: #162a20;--good-border: #2a5a3a;--maybe-text: #f6e05e;--maybe-bg: #2a2208;--maybe-border: #5a4810;--risk-text: #f6ad55;--risk-bg: #2a1a08;--risk-border: #6a3810;--block-text: #fc8181;--block-bg: #2a1212;--block-border: #6a2828;--unk-text: #718096;--unk-bg: #1a1d27;--unk-border: #2d3748;--skill-text: #90cdf4;--skill-bg: #162235;--skill-border: #2a4a6a;--warn-text: #f6ad55;--warn-bg: #2a1a08;--warn-border: #6a3810}[data-theme=light]{--bg: #f4f6fb;--bg-card: #ffffff;--bg-input: #ffffff;--bg-chip: #eef0f7;--bg-hover: #f0f2f8;--border: #dde1ea;--shadow: 0 1px 4px rgba(0,0,0,.08);--text-1: #1a202c;--text-2: #2d3748;--text-3: #4a5568;--text-4: #718096;--accent: #5a67d8;--accent-hover: #4c51bf;--good-text: #276749;--good-bg: #f0fff4;--good-border: #9ae6b4;--maybe-text: #744210;--maybe-bg: #fffbeb;--maybe-border: #f6ad55;--risk-text: #92400e;--risk-bg: #fff7ed;--risk-border: #fdba74;--block-text: #9b2335;--block-bg: #fff5f5;--block-border: #fc8181;--unk-text: #4a5568;--unk-bg: #f7fafc;--unk-border: #dde1ea;--skill-text: #2b6cb0;--skill-bg: #ebf8ff;--skill-border: #90cdf4;--warn-text: #92400e;--warn-bg: #fff7ed;--warn-border: #fdba74}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:var(--text-base)}body{background:var(--bg);color:var(--text-1);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:var(--text-base);font-weight:var(--weight-normal);line-height:var(--leading-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;transition:background .2s,color .2s}a{color:inherit;text-decoration:none}button{cursor:pointer;font:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-sm)}.page{max-width:900px;margin:0 auto;padding:0 var(--space-4) var(--space-8)}.navbar{border-bottom:1px solid var(--border);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-5);display:flex;align-items:center;gap:var(--space-3);position:sticky;top:0;background:var(--bg);z-index:50}.navbar-brand{font-size:var(--text-md);font-weight:var(--weight-bold);color:var(--text-1);line-height:var(--leading-tight)}.navbar-brand:hover{color:var(--text-1)}.navbar-sub{font-size:var(--text-xs);color:var(--text-3);flex:1}.navbar-actions{display:flex;align-items:center;gap:var(--space-2);margin-left:auto}.theme-btn{background:var(--bg-chip);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-2);font-size:var(--text-sm);padding:var(--space-1) var(--space-2);line-height:1;transition:border-color .15s,color .15s}.theme-btn:hover{border-color:var(--accent);color:var(--text-1)}.help-btn{background:none;border:none;color:var(--text-3);font-size:var(--text-xs);padding:var(--space-1) var(--space-2);border-radius:var(--radius-md);transition:color .15s}.help-btn:hover{color:var(--text-2)}.filters{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-3);align-items:flex-end}.filter-group{display:flex;flex-direction:column;gap:var(--space-1)}.filter-group.search-group{flex:1;min-width:160px}.filter-label{font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--text-3);text-transform:uppercase;letter-spacing:var(--tracking-caps);padding-left:2px}.filters input,.filters select{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-1);padding:var(--space-2) var(--space-3);font-size:var(--text-sm)}.filters input{width:100%}.filters select{min-width:140px;-moz-appearance:none;appearance:none;-webkit-appearance:none;padding-right:32px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%238b9bb4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:10px 6px}[data-theme=light] .filters select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%23445577'/%3E%3C/svg%3E")}.filters input::placeholder{color:var(--text-4)}.filters input:focus-visible,.filters select:focus-visible{outline:2px solid var(--accent);outline-offset:0;border-color:var(--accent)}.filter-clear{background:none;border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-3);font-size:var(--text-xs);padding:var(--space-2) var(--space-3);align-self:flex-end;white-space:nowrap}.filter-clear:hover{color:var(--text-1);border-color:var(--text-3)}.filter-group--checkbox{justify-content:flex-end}.filter-checkbox{display:inline-flex;align-items:center;gap:6px;font-size:var(--text-sm);color:var(--text-2);cursor:pointer;padding:var(--space-2) 0;white-space:nowrap}.filter-checkbox input{accent-color:var(--accent);cursor:pointer}.job-salary{color:var(--text-2);font-weight:var(--weight-medium)}.feed-stats{font-size:var(--text-sm);color:var(--text-3);margin-bottom:var(--space-3);font-variant-numeric:tabular-nums}.feed-stats strong{color:var(--text-1);font-weight:var(--weight-semibold)}.cv-banner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap;padding:var(--space-3) var(--space-4);margin-bottom:var(--space-3);background:var(--bg-card);border:1px solid var(--accent);border-radius:var(--radius-md)}.cv-banner-text{color:var(--text-1);font-size:var(--text-sm)}.sort-bar{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3);flex-wrap:wrap}.sort-bar-label{font-size:var(--text-sm);color:var(--text-3)}.sort-pill{font-size:var(--text-sm);padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);border:1px solid var(--border);background:var(--bg-input);color:var(--text-2);cursor:pointer;transition:all .15s ease}.sort-pill:hover{color:var(--text-1);border-color:var(--accent)}.sort-pill.is-active{background:var(--accent);border-color:var(--accent);color:#fff}.sort-select{font-size:var(--text-sm);padding:var(--space-1) var(--space-3);border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-input);color:var(--text-1);cursor:pointer}.sort-select:hover{border-color:var(--accent)}.sort-select:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.sort-strong{display:inline-flex;align-items:center;gap:6px;font-size:var(--text-sm);color:var(--text-2);cursor:pointer;margin-left:var(--space-1)}.sort-strong input{accent-color:var(--accent);cursor:pointer}.job-card{display:block;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-4);margin-bottom:var(--space-2);transition:border-color .15s,box-shadow .15s;color:var(--text-1)}.job-card:hover{border-color:var(--accent);box-shadow:var(--shadow)}.job-card:focus-visible{outline:2px solid var(--accent);outline-offset:0;border-color:var(--accent)}.job-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-2)}.job-card-badges{display:flex;align-items:center;gap:var(--space-1);flex-shrink:0}.cv-score-badge{font-size:var(--text-xs);font-weight:var(--weight-semibold);padding:2px var(--space-2);border-radius:var(--radius-sm);line-height:1.4;white-space:nowrap;font-variant-numeric:tabular-nums}.cv-score-badge.high{background:#22c55e1f;color:#22c55e;border:1px solid rgba(34,197,94,.22)}.cv-score-badge.mid{background:#f59e0b1f;color:#f59e0b;border:1px solid rgba(245,158,11,.22)}[data-theme=light] .cv-score-badge.high{background:#22c55e1a;color:#16a34a}[data-theme=light] .cv-score-badge.mid{background:#f59e0b1a;color:#b45309}.job-title{font-size:var(--text-md);font-weight:var(--weight-semibold);color:var(--text-1);line-height:var(--leading-tight);overflow-wrap:break-word;min-width:0}.job-meta{font-size:var(--text-sm);color:var(--text-3);margin-bottom:var(--space-3);display:flex;flex-wrap:wrap;gap:var(--space-1) var(--space-3)}.job-chips{display:flex;flex-wrap:wrap;gap:var(--space-1);margin-bottom:var(--space-3)}.job-footer{display:flex;justify-content:space-between;align-items:center;font-size:var(--text-xs);color:var(--text-4)}.chip{background:var(--bg-chip);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-2);padding:var(--space-1) var(--space-2);font-size:var(--text-xs);font-weight:var(--weight-medium);line-height:1}.chip--warn{background:var(--warn-bg);border-color:var(--warn-border);color:var(--warn-text)}.lang-badge{display:inline-flex;align-items:center;gap:var(--space-1);border-radius:var(--radius-sm);padding:var(--space-1) var(--space-2);font-size:var(--text-xs);font-weight:var(--weight-semibold);white-space:nowrap;flex-shrink:0;line-height:1;cursor:default}.lang-badge.good{background:var(--good-bg);color:var(--good-text);border:1px solid var(--good-border)}.lang-badge.maybe{background:var(--maybe-bg);color:var(--maybe-text);border:1px solid var(--maybe-border)}.lang-badge.risk{background:var(--risk-bg);color:var(--risk-text);border:1px solid var(--risk-border)}.lang-badge.blocker{background:var(--block-bg);color:var(--block-text);border:1px solid var(--block-border)}.lang-badge.unknown{background:var(--unk-bg);color:var(--unk-text);border:1px solid var(--unk-border)}.lang-legend{font-size:var(--text-xs);color:var(--text-3);margin-bottom:var(--space-4);display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-4);align-items:center}.lang-legend-item{display:flex;align-items:center;gap:var(--space-1)}.source-link{color:var(--text-4);font-size:var(--text-xs)}.source-link:hover{color:var(--text-3)}.pagination{display:flex;align-items:center;justify-content:center;gap:var(--space-3);margin-top:var(--space-5)}.pagination button{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-2);padding:var(--space-2) var(--space-3);font-size:var(--text-sm)}.pagination button:disabled{opacity:.35;cursor:not-allowed}.pagination button:not(:disabled):hover{border-color:var(--accent);color:var(--text-1)}.pagination-info{font-size:var(--text-sm);color:var(--text-3);font-variant-numeric:tabular-nums}.status-msg{color:var(--text-3);padding:var(--space-8) 0;text-align:center;font-size:var(--text-sm)}.error-msg{color:var(--block-text);padding:var(--space-8) 0;text-align:center;font-size:var(--text-sm)}.empty-state{text-align:center;padding:var(--space-8) var(--space-4)}.empty-icon{font-size:32px;margin-bottom:var(--space-3)}.empty-title{font-size:var(--text-base);color:var(--text-2);margin-bottom:var(--space-3)}.empty-clear{display:inline-block;background:none;border:1px solid var(--border);border-radius:var(--radius-md);color:var(--accent);font-size:var(--text-sm);padding:var(--space-2) var(--space-4);transition:border-color .15s}.empty-clear:hover{border-color:var(--accent)}.back-btn{background:none;border:none;color:var(--text-3);font-size:var(--text-sm);padding:0;margin-bottom:var(--space-5);display:inline-flex;align-items:center;gap:var(--space-1)}.back-btn:hover{color:var(--text-1)}.detail-header{margin-bottom:var(--space-3)}.detail-title{font-size:var(--text-lg);font-weight:var(--weight-bold);color:var(--text-1);line-height:var(--leading-tight);margin-bottom:var(--space-2);overflow-wrap:break-word}.detail-company{font-size:var(--text-sm);color:var(--text-2);line-height:var(--leading-normal)}.detail-badges{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:var(--space-4) 0}.detail-section{margin-top:var(--space-5)}.detail-section-title{font-size:var(--text-xs);font-weight:var(--weight-bold);letter-spacing:var(--tracking-caps);color:var(--text-3);text-transform:uppercase;margin-bottom:var(--space-3)}.lang-list{display:flex;flex-direction:column;gap:var(--space-2)}.lang-item{font-size:var(--text-sm);display:flex;align-items:center;gap:var(--space-2)}.lang-item.required{color:var(--block-text)}.lang-item.optional{color:var(--maybe-text)}.lang-item.ok{color:var(--good-text)}.skills-grid{display:flex;flex-wrap:wrap;gap:var(--space-2)}.skill-chip{background:var(--skill-bg);border:1px solid var(--skill-border);color:var(--skill-text);border-radius:var(--radius-sm);padding:var(--space-1) var(--space-2);font-size:var(--text-xs);font-weight:var(--weight-medium)}.skill-chip.match{background:#22c55e1f;border-color:#22c55e47;color:#22c55e}.skill-chip.gap{background:#f59e0b1f;border-color:#f59e0b47;color:#f59e0b}[data-theme=light] .skill-chip.match{color:#16a34a}[data-theme=light] .skill-chip.gap{color:#b45309}.skillgap{display:flex;flex-direction:column;gap:var(--space-3)}.skillgap-row{display:flex;flex-direction:column;gap:var(--space-2)}.skillgap-label{font-size:var(--text-sm);font-weight:var(--weight-semibold)}.skillgap-label.match{color:#22c55e}.skillgap-label.gap{color:#f59e0b}[data-theme=light] .skillgap-label.match{color:#16a34a}[data-theme=light] .skillgap-label.gap{color:#b45309}.funnel{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-4);margin-bottom:var(--space-4)}.funnel-row{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.funnel-stage{text-align:center;min-width:72px}.funnel-count{font-size:var(--text-xl);font-weight:var(--weight-bold);color:var(--text-1);font-variant-numeric:tabular-nums}.funnel-label{font-size:var(--text-sm);color:var(--text-3);margin-top:var(--space-1)}.funnel-rate{font-size:var(--text-xs);color:var(--accent);font-weight:var(--weight-semibold);margin-top:var(--space-1);font-variant-numeric:tabular-nums}.funnel-arrow{color:var(--text-3);font-size:var(--text-lg)}.analyze-hint{color:var(--text-3);font-size:var(--text-sm);margin-bottom:var(--space-3);max-width:640px}.analyze-form{display:flex;flex-direction:column;gap:var(--space-3);max-width:720px}.analyze-title,.analyze-text{width:100%;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-1);padding:var(--space-2) var(--space-3);font:inherit}.analyze-text{resize:vertical;min-height:180px;line-height:1.5}.analyze-title:focus,.analyze-text:focus{outline:none;border-color:var(--accent)}.analyze-form .apply-btn{align-self:flex-start}.analyze-result{margin-top:var(--space-5)}.analyze-gap-note{font-size:var(--text-xs);color:var(--text-3);margin-top:var(--space-2)}.rag-result-btns{display:inline-flex;gap:var(--space-2)}.search-input-wrap{display:flex;gap:var(--space-2);align-items:stretch}.search-input-wrap input{flex:1}.smart-toggle{white-space:nowrap;padding:0 var(--space-3);border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-input);color:var(--text-2);cursor:pointer;font-size:var(--text-sm);transition:all .15s ease}.smart-toggle:hover{color:var(--text-1);border-color:var(--accent)}.smart-toggle.is-active{background:var(--accent);border-color:var(--accent);color:#fff}.similar-list{display:flex;flex-direction:column;gap:var(--space-2)}.similar-item{display:flex;flex-direction:column;gap:2px;padding:var(--space-2) var(--space-3);background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);text-decoration:none;transition:border-color .15s ease}.similar-item:hover{border-color:var(--accent)}.similar-title{color:var(--text-1);font-weight:var(--weight-medium);font-size:var(--text-sm)}.similar-meta{color:var(--text-3);font-size:var(--text-xs)}.chat-log{display:flex;flex-direction:column;gap:var(--space-3);min-height:240px;margin-bottom:var(--space-4)}.chat-empty{display:flex;flex-wrap:wrap;gap:var(--space-2)}.chat-suggestion{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-pill);color:var(--text-2);padding:var(--space-1) var(--space-3);font-size:var(--text-sm);cursor:pointer}.chat-suggestion:hover{border-color:var(--accent);color:var(--text-1)}.chat-msg{display:flex;flex-direction:column;gap:var(--space-2);max-width:760px}.chat-msg.user{align-self:flex-end;align-items:flex-end}.chat-msg.assistant{align-self:flex-start}.chat-bubble{padding:var(--space-3);border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-card);color:var(--text-1);white-space:pre-wrap;overflow-wrap:break-word;line-height:var(--leading-normal)}.chat-msg.user .chat-bubble{background:var(--accent);border-color:var(--accent);color:#fff}.chat-refs{display:flex;flex-direction:column;gap:4px}.chat-ref{font-size:var(--text-sm);color:var(--accent);text-decoration:none;overflow-wrap:break-word}.chat-ref:hover{text-decoration:underline}.chat-input-bar{display:flex;gap:var(--space-2);position:sticky;bottom:var(--space-3)}.chat-input-bar input{flex:1}@keyframes shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}.skeleton{background:linear-gradient(90deg,var(--bg-chip) 25%,var(--bg-hover) 37%,var(--bg-chip) 63%);background-size:800px 100%;animation:shimmer 1.4s linear infinite;border-radius:var(--radius-sm)}.skeleton-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-4);margin-bottom:var(--space-3)}@keyframes spin{to{transform:rotate(360deg)}}.spinner{width:18px;height:18px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite;display:inline-block;vertical-align:middle}.spinner-wrap{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--text-3);font-size:var(--text-sm)}.state{text-align:center;padding:var(--space-8) var(--space-4);color:var(--text-3)}.state-icon{font-size:30px;margin-bottom:var(--space-2)}.state-title{color:var(--text-1);font-size:var(--text-md);font-weight:var(--weight-semibold);margin-bottom:var(--space-1)}.state-msg{font-size:var(--text-sm);margin-bottom:var(--space-3);max-width:420px;margin-left:auto;margin-right:auto}.state-action{background:var(--accent);border:none;border-radius:var(--radius-md);color:#fff;font-size:var(--text-sm);font-weight:var(--weight-medium);padding:var(--space-2) var(--space-4);transition:background .15s}.state-action:hover{background:var(--accent-hover)}.state-action:active{transform:translateY(1px)}.inline-error{color:var(--block-text);background:var(--block-bg);border:1px solid var(--block-border);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);font-size:var(--text-sm);margin-top:var(--space-2)}@media (max-width: 640px){.page{padding:0 var(--space-3) var(--space-6)}.navbar{flex-wrap:wrap;gap:var(--space-2);padding:var(--space-2) var(--space-3);margin-bottom:var(--space-4)}.nav-links{order:3;width:100%;margin-left:0;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.nav-links::-webkit-scrollbar{display:none}.nav-link{white-space:nowrap}.navbar-sub{display:none}.filter-group,.filter-group.search-group{width:100%;min-width:0}.filters select{min-width:0;width:100%}.filter-clear{width:100%;align-self:stretch;text-align:center}.page-header{flex-direction:column;align-items:flex-start;gap:var(--space-1)}.page-title{font-size:var(--text-lg)}.job-card-top{flex-direction:column;gap:var(--space-2)}.job-card-badges{align-self:flex-start}.detail-cta{flex-wrap:wrap}.detail-title{font-size:var(--text-xl)}.app-row{flex-direction:column;align-items:flex-start;gap:var(--space-2)}.app-row-actions{width:100%}.chat-msg{max-width:100%}.cv-banner{flex-direction:column;align-items:flex-start}.funnel-row{gap:var(--space-2)}.analyze-form{max-width:100%}}@media (pointer: coarse){.nav-link,.sort-pill,.smart-toggle,.status-tab,.chat-suggestion,.theme-btn,.help-btn,.filter-clear{padding-top:var(--space-2);padding-bottom:var(--space-2)}.app-delete-btn,.rag-cv-remove,.back-btn,.expand-btn{min-height:44px;display:inline-flex;align-items:center}.status-select,.status-select-inline,.sort-select{min-height:40px}}@media (prefers-reduced-motion: reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important}}.description-box{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-4);font-size:var(--text-sm);color:var(--text-2);white-space:pre-wrap;line-height:var(--leading-relaxed);max-height:320px;overflow:hidden;position:relative}.description-box.expanded{max-height:none;overflow:visible}.description-box:not(.expanded):after{content:"";position:absolute;bottom:0;left:0;right:0;height:64px;background:linear-gradient(transparent,var(--bg-card));border-radius:0 0 var(--radius-lg) var(--radius-lg);pointer-events:none}.expand-btn{background:none;border:none;color:var(--accent);font-size:var(--text-sm);padding:var(--space-2) 0;display:block}.expand-btn:hover{color:var(--accent-hover)}.apply-btn{display:inline-flex;align-items:center;gap:var(--space-2);background:var(--accent);color:#fff;border:none;border-radius:var(--radius-md);padding:var(--space-2) var(--space-5);font-size:var(--text-sm);font-weight:var(--weight-semibold);transition:background .15s}.apply-btn:hover{background:var(--accent-hover);color:#fff}.apply-btn:active{transform:translateY(1px)}.apply-btn:disabled{opacity:.5;cursor:not-allowed}.apply-btn:disabled:hover{background:var(--accent)}.apply-btn:disabled:active{transform:none}.detail-cta{display:flex;align-items:center;gap:var(--space-4);flex-wrap:wrap;margin-top:var(--space-3);padding-bottom:var(--space-3);border-bottom:1px solid var(--border)}.tour-highlighted{outline:2px solid var(--accent)!important;outline-offset:4px;border-radius:var(--radius-md);animation:tour-pulse 2s ease-in-out infinite;position:relative;z-index:10}@keyframes tour-pulse{0%,to{outline-color:var(--accent)}50%{outline-color:transparent}}.tour-panel{position:fixed;bottom:var(--space-5);left:50%;transform:translate(-50%);width:min(440px,calc(100vw - var(--space-8)));background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-xl);padding:var(--space-4) var(--space-5);box-shadow:0 8px 40px #00000080;z-index:1000}.tour-dots{display:flex;gap:var(--space-2);margin-bottom:var(--space-3)}.tour-dot{width:6px;height:6px;border-radius:50%;background:var(--border);transition:background .2s}.tour-dot.active{background:var(--accent)}.tour-title{font-size:var(--text-md);font-weight:var(--weight-semibold);color:var(--text-1);margin-bottom:var(--space-2);line-height:var(--leading-tight)}.tour-body{font-size:var(--text-sm);color:var(--text-2);line-height:var(--leading-normal);margin-bottom:var(--space-4)}.tour-actions{display:flex;align-items:center;gap:var(--space-2)}.tour-skip{font-size:var(--text-xs);color:var(--text-4);background:none;border:none;padding:0;margin-right:auto}.tour-skip:hover{color:var(--text-3)}.tour-btn{background:var(--bg-chip);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-2);font-size:var(--text-sm);padding:var(--space-2) var(--space-3)}.tour-btn:hover{border-color:var(--text-3)}.tour-btn-primary{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:var(--weight-medium)}.tour-btn-primary:hover{background:var(--accent-hover)}.rag-upload-prompt{background:var(--bg-card);border:1px dashed var(--border);border-radius:var(--radius-lg);padding:var(--space-5) var(--space-4);text-align:center}.rag-upload-hint{font-size:var(--text-sm);color:var(--text-3);margin-bottom:var(--space-4)}.rag-upload-btn{display:inline-flex;align-items:center;gap:var(--space-2);background:var(--bg-chip);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-2);font-size:var(--text-sm);padding:var(--space-2) var(--space-4);cursor:pointer}.rag-upload-btn:hover{border-color:var(--accent);color:var(--text-1)}.rag-cv-bar{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3)}.rag-cv-name{font-size:var(--text-sm);color:var(--text-2)}.rag-cv-remove{background:none;border:none;color:var(--text-4);font-size:var(--text-xs);padding:0}.rag-cv-remove:hover{color:var(--block-text)}.rag-actions{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-4)}.rag-action-btn{background:var(--bg-chip);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-2);font-size:var(--text-sm);padding:var(--space-2) var(--space-4);transition:border-color .15s}.rag-action-btn:hover:not(:disabled){border-color:var(--accent);color:var(--text-1)}.rag-action-btn:disabled{opacity:.5;cursor:not-allowed}.rag-action-btn.loading{color:var(--text-3)}.rag-result{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.rag-result-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border);font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--text-3);text-transform:uppercase;letter-spacing:var(--tracking-caps)}.rag-copy-btn{background:none;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-3);font-size:var(--text-xs);padding:2px var(--space-2)}.rag-copy-btn:hover{border-color:var(--accent);color:var(--accent)}.rag-result-text{padding:var(--space-4);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:var(--text-sm);color:var(--text-1);line-height:var(--leading-relaxed);white-space:pre-wrap;word-break:break-word;max-height:600px;overflow-y:auto;margin:0}.nav-links{display:flex;align-items:center;gap:var(--space-1);margin-left:var(--space-4)}.nav-link{font-size:var(--text-sm);color:var(--text-3);padding:var(--space-1) var(--space-3);border-radius:var(--radius-md);transition:color .15s}.nav-link:hover{color:var(--text-1)}.nav-link.active{color:var(--text-1);background:var(--bg-chip);font-weight:var(--weight-medium)}.page-header{display:flex;align-items:baseline;gap:var(--space-4);margin-bottom:var(--space-4)}.page-title{font-size:var(--text-xl);font-weight:var(--weight-bold);color:var(--text-1);line-height:var(--leading-tight);letter-spacing:-.01em}.status-tabs{display:flex;flex-wrap:wrap;gap:var(--space-1);margin-bottom:var(--space-4)}.status-tab{background:var(--bg-chip);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-3);font-size:var(--text-xs);padding:var(--space-1) var(--space-3);display:flex;align-items:center;gap:var(--space-1)}.status-tab:hover{color:var(--text-1)}.status-tab.active{background:var(--accent);border-color:var(--accent);color:#fff}.tab-count{background:#fff3;border-radius:var(--radius-pill);padding:0 var(--space-1);font-size:10px;line-height:1.6;font-variant-numeric:tabular-nums}.status-tab:not(.active) .tab-count{background:var(--border);color:var(--text-3)}.app-list{display:flex;flex-direction:column;gap:var(--space-2)}.app-row{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-3) var(--space-4);display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap}.app-row:hover{border-color:var(--border-focus)}.app-row-main{flex:1;min-width:0}.app-job-title{display:block;font-size:var(--text-md);font-weight:var(--weight-semibold);color:var(--text-1);margin-bottom:var(--space-1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-job-title:hover{color:var(--accent)}.app-job-meta{font-size:var(--text-sm);color:var(--text-3);display:block;margin-bottom:var(--space-2)}.app-chips{display:flex;flex-wrap:wrap;gap:var(--space-1)}.app-row-actions{display:flex;align-items:center;gap:var(--space-3);flex-shrink:0}.app-date{font-size:var(--text-xs);color:var(--text-4);white-space:nowrap}.app-delete-btn{background:none;border:none;color:var(--text-4);font-size:var(--text-xs);padding:0}.app-delete-btn:hover{color:var(--block-text)}.status-select,.status-select-inline{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-2);font-size:var(--text-xs);font-weight:var(--weight-medium);padding:var(--space-1) var(--space-2);cursor:pointer}.status-select:focus-visible,.status-select-inline:focus-visible{outline:2px solid var(--accent);outline-offset:0}.save-btn{background:var(--bg-chip);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-2);font-size:var(--text-sm);padding:var(--space-2) var(--space-4)}.save-btn:hover{border-color:var(--accent);color:var(--accent)}.skill-graph-hint{color:var(--text-3);font-size:var(--text-sm);margin-bottom:var(--space-2)}.skill-graph{width:100%;height:auto;max-height:72vh;display:block;touch-action:none;-webkit-user-select:none;user-select:none;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg)}.skill-node{cursor:grab}.skill-node:active{cursor:grabbing}.skill-node-circle{fill:var(--accent);stroke:var(--accent);stroke-width:1.5;transition:stroke-width .15s}.skill-node:hover .skill-node-circle{stroke-width:3}.skill-node-label{fill:#fff;font-weight:var(--weight-semibold);text-anchor:middle;pointer-events:none}
