:root{--bg-start:#fff;--bg-end:#e6f2ff;--primary:#0b66d6;--accent:#6dc8ff;--soft-white:#fff;--text-main:#1f3a5a;--muted:#5d6d7e}body{animation:gradientShift 10s ease infinite;background:linear-gradient(120deg,#fff,#e6f2ff 50%,#fff);background:linear-gradient(120deg,var(--bg-start) 0,var(--bg-end) 50%,var(--bg-start) 100%);background-size:200% 200%;color:#1f3a5a;color:var(--text-main);font-family:Segoe UI,Roboto,sans-serif;min-height:100vh}.container{margin:0 auto;max-width:850px;padding:0 20px}@keyframes slideDown{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}@keyframes cloudFloat{0%{transform:translateY(0)}50%{transform:translateY(-5px)}to{transform:translateY(0)}}@keyframes pulseBlue{0%{box-shadow:0 0 0 0 #0b66d659}70%{box-shadow:0 0 0 15px #0b66d600}to{box-shadow:0 0 0 0 #0b66d600}}@keyframes gradientShift{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}.header{animation:slideDown .8s ease-out;padding:80px 0 40px;text-align:center}.logo{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#0b66d6,#6dc8ff);background:linear-gradient(135deg,var(--primary),var(--accent));-webkit-background-clip:text;font-size:3rem;font-weight:800;margin-bottom:15px}.tagline{color:#5d6d7e;color:var(--muted);font-size:1.5rem}.highlight{background:#0b66d614;border-radius:6px;color:#0b66d6;color:var(--primary);padding:2px 8px}.upload-section{animation:fadeInUp 1s ease-out .2s backwards;background:#fff;background:var(--soft-white);border:2px dashed #0b66d61f;border-radius:30px;box-shadow:0 10px 40px #0b66d60d;cursor:pointer;margin:40px 0;padding:60px 40px;text-align:center;transition:all .4s cubic-bezier(.175,.885,.32,1.275)}.upload-section:hover{border-color:#0b66d6;border-color:var(--primary);box-shadow:0 15px 50px #0b66d61f;transform:translateY(-5px)}.upload-icon{animation:cloudFloat 3s ease-in-out infinite;display:block;font-size:4.5rem;margin-bottom:20px}.upload-btn{animation:pulseBlue 2s infinite;background:linear-gradient(135deg,#0b66d6,#6dc8ff);background:linear-gradient(135deg,var(--primary),var(--accent));border:none;border-radius:50px;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:600;margin-top:20px;padding:18px 40px;transition:all .3s ease}.upload-btn:hover{filter:brightness(1.06);transform:scale(1.04)}.score-card{animation:fadeInUp .6s ease-out;background:#fff;background:var(--soft-white);border-radius:25px;box-shadow:0 10px 30px #0b66d60f;margin-bottom:30px;padding:40px;text-align:center}.score-number{color:#0b66d6;color:var(--primary);font-size:5rem;font-weight:900}.feedback-card{animation:fadeInUp .8s ease-out backwards;background:#fff;background:var(--soft-white);border-left:6px solid #0b66d6;border-left:6px solid var(--primary);border-radius:20px;box-shadow:0 5px 15px #00000005;margin-bottom:20px;padding:25px;transition:transform .3s ease}.feedback-card:hover{transform:translateX(10px)}.strengths{border-left-color:#2ecc71}.weaknesses{border-left-color:#e74c3c}.recommendations{border-left-color:#0b66d6;border-left-color:var(--primary)}.spinner{animation:spin 1s linear infinite;border:4px solid #0b66d614;border-radius:50%;border-top-color:#0b66d6;border-top:4px solid var(--primary);height:60px;width:60px}@keyframes spin{to{transform:rotate(1turn)}}.api-status{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#fffc;border-radius:30px;box-shadow:0 5px 15px #0000000d;font-weight:600;padding:10px 20px;position:fixed;right:20px;top:20px}.subtitle{font-size:1.1rem;margin-top:8px}.no-signup,.subtitle{color:#5d6d7e;color:var(--muted)}.no-signup{font-size:.9rem;margin-top:10px}.upload-subtext{color:#5d6d7e;color:var(--muted);margin-bottom:8px}.file-info{background:#f7fbff;border-left:4px solid #6dc8ff;border-left:4px solid var(--accent);border-radius:10px;color:#1f3a5a;color:var(--text-main);display:none;margin-top:20px;padding:16px}.file-info.show{display:block}.file-selected{border-color:#6dc8ff;border-color:var(--accent);box-shadow:0 6px 20px #0b66d60f}.btn-secondary{background:#0000;border:2px solid #0b66d614;border-radius:50px;color:#5d6d7e;color:var(--muted);cursor:pointer;font-size:1rem;padding:12px 25px;transition:all .25s ease}.btn-secondary:hover{border-color:#0b66d6;border-color:var(--primary);color:#0b66d6;color:var(--primary);transform:translateY(-2px)}.footer{border-top:1px solid #0f4c780f;color:#5d6d7e;color:var(--muted);margin-top:60px;padding:40px 0;text-align:center}.rating{margin:20px 0}.stars{color:gold;font-size:1.2rem;margin:0 10px}.error{background:#d728280f;border:1px solid #e74c3c2e;border-radius:10px;color:#c0392b;display:none;margin:20px 0;padding:16px}.error.show{display:block}.feedback-list{list-style:none;padding-left:0}.feedback-item{border-bottom:1px solid #0000000a;color:#5d6d7e;color:var(--muted);padding:10px 0}.feedback-item:last-child{border-bottom:none}.actions{margin:40px 0;text-align:center}@media (max-width:768px){.container{padding:0 15px}.logo{font-size:2rem}.tagline{font-size:1.2rem}.upload-section{padding:30px 20px}.score-number{font-size:3rem}}*{box-sizing:border-box;margin:0;padding:0}body{background:#fff;color:#1a1a1a;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6}.page{min-height:100vh;padding:40px 20px}.upload-page{align-items:flex-start;display:flex;gap:60px;justify-content:space-between;margin:0 auto;max-width:1400px}.upload-container{flex:1 1;max-width:700px}.badge{align-items:center;animation:badgeBounce 2s ease-in-out infinite;background:#e8f4ff;border-radius:20px;box-shadow:0 2px 8px #0066ff26;color:#06f;display:inline-flex;font-size:12px;font-weight:600;gap:8px;margin-bottom:24px;padding:8px 16px}@keyframes badgeBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.badge-icon{animation:iconSpin 3s linear infinite;font-size:14px}@keyframes iconSpin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.main-title{color:#1a1a1a;font-size:48px;font-weight:700;line-height:1.2;margin-bottom:24px}.highlight-blue{color:#06f}.main-description{color:#666;font-size:18px;line-height:1.6;margin-bottom:32px}.action-buttons{display:flex;gap:16px;margin-bottom:32px}.btn-primary{align-items:center;background:linear-gradient(135deg,#06f,#0052cc);border:none;border-radius:12px;box-shadow:0 4px 12px #0066ff4d;color:#fff;cursor:pointer;display:flex;font-size:16px;font-weight:600;gap:8px;overflow:hidden;padding:16px 32px;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.btn-primary:before{background:#ffffff4d;border-radius:50%;content:"";height:0;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);transition:width .6s,height .6s;width:0}.btn-primary:hover{background:linear-gradient(135deg,#0052cc,#003d99);box-shadow:0 8px 20px #06f6;transform:translateY(-2px)}.btn-primary:hover:before{height:300px;width:300px}.btn-primary:active{box-shadow:0 2px 8px #0066ff4d;transform:translateY(0)}.btn-primary .btn-icon{animation:iconBounce 2s ease-in-out infinite}@keyframes iconBounce{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}.btn-secondary-outline{background:#0000;border:2px solid #e0e0e0;border-radius:12px;color:#666;cursor:pointer;font-size:16px;font-weight:600;overflow:hidden;padding:16px 32px;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.btn-secondary-outline:after{background:#06f;bottom:0;content:"";height:2px;left:0;position:absolute;transition:width .4s ease;width:0}.btn-secondary-outline:hover{background:#0066ff0d;border-color:#06f;box-shadow:0 4px 12px #0066ff26;color:#06f;transform:translateY(-2px)}.btn-secondary-outline:hover:after{width:100%}.btn-secondary-outline:active{transform:translateY(0)}.error-message{background:#ffe8e8;border-radius:8px;color:#d32f2f;margin-bottom:24px;padding:12px 16px}.stats{align-items:center;display:flex;gap:12px;margin-bottom:40px}.stat-avatars{display:flex;margin-left:-8px}.avatar{border:2px solid #fff;border-radius:50%;height:40px;margin-left:-8px;width:40px}.stat-text{color:#666;font-size:14px}.companies-section{margin-top:60px}.companies-label{color:#999;font-size:12px;letter-spacing:.5px;margin-bottom:16px}.companies-logos{align-items:center;display:flex;flex-wrap:wrap;gap:24px}.company-logo{color:#1a1a1a;font-size:18px;font-weight:600}.company-logo-img{cursor:pointer;filter:grayscale(.3);height:40px;transition:all .3s cubic-bezier(.4,0,.2,1);width:auto}.company-logo-img:hover{box-shadow:0 4px 12px #00000026;filter:grayscale(0);transform:translateY(-4px) scale(1.05)}.modal-overlay{align-items:center;background:#0009;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.modal-content{animation:modalSlideIn .3s ease-out;background:#fff;border-radius:24px;box-shadow:0 20px 60px #0000004d;max-height:90vh;max-width:600px;overflow-y:auto;padding:40px;position:relative;width:100%}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.modal-close{align-items:center;background:#0000;border:none;border-radius:50%;color:#999;cursor:pointer;display:flex;font-size:32px;height:40px;justify-content:center;position:absolute;right:20px;top:20px;transition:all .3s cubic-bezier(.4,0,.2,1);width:40px}.modal-close:hover{background:#f5f5f5;color:#333;transform:rotate(90deg) scale(1.1)}.modal-close:active{transform:rotate(90deg) scale(.95)}.modal-title{animation:slideInDown .5s ease-out;color:#1a1a1a;font-size:28px;font-weight:700;margin-bottom:32px}@keyframes slideInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.modal-steps{display:flex;flex-direction:column;gap:24px;margin-bottom:32px}.modal-step{align-items:flex-start;animation:fadeInUp .5s ease-out backwards;display:flex;gap:16px}.modal-step:first-child{animation-delay:.1s}.modal-step:nth-child(2){animation-delay:.2s}.modal-step:nth-child(3){animation-delay:.3s}.modal-step:nth-child(4){animation-delay:.4s}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.step-number{align-items:center;background:linear-gradient(135deg,#06f,#0052cc);border-radius:50%;box-shadow:0 4px 12px #0066ff4d;color:#fff;display:flex;flex-shrink:0;font-size:18px;font-weight:700;height:40px;justify-content:center;transition:all .3s;width:40px}.modal-step:hover .step-number{box-shadow:0 6px 16px #06f6;transform:scale(1.1) rotate(5deg)}.step-info h3{color:#1a1a1a;font-size:18px;font-weight:600;margin-bottom:8px}.step-info p{color:#666;font-size:14px;line-height:1.6}.modal-btn{animation:pulse 2s ease-in-out infinite;margin-top:8px;width:100%}.expert-card-right{background:linear-gradient(135deg,#f5f5f5,#e8e8e8);border-radius:24px;box-shadow:0 8px 32px #00000014;padding:32px;position:relative;width:400px}.expert-badge{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;color:#666;font-size:12px;left:24px;padding:12px 16px;position:absolute;top:24px}.badge-green{color:#4caf50;font-size:16px}.expert-number{color:#1a1a1a;font-size:24px;font-weight:700;margin-top:4px}.expert-photo{border-radius:16px;height:400px;margin-bottom:16px;object-fit:cover;width:100%}.expert-stats-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000d;margin-bottom:16px;padding:16px}.stat-item{align-items:center;display:flex;gap:12px}.stat-icon{font-size:24px}.stat-label{color:#999;font-size:12px}.stat-value{color:#1a1a1a;font-size:20px;font-weight:700}.expert-rating{align-items:center;display:flex;font-size:18px;gap:8px;justify-content:center}.rating-value{font-weight:700}.processing-page{align-items:center;background:#fafafa;display:flex;justify-content:center}.processing-container{max-width:600px;text-align:center}.processing-title{color:#1a1a1a;font-size:36px;font-weight:700;margin-bottom:12px}.processing-subtitle{color:#666;font-size:18px;margin-bottom:48px}.processing-icon-wrapper{margin-bottom:48px}.processing-icon{display:inline-block}.icon-circle{animation:pulse 2s ease-in-out infinite;height:120px;width:120px}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}}.checkmark-icon{height:100%;width:100%}.checkmark-path{stroke-dasharray:100;stroke-dashoffset:100;animation:draw 2s ease-in-out infinite}@keyframes draw{0%{stroke-dashoffset:100}50%,to{stroke-dashoffset:0}}.steps-list{background:#fff;border-radius:16px;box-shadow:0 2px 16px #0000000f;margin-bottom:24px;padding:32px;text-align:left}.step-item{border-bottom:1px solid #f0f0f0;display:flex;gap:16px;opacity:.4;padding:16px 0;transition:opacity .3s}.step-item:last-child{border-bottom:none}.step-item.active,.step-item.completed{opacity:1}.step-indicator{align-items:center;display:flex;flex-shrink:0;height:24px;justify-content:center;width:24px}.step-circle{border:2px solid #e0e0e0;border-radius:50%;height:12px;width:12px}.step-item.active .step-circle{animation:pulse-circle 1.5s ease-in-out infinite;background:#06f;border-color:#06f}@keyframes pulse-circle{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}.step-check{color:#4caf50;font-size:18px;font-weight:700}.step-content{flex:1 1}.step-text{color:#666;font-size:16px}.step-text.highlight{color:#06f;font-weight:600}.step-subtext{color:#999;font-size:14px;margin-top:4px}.info-message{align-items:center;background:#e3f2fd;border-radius:12px;color:#1976d2;display:flex;font-size:14px;gap:8px;justify-content:center;padding:16px}.results-page{background:#fafafa}.status-badge{align-items:center;background:#e8f5e9;border-radius:20px;color:#2e7d32;display:inline-flex;font-size:12px;font-weight:600;gap:8px;margin-bottom:24px;padding:8px 16px}.status-icon{font-size:14px}.status-text{color:#2e7d32;font-weight:700}.status-time{color:#666;font-weight:400}.results-container{display:flex;gap:32px;margin:0 auto;max-width:1400px}.results-left{flex:1 1;max-width:600px}.results-title{color:#1a1a1a;font-size:36px;font-weight:700;margin-bottom:12px}.results-subtitle{color:#666;font-size:16px;margin-bottom:32px}.expert-card-small{background:#fff;border-radius:16px;box-shadow:0 2px 16px #0000000f;display:flex;gap:16px;margin-bottom:32px;padding:24px}.expert-avatar-small{border-radius:50%;flex-shrink:0;height:60px;object-fit:cover;width:60px}.expert-info-small h3{font-size:18px;font-weight:600;margin-bottom:4px}.expert-info-small p{color:#666;font-size:14px;margin-bottom:12px}.expert-quote{color:#666;font-size:14px;font-style:italic;line-height:1.6}.feedback-section{background:#fff;border-radius:16px;box-shadow:0 2px 16px #0000000f;margin-bottom:24px;padding:24px}.section-header{align-items:center;display:flex;gap:12px;margin-bottom:20px}.section-icon{font-size:24px}.section-header h2{font-size:20px;font-weight:600}.section-header.critical h2{color:#d32f2f}.section-header.positive h2{color:#2e7d32}.section-header.neutral h2{color:#1976d2}.feedback-list{display:flex;flex-direction:column;gap:12px}.feedback-item{background:#fafafa;border-radius:8px;cursor:pointer;display:flex;gap:12px;padding:12px;transition:all .3s}.feedback-item:hover{box-shadow:0 2px 8px #0000001a;transform:translateX(4px)}.feedback-item.selected{box-shadow:0 4px 12px #00000026;transform:translateX(8px)}.feedback-item.critical{background:#ffebee;border-left:4px solid #d32f2f}.feedback-item.critical.selected{background:#ffcdd2;border-left-width:6px}.feedback-item.positive{background:#e8f5e9;border-left:4px solid #2e7d32}.feedback-item.positive.selected{background:#c8e6c9;border-left-width:6px}.feedback-item.neutral{background:#e3f2fd;border-left:4px solid #1976d2}.feedback-item.neutral.selected{background:#bbdefb;border-left-width:6px}.feedback-bullet{flex-shrink:0;font-size:18px;font-weight:700}.feedback-item.critical .feedback-bullet{color:#d32f2f}.feedback-item.positive .feedback-bullet{color:#2e7d32}.feedback-item.neutral .feedback-bullet{color:#1976d2}.feedback-text{color:#666;font-size:14px;line-height:1.5}.btn-new-analysis{background:linear-gradient(135deg,#06f,#0052cc);border:none;border-radius:12px;box-shadow:0 4px 12px #0066ff4d;color:#fff;cursor:pointer;font-size:16px;font-weight:600;overflow:hidden;padding:16px;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1);width:100%}.btn-new-analysis:before{background:linear-gradient(90deg,#0000,#ffffff4d,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s;width:100%}.btn-new-analysis:hover:before{left:100%}.btn-new-analysis:hover{background:linear-gradient(135deg,#0052cc,#003d99);box-shadow:0 8px 20px #06f6;transform:translateY(-2px) scale(1.02)}.btn-new-analysis:active{box-shadow:0 2px 8px #0066ff4d;transform:translateY(0) scale(.98)}.results-right{flex:1 1;max-width:600px}.resume-preview{background:#fff;border-radius:16px;box-shadow:0 2px 16px #0000000f;overflow:hidden;position:-webkit-sticky;position:sticky;top:40px}.resume-header{align-items:center;background:#2c3e50;color:#fff;display:flex;justify-content:space-between;padding:16px 24px}.resume-filename{font-size:14px;font-weight:500}.resume-actions{display:flex;gap:8px}.icon-btn{background:#0000;border:1px solid #ffffff4d;border-radius:4px;color:#fff;cursor:pointer;font-size:12px;overflow:hidden;padding:4px 12px;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.icon-btn:before{background:#fff3;border-radius:50%;content:"";height:0;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);transition:width .4s,height .4s;width:0}.icon-btn:hover{background:#ffffff1a;border-color:#ffffff80;transform:scale(1.05)}.icon-btn:hover:before{height:100px;width:100px}.icon-btn:active{transform:scale(.95)}.resume-content{background:#f5f5f5;height:900px;overflow-y:auto;padding:20px}.resume-text-content{background:#fff;border-radius:8px;min-height:100%;padding:40px}.resume-header-preview{border-bottom:2px solid #e0e0e0;margin-bottom:24px;padding-bottom:16px}.resume-header-preview h2{color:#1a1a1a;font-size:20px;font-weight:600;margin-bottom:8px}.preview-note{align-items:center;color:#999;display:flex;font-size:13px;gap:8px}.preview-note:before{content:"💡";font-size:16px}.resume-text-wrapper{line-height:1.8}.resume-line{word-wrap:break-word;border-radius:4px;color:#333;font-size:14px;line-height:1.6;margin-bottom:4px;padding:4px 8px;transition:all .3s;white-space:normal}.resume-line.target-line{animation:targetPulse 1s ease-out;background:linear-gradient(90deg,#ff980026,#ffc10726);border-left:4px solid #ff9800;box-shadow:0 2px 8px #ff980033;font-weight:500;padding-left:12px}@keyframes targetPulse{0%{background:#ff980066;transform:scale(1)}50%{background:#ffc1074d;transform:scale(1.02)}to{background:linear-gradient(90deg,#ff980026,#ffc10726);transform:scale(1)}}.highlight-match{animation:highlightPulse .5s ease-out;background:linear-gradient(120deg,#ffd54f,#fff59d);border-radius:3px;color:#1a1a1a;font-weight:600;padding:2px 4px}@keyframes highlightPulse{0%{background:#ffeb3b;transform:scale(1)}50%{background:#fff59d;transform:scale(1.05)}to{background:linear-gradient(120deg,#ffd54f,#fff59d);transform:scale(1)}}.resume-raw-text{word-wrap:break-word;color:#333;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;font-size:13px;line-height:1.8;margin:0;white-space:pre-wrap}.resume-mock{margin:0 auto;max-width:600px}.resume-section{border-radius:8px;margin-bottom:24px;padding:20px}.resume-section.purple{background:linear-gradient(135deg,#b39ddb,#9575cd);color:#fff;text-align:center}.resume-section.dark{background:#37474f;color:#fff}.resume-section.light{background:#fff}.resume-photo{background:#ffffff4d;border-radius:50%;height:100px;margin:0 auto 16px;width:100px}.resume-name{font-size:32px;font-weight:700;margin-bottom:8px}.resume-title{font-size:16px;opacity:.9}.resume-section h3{align-items:center;display:flex;font-size:14px;font-weight:600;gap:8px;margin-bottom:12px}.resume-section p{font-size:13px;line-height:1.5;margin-bottom:8px}.resume-year{color:#fffc;font-size:12px}.resume-degree{font-weight:600;margin-top:4px}.resume-university{color:#ffffffe6}.resume-text{color:#666}.experience-item{border-bottom:1px solid #e0e0e0;margin-bottom:20px;padding-bottom:16px}.experience-item:last-child{border-bottom:none;margin-bottom:0}.job-title{color:#1a1a1a;font-size:14px;font-weight:600;margin-bottom:4px}.company-name{color:#666;font-size:13px;margin-bottom:4px}.job-period{color:#999;font-size:12px;margin-bottom:8px}.job-duties{margin:8px 0 0 20px;padding:0}.job-duties li{color:#666;font-size:12px;line-height:1.4;margin-bottom:4px}.skills-grid{grid-gap:12px;display:grid;gap:12px}.skill-item{align-items:center;display:flex;justify-content:space-between}.skill-stars{color:#ffb300}@media (max-width:1200px){.results-container,.upload-page{flex-direction:column}.expert-card-right,.results-right{max-width:100%;width:100%}.resume-preview{position:static}}@media (max-width:768px){.main-title{font-size:32px}.action-buttons{flex-direction:column}.btn-primary,.btn-secondary-outline{width:100%}}