:root{--bg:#f8f8f7;--surface:#fff;--text:#3f3f46;--text-h:#18181b;--text-muted:#71717a;--border:#e4e4e7;--accent:#2563eb;--accent-hover:#1d4ed8;--accent-bg:#2563eb14;--success:#16a34a;--success-bg:#f0fdf4;--success-border:#bbf7d0;--danger:#dc2626;--danger-bg:#fef2f2;--danger-border:#fecaca;--warning:#d97706;--warning-bg:#fffbeb;--warning-border:#fde68a;--shadow:0 1px 2px #0000000a, 0 1px 3px #0000000f;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:16px/1.5 var(--sans);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background:var(--bg);min-height:100svh;margin:0}#root{min-height:100svh}h1,h2,h3{font-family:var(--sans);color:var(--text-h);font-weight:600}p{margin:0}code{font-family:var(--mono);background:var(--accent-bg);color:var(--text-h);border-radius:4px;padding:2px 6px;font-size:.9em}*{box-sizing:border-box}.app{text-align:left;max-width:1100px;margin:0 auto;padding:1.5rem 1.5rem 2rem}.app-header{margin-bottom:1.25rem}.app-header h1{letter-spacing:-.01em;margin:0 0 .35rem;font-size:1.6rem}.app-header p{color:var(--text-muted);font-size:.95rem}.layout{grid-template-columns:1fr 1fr;align-items:start;gap:1.5rem;display:grid}.input-panel,.results-panel{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:12px;padding:1.5rem}@media (width<=1024px){.app{padding:2rem 1.25rem 3rem}.layout{gap:1.25rem}.input-panel,.results-panel{padding:1.25rem}.layout{grid-template-columns:1fr}}@media (width<=480px){.app{padding:1.5rem 1rem 2rem}.app-header h1{font-size:1.35rem}.mode-toggle button,.download-button{min-height:44px;padding:.5rem .8rem}.input-panel button[type=submit]{min-height:48px}.input-panel textarea{height:8rem}.cover-letter-header{flex-wrap:wrap;gap:.6rem}.download-buttons{width:100%}.download-button{flex:1}.score-section{gap:1rem}.score-circle{width:56px;height:56px;font-size:1.1rem}}.source-field{margin-bottom:1.25rem}.source-field-header{color:var(--text-h);justify-content:space-between;align-items:center;margin-bottom:.5rem;font-size:1.05rem;font-weight:600;display:flex}.mode-toggle{background:var(--bg);border:1px solid var(--border);border-radius:8px;gap:.25rem;padding:2px;display:flex}.mode-toggle button{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:.3rem .7rem;font-size:.75rem;font-weight:500;transition:background .15s,color .15s}.mode-toggle button:hover{color:var(--text-h)}.mode-toggle button.active{background:var(--surface);color:var(--accent);box-shadow:0 1px 2px #00000014}.input-panel textarea,.cover-letter{border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text);resize:vertical;border-radius:8px;padding:.7rem .8rem;font-family:inherit;font-size:.9rem;transition:border-color .15s,box-shadow .15s}.input-panel textarea::placeholder{color:var(--text-muted)}.input-panel textarea:focus,.cover-letter:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg);outline:none}.tone-field{color:var(--text-h);margin-bottom:1rem;font-size:1.05rem;font-weight:600;display:block}.tone-field select{border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text);cursor:pointer;border-radius:8px;margin-top:.5rem;padding:.6rem .7rem;font-family:inherit;font-size:.9rem;display:block}.tone-field select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg);outline:none}.file-drop{border:1px dashed var(--border);background:var(--bg);border-radius:8px;padding:1rem}.file-drop input[type=file]{color:var(--text);width:100%;font-size:.85rem}.file-name{color:var(--success);margin-top:.5rem;font-size:.8rem;font-weight:500;display:block}.file-hint{color:var(--text-muted);margin:.5rem 0 0;font-size:.75rem}.field-hint{color:var(--text-muted);margin:.4rem 0 0;font-size:.8rem;line-height:1.4}.saved-resume{border:1px solid var(--success-border);background:var(--success-bg);border-radius:8px;padding:1rem}.saved-resume .file-name{word-break:break-word;margin-top:0}.saved-resume-actions{flex-wrap:wrap;gap:.5rem;margin-top:.75rem;display:flex}.saved-resume-actions button,.keep-saved-resume{color:var(--accent);background:var(--accent-bg);cursor:pointer;border:1px solid #0000;border-radius:6px;padding:.35rem .7rem;font-size:.78rem;font-weight:500}.saved-resume-actions button.danger{color:var(--danger);background:var(--danger-bg)}.keep-saved-resume{margin:-.5rem 0 1.25rem}.input-panel button[type=submit]{color:#fff;background:var(--accent);cursor:pointer;border:none;border-radius:8px;width:100%;margin-top:.25rem;padding:.75rem;font-size:.95rem;font-weight:600;transition:background .15s}.input-panel button[type=submit]:hover:not(:disabled){background:var(--accent-hover)}.input-panel button[type=submit]:disabled{background:var(--text-muted);cursor:not-allowed}.error{color:var(--danger);background:var(--danger-bg);border:1px solid var(--danger-border);border-radius:8px;margin-top:.75rem;padding:.6rem .8rem;font-size:.85rem}.placeholder{color:var(--text-muted);font-size:.9rem}.results-panel h3{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin:0 0 .6rem;font-size:1rem}.score-section{border-bottom:1px solid var(--border);align-items:center;gap:1.25rem;margin-bottom:1.75rem;padding-bottom:1.5rem;display:flex}.score-circle{border:4px solid var(--border);width:68px;height:68px;color:var(--text-h);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:1.3rem;font-weight:700;display:flex}.score-section.tier-high{--tier-color:var(--success)}.score-section.tier-mid{--tier-color:var(--warning)}.score-section.tier-low{--tier-color:var(--danger)}.score-section .score-circle{border-color:var(--tier-color);color:var(--tier-color)}.score-details h3{margin-bottom:.15rem}.score-section p{color:var(--text);font-size:.9rem;line-height:1.5}.score-section .score-tier{color:var(--tier-color);margin-bottom:.4rem;font-size:1.15rem;font-weight:700}.tag-list{flex-wrap:wrap;gap:.4rem;margin:0 0 1.5rem;padding:0;list-style:none;display:flex}.tag-list li{border:1px solid #0000;border-radius:999px;padding:.3rem .7rem;font-size:.8rem;font-weight:500}.tag-list.matched li{background:var(--success-bg);border-color:var(--success-border);color:var(--success)}.tag-list.missing li{background:var(--danger-bg);border-color:var(--danger-border);color:var(--danger)}.cover-letter-header{justify-content:space-between;align-items:center;margin-bottom:.6rem;display:flex}.cover-letter-header h3{margin:0}.download-buttons{gap:.5rem;display:flex}.download-button{color:var(--accent);background:var(--accent-bg);cursor:pointer;border:1px solid #0000;border-radius:6px;padding:.35rem .7rem;font-size:.78rem;font-weight:500;transition:background .15s}.download-button:hover:not(:disabled){background:var(--accent);color:#fff}.download-button:disabled{color:var(--text-muted);background:var(--bg);cursor:not-allowed}.view-toggle{margin-bottom:1rem;display:inline-flex}.resume-editor{flex-direction:column;gap:.9rem;display:flex}.resume-editor input,.resume-editor textarea{border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text);border-radius:8px;padding:.45rem .6rem;font-family:inherit;font-size:.85rem}.resume-editor textarea{resize:vertical}.resume-editor input:focus,.resume-editor textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg);outline:none}.resume-editor .resume-name{text-align:center;font-size:1.1rem;font-weight:600}.resume-section h4{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);border-bottom:1px solid var(--border);margin:0 0 .5rem;padding-bottom:.3rem;font-size:.8rem}.resume-entry{margin-bottom:.8rem}.resume-row{grid-template-columns:1fr 1fr;gap:.4rem;margin-bottom:.4rem;display:grid}@media (width<=480px){.resume-row{grid-template-columns:1fr}}.resume-preview{color:var(--text-h);background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:1.25rem 1.4rem;font-family:Times New Roman,Times,serif;font-size:.92rem;line-height:1.4}.resume-preview .rp-name{text-align:center;margin:0;font-family:inherit;font-size:1.4rem}.resume-preview .rp-contact{text-align:center;margin:.2rem 0 .6rem;font-size:.8rem}.resume-preview h4{border-bottom:1px solid var(--text-h);letter-spacing:.03em;margin:.8rem 0 .4rem;padding-bottom:.2rem;font-family:inherit;font-size:.82rem}.resume-preview p{margin:.2rem 0}.resume-preview .rp-entry{margin-bottom:.6rem}.resume-preview .rp-line{justify-content:space-between;gap:.75rem;display:flex}.resume-preview ul{margin:.2rem 0 0;padding-left:1.1rem}.resume-preview li{margin:.1rem 0}.cover-preview{color:var(--text-h);background:var(--surface);border:1px solid var(--border);white-space:pre-line;border-radius:8px;padding:1.25rem 1.4rem;font-family:Times New Roman,Times,serif;font-size:.92rem;line-height:1.5}.fact-warnings{background:var(--warning-bg);border:1px solid var(--warning-border);color:var(--text-h);border-radius:8px;margin-bottom:.9rem;padding:.6rem .8rem;font-size:.82rem}.fact-warnings ul{margin:.4rem 0 0;padding-left:1.1rem}.download-menu{position:relative}.download-menu-list{z-index:10;background:var(--surface);border:1px solid var(--border);min-width:8rem;box-shadow:var(--shadow);border-radius:8px;flex-direction:column;margin-top:4px;display:flex;position:absolute;top:100%;right:0;overflow:hidden}.download-menu-list button{text-align:left;color:var(--text);cursor:pointer;background:0 0;border:none;padding:.5rem .8rem;font-size:.82rem}.download-menu-list button:hover{background:var(--accent-bg);color:var(--accent)}.resume-preview,.cover-preview,.cover-letter,.resume-editor{max-width:760px;margin-left:auto;margin-right:auto}.job-page-action{margin-bottom:.6rem}.job-page-action button{width:100%;color:var(--accent);background:var(--accent-bg);border:1px solid var(--accent);cursor:pointer;border-radius:8px;padding:.6rem;font-size:.9rem;font-weight:600}.job-page-action button:hover:not(:disabled){background:var(--accent);color:#fff}.job-page-action button:disabled{cursor:wait;opacity:.7}.job-page-action .error{margin-top:.5rem}.app-footer{text-align:center;margin-top:1.5rem;font-size:.8rem}.app-footer a{color:var(--text-muted)}
