@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";*{box-sizing:border-box}:root{--primary: #6366f1;--primary-light: #818cf8;--primary-dark: #4f46e5;--bg-dark: #0f172a;--bg-darker: #020617;--text-primary: #f1f5f9;--text-secondary: #94a3b8;--text-muted: #64748b;--border: rgba(255, 255, 255, .1);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans SC,sans-serif;line-height:1.5;font-weight:400;color:var(--text-primary);background-color:var(--bg-dark);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px;min-height:100vh}h1,h2,h3,h4,h5,h6{margin:0}a{color:var(--primary-light);text-decoration:none}button{font-family:inherit}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#0f172a80}::-webkit-scrollbar-thumb{background:#6366f14d;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#6366f180}.form-section{background:#ffffff08;border-radius:16px;padding:24px;margin-bottom:20px;border:1px solid rgba(255,255,255,.06);transition:all .3s ease}.form-section:hover{border-color:#6366f14d;box-shadow:0 4px 24px #6366f11a}.form-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.form-section-title{font-size:1.1rem;font-weight:600;color:#f1f5f9;display:flex;align-items:center;gap:10px;margin:0 0 20px}.form-section-header .form-section-title{margin:0}.form-section-icon{font-size:1.2rem}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}@media(max-width:600px){.form-grid{grid-template-columns:1fr}}.form-group{display:flex;flex-direction:column;gap:6px}.form-group-full{grid-column:1 / -1}.form-label{font-size:.85rem;font-weight:500;color:#94a3b8}.form-input,.form-select,.form-textarea{background:#0f172a99;border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:12px 14px;font-size:.95rem;color:#f1f5f9;transition:all .2s ease;font-family:inherit}.form-input::placeholder,.form-textarea::placeholder{color:#64748b}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f133}.form-textarea{resize:vertical;min-height:80px}.form-select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%2394a3b8'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:16px;padding-right:40px}.btn-add{background:linear-gradient(135deg,#6366f1,#8b5cf6);border:none;border-radius:8px;padding:8px 16px;font-size:.85rem;font-weight:500;color:#fff;cursor:pointer;transition:all .2s ease}.btn-add:hover{transform:translateY(-1px);box-shadow:0 4px 12px #6366f166}.btn-remove{background:transparent;border:1px solid rgba(239,68,68,.5);border-radius:6px;padding:4px 12px;font-size:.8rem;color:#ef4444;cursor:pointer;transition:all .2s ease}.btn-remove:hover{background:#ef44441a;border-color:#ef4444}.btn-remove-small{background:#ef44441a;border:none;border-radius:6px;width:32px;height:32px;font-size:1.2rem;color:#ef4444;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;flex-shrink:0}.btn-remove-small:hover{background:#ef444433}.form-empty-hint{color:#64748b;font-size:.9rem;text-align:center;padding:20px;margin:0}.form-items{display:flex;flex-direction:column;gap:16px}.form-item{background:#0f172a66;border-radius:12px;padding:20px;border:1px solid rgba(255,255,255,.05)}.form-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.form-item-index{font-size:.85rem;font-weight:600;color:#6366f1;background:#6366f11a;padding:4px 10px;border-radius:6px}.skills-grid{display:flex;flex-wrap:wrap;gap:12px}.skill-item{display:flex;align-items:center;gap:8px;background:#0f172a66;padding:8px 12px;border-radius:10px;border:1px solid rgba(255,255,255,.05)}.skill-input{width:140px;padding:8px 12px}.skill-level{width:90px;padding:8px 30px 8px 12px}.photo-upload-container{display:flex;flex-direction:column;align-items:center;gap:12px;margin-bottom:20px}.photo-input-hidden{display:none}.photo-upload-area{width:100px;height:100px;border-radius:50%;border:2px dashed rgba(99,102,241,.4);background:#6366f10d;cursor:pointer;transition:all .3s ease;overflow:hidden;display:flex;align-items:center;justify-content:center}.photo-upload-area:hover{border-color:#6366f1;background:#6366f11a;transform:scale(1.02)}.photo-upload-area.has-photo{border-style:solid;border-color:#6366f199}.photo-preview{width:100%;height:100%;object-fit:cover}.photo-placeholder{display:flex;flex-direction:column;align-items:center;gap:4px;color:#64748b}.photo-icon{font-size:1.5rem}.photo-hint{font-size:.75rem}.btn-remove-photo{background:transparent;border:1px solid rgba(239,68,68,.5);border-radius:6px;padding:4px 12px;font-size:.8rem;color:#ef4444;cursor:pointer;transition:all .2s ease}.btn-remove-photo:hover{background:#ef44441a;border-color:#ef4444}.resume-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;min-height:400px;color:#64748b;text-align:center;padding:40px}.resume-empty-icon{font-size:4rem;margin-bottom:20px;opacity:.5}.resume-empty h3{font-size:1.3rem;color:#94a3b8;margin:0 0 10px}.resume-empty p{font-size:.95rem;margin:0}.resume-paper{background:linear-gradient(180deg,#fff,#f8fafc);color:#1e293b;padding:48px 52px;min-height:100%;font-family:Inter,Noto Sans SC,-apple-system,BlinkMacSystemFont,sans-serif;font-size:14px;line-height:1.65;box-shadow:inset 0 0 0 1px #0000000d}@media print{.resume-paper{padding:32px;box-shadow:none;background:#fff}.resume-photo{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.header-layout{display:flex;align-items:flex-start;gap:28px}.header-photo{flex-shrink:0}.resume-photo{width:90px;height:90px;border-radius:50%;object-fit:cover;border:3px solid #e2e8f0;box-shadow:0 4px 12px #00000014}.header-info{flex:1;min-width:0}.header-info.has-photo{padding-top:4px}.resume-header{margin-bottom:32px;padding-bottom:28px;border-bottom:2px solid #e2e8f0;position:relative}.resume-header:after{content:"";position:absolute;bottom:-2px;left:0;width:80px;height:2px;background:linear-gradient(90deg,#4f46e5,#7c3aed)}.resume-name{font-size:1.9rem;font-weight:700;color:#0f172a;margin:0 0 12px;letter-spacing:.02em;line-height:1.2}.resume-contact{display:flex;flex-wrap:wrap;gap:16px 24px;margin-bottom:14px}.contact-item{display:inline-flex;align-items:center;gap:6px;font-size:.88rem;color:#475569}.contact-icon{font-size:.9rem;opacity:.75}.resume-summary{margin:0;color:#64748b;font-size:.92rem;line-height:1.75;max-width:600px}.resume-section{margin-bottom:26px}.section-title{display:flex;align-items:center;gap:8px;font-size:1.05rem;font-weight:600;color:#1e293b;margin:0 0 14px;padding-bottom:8px;border-bottom:1px solid #e2e8f0;position:relative}.section-title:before{content:"";position:absolute;bottom:-1px;left:0;width:40px;height:1px;background:#6366f1}.section-icon{font-size:.95rem;opacity:.9}.section-content{display:flex;flex-direction:column;gap:18px}.experience-item{padding-left:14px;border-left:2px solid #dbeafe;transition:border-color .2s ease}.experience-item:hover{border-left-color:#6366f1}.experience-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:6px;gap:16px}.experience-main{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.experience-company{font-size:.98rem;font-weight:600;color:#1e293b;margin:0}.experience-position{font-size:.88rem;color:#6366f1;font-weight:500}.experience-date{font-size:.82rem;color:#94a3b8;white-space:nowrap;background:#f1f5f9;padding:2px 8px;border-radius:4px;flex-shrink:0}.experience-desc{margin:0;color:#475569;font-size:.88rem;line-height:1.7;white-space:pre-wrap}.project-tech{font-size:.84rem;color:#64748b;margin-bottom:6px;padding:4px 0}.tech-label{font-weight:500;color:#475569}.skills-list{display:flex;flex-wrap:wrap;gap:10px}.skill-tag{display:inline-flex;align-items:center;gap:8px;background:linear-gradient(135deg,#f8fafc,#f1f5f9);padding:8px 14px;border-radius:20px;font-size:.88rem;color:#334155;border:1px solid #e2e8f0;transition:all .2s ease}.skill-tag:hover{border-color:#6366f1;box-shadow:0 2px 8px #6366f11f}.skill-level-badge{font-size:.72rem;padding:2px 8px;border-radius:10px;background:linear-gradient(135deg,#dbeafe,#e0e7ff);color:#4338ca;font-weight:600;letter-spacing:.02em}.app{min-height:100vh;display:flex;flex-direction:column;background:linear-gradient(135deg,#0f172a,#1e1b4b,#0f172a)}.app-header{background:#0f172acc;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.1);position:sticky;top:0;z-index:100}.header-content{max-width:1600px;margin:0 auto;padding:16px 32px;display:flex;justify-content:space-between;align-items:center}.logo{display:flex;align-items:center;gap:12px}.logo-icon{font-size:1.8rem}.logo h1{font-size:1.4rem;font-weight:700;margin:0;background:linear-gradient(135deg,#60a5fa,#a78bfa);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.btn-download{display:flex;align-items:center;gap:8px;background:linear-gradient(135deg,#6366f1,#8b5cf6);border:none;border-radius:12px;padding:12px 24px;font-size:1rem;font-weight:600;color:#fff;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 16px #6366f14d}.btn-download:hover{transform:translateY(-2px);box-shadow:0 6px 24px #6366f180}.btn-icon{font-size:1.1rem}.app-main{flex:1;display:flex;max-width:1600px;margin:0 auto;width:100%;padding:24px;gap:24px}.form-panel{flex:0 0 500px;max-height:calc(100vh - 100px);overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(99,102,241,.3) transparent}.form-panel::-webkit-scrollbar{width:6px}.form-panel::-webkit-scrollbar-track{background:transparent}.form-panel::-webkit-scrollbar-thumb{background:#6366f14d;border-radius:3px}.form-container{padding-right:8px}.preview-panel{flex:1;min-width:0}.preview-container{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0006;overflow:hidden;max-height:calc(100vh - 100px);overflow-y:auto}@media(max-width:1100px){.app-main{flex-direction:column;padding:16px}.form-panel{flex:none;max-height:none;overflow:visible}.preview-container{max-height:none}.header-content{padding:12px 16px}}
