:root{--color-dark:#0f0f0e;--color-yellow:#ffc800;--color-light:#fafafa;--color-green:#3bff98;--font-heading:"JetBrains Mono", monospace;--font-body:"Figtree", system-ui, sans-serif}:root,[data-theme=dark]{--bg-page:#0f0f0e;--bg-input:#141413;--text-primary:#fafafa;--text-label:#7a7a78;--text-muted:#5a5a58;--text-placeholder:#3e3e3c;--border:#2c2c2a;--border-section:#1e1e1c;--section-title-color:var(--color-yellow);--select-option-bg:#1c1c1a}[data-theme=light]{--bg-page:#f5f5f4;--bg-input:#fff;--text-primary:#0f0f0e;--text-label:#525250;--text-muted:#888886;--text-placeholder:#c0c0be;--border:#e0e0de;--border-section:#ebebea;--section-title-color:#0f0f0e;--select-option-bg:#f5f5f4}@media (prefers-color-scheme:light){:root:not([data-theme=dark]){--bg-page:#f5f5f4;--bg-input:#fff;--text-primary:#0f0f0e;--text-label:#525250;--text-muted:#888886;--text-placeholder:#c0c0be;--border:#e0e0de;--border-section:#ebebea;--section-title-color:#0f0f0e;--select-option-bg:#f5f5f4}}*,:before,:after{box-sizing:border-box}body{background:var(--bg-page);color:var(--text-primary);font-family:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-size:16px;line-height:1.5;transition:background .2s,color .2s}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);margin:0;font-weight:600}p{margin:0}#root{flex-direction:column;min-height:100svh;display:flex}.theme-toggle{background:#0f0f0e1f;border-radius:8px;align-items:center;gap:2px;padding:3px;display:flex}.theme-toggle__btn{color:#0f0f0e8c;cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;width:30px;height:30px;transition:background .15s,color .15s;display:flex}.theme-toggle__btn:hover{color:var(--color-dark);background:#0f0f0e1a}.theme-toggle__btn--active{color:var(--color-dark);background:#0f0f0e2e}.header{background:var(--color-yellow);border-bottom:2px solid #e6b400;justify-content:space-between;align-items:center;height:64px;padding:0 40px;display:flex}.header__logo{height:28px;display:block}@media (width<=640px){.header{height:56px;padding:0 20px}.header__logo{height:22px}}.field{flex-direction:column;gap:8px;display:flex}.field__label{letter-spacing:.08em;text-transform:uppercase;color:var(--text-label);font-size:12px;font-weight:600}.field__control{background:var(--bg-input);border:1px solid var(--border);width:100%;color:var(--text-primary);font-family:var(--font-body);box-sizing:border-box;border-radius:8px;outline:none;padding:11px 14px;font-size:15px;transition:border-color .15s,box-shadow .15s}.field__control::placeholder{color:var(--text-placeholder)}.field__control:focus{border-color:var(--color-yellow);box-shadow:0 0 0 3px #ffc8001f}.field__control--error{border-color:#f55}.field__control--error:focus{box-shadow:0 0 0 3px #ff555526}.field__control:disabled{opacity:.4;cursor:not-allowed}.field:has(input:disabled) .field__label{opacity:.4}.field__error{color:#ff6b6b;margin:0;font-size:12px}.field__input-wrapper{background:var(--bg-input);border:1px solid var(--border);border-radius:8px;align-items:stretch;transition:border-color .15s,box-shadow .15s;display:flex;overflow:hidden}.field__input-wrapper:focus-within{border-color:var(--color-yellow);box-shadow:0 0 0 3px #ffc8001f}.field__input-wrapper--error{border-color:#f55}.field__input-wrapper--error:focus-within{box-shadow:0 0 0 3px #ff555526}.field__prefix{font-family:var(--font-body);color:var(--text-label);border-right:1px solid var(--border);-webkit-user-select:none;user-select:none;white-space:nowrap;align-items:center;padding:11px 12px 11px 14px;font-size:15px;font-weight:600;display:flex}.field__control--prefixed{width:100%;color:var(--text-primary);font-family:var(--font-body);background:0 0;border:none;border-radius:0;outline:none;flex:1;padding:11px 14px;font-size:15px}.field__control--prefixed::placeholder{color:var(--text-placeholder)}.field__control--prefixed:focus{box-shadow:none;border-color:#0000}.textarea__control{resize:vertical;min-height:110px;line-height:1.6}.select__wrapper{position:relative}.select__control{appearance:none;cursor:pointer;padding-right:36px}.select__control option{background:var(--select-option-bg);color:var(--text-primary)}.select__arrow{color:var(--text-label);pointer-events:none;font-size:13px;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.file-upload__input{display:none}.file-upload__zone{background:var(--bg-input);border:1.5px dashed var(--border);width:100%;color:var(--text-placeholder);cursor:pointer;font-family:var(--font-body);text-align:center;border-radius:8px;flex-direction:column;align-items:center;gap:8px;padding:32px 24px;transition:border-color .15s,background .15s,color .15s;display:flex}.file-upload__zone:hover,.file-upload__zone:focus-visible{border-color:var(--color-yellow);color:var(--text-primary);outline:none}.file-upload__zone:focus-visible{box-shadow:0 0 0 3px #ffc8001f}.file-upload__zone--drag{border-color:var(--color-yellow);color:var(--text-primary);background:#ffc8000d}.file-upload__zone--error{border-color:#f55}.file-upload__upload-icon{width:32px;height:32px;color:var(--text-label);flex-shrink:0}.file-upload__zone:hover .file-upload__upload-icon,.file-upload__zone--drag .file-upload__upload-icon{color:var(--color-yellow)}.file-upload__cta{color:var(--text-primary);font-size:14px}.file-upload__link{color:var(--color-yellow);font-weight:600}.file-upload__hint{color:var(--text-placeholder);font-size:12px}.file-upload__selected{background:var(--bg-input);border:1px solid var(--color-yellow);border-radius:8px;align-items:center;gap:12px;padding:12px 14px;display:flex}.file-upload__file-icon{width:20px;height:20px;color:var(--color-yellow);flex-shrink:0}.file-upload__info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.file-upload__name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:500;overflow:hidden}.file-upload__size{color:var(--text-placeholder);font-size:12px}.file-upload__remove{width:28px;height:28px;color:var(--text-label);cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:background .15s,color .15s;display:flex}.file-upload__remove:hover{color:#ff6b6b;background:#ff55551f}.file-upload__remove svg{width:14px;height:14px}.file-upload__analyze{border:1px solid var(--color-yellow);color:var(--color-yellow);font-family:var(--font-body);white-space:nowrap;cursor:pointer;background:0 0;border-radius:6px;flex-shrink:0;align-items:center;gap:6px;padding:5px 12px;font-size:12px;font-weight:600;transition:background .15s,color .15s;display:inline-flex}.file-upload__analyze:hover:not(:disabled){background:var(--color-yellow);color:var(--color-dark)}.file-upload__analyze:focus-visible{outline:2px solid var(--color-yellow);outline-offset:2px}.file-upload__analyze:disabled{opacity:.6;cursor:not-allowed}.file-upload__analyze-icon{flex-shrink:0;width:10px;height:10px}.file-upload__analyze-spinner{border:1.5px solid;border-top-color:#0000;border-radius:50%;flex-shrink:0;width:10px;height:10px;animation:.6s linear infinite analyze-spin;display:inline-block}@keyframes analyze-spin{to{transform:rotate(360deg)}}.app-form{box-sizing:border-box;width:100%;max-width:720px;margin:0 auto;padding:48px 40px 80px}.app-form__title{color:var(--text-primary);margin-bottom:8px;font-size:28px}.app-form__subtitle{color:var(--text-muted);margin-bottom:48px;font-size:15px}.form-section{margin-bottom:48px}.form-section__title{font-family:var(--font-heading);letter-spacing:.12em;text-transform:uppercase;color:var(--section-title-color);border-bottom:1px solid var(--border-section);margin-bottom:24px;padding-bottom:10px;font-size:11px;font-weight:600}.form-row{gap:20px;margin-bottom:20px;display:grid}.form-row--2col{grid-template-columns:1fr 1fr;align-items:end}.form-row--1col{grid-template-columns:1fr}.toggle-group{gap:12px;display:flex}.toggle-option{border:1px solid var(--border);background:var(--bg-input);color:var(--text-muted);font-family:var(--font-body);cursor:pointer;border-radius:8px;flex:1;padding:11px 0;font-size:15px;font-weight:500;transition:border-color .15s,color .15s,background .15s}.toggle-option:hover{border-color:var(--text-placeholder);color:var(--text-primary)}.toggle-option--active{border-color:var(--color-yellow);color:var(--color-dark);background:var(--color-yellow)}.app-form__submit{background:var(--color-yellow);width:100%;color:var(--color-dark);font-family:var(--font-heading);letter-spacing:.04em;cursor:pointer;border:none;border-radius:8px;margin-top:40px;padding:14px;font-size:14px;font-weight:600;transition:opacity .15s}.app-form__submit:hover:not(:disabled){opacity:.88}.app-form__submit:disabled{opacity:.5;cursor:not-allowed}.ai-banner{background:var(--color-yellow);color:var(--color-dark);border-radius:8px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:32px;padding:12px 16px;display:flex}.ai-banner__text{font-family:var(--font-body);font-size:14px;font-weight:500}.ai-banner__dismiss{color:var(--color-dark);cursor:pointer;opacity:.7;background:0 0;border:none;border-radius:4px;flex-shrink:0;padding:2px 6px;font-size:14px;font-weight:700;line-height:1;transition:opacity .15s}.ai-banner__dismiss:hover{opacity:1}.resume-upload-wrapper{position:relative}.parse-error{background:color-mix(in srgb, #ff4d4d 12%, var(--bg-surface));color:var(--text-primary);font-family:var(--font-body);border:1px solid #ff4d4d66;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;margin-top:8px;padding:10px 14px;font-size:13px;display:flex}.parse-error__dismiss{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;padding:2px 6px;font-size:13px;line-height:1;transition:color .15s}.parse-error__dismiss:hover{color:var(--text-primary)}.submit-overlay{z-index:100;-webkit-backdrop-filter:blur(6px);background:#0f0f0ebf;justify-content:center;align-items:center;animation:.25s both overlay-in;display:flex;position:fixed;inset:0}@keyframes overlay-in{0%{opacity:0}to{opacity:1}}.submit-overlay__card{background:var(--bg-input);border:1px solid var(--border);border-top:3px solid var(--color-yellow);text-align:center;border-radius:16px;flex-direction:column;align-items:center;gap:20px;padding:40px 48px;animation:.3s cubic-bezier(.34,1.56,.64,1) both card-in;display:flex}@keyframes card-in{0%{opacity:0;transform:scale(.92)translateY(12px)}to{opacity:1;transform:scale(1)translateY(0)}}.submit-overlay__dots{align-items:center;gap:8px;display:flex}.submit-overlay__dot{background:var(--text-placeholder);border-radius:50%;width:10px;height:10px;animation:1.2s ease-in-out infinite both dot-wave;display:block}.submit-overlay__dot:first-child{animation-delay:0s}.submit-overlay__dot:nth-child(2){animation-delay:.16s}.submit-overlay__dot:nth-child(3){animation-delay:.32s}@keyframes dot-wave{0%,80%,to{background:var(--text-placeholder);transform:scale(.65)}40%{background:var(--color-yellow);transform:scale(1)}}.submit-overlay__title{font-family:var(--font-heading);color:var(--text-primary);margin:0;font-size:1.1rem;font-weight:700}.submit-overlay__message{color:var(--text-muted);margin:0;font-size:.875rem;animation:.3s both msg-in}@keyframes msg-in{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.job-info-field{flex-direction:column;gap:8px;display:flex}.job-info-field__label{letter-spacing:.08em;text-transform:uppercase;color:var(--text-label);font-size:12px;font-weight:600}.job-info-block{background:var(--bg-input);border:1px solid var(--border);box-sizing:border-box;border-radius:8px;width:100%;padding:14px}.job-info-block__text{font-family:var(--font-body);color:var(--text-primary);text-align:justify;margin:0;font-size:15px;line-height:1.6}.job-req-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.job-req-list li{font-family:var(--font-body);color:var(--text-primary);padding-left:16px;font-size:15px;line-height:1.5;position:relative}.job-req-list li:before{content:"–";color:var(--text-placeholder);position:absolute;left:0}.about-ai-hint{border-left:3px solid var(--color-yellow);background:color-mix(in srgb, var(--color-yellow) 8%, var(--bg-surface));font-family:var(--font-body);color:var(--text-primary);border-radius:8px;margin-top:-12px;margin-bottom:4px;padding:10px 14px;font-size:13px;line-height:1.5}.about-ai-hint strong{color:var(--text-primary);font-weight:600}@media (width<=640px){.app-form{padding:32px 20px 60px}.form-row--2col{grid-template-columns:1fr}}:root,[data-theme=dark]{--success-accent:#3bff98;--success-accent-rgb:59, 255, 152}[data-theme=light]{--success-accent:#16a34a;--success-accent-rgb:22, 163, 74}@media (prefers-color-scheme:light){:root:not([data-theme=dark]){--success-accent:#16a34a;--success-accent-rgb:22, 163, 74}}.success-page{background:var(--bg-page);justify-content:center;align-items:center;min-height:calc(100svh - 64px);padding:48px 24px;display:flex;position:relative;overflow:hidden}.success-particles{pointer-events:none;position:absolute;inset:0}.success-particle{left:var(--x);top:var(--y);width:var(--size);height:var(--size);background:var(--success-accent);opacity:0;animation:particle-float var(--duration) var(--delay) ease-in-out infinite;border-radius:50%;position:absolute}@keyframes particle-float{0%{opacity:0;transform:translateY(0)translate(0)}20%{opacity:.6}80%{opacity:.3}to{opacity:0;transform:translateY(-80px) translateX(var(--drift))}}.success-content{z-index:1;text-align:center;flex-direction:column;align-items:center;gap:48px;width:100%;max-width:640px;display:flex;position:relative}.success-icon{width:96px;height:96px;filter:drop-shadow(0 0 24px rgba(var(--success-accent-rgb), .35))}.success-icon svg{width:100%;height:100%}.success-circle{stroke:var(--success-accent);stroke-width:3px;fill:rgba(var(--success-accent-rgb), .08);stroke-dasharray:226;stroke-dashoffset:226px;animation:.6s cubic-bezier(.4,0,.2,1) .1s forwards draw-circle}.success-check{stroke:var(--success-accent);stroke-width:4px;stroke-linecap:round;stroke-linejoin:round;fill:none;stroke-dasharray:60;stroke-dashoffset:60px;animation:.4s cubic-bezier(.4,0,.2,1) .65s forwards draw-check}@keyframes draw-circle{to{stroke-dashoffset:0}}@keyframes draw-check{to{stroke-dashoffset:0}}.success-text{flex-direction:column;gap:12px;display:flex}.success-headline{font-family:var(--font-heading);color:var(--text-primary);font-size:clamp(2rem,5vw,3rem);font-weight:700;animation:.5s .9s both fade-up}.success-sub{color:var(--text-muted);font-size:1.05rem;line-height:1.6;animation:.5s 1.05s both fade-up}.success-accent{color:var(--success-accent);font-weight:500}.success-cta{border:1px solid var(--border);color:var(--text-primary);font-family:var(--font-body);cursor:pointer;background:0 0;border-radius:8px;align-items:center;gap:10px;padding:14px 28px;font-size:.95rem;font-weight:500;transition:border-color .2s,color .2s,background .2s;animation:.5s 1.35s both fade-up;display:inline-flex}.success-cta:hover{border-color:var(--success-accent);color:var(--success-accent);background:rgba(var(--success-accent-rgb), .05)}.success-cta:focus-visible{outline:2px solid var(--color-yellow);outline-offset:2px}.success-cta-arrow{font-size:1rem;transition:transform .2s}.success-cta:hover .success-cta-arrow{transform:translate(-4px)}@keyframes fade-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.error-page{background:var(--bg-page);justify-content:center;align-items:center;min-height:calc(100svh - 64px);padding:48px 24px;display:flex;position:relative}.error-content{text-align:center;flex-direction:column;align-items:center;gap:40px;width:100%;max-width:560px;display:flex}.error-icon{filter:drop-shadow(0 0 20px #ffc80040);width:88px;height:88px;animation:.5s cubic-bezier(.34,1.56,.64,1) both icon-enter}.error-icon svg{width:100%;height:100%}.error-triangle{stroke:var(--color-yellow);stroke-width:3px;stroke-linejoin:round;fill:#ffc80014;stroke-dasharray:180;stroke-dashoffset:180px;animation:.6s cubic-bezier(.4,0,.2,1) .1s forwards draw-triangle,3s ease-in-out 1s infinite pulse-triangle}.error-exclaim-body{stroke:var(--color-yellow);stroke-width:4px;stroke-linecap:round;stroke-dasharray:20;stroke-dashoffset:20px;animation:.3s .6s forwards draw-line}.error-exclaim-dot{fill:var(--color-yellow);opacity:0;animation:.2s .85s forwards dot-appear}@keyframes draw-triangle{to{stroke-dashoffset:0}}@keyframes draw-line{to{stroke-dashoffset:0}}@keyframes dot-appear{to{opacity:1}}@keyframes pulse-triangle{0%,to{filter:drop-shadow(0 0 #ffc80000)}50%{filter:drop-shadow(0 0 8px #ffc80080)}}@keyframes icon-enter{0%{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}.error-text{flex-direction:column;gap:10px;animation:.4s .5s both fade-up;display:flex}.error-headline{font-family:var(--font-heading);color:var(--text-primary);font-size:clamp(1.8rem,5vw,2.6rem);font-weight:700}.error-sub{color:var(--text-muted);font-size:1rem;line-height:1.6}.error-sub strong{color:var(--text-primary);font-weight:600}.error-causes{text-align:left;width:100%;animation:.4s .8s both fade-up}.error-causes-title{color:var(--text-label);text-transform:uppercase;letter-spacing:.06em;margin-bottom:12px;font-size:.85rem;font-weight:600}.error-causes-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.error-causes-item{color:var(--text-muted);align-items:flex-start;gap:10px;font-size:.9rem;line-height:1.5;display:flex}.error-causes-bullet{color:var(--color-yellow);font-family:var(--font-heading);flex-shrink:0;margin-top:2px;font-size:.85rem}.error-actions{flex-wrap:wrap;justify-content:center;gap:12px;animation:.4s .95s both fade-up;display:flex}.error-btn{font-family:var(--font-body);cursor:pointer;border:1px solid #0000;border-radius:8px;align-items:center;gap:8px;padding:13px 24px;font-size:.95rem;font-weight:500;text-decoration:none;transition:opacity .2s,transform .15s;display:inline-flex}.error-btn:hover{opacity:.85;transform:translateY(-1px)}.error-btn:focus-visible{outline:2px solid var(--color-yellow);outline-offset:2px}.error-btn--primary{background:var(--color-yellow);color:var(--color-dark);font-weight:700}.error-btn--secondary{border-color:var(--border);color:var(--text-primary);background:0 0}.error-btn--secondary:hover{border-color:var(--text-muted)}
