:root{--forge-black:#f1f5f9;--forge-dark:#e8eef7;--forge-panel:#f8fafc;--forge-card:#fff;--forge-border:#6366f12e;--forge-border2:#6366f14d;--forge-text:#1e293b;--forge-muted:#64748b;--forge-dim:#94a3b8;--forge-accent:#6366f1;--forge-accent2:#8b5cf6;--forge-accent3:#f59e0b;--forge-accent4:#0ea5e9;--forge-accent5:#ec4899;--forge-green:#6366f1;--forge-gold:#f59e0b;--forge-glow:#6366f11f;--forge-glow2:#6366f138;--r-sm:8px;--r-md:12px;--r-lg:18px;--r-xl:26px;--shadow-sm:0 2px 8px #6366f11a;--shadow-md:0 4px 20px #6366f124;--shadow-lg:0 8px 40px #6366f12e;--shadow-accent:0 4px 24px #6366f138;--trans:all .25s cubic-bezier(.4,0,.2,1)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--forge-black);color:var(--forge-text);-webkit-font-smoothing:antialiased;min-height:100vh;font-family:DM Sans,Segoe UI,system-ui,sans-serif;overflow-x:hidden}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--forge-dark)}::-webkit-scrollbar-thumb{background:#6366f159;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:var(--forge-accent)}.font-sora{font-family:Sora,sans-serif}.font-mono{font-family:JetBrains Mono,monospace}.app-root{flex-direction:column;min-height:100vh;display:flex;position:relative}.app-root:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(#2a9d8f12 0%,#0000 70%);width:800px;height:500px;position:fixed;top:-20%;left:50%;transform:translate(-50%)}.forge-header{z-index:100;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid var(--forge-border);background:#ffffffeb;justify-content:space-between;align-items:center;height:64px;padding:0 32px;display:flex;position:sticky;top:0;box-shadow:0 2px 12px #6366f114}.forge-logo{color:var(--forge-text);align-items:center;gap:10px;font-family:Sora,sans-serif;font-size:20px;font-weight:700;text-decoration:none;display:flex}.forge-logo-mark{background:linear-gradient(135deg,var(--forge-accent),#a855f7);color:#fff;letter-spacing:-1px;width:32px;height:32px;box-shadow:var(--shadow-accent);border-radius:8px;justify-content:center;align-items:center;font-size:16px;font-weight:800;display:flex}.forge-badge{color:var(--forge-green);letter-spacing:.5px;background:#6366f11f;border:1px solid #6366f14d;border-radius:999px;padding:3px 10px;font-size:11px;font-weight:600}.forge-stats-bar{align-items:center;gap:24px;display:flex}.forge-stat{color:var(--forge-muted);align-items:center;gap:6px;font-size:13px;display:flex}.forge-stat strong{color:var(--forge-text);font-weight:600}.progress-track{z-index:1;justify-content:center;align-items:center;gap:0;padding:28px 0 20px;display:flex;position:relative}.progress-step{flex-direction:column;align-items:center;gap:8px;display:flex;position:relative}.progress-step-bubble{border:2px solid var(--forge-border2);width:44px;height:44px;color:var(--forge-muted);transition:var(--trans);z-index:1;background:#fff;border-radius:50%;justify-content:center;align-items:center;font-size:15px;font-weight:700;display:flex;position:relative}.progress-step.active .progress-step-bubble{background:linear-gradient(135deg,var(--forge-accent),#a855f7);border-color:var(--forge-accent);color:#fff;box-shadow:0 0 0 4px #6c63ff33}.progress-step.done .progress-step-bubble{background:var(--forge-green);border-color:var(--forge-green);color:#fff}.progress-step-label{color:var(--forge-muted);white-space:nowrap;font-size:12px;font-weight:500}.progress-step.active .progress-step-label{color:var(--forge-text)}.progress-step.done .progress-step-label{color:var(--forge-green)}.progress-connector{background:var(--forge-border2);width:80px;height:2px;transition:var(--trans);margin:0 -1px 26px}.progress-connector.done{background:var(--forge-green)}.upload-hero{z-index:1;max-width:760px;margin:0 auto;padding:0 20px 60px;position:relative}.hero-headline{text-align:center;margin-bottom:16px;font-family:Sora,sans-serif;font-size:clamp(32px,5vw,52px);font-weight:800;line-height:1.1}.hero-headline .accent{color:var(--forge-accent)}.hero-headline .accent2{color:var(--forge-accent2)}.hero-sub{color:var(--forge-muted);text-align:center;margin-bottom:40px;font-size:17px;line-height:1.6}.upload-drop-zone{border:2px dashed var(--forge-border2);border-radius:var(--r-xl);text-align:center;cursor:pointer;transition:var(--trans);background:#fff;padding:56px 40px;position:relative;overflow:hidden}.upload-drop-zone:before{content:"";pointer-events:none;background:radial-gradient(at 50% 0,#6c63ff0f 0%,#0000 60%);position:absolute;inset:0}.upload-drop-zone:hover,.upload-drop-zone.dragging{border-color:var(--forge-accent);box-shadow:var(--shadow-accent);background:#6c63ff0d;transform:translateY(-2px)}.upload-icon-wrap{width:80px;height:80px;transition:var(--trans);background:#6c63ff1f;border:2px solid #6c63ff40;border-radius:50%;justify-content:center;align-items:center;margin:0 auto 20px;font-size:32px;display:flex}.upload-drop-zone:hover .upload-icon-wrap{background:#6c63ff33;transform:scale(1.05)}.upload-drop-zone h3{margin-bottom:8px;font-family:Sora,sans-serif;font-size:22px;font-weight:700}.upload-drop-zone p{color:var(--forge-muted);font-size:14px}.format-chips{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:18px;display:flex}.format-chip{border:1px solid var(--forge-border2);color:var(--forge-muted);background:#ffffff0f;border-radius:999px;padding:4px 12px;font-family:JetBrains Mono,monospace;font-size:12px;font-weight:600}.feature-strip{grid-template-columns:repeat(3,1fr);gap:16px;margin-top:32px;display:grid}.feature-card{border:1px solid var(--forge-border);border-radius:var(--r-lg);text-align:center;transition:var(--trans);background:#fff;padding:20px}.feature-card:hover{border-color:var(--forge-border2);transform:translateY(-2px)}.feature-icon{margin-bottom:10px;font-size:28px}.feature-card h4{margin-bottom:5px;font-family:Sora,sans-serif;font-size:14px;font-weight:600}.feature-card p{color:var(--forge-muted);font-size:12px;line-height:1.5}.gallery-layout{z-index:1;gap:0;min-height:calc(100vh - 64px);display:flex;position:relative}.gallery-sidebar{background:var(--forge-panel);border-right:1px solid var(--forge-border);flex-shrink:0;width:320px;height:calc(100vh - 64px);padding:24px 16px;position:sticky;top:64px;overflow-y:auto}.gallery-main{flex:1;padding:24px;overflow-y:auto}.sidebar-section-title{text-transform:uppercase;letter-spacing:1.5px;color:var(--forge-muted);margin-top:20px;margin-bottom:10px;padding:0 8px;font-size:10px;font-weight:700}.sidebar-section-title:first-child{margin-top:0}.category-btn{text-align:left;border-radius:var(--r-sm);width:100%;color:var(--forge-muted);cursor:pointer;transition:var(--trans);background:0 0;border:1px solid #0000;justify-content:space-between;align-items:center;padding:9px 12px;font-size:13px;font-weight:500;display:flex}.category-btn:hover{color:var(--forge-text);background:#ffffff0d}.category-btn.active{color:var(--forge-accent);background:#6c63ff26;border-color:#6c63ff4d}.category-count{background:#ffffff14;border-radius:999px;padding:2px 7px;font-size:11px}.template-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:20px;display:grid}.tpl-card{border:2px solid var(--forge-border);border-radius:var(--r-lg);cursor:pointer;transition:var(--trans);background:#fff;position:relative;overflow:hidden}.tpl-card:hover{border-color:#2a9d8f59;transform:translateY(-3px);box-shadow:0 12px 40px #6366f126,0 0 0 1px #6366f133}.tpl-card.selected{border-color:var(--forge-accent);box-shadow:var(--shadow-accent),0 0 0 1px #2a9d8f59}.tpl-preview-wrap{background:#fff;height:340px;position:relative;overflow:hidden}.tpl-preview-inner{transform-origin:0 0;background:#fff;width:794px}.tpl-card-footer{justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.tpl-name{font-family:Sora,sans-serif;font-size:13px;font-weight:600}.tpl-meta{color:var(--forge-muted);margin-top:2px;font-size:11px}.tpl-badge{letter-spacing:.5px;border-radius:999px;padding:3px 8px;font-size:10px;font-weight:700}.tpl-badge-hot{color:var(--forge-accent2);background:#ff6b6b26;border:1px solid #ff6b6b4d}.tpl-badge-new{color:var(--forge-green);background:#6366f11f;border:1px solid #6366f140}.tpl-badge-ats{color:#a78bfa;background:#6c63ff26;border:1px solid #6c63ff4d}.tpl-select-check{background:var(--forge-accent);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:13px;display:flex;position:absolute;top:10px;right:10px;box-shadow:0 2px 8px #2a9d8f59}.color-swatches{flex-wrap:wrap;gap:6px;display:flex}.color-swatch{cursor:pointer;width:20px;height:20px;transition:var(--trans);border:2px solid #0000;border-radius:50%}.color-swatch:hover{transform:scale(1.2)}.color-swatch.active{border-color:#fff;box-shadow:0 0 0 2px #ffffff80}.preview-layout{z-index:1;gap:0;min-height:calc(100vh - 64px);display:flex;position:relative}.preview-toolbar{background:var(--forge-panel);border-right:1px solid var(--forge-border);flex-shrink:0;width:280px;height:calc(100vh - 64px);padding:24px 16px;position:sticky;top:64px;overflow-y:auto}.preview-main{flex-direction:column;flex:1;align-items:center;padding:32px;display:flex}.resume-canvas-wrap{background:#fff;border-radius:4px;width:794px;min-height:1123px;padding:56px 64px;box-shadow:0 20px 60px #00000080}.toolbar-section{border-bottom:1px solid var(--forge-border);margin-bottom:24px;padding-bottom:24px}.toolbar-section:last-child{border-bottom:none}.toolbar-label{text-transform:uppercase;letter-spacing:1.5px;color:var(--forge-muted);margin-bottom:12px;font-size:10px;font-weight:700}.btn-forge-primary{border-radius:var(--r-md);background:linear-gradient(135deg,var(--forge-accent)0%,#a855f7 100%);color:#fff;cursor:pointer;transition:var(--trans);box-shadow:var(--shadow-accent);white-space:nowrap;border:none;justify-content:center;align-items:center;gap:8px;padding:12px 24px;font-family:Sora,sans-serif;font-size:14px;font-weight:600;display:inline-flex}.btn-forge-primary:hover{color:#fff;transform:translateY(-2px);box-shadow:0 8px 32px #2a9d8f59}.btn-forge-primary:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-forge-secondary{border-radius:var(--r-md);color:var(--forge-text);border:1px solid var(--forge-border2);cursor:pointer;transition:var(--trans);white-space:nowrap;background:#ffffff0f;justify-content:center;align-items:center;gap:8px;padding:10px 20px;font-size:13px;font-weight:500;display:inline-flex}.btn-forge-secondary:hover{color:#fff;background:#ffffff1a}.btn-forge-danger{border-radius:var(--r-md);color:var(--forge-accent2);cursor:pointer;transition:var(--trans);background:#ff6b6b1a;border:1px solid #ff6b6b40;justify-content:center;align-items:center;gap:8px;padding:10px 20px;font-size:13px;font-weight:500;display:inline-flex}.btn-forge-danger:hover{background:#ff6b6b33}.btn-forge-green{border-radius:var(--r-md);color:#0a0a0f;cursor:pointer;transition:var(--trans);background:linear-gradient(135deg,#00d9a3,#00b386);border:none;justify-content:center;align-items:center;gap:8px;padding:12px 24px;font-family:Sora,sans-serif;font-size:14px;font-weight:700;display:inline-flex;box-shadow:0 4px 16px #6366f140}.btn-forge-green:hover{transform:translateY(-2px);box-shadow:0 8px 32px #6366f159}.agent-backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;background:#000000bf;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.agent-modal{background:var(--forge-dark);border:1px solid var(--forge-border2);border-radius:var(--r-xl);width:100%;max-width:700px;overflow:hidden;box-shadow:0 24px 80px #000000b3}.agent-header{border-bottom:1px solid var(--forge-border);background:linear-gradient(135deg,#0d0d1a 0%,#13132a 100%);padding:28px 32px 22px}.agent-icon-ring{background:#6c63ff26;border:2px solid #2a9d8f59;border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;font-size:22px;display:flex}.agent-phase-bar{background:#ffffff14;border-radius:999px;height:6px;margin-top:16px;overflow:hidden}.agent-phase-fill{background:linear-gradient(90deg,var(--forge-accent),#a855f7,var(--forge-green));background-size:200% 100%;border-radius:999px;height:100%;transition:width .5s;animation:2s linear infinite shimmer}.agent-phase-fill.done{background:var(--forge-green);animation:none}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.agent-stats-grid{background:var(--forge-border);grid-template-columns:repeat(4,1fr);gap:1px;display:grid}.agent-stat-cell{background:var(--forge-dark);text-align:center;padding:14px 12px}.agent-stat-val{font-family:Sora,sans-serif;font-size:22px;font-weight:700;line-height:1}.agent-stat-lbl{color:var(--forge-muted);letter-spacing:.5px;margin-top:3px;font-size:10px}.agent-terminal{border-top:1px solid var(--forge-border);background:#090912}.agent-terminal-bar{border-bottom:1px solid var(--forge-border);background:#0f0f1c;align-items:center;gap:6px;padding:7px 16px;display:flex}.agent-terminal-dot{border-radius:50%;width:10px;height:10px}.agent-terminal-body{height:220px;padding:12px 16px;font-family:JetBrains Mono,monospace;font-size:11.5px;line-height:1.75;overflow-y:auto}.agent-footer{background:var(--forge-panel);border-top:1px solid var(--forge-border);justify-content:space-between;align-items:center;padding:14px 24px;display:flex}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-fade-in{animation:.4s forwards fadeIn}.animate-slide-up{animation:.5s cubic-bezier(.4,0,.2,1) forwards slideUp}.forge-spinner{border:3px solid #6c63ff33;border-top-color:var(--forge-accent);border-radius:50%;width:40px;height:40px;animation:.8s linear infinite spin}.forge-alert-error{color:#faa;border-radius:var(--r-md);background:#ff6b6b1a;border:1px solid #ff6b6b4d;align-items:center;gap:8px;padding:12px 16px;font-size:13px;display:flex}.forge-alert-success{color:var(--forge-green);border-radius:var(--r-md);background:#6366f114;border:1px solid #6366f140;align-items:center;gap:8px;padding:12px 16px;font-size:13px;display:flex}.ats-score{border-radius:var(--r-md);background:#6366f10f;border:1px solid #6366f12e;align-items:center;gap:10px;padding:12px 16px;display:flex}.ats-score-ring{background:conic-gradient(var(--forge-green)calc(var(--pct)*1%),#ffffff14 0);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex;position:relative}.ats-score-ring:before{content:"";background:var(--forge-dark);border-radius:50%;position:absolute;inset:5px}.ats-score-num{z-index:1;color:var(--forge-green);font-family:Sora,sans-serif;font-size:13px;font-weight:700;position:relative}@media (max-width:1024px){.gallery-sidebar{width:240px}}@media (max-width:768px){.forge-header{padding:0 16px}.forge-stats-bar{display:none}.gallery-layout{flex-direction:column}.gallery-sidebar{width:100%;height:auto;position:static}.feature-strip{grid-template-columns:1fr}.template-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px}.preview-layout{flex-direction:column}.preview-toolbar{width:100%;height:auto;position:static}.resume-canvas-wrap{width:100%;overflow-x:auto}}.text-muted-forge{color:var(--forge-muted)}.text-accent{color:var(--forge-accent)}.text-green{color:var(--forge-green)}.gap-2{gap:8px}.w-full{width:100%}@media print{.no-print{display:none!important}}aside::-webkit-scrollbar{width:4px}aside::-webkit-scrollbar-track{background:0 0}aside::-webkit-scrollbar-thumb{background:#2a9d8f4d;border-radius:999px}aside::-webkit-scrollbar-thumb:hover{background:#2a9d8f8c}main::-webkit-scrollbar{width:6px}main::-webkit-scrollbar-track{background:#0d1b2a}main::-webkit-scrollbar-thumb{background:#2a9d8f40;border-radius:999px}main::-webkit-scrollbar-thumb:hover{background:#2a9d8f73}div::-webkit-scrollbar{width:0;height:0}.section-accent{background:linear-gradient(90deg,var(--forge-accent),var(--forge-accent2),var(--forge-accent3));flex-shrink:0;height:3px}@media print{body{color:#1a1a1a!important;background:#fff!important}*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}}@keyframes modalIn{0%{opacity:0;transform:scale(.92)translateY(20px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes pulse-border{0%,to{box-shadow:0 0 #2a9d8f00}50%{box-shadow:0 0 0 4px #2a9d8f26}}
