.nav{position:sticky;top:0;z-index:100;background:#f5f4f0e0;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border)}.nav-inner{max-width:1100px;margin:0 auto;padding:0 32px;height:60px;display:flex;align-items:center;justify-content:space-between}.nav-brand{display:flex;align-items:center;gap:10px;cursor:pointer}.nav-logo-mark{width:32px;height:32px;background:var(--accent);border-radius:8px;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.nav-logo-text{font-family:var(--font-display);font-size:20px;color:var(--text-primary);letter-spacing:-.02em}.nav-back-btn{display:flex;align-items:center;gap:7px;font-family:var(--font-body);font-size:13px;font-weight:500;color:var(--text-secondary);background:none;border:1px solid var(--border);border-radius:var(--radius-sm);padding:7px 14px;cursor:pointer;transition:all .18s ease}.nav-back-btn:hover{color:var(--text-primary);border-color:var(--text-muted);background:var(--surface)}.upload-page{max-width:680px;margin:0 auto;padding:56px 24px 80px}.upload-hero{text-align:center;margin-bottom:48px}.upload-eyebrow{font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin-bottom:14px}.upload-headline{font-size:clamp(36px,6vw,52px);color:var(--text-primary);margin-bottom:16px;font-family:var(--font-display)}.upload-headline em{font-style:italic;color:var(--accent)}.upload-subline{font-size:16px;color:var(--text-secondary);max-width:460px;margin:0 auto;line-height:1.7}.upload-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:36px;box-shadow:var(--shadow-md);animation:fadeUp .4s ease both}.upload-section{margin-bottom:4px}.upload-step-label{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-secondary);margin-bottom:16px}.upload-step-num{width:22px;height:22px;background:var(--accent);color:#fff;border-radius:50%;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center}.dropzone{border:2px dashed var(--border);border-radius:var(--radius-md);padding:32px 24px;text-align:center;cursor:pointer;transition:all .2s ease;background:var(--bg)}.dropzone:hover,.dropzone-active{border-color:var(--accent);background:var(--accent-light)}.dropzone-filled{border-style:solid;border-color:var(--border);background:var(--surface-2);padding:16px 20px}.drop-hint{display:flex;flex-direction:column;align-items:center;gap:8px}.drop-icon{width:48px;height:48px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;color:var(--text-muted);margin-bottom:4px}.drop-text{font-size:15px;font-weight:500;color:var(--text-primary)}.drop-sub{font-size:13px;color:var(--text-muted)}.drop-browse{color:var(--accent);text-decoration:underline;cursor:pointer}.file-info{display:flex;align-items:center;gap:12px;text-align:left}.file-icon{color:var(--accent);flex-shrink:0}.file-name{font-size:14px;font-weight:500;color:var(--text-primary)}.file-size{font-size:12px;color:var(--text-muted);margin-top:2px}.file-remove{margin-left:auto;width:28px;height:28px;border-radius:50%;border:1px solid var(--border);background:var(--surface);color:var(--text-muted);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s;flex-shrink:0}.file-remove:hover{color:var(--danger);border-color:var(--danger)}.upload-divider{height:1px;background:var(--border);margin:28px 0}.type-grid{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.type-btn{display:flex;align-items:center;gap:6px;padding:7px 14px;font-family:var(--font-body);font-size:13px;font-weight:500;border-radius:99px;border:1px solid var(--border);background:var(--bg);color:var(--text-secondary);cursor:pointer;transition:all .16s ease}.type-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-light)}.type-btn-active{border-color:var(--accent);background:var(--accent);color:#fff}.job-input,.job-textarea{width:100%;font-family:var(--font-body);font-size:14px;color:var(--text-primary);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-md);padding:12px 16px;transition:border-color .18s ease,box-shadow .18s ease;outline:none;resize:vertical}.job-input::placeholder,.job-textarea::placeholder{color:var(--text-muted)}.job-input:focus,.job-textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #1a56db1a}.submit-btn{width:100%;margin-top:28px;display:flex;align-items:center;justify-content:center;gap:8px;padding:15px 24px;font-family:var(--font-body);font-size:15px;font-weight:600;color:#fff;background:var(--accent);border:none;border-radius:var(--radius-md);cursor:pointer;transition:background .18s ease,transform .12s ease,box-shadow .18s ease;box-shadow:0 2px 8px #1a56db4d}.submit-btn:hover:not(:disabled){background:var(--accent-hover);transform:translateY(-1px);box-shadow:0 4px 16px #1a56db59}.submit-btn:disabled{opacity:.85;cursor:not-allowed}.submit-spinner{animation:spin .8s linear infinite}.progress-bar{height:3px;background:var(--accent-light);border-radius:99px;margin-top:14px;overflow:hidden}.progress-fill{height:100%;width:40%;background:var(--accent);border-radius:99px;animation:progressSlide 2.4s ease-in-out infinite}@keyframes progressSlide{0%{transform:translate(-150%)}to{transform:translate(350%)}}.results-page{max-width:1100px;margin:0 auto;padding:48px 24px 80px}.results-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:40px;flex-wrap:wrap;animation:fadeUp .4s ease both}.results-eyebrow{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-bottom:10px}.results-title{font-size:clamp(28px,4vw,38px);color:var(--text-primary);margin-bottom:8px;font-family:var(--font-display)}.results-subtitle{font-size:15px;color:var(--text-secondary)}.results-reset-btn{display:flex;align-items:center;gap:7px;padding:9px 18px;font-family:var(--font-body);font-size:13px;font-weight:500;color:var(--text-secondary);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:all .16s;white-space:nowrap;flex-shrink:0}.results-reset-btn:hover{color:var(--text-primary);border-color:var(--text-muted)}.results-grid{display:grid;grid-template-columns:340px 1fr;gap:20px;align-items:start}@media(max-width:860px){.results-grid{grid-template-columns:1fr}}.results-left-col{display:flex;flex-direction:column;gap:16px}.results-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px;box-shadow:var(--shadow-sm);animation:fadeUp .4s ease both}.card-title{font-family:var(--font-body);font-size:13px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-secondary);margin-bottom:18px;display:flex;align-items:center;gap:7px}.score-row{display:flex;align-items:center;gap:20px}.score-ring{position:relative;flex-shrink:0}.score-inner{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.score-num{font-family:var(--font-display);font-size:22px;line-height:1}.score-label{font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.verdict{display:inline-flex;align-items:center;gap:5px;font-size:13px;font-weight:600;padding:5px 10px;border-radius:99px;margin-bottom:8px}.verdict-green{background:var(--success-light);color:var(--success)}.verdict-yellow{background:var(--warning-light);color:var(--warning)}.verdict-red{background:var(--danger-light);color:var(--danger)}.score-desc{font-size:13px;color:var(--text-secondary);line-height:1.5}.pill-wrap{display:flex;flex-wrap:wrap;gap:7px}.skill-pill{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:500;padding:4px 10px;border-radius:99px}.pill-green{background:var(--success-light);color:var(--success)}.pill-red{background:var(--danger-light);color:var(--danger)}.show-more-btn{display:flex;align-items:center;gap:5px;margin-top:12px;font-size:12px;font-weight:500;color:var(--text-secondary);background:none;border:none;cursor:pointer;padding:0;transition:color .15s}.show-more-btn:hover{color:var(--accent)}.letter-card{display:flex;flex-direction:column;min-height:600px}.letter-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.letter-actions{display:flex;gap:8px}.action-btn{display:flex;align-items:center;gap:6px;padding:7px 14px;font-family:var(--font-body);font-size:12px;font-weight:600;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);color:var(--text-secondary);cursor:pointer;transition:all .15s}.action-btn:hover{border-color:var(--text-muted);color:var(--text-primary)}.action-btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.action-btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:#fff}.letter-hint{font-size:12px;color:var(--text-muted);margin-bottom:14px}.letter-editor{flex:1;width:100%;min-height:520px;font-family:var(--font-body);font-size:14px;line-height:1.75;color:var(--text-primary);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-md);padding:20px;outline:none;resize:vertical;transition:border-color .18s,box-shadow .18s}.letter-editor:focus{border-color:var(--accent);box-shadow:0 0 0 3px #1a56db14}:root{--bg: #F5F4F0;--surface: #FFFFFF;--surface-2: #F0EFE9;--border: #E2E0D8;--text-primary: #16150F;--text-secondary:#6B6860;--text-muted: #9E9C95;--accent: #1A56DB;--accent-light: #EEF3FD;--accent-hover: #1447C0;--success: #0E7C4A;--success-light: #E6F5EE;--warning: #B45309;--warning-light: #FEF3C7;--danger: #B91C1C;--danger-light: #FEE2E2;--font-display: "DM Serif Display", Georgia, serif;--font-body: "DM Sans", system-ui, sans-serif;--radius-sm: 6px;--radius-md: 12px;--radius-lg: 20px;--shadow-sm: 0 1px 3px rgba(0,0,0,.07), 0 1px 2px rgba(0,0,0,.05);--shadow-md: 0 4px 16px rgba(0,0,0,.08), 0 2px 6px rgba(0,0,0,.05);--shadow-lg: 0 12px 40px rgba(0,0,0,.1), 0 4px 12px rgba(0,0,0,.06)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-body);background:var(--bg);color:var(--text-primary);font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased;min-height:100vh}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:99px}h1,h2,h3,h4{font-family:var(--font-display);font-weight:400;line-height:1.2;letter-spacing:-.01em}@keyframes fadeUp{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes spin{to{transform:rotate(360deg)}}
