.header{background-color:#fff;box-shadow:0 2px 8px #000c;position:sticky;top:0;z-index:100}.header-content{display:flex;align-items:center;justify-content:center;padding:16px 0}.logo{display:flex;align-items:center;gap:12px}.logo-image{height:40px;width:auto}.logo-text{font-size:20px;font-weight:700;color:#1a202c;display:none}@media screen and (min-width:768px){.header-content{padding:20px 0}.logo-image{height:48px}.logo-text{display:block;font-size:24px}}@media screen and (min-width:1024px){.logo-image{height:56px}.logo-text{font-size:28px}}.job-description-section{background-color:#fff;border-radius:12px;padding:24px;margin-bottom:24px;box-shadow:0 2px 8px #00000080}.job-description-textarea{width:100%;min-height:200px;padding:16px;border:2px solid #e2e8f0;border-radius:8px;font-size:15px;resize:vertical;transition:border-color .3s ease}.job-description-textarea:focus{outline:none;border-color:#667eea;box-shadow:0 0 3px #667eea1a}.job-description-textarea::placeholder{color:#a3a0c0}.section-header{text-align:center}.char-counter{text-align:center;font-size:13px;color:#718096;margin-top:8px}@media screen and (min-width:768px){.job-description-section{padding:32px;margin-bottom:32px}.job-description-textarea{min-height:240px;padding:20px;font-size:16px}.char-counter{font-size:14px}}@media screen and (min-width:1024px){.job-description-section{padding:40px}.job-description-textarea{min-height:280px}}.resume-upload-section{background-color:#fff;padding:24px;border-radius:12px;margin-bottom:24px;box-shadow:0 2px 8px #00000080}.upload-container{margin-top:25px}.file-input{display:none}.file-label{display:flex;flex-direction:column;align-items:center;padding:40px 20px;border:3px dashed #cbd5e0;border-radius:12px;background-color:#f7fafc;cursor:pointer;transition:all .3s ease}.file-label:hover{border-color:#667eea;background-color:#edf2f7}.file-label.processing{cursor:wait;opacity:.7}.upload-icon{font-size:48px;color:#667eea;margin-bottom:16px}.upload-text{font-size:16px;color:#2d3748;text-align:center}.upload-hint{font-size:13px;color:#718096;text-align:center}.success-message{display:flex;align-items:center;justify-content:center;text-align:center;margin-top:16px;padding:12px 16px;background-color:#c6f6d5;color:#22543d;font-size:14px;gap:8px;border-radius:8px}.success-message i{font-size:16px}.error-message{display:flex;align-items:center;justify-content:center;text-align:center;margin-top:16px;padding:12px 16px;background-color:#fed7d7;color:#742a2a;gap:8px;border-radius:8px}@media screen and (min-width:768px){.resume-upload-section{padding:32px;margin-bottom:32px}.file-label{padding:60px 40px}.upload-icon{font-size:64px}.upload-text{font-size:18px}.upload-hint{font-size:14px}.success-message,.error-message{font-size:15px}}@media screen and (min-width:1024px){.resume-upload-section{padding:40px}.file-label{padding:80px 60px}.upload-icon{font-size:72px}}.analysis-results{background-color:#f8f7f7;border-radius:12px;padding:24px;margin-bottom:24px;box-shadow:0 2px 8px #00000080}.results-header h2{font-size:24px;color:#1a202c;margin-bottom:24px;text-align:center}.results-subtitle{text-align:center;color:#718096;font-size:14px;margin-bottom:24px}.score-card{display:flex;flex-direction:column;align-items:center;border-radius:12px;margin-bottom:32px;gap:24px;padding:24px}.score-card.score-excellent{background:linear-gradient(135deg,#84fab0,#8fd3f4)}.score-card.score-good{background:linear-gradient(135deg,#a8edea,#fed63e)}.score-card.score-moderate{background:linear-gradient(135deg,#ffecd2,#fcb69f)}.score-card.score-low{background:linear-gradient(135deg,#fbc2eb,#f97316)}.score-card.score-critical{background:linear-gradient(135deg,#ff9a9e,#ef4444)}.score-circle-wrapper{position:relative;width:140px;height:140px;flex-shrink:0}.score-ring{width:100%;height:100%}.score-ring-track{stroke:#ffffff4d}.score-ring-fill{stroke-linecap:round;transition:stroke-dasharray 1s ease}.score-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;align-items:baseline;gap:2px}.score-number{font-size:48px;font-weight:800;color:#fff;line-height:1}.score-pct{font-size:24px;color:#ffffffd9}.score-meta{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center}.score-badge{display:inline-block;padding:4px 16px;border-radius:999px;font-size:13px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#fff}.score-title{font-size:20px;font-weight:700;color:#fff;margin:0}.score-status{font-size:14px;color:#ffffffd9;max-width:400px;line-height:1.5;margin:0}.coverage-bar-wrapper{margin-top:12px;width:100%;max-width:360px;display:flex;flex-direction:column;gap:4px}.coverage-label{display:flex;justify-content:space-between;font-size:12px;color:#ffffffbf;font-weight:500}.coverage-bar{height:6px;background:#fff3;border-radius:999px;overflow:hidden}.coverage-bar-fill{height:100%;border-radius:999px;transition:width 1s ease-in-out}.coverage-detail{font-size:12px;color:#fff9;margin:0;text-align:center}.keywords-grid{display:grid;grid-template-columns:1fr;gap:16px;margin-bottom:24px}.keywords-panel{background:#fff;border-radius:12px;padding:20px;border:1px solid #e2e8f0}.keywords-panel-header{display:flex;align-items:center;gap:8px;margin-bottom:16px}.keywords-panel-header h3{display:flex;align-items:center;gap:8px;font-size:16px;color:#2d3748;margin:0}.keywords-count{font-size:12px;background:#edf2f7;color:#718096;padding:2px 8px;border-radius:6px;font-weight:600}.keywords-icon{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;flex-shrink:0}.keywords-icon--found{background:#c6f6d5;color:#22543d}.keywords-icon--missing{background:#fed7d7;color:#742a2a}.keywords-list{display:flex;flex-wrap:wrap;gap:8px}.keyword-tag{padding:6px 14px;border-radius:20px;font-size:14px;transition:transform .2s ease}.keyword-tag:hover{transform:translateY(-2px)}.keyword-tag--found{background-color:#c6f6d5;color:#22543d}.keyword-tag--missing{background-color:#fed7d7;color:#742a2a}.keywords-empty{font-size:14px;color:#718096;font-style:italic}.keywords-empty--success{color:#276749;font-style:normal;font-weight:500}.recommendations-panel{background-color:#edf2f7;padding:24px;border-radius:12px}.recommendations-header{display:flex;align-items:center;gap:8px;margin-bottom:16px}.rec-icon{font-size:20px}.recommendations-header h3{font-size:18px;color:#2d3748;margin:0}.recommendations-list{list-style:none;padding:0;margin:0}.recommendation-item{display:flex;align-items:flex-start;gap:12px;padding:12px 0;border-bottom:1px solid #cbd5e0}.recommendation-item:last-child{border-bottom:none}.rec-bullet{flex-shrink:0;width:24px;height:24px;border-radius:50%;background:#667eea;color:#fff;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;margin-top:1px}.recommendation-item p{font-size:14px;color:#4a5568;line-height:1.6;margin:0}@media screen and (min-width:768px){.analysis-results{padding:32px;margin-bottom:32px}.results-header h2{font-size:28px}.score-card{flex-direction:row;padding:40px;gap:40px}.score-meta{align-items:flex-start;text-align:left}.coverage-bar-wrapper{max-width:100%}.score-circle-wrapper{width:160px;height:160px}.score-number{font-size:52px}.keywords-grid{grid-template-columns:1fr 1fr}.keywords-panel-header h3{font-size:18px}.keyword-tag{font-size:15px}.recommendations-panel{padding:32px}.recommendations-header h3{font-size:20px}.recommendation-item p{font-size:15px}}@media screen and (min-width:1024px){.analysis-results{padding:40px}.results-header h2{font-size:32px}.score-circle-wrapper{width:180px;height:180px}.score-number{font-size:56px}.score-pct{font-size:28px}.score-title{font-size:24px}.keyword-tag,.recommendation-item p{font-size:16px}}.footer{background-color:#1a202c;color:#e2e8f0;padding:40px 0 20px;margin-top:auto}.footer-content{display:flex;flex-direction:column;gap:32px;margin-bottom:32px}.footer-info h3{font-size:20px;color:#fff;margin-bottom:12px;text-align:center}.footer-info p{font-size:14px;color:#a0aec0;line-height:1.6;text-align:center}.footer-social{display:flex;flex-direction:column;text-align:center}.footer-social h4{font-size:16px;color:#fff;margin-bottom:16px;text-align:center}.social-links{display:flex;gap:16px;justify-content:center}.social-link{display:flex;align-items:center;justify-content:center;text-decoration:none;width:44px;height:44px;background-color:#2d3748;border-radius:50%;color:#e2e8f0;transition:all .3s ease;font-size:20px}.social-link:hover{background-color:#667eea;transform:translateY(-3px)}.footer-bottom{border-top:1px solid #2d3748;padding-top:20px;text-align:center}.footer-bottom p{font-size:13px;color:#a0aec0;margin-bottom:8px}.footer-disclaimer{font-size:12px;color:#718096;font-style:italic}@media screen and (min-width:768px){.footer{padding:60px 0 30px}.footer-content{flex-direction:row;justify-content:space-between;align-items:flex-start;gap:48px}.footer-info{text-align:left}.footer-info h3{font-size:22px}.footer-info p{font-size:15px}.footer-social h4{font-size:17px}.social-links{gap:20px}.social-link{width:48px;height:48px;font-size:22px}.footer-bottom{display:flex;justify-content:space-between;align-items:center;text-align:left}.footer-bottom p{font-size:14px}.footer-disclaimer{font-size:13px}}@media screen and (min-width:1024px){.footer{padding:80px 0 40px}.footer-info h3{font-size:24px}.footer-info p{font-size:16px}.footer-social h4{font-size:18px}.social-link{width:52px;height:52px;font-size:24px}.footer-bottom p{margin-bottom:0}}*{margin:0;padding:0;box-sizing:border-box}body{line-height:1.6}.app{display:flex;min-height:100vh;flex-direction:column}.main-content{flex:1;padding:20px 0}.container{width:100%;max-width:1200px;margin:0 auto 40px;padding:0 16px}.intro-section{text-align:center;margin-bottom:40px}.intro-section h1{font-size:28px;font-weight:800;color:#1a202c;margin-bottom:12px}.intro-section p{font-size:16px;color:#4a5568;max-width:600px;margin:0 auto}.action-section{display:flex;justify-content:center;margin:40px 0}.btn-analyze,.btn-reset{padding:16px 48px;font-size:18px;font-weight:500;border:none;border-radius:8px;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 6px #0000001a}.btn-analyze{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-analyze:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 12px #667eea66}.btn-analyze:disabled{background:#cbd5e0;cursor:not-allowed;transform:none}.btn-reset{background-color:#4299e1;color:#fff}.btn-reset:hover{background-color:#3182ce;transform:translateY(-2px);box-shadow:0 6px 12px #4299ff66}.section-header{margin-bottom:20px}.section-header h2{font-size:22px;font-weight:500;color:#2d3748;margin-bottom:8px}.section-header p{font-size:14px;color:#718096}@media screen and (min-width:768px){.main-content{padding:40px 0}.container{padding:0 40px}.intro-section{margin-bottom:60px}.intro-section h1{font-size:36px;margin-bottom:16px}.intro-section p{font-size:18px}.section-header h2{font-size:24px}}@media screen and (min-width:1024px){.main-content{padding:60px 0}.intro-section h1{font-size:42px}.intro-section p{font-size:20px}.btn-analyze,.btn-reset{padding:18px 60px;font-size:20px}}
