:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;line-height:1.5;font-weight:400;color:#213547;background-color:#fff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;width:100%}body{margin:0;min-width:320px;min-height:100vh}h1{font-size:2.5rem;line-height:1.1;font-weight:600}h2{font-size:2rem;line-height:1.2;font-weight:500}button{border-radius:4px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#4a90e2;color:#fff;cursor:pointer;transition:background-color .2s}button:hover{background-color:#3a7bc8}button:focus,button:focus-visible{outline:2px solid #3a7bc8;outline-offset:2px}#root{width:100%;margin:0 auto;text-align:center}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion: no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}.app-container{display:flex;flex-direction:column;min-height:100vh;background-color:#f8f9fa}.app-header{text-align:center;padding:2rem 1rem;background-color:#343a40;color:#fff;margin-bottom:1rem}.app-header h1{margin-bottom:.5rem}.app-header p{font-size:1.1rem;max-width:600px;margin:0 auto;opacity:.9}main{flex:1;width:100%;max-width:1200px;margin:0 auto;padding:0 1rem}.app-footer{text-align:center;padding:1.5rem;background-color:#f1f3f5;border-top:1px solid #dee2e6;margin-top:2rem;color:#6c757d}.app-footer p{margin:0;font-size:.9rem}.disclaimer{font-size:.85rem;color:#777;font-style:italic;margin-top:10px;max-width:800px;margin-left:auto;margin-right:auto}.api-key-button{display:none}.floating-api-button{position:fixed;bottom:20px;right:20px;display:flex;align-items:center;gap:8px;padding:10px 16px;background-color:#4a6cf7;color:#fff;border:none;border-radius:50px;font-size:.9rem;box-shadow:0 2px 10px #0003;cursor:pointer;transition:all .3s ease;z-index:100}.floating-api-button:hover{background-color:#3a5bd9;transform:translateY(-2px);box-shadow:0 4px 12px #00000040}.api-key-icon{font-size:1.1rem}@media (max-width: 600px){.floating-api-button{padding:12px}.api-key-text{display:none}}.cv-review-container{background-color:#f9f9f9;border-radius:8px;padding:20px;margin-top:20px;box-shadow:0 2px 10px #0000001a}.cv-review-container h3{margin-top:0;padding-bottom:10px;border-bottom:1px solid #e0e0e0;color:#333;font-size:1.5rem}.cv-review-sections{display:flex;flex-direction:column;gap:20px;margin-top:15px}.cv-review-section{background-color:#fff;border-radius:6px;padding:15px;box-shadow:0 1px 3px #0000000d;transition:transform .2s,box-shadow .2s}.cv-review-section:hover{transform:translateY(-2px);box-shadow:0 3px 8px #00000014}.cv-review-section h4{margin-top:0;margin-bottom:10px;font-size:1.2rem;color:#444}.cv-review-content{font-size:.95rem;line-height:1.5;color:#333}.cv-review-section-strengths{border-left:4px solid #4caf50}.cv-review-section-strengths h4{color:#2e7d32}.cv-review-section-areas-for-improvement{border-left:4px solid #ff9800}.cv-review-section-areas-for-improvement h4{color:#e65100}.cv-review-section-specific-suggestions{border-left:4px solid #2196f3}.cv-review-section-specific-suggestions h4{color:#0d47a1}.cv-review-section-overall-impression{border-left:4px solid #9c27b0}.cv-review-section-overall-impression h4{color:#4a148c}.cv-review-section-review{border-left:4px solid #607d8b}.cv-review-disclaimer{margin-top:20px;padding-top:15px;border-top:1px solid #e0e0e0;font-size:.85rem;color:#757575;font-style:italic}.cv-review-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:30px;text-align:center;background-color:#f5f5f5;border-radius:8px;margin-top:20px}.cv-review-loader{border:4px solid #f3f3f3;border-top:4px solid #3498db;border-radius:50%;width:40px;height:40px;animation:spin 1.5s linear infinite;margin-bottom:15px}.cv-review-loading-hint{font-size:.9rem;color:#666;margin-top:5px}.cv-review-error{background-color:#fff4f4;border-left:4px solid #f44336;padding:15px;border-radius:4px;margin-top:20px}.cv-review-error h3{color:#d32f2f;margin-top:0;margin-bottom:10px}.cv-review-error p{color:#777;margin:0}@media (max-width: 768px){.cv-review-container{padding:15px}.cv-review-section{padding:12px}.cv-review-container h3{font-size:1.3rem}.cv-review-section h4{font-size:1.1rem}}.formatted-content{line-height:1.6}.formatted-content p{margin:.8em 0}.formatted-content strong{font-weight:600;color:#333}.formatted-content em{font-style:italic;color:#555}.formatted-content code{background-color:#f5f5f5;padding:.2em .4em;border-radius:3px;font-family:monospace;font-size:.9em;color:#d63384}.formatted-content h1,.formatted-content h2,.formatted-content h3,.formatted-content h4,.formatted-content h5,.formatted-content h6{margin-top:1.2em;margin-bottom:.6em;font-weight:600;line-height:1.25;color:#333}.formatted-content h1{font-size:1.5em;border-bottom:1px solid #eee;padding-bottom:.3em}.formatted-content h2{font-size:1.3em;border-bottom:1px solid #eee;padding-bottom:.3em}.formatted-content h3{font-size:1.2em}.formatted-content h4{font-size:1.1em}.formatted-content h5,.formatted-content h6{font-size:1em}.formatted-content ul,.formatted-content ol{padding-left:1.5em;margin:.8em 0}.formatted-content ul{list-style-type:disc}.formatted-content ol{list-style-type:decimal}.formatted-content li{margin:.3em 0}.formatted-content li>ul,.formatted-content li>ol{margin:.2em 0 .2em 1em}.formatted-content a{color:#0366d6;text-decoration:none}.formatted-content a:hover{text-decoration:underline}.formatted-content blockquote{border-left:3px solid #ddd;padding-left:1em;color:#666;margin:.8em 0}.formatted-content li p{margin-top:.3em;margin-bottom:.3em}.cv-review-content.formatted-content>*:first-child{margin-top:0}.cv-review-content.formatted-content>*:last-child{margin-bottom:0}.framework-review-container{background-color:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;padding:20px;margin-top:20px;max-width:800px;width:100%}.framework-review-container h3{color:#333;margin-top:0;margin-bottom:20px;text-align:center;font-size:1.5rem}.framework-review-container h4{color:#444;margin-top:20px;margin-bottom:10px;font-size:1.2rem;border-bottom:1px solid #eee;padding-bottom:5px}.framework-review-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:30px;text-align:center}.framework-review-loader{border:5px solid #f3f3f3;border-top:5px solid #3498db;border-radius:50%;width:50px;height:50px;animation:spin 1s linear infinite;margin-bottom:15px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.framework-review-loading-hint{color:#666;font-size:.9rem}.framework-review-error{background-color:#fff5f5;border-left:4px solid #e53e3e;padding:15px;margin-top:10px;border-radius:4px}.framework-review-error h3{color:#e53e3e;margin-top:0;font-size:1.2rem}.framework-score-summary{display:flex;justify-content:center;margin-bottom:25px}.framework-score-card{background-color:#f8f9fa;border-radius:8px;padding:20px;text-align:center;min-width:150px;box-shadow:0 2px 6px #0000000d;display:flex;flex-direction:column;align-items:center}.framework-score-header{font-size:.9rem;color:#666;margin-bottom:10px}.framework-score-value{font-size:2rem;font-weight:700;color:#333}.framework-score-grade{font-size:2.5rem;font-weight:700;margin-top:5px;color:#4a5568}.framework-criteria-scores{margin-bottom:25px}.framework-score-bars{display:flex;flex-direction:column;gap:15px}.framework-score-bar-item{display:flex;align-items:center;flex-wrap:wrap}.framework-score-bar-label{width:180px;font-size:.9rem;color:#4a5568;display:flex;flex-direction:column}.framework-score-weight{font-size:.8rem;color:#718096}.framework-score-bar-container{flex:1;background-color:#edf2f7;height:12px;border-radius:6px;margin:0 10px;overflow:hidden;position:relative}.framework-score-bar{height:100%;background-color:#4299e1;border-radius:6px;position:relative}.framework-score-bar:after{content:attr(data-score);position:absolute;top:-18px;right:-10px;font-size:.8rem;color:#4a5568}.framework-score-value{width:40px;text-align:right;font-size:.9rem;font-weight:700;color:#4a5568}.framework-feedback-sections{margin-top:30px}.framework-review-section{margin-bottom:25px}.framework-review-content{color:#4a5568;line-height:1.6}.framework-top-recommendations{background-color:#f7fafc;border-radius:8px;padding:15px;border-left:4px solid #4299e1}.framework-recommendations-list{margin:10px 0;padding-left:30px}.framework-recommendations-list li{margin-bottom:10px;color:#2d3748}.framework-feedback-list{margin:10px 0;padding-left:20px}.framework-feedback-list li{margin-bottom:8px}.framework-summary{background-color:#f7fafc;border-radius:8px;padding:15px;border-left:4px solid #48bb78;margin-bottom:25px}.framework-review-actions{display:flex;justify-content:center;margin-top:30px}.framework-toggle-raw-button{background-color:#edf2f7;border:none;color:#4a5568;padding:8px 16px;border-radius:4px;cursor:pointer;font-size:.9rem;transition:all .2s}.framework-toggle-raw-button:hover{background-color:#e2e8f0}.framework-raw-content{margin-top:20px;background-color:#f8f9fa;border-radius:8px;padding:15px}.framework-raw-content pre{white-space:pre-wrap;font-family:monospace;font-size:.85rem;color:#4a5568;overflow-x:auto}.framework-review-disclaimer{margin-top:30px;font-size:.8rem;color:#718096;text-align:center;padding-top:15px;border-top:1px solid #edf2f7}@media (max-width: 768px){.framework-score-bar-item{flex-direction:column;align-items:flex-start;margin-bottom:15px}.framework-score-bar-label{width:100%;margin-bottom:5px}.framework-score-bar-container{width:100%;margin:5px 0}.framework-score-value{align-self:flex-end}}.framework-radar-chart{max-width:500px;height:400px;margin:30px auto;padding:15px;background-color:#f8f9fa;border-radius:8px;box-shadow:0 2px 6px #0000000d}.pdf-extractor{max-width:900px;margin:0 auto;padding:20px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif}.pdf-extractor h2{text-align:center;margin-bottom:30px;color:#333}.upload-area{border:2px dashed #ccc;border-radius:8px;padding:30px;text-align:center;margin-bottom:20px;background-color:#f9f9f9;transition:all .3s ease}.upload-area:hover{border-color:#4a90e2;background-color:#f0f7ff}.file-input{display:none}.upload-label{display:block;cursor:pointer;width:100%}.upload-icon{font-size:48px;margin-bottom:10px}.upload-hint{margin-top:15px;font-size:12px;color:#666}.loader{display:inline-block;position:relative;width:80px;height:80px;margin:20px auto}.loader:after{content:" ";display:block;border-radius:50%;width:0;height:0;margin:8px;box-sizing:border-box;border:32px solid #4a90e2;border-color:#4a90e2 transparent #4a90e2 transparent;animation:loader 1.2s infinite}@keyframes loader{0%{transform:rotate(0);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}50%{transform:rotate(180deg);animation-timing-function:cubic-bezier(.215,.61,.355,1)}to{transform:rotate(360deg)}}.error-message{color:#e74c3c;text-align:center;margin:15px 0;padding:10px;background-color:#fdf2f2;border-radius:5px;border-left:4px solid #e74c3c}.results-container{margin-top:30px;border:1px solid #ddd;border-radius:8px;overflow:hidden}.results-header{background-color:#f5f5f5;padding:15px;border-bottom:1px solid #ddd}.results-header h3{margin:0 0 15px;font-size:18px;color:#333}.action-buttons{display:flex;flex-wrap:wrap;gap:10px}.action-button{padding:8px 16px;background-color:#4a90e2;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;transition:background-color .2s}.action-button:hover{background-color:#3a7bc8}.action-button.reset{background-color:#6c757d}.action-button.reset:hover{background-color:#5a6268}.text-content{padding:20px;max-height:500px;overflow-y:auto;background-color:#fff;transition:max-height .3s ease,opacity .3s ease,margin .3s ease;overflow:hidden}.text-content pre{margin:0;white-space:pre-wrap;word-wrap:break-word;font-family:monospace;font-size:14px;line-height:1.5}@media (max-width: 768px){.pdf-extractor{padding:10px}.action-buttons{flex-direction:column}.text-content{padding:10px}}.review-prompt{margin:20px 0;text-align:center;padding:15px;background-color:#f5f9ff;border-radius:8px;border:1px dashed #c7d8f7}.review-mode-toggle{margin-bottom:15px}.review-mode-label{display:flex;align-items:center;justify-content:center;cursor:pointer;-webkit-user-select:none;user-select:none}.review-mode-checkbox{margin-right:8px;cursor:pointer}.review-mode-text{font-size:.9rem;color:#4a6cf7;font-weight:500}.job-description-section{margin:15px 0}.toggle-job-desc-button{background-color:transparent;color:#4a6cf7;border:1px solid #c7d8f7;border-radius:4px;padding:8px 15px;font-size:.9rem;cursor:pointer;transition:all .2s}.toggle-job-desc-button:hover{background-color:#f0f5ff;border-color:#a0b8f3}.job-description-input{margin-top:15px;text-align:left;animation:fadeIn .3s}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.job-desc-hint{font-size:.85rem;color:#666;margin-bottom:8px;font-style:italic}.job-desc-textarea{width:100%;border:1px solid #c7d8f7;border-radius:4px;padding:10px;font-family:inherit;font-size:.9rem;resize:vertical;min-height:100px;margin-bottom:15px}.job-desc-textarea:focus{border-color:#4a6cf7;outline:none;box-shadow:0 0 0 2px #4a6cf71a}.review-button{background-color:#4a6cf7;color:#fff;border:none;border-radius:4px;padding:12px 20px;font-size:16px;cursor:pointer;transition:background-color .2s,transform .1s;box-shadow:0 2px 5px #0000001a}.review-button:hover{background-color:#3a5bd9;transform:translateY(-1px);box-shadow:0 4px 8px #0000001a}.review-button:active{transform:translateY(0);box-shadow:0 2px 3px #0000001a}.review-info{margin-top:10px;font-size:14px;color:#666}.toggle-text-container{display:flex;justify-content:center;margin:15px 0}.toggle-text-button{background-color:#f1f3f5;color:#495057;border:1px solid #dee2e6;border-radius:4px;padding:8px 16px;font-size:.9rem;cursor:pointer;transition:all .2s ease}.toggle-text-button:hover{background-color:#e9ecef;border-color:#ced4da}.api-key-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0009;display:flex;justify-content:center;align-items:center;z-index:1000;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.api-key-modal{background-color:#fff;border-radius:8px;padding:2rem;width:90%;max-width:500px;box-shadow:0 5px 30px #0003;animation:modalFadeIn .3s ease-out;max-height:90vh;overflow-y:auto}@keyframes modalFadeIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.api-key-modal h2{margin-top:0;color:#333;font-size:1.5rem;margin-bottom:1rem}.api-key-modal p{margin-bottom:1rem;line-height:1.5;color:#555}.api-key-instructions{background-color:#f8f9fa;padding:.8rem;border-radius:4px;font-size:.9rem;border-left:3px solid #4a6cf7}.api-key-instructions a{color:#4a6cf7;text-decoration:none;font-weight:500}.api-key-instructions a:hover{text-decoration:underline}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:#333}.form-group input{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:1rem;transition:border-color .2s}.form-group input:focus{border-color:#4a6cf7;outline:none;box-shadow:0 0 0 2px #4a6cf733}.form-group .input-error{border-color:#e74c3c}.form-group .error-message{color:#e74c3c;font-size:.85rem;margin-top:.3rem;margin-bottom:0}.modal-actions{display:flex;justify-content:flex-end;gap:.8rem;margin-top:1.5rem}.button-primary,.button-secondary{padding:.75rem 1.5rem;border-radius:4px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s;border:none}.button-primary{background-color:#4a6cf7;color:#fff}.button-primary:hover{background-color:#3a5bd9;transform:translateY(-1px);box-shadow:0 2px 5px #0000001a}.button-secondary{background-color:#e9ecef;color:#495057}.button-secondary:hover{background-color:#dee2e6}@media (max-width: 600px){.api-key-modal{padding:1.5rem}.modal-actions{flex-direction:column-reverse;gap:.5rem}.button-primary,.button-secondary{width:100%}}.existing-key-notice{background-color:#e8f4fd;border-radius:4px;padding:.8rem;margin-bottom:1rem;border-left:3px solid #2196f3}.existing-key-notice p{margin:0;color:#0d47a1;font-size:.9rem}
