*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg-primary:#06060b;--bg-secondary:#0c0c14;--bg-card:#13131f;--bg-card-hover:#1a1a2e;--bg-glass:#13131fb3;--accent:#7c5cfc;--accent-light:#a78bfa;--accent-glow:#7c5cfc40;--accent-subtle:#7c5cfc14;--success:#34d399;--success-glow:#34d39933;--error:#f87171;--error-glow:#f8717126;--warning:#fbbf24;--text-primary:#f1f1f6;--text-secondary:#a0a0b8;--text-muted:#5c5c72;--border:#1e1e30;--border-active:#7c5cfc;--gradient-brand:linear-gradient(135deg,#7c5cfc 0%,#e056a0 50%,#f7a844 100%);--gradient-accent:linear-gradient(135deg,#7c5cfc,#a78bfa);--gradient-mesh:radial-gradient(ellipse at 20% 50%,#7c5cfc0f 0%,transparent 50%),radial-gradient(ellipse at 80% 20%,#e056a00a 0%,transparent 50%),radial-gradient(ellipse at 50% 80%,#f7a84408 0%,transparent 50%);--shadow-sm:0 2px 8px #0003;--shadow-md:0 8px 32px #0000004d;--shadow-lg:0 16px 64px #0006;--shadow-glow:0 0 60px var(--accent-glow);--radius:20px;--radius-md:14px;--radius-sm:10px;--radius-xs:6px;--ease:cubic-bezier(.4,0,.2,1);--transition:all .3s var(--ease)}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background:var(--bg-primary);color:var(--text-primary);min-height:100vh;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.6;overflow-x:hidden}.app{flex-direction:column;min-height:100vh;display:flex}.main-content{flex-direction:column;flex:1;display:flex}.navbar{z-index:100;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border-bottom:1px solid var(--border);background:#06060bcc;justify-content:space-between;align-items:center;padding:16px 32px;display:flex;position:fixed;top:0;left:0;right:0}.navbar-brand{letter-spacing:-.5px;background:var(--gradient-brand);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:1.25rem;font-weight:800}.navbar-tagline{color:var(--text-muted);font-size:.82rem;font-weight:400}.hero{justify-content:center;align-items:center;min-height:100vh;padding:120px 32px 80px;display:flex;position:relative}.hero:before{content:"";background:var(--gradient-mesh);animation:20s ease-in-out infinite alternate meshFloat;position:absolute;inset:0}@keyframes meshFloat{0%{opacity:1}50%{opacity:.6}to{opacity:1}}.hero-container{z-index:1;text-align:center;width:100%;max-width:640px;position:relative}.hero-badge{background:var(--accent-subtle);color:var(--accent-light);border:1px solid #7c5cfc26;border-radius:100px;align-items:center;gap:8px;margin-bottom:28px;padding:8px 18px;font-size:.82rem;font-weight:500;display:inline-flex}.hero-badge .dot{background:var(--success);border-radius:50%;width:6px;height:6px;animation:2s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.8)}}.hero h1{letter-spacing:-1px;margin-bottom:16px;font-size:clamp(2.2rem,4.5vw,3.2rem);font-weight:800;line-height:1.15}.hero h1 .gradient-text{background:var(--gradient-brand);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.hero .subtitle{color:var(--text-secondary);max-width:480px;margin-bottom:48px;margin-left:auto;margin-right:auto;font-size:1.08rem}.upload-zone{border:2px dashed var(--border);border-radius:var(--radius);cursor:pointer;transition:var(--transition);background:var(--bg-card);padding:56px 32px;position:relative;overflow:hidden}.upload-zone:before{content:"";background:var(--gradient-accent);opacity:0;border-radius:var(--radius);transition:opacity .3s;position:absolute;inset:0}.upload-zone:hover,.upload-zone.dragover{border-color:var(--accent);background:var(--bg-card-hover);box-shadow:var(--shadow-glow);transform:translateY(-2px)}.upload-zone:hover:before,.upload-zone.dragover:before{opacity:.04}.upload-zone-content{z-index:1;position:relative}.upload-icon{background:var(--accent-subtle);width:64px;height:64px;transition:var(--transition);border-radius:16px;justify-content:center;align-items:center;margin:0 auto 20px;font-size:1.6rem;display:flex}.upload-zone:hover .upload-icon{background:#7c5cfc26;transform:scale(1.05)}.upload-title{margin-bottom:8px;font-size:1.1rem;font-weight:600}.upload-subtitle{color:var(--text-muted);font-size:.88rem}.upload-subtitle .highlight{color:var(--accent-light);font-weight:500}.file-input{display:none}.selected-file{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);align-items:center;gap:12px;margin-top:20px;padding:14px 18px;display:flex}.selected-file .file-icon{background:#f871711a;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;font-size:1rem;display:flex}.selected-file .file-info{flex:1;min-width:0}.selected-file .file-name{white-space:nowrap;text-overflow:ellipsis;font-size:.88rem;font-weight:600;overflow:hidden}.selected-file .file-size{color:var(--text-muted);font-size:.78rem}.selected-file .file-remove{border:1px solid var(--border);width:32px;height:32px;color:var(--text-muted);cursor:pointer;transition:var(--transition);background:0 0;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;font-size:1rem;display:flex}.selected-file .file-remove:hover{border-color:var(--error);color:var(--error);background:var(--error-glow)}.input-toggle{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;max-width:320px;margin:0 auto 24px;padding:4px;display:flex}.toggle-btn{color:var(--text-secondary);cursor:pointer;transition:var(--transition);background:0 0;border:none;border-radius:4px;flex:1;padding:8px 16px;font-size:.9rem;font-weight:500}.toggle-btn:hover{color:var(--text-primary)}.toggle-btn.active{color:var(--text-primary);box-shadow:var(--shadow-sm);background:#ffffff14}.text-input-zone{text-align:left;width:100%;max-width:640px;margin:0 auto 20px}.resume-textarea{background:var(--bg-card);border:2px dashed var(--border);border-radius:var(--radius);width:100%;min-height:280px;color:var(--text-primary);resize:vertical;transition:var(--transition);padding:24px;font-family:inherit;font-size:.95rem;line-height:1.6}.resume-textarea::placeholder{color:var(--text-muted)}.resume-textarea:focus{border-color:var(--accent);background:var(--bg-card-hover);box-shadow:var(--shadow-glow);outline:none}.generate-btn{border-radius:var(--radius-md);background:var(--gradient-accent);color:#fff;cursor:pointer;width:100%;transition:var(--transition);box-shadow:0 4px 20px var(--accent-glow);border:none;justify-content:center;align-items:center;gap:10px;margin-top:20px;padding:16px 32px;font-family:inherit;font-size:.95rem;font-weight:700;display:flex}.generate-btn:hover:not(:disabled){box-shadow:var(--shadow-glow);transform:translateY(-2px)}.generate-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.processing{text-align:left;padding:40px 0}.processing-title{margin-bottom:8px;font-size:1.15rem;font-weight:700}.processing-subtitle{color:var(--text-muted);margin-bottom:32px;font-size:.88rem}.step-list{flex-direction:column;gap:16px;display:flex}.step{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);transition:var(--transition);align-items:center;gap:14px;padding:16px 20px;display:flex}.step.active{border-color:var(--accent);background:var(--bg-card-hover)}.step.done{border-color:#34d3994d}.step-icon{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:1rem;display:flex}.step.pending .step-icon{color:var(--text-muted);background:#5c5c7226}.step.active .step-icon{background:var(--accent-subtle);color:var(--accent-light);animation:1.5s ease-in-out infinite spinPulse}@keyframes spinPulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.step.done .step-icon{background:var(--success-glow);color:var(--success)}.step-label{font-size:.9rem;font-weight:500}.step.pending .step-label{color:var(--text-muted)}.step.done .step-label{color:var(--text-secondary)}.preview-section{width:100%;max-width:1200px;margin:0 auto;padding:100px 32px 64px}.preview-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;display:flex}.preview-header h2{font-size:1.35rem;font-weight:700}.preview-actions{gap:12px;display:flex}.btn{border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition);border:none;align-items:center;gap:8px;padding:12px 24px;font-family:inherit;font-size:.88rem;font-weight:600;text-decoration:none;display:inline-flex}.btn-primary{background:var(--gradient-accent);color:#fff;box-shadow:0 4px 16px var(--accent-glow)}.btn-primary:hover{box-shadow:var(--shadow-glow);transform:translateY(-2px)}.btn-secondary{background:var(--bg-card);color:var(--text-primary);border:1px solid var(--border)}.btn-secondary:hover{border-color:var(--accent);background:var(--bg-card-hover)}.btn-success{color:#fff;box-shadow:0 4px 16px var(--success-glow);background:linear-gradient(135deg,#059669,#34d399)}.btn-success:hover{transform:translateY(-2px)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.preview-frame{border:1px solid var(--border);border-radius:var(--radius);background:#fff;width:100%;height:70vh;overflow:hidden}.preview-frame iframe{border:none;width:100%;height:100%}.deployed-banner{border-radius:var(--radius-md);background:#34d3990f;border:1px solid #34d39933;align-items:center;gap:16px;margin-bottom:24px;padding:20px 24px;display:flex}.deployed-banner .icon{background:var(--success-glow);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.2rem;display:flex}.deployed-banner .info{flex:1}.deployed-banner .info .title{color:var(--success);margin-bottom:2px;font-size:.95rem;font-weight:700}.deployed-url{align-items:center;gap:8px;display:flex}.deployed-url a{color:var(--accent-light);word-break:break-all;font-size:.88rem;text-decoration:none}.deployed-url a:hover{text-decoration:underline}.copy-btn{border:1px solid var(--border);color:var(--text-muted);border-radius:var(--radius-xs);cursor:pointer;transition:var(--transition);background:0 0;padding:6px 10px;font-family:inherit;font-size:.78rem}.copy-btn:hover{border-color:var(--accent);color:var(--accent-light)}.copy-btn.copied{border-color:var(--success);color:var(--success)}.error-banner{background:var(--error-glow);border-radius:var(--radius-md);border:1px solid #f8717133;align-items:flex-start;gap:14px;margin-top:20px;padding:18px 22px;display:flex}.error-banner .icon{flex-shrink:0;margin-top:1px;font-size:1.2rem}.error-banner .message{color:var(--error);font-size:.88rem;line-height:1.5}.how-it-works{border-top:1px solid var(--border);margin-top:64px;padding-top:48px}.how-it-works h3{text-transform:uppercase;letter-spacing:3px;color:var(--text-muted);margin-bottom:28px;font-size:.82rem}.steps-row{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}.hiw-step{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);text-align:center;transition:var(--transition);padding:24px 20px}.hiw-step:hover{border-color:var(--accent);transform:translateY(-2px)}.hiw-step .num{background:var(--accent-subtle);width:32px;height:32px;color:var(--accent-light);border-radius:10px;justify-content:center;align-items:center;margin:0 auto 14px;font-size:.78rem;font-weight:700;display:flex}.hiw-step .label{margin-bottom:4px;font-size:.85rem;font-weight:600}.hiw-step .desc{color:var(--text-muted);font-size:.78rem;line-height:1.5}.spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:18px;height:18px;animation:.6s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width:768px){.navbar{padding:14px 20px}.hero{padding:100px 20px 60px}.upload-zone{padding:40px 24px}.steps-row{grid-template-columns:repeat(2,1fr)}.preview-section{padding:80px 16px 40px}.preview-header{flex-direction:column;align-items:stretch}.preview-actions{justify-content:stretch}.preview-actions .btn{flex:1;justify-content:center}}@media (max-width:480px){.steps-row{grid-template-columns:1fr}}
