:root{--dash-bg: #090d16;--panel-bg: rgba(17, 24, 39, .7);--card-bg: rgba(30, 41, 59, .45);--border-color: rgba(255, 255, 255, .08);--border-hover: rgba(255, 255, 255, .16);--text-primary: #f8fafc;--text-secondary: #94a3b8;--text-muted: #64748b;--accent-color: #6366f1;--accent-glow: rgba(99, 102, 241, .25);--accent-success: #10b981;--accent-danger: #ef4444;--accent-warning: #f59e0b;--resume-accent: #1e293b;--resume-text-dark: #0f172a;--resume-text-medium: #334155;--resume-text-light: #64748b;--resume-divider: #e2e8f0;--resume-tag-bg: #f1f5f9}*{margin:0;padding:0;box-sizing:border-box;font-family:Inter,sans-serif;-webkit-font-smoothing:antialiased}body{background-color:var(--dash-bg);color:var(--text-primary);height:100vh;overflow:hidden}.app-container{display:grid;grid-template-columns:360px 1fr;height:100vh;width:100vw;position:relative}.sidebar-panel{background:var(--panel-bg);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-right:1px solid var(--border-color);display:flex;flex-direction:column;height:100vh;z-index:10}.sidebar-header{padding:24px;border-bottom:1px solid var(--border-color);display:flex;align-items:center;gap:12px}.brand-logo{background:linear-gradient(135deg,#818cf8,#6366f1);width:42px;height:42px;border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:20px;box-shadow:0 4px 12px #6366f166;animation:float-pulse 4s ease-in-out infinite}.brand-info h1{font-family:Outfit,sans-serif;font-size:18px;font-weight:700;letter-spacing:-.5px;background:linear-gradient(to right,#fff,#c7d2fe);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.brand-info p{font-size:11px;color:var(--text-secondary);font-weight:500;margin-top:1px}.sidebar-scrollable{flex:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:20px}.sidebar-scrollable::-webkit-scrollbar{width:6px}.sidebar-scrollable::-webkit-scrollbar-track{background:transparent}.sidebar-scrollable::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:4px}.sidebar-scrollable::-webkit-scrollbar-thumb:hover{background:#fff3}.control-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:16px;padding:20px;transition:all .3s cubic-bezier(.4,0,.2,1)}.control-card:hover{border-color:var(--border-hover);box-shadow:0 8px 30px #0003;transform:translateY(-2px)}.control-title{font-family:Outfit,sans-serif;font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:16px;display:flex;align-items:center;gap:8px}.control-title i{color:var(--accent-color)}.control-group{margin-bottom:16px}.control-group:last-child{margin-bottom:0}.control-label-wrapper{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.control-group label{font-size:12px;font-weight:600;color:var(--text-secondary)}.control-label-wrapper span{font-size:11px;font-weight:700;color:var(--accent-color);background:#6366f11f;padding:2px 8px;border-radius:20px;border:1px solid rgba(99,102,241,.2)}.premium-slider{-webkit-appearance:none;width:100%;height:6px;border-radius:3px;background:#ffffff14;outline:none;transition:background .3s}.premium-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:var(--accent-color);cursor:pointer;border:2px solid #fff;box-shadow:0 0 10px var(--accent-glow);transition:transform .1s,background-color .2s}.premium-slider::-webkit-slider-thumb:hover{transform:scale(1.2)}.preset-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:10px}.preset-btn{background:#ffffff0a;border:1px solid var(--border-color);border-radius:8px;color:var(--text-secondary);font-size:10px;font-weight:600;padding:6px 4px;cursor:pointer;transition:all .2s;text-align:center}.preset-btn:hover{background:#ffffff14;color:var(--text-primary);border-color:var(--border-hover)}.preset-btn.active{background:var(--accent-color);color:#fff;border-color:var(--accent-color);box-shadow:0 2px 8px var(--accent-glow)}.toggle-button-group{display:flex;background:#0003;border:1px solid var(--border-color);border-radius:10px;padding:4px;gap:4px;margin-top:6px}.toggle-btn{flex:1;background:transparent;border:none;border-radius:6px;color:var(--text-secondary);font-size:11px;font-weight:600;padding:8px 10px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;transition:all .2s}.toggle-btn:hover{color:var(--text-primary)}.toggle-btn.active{background:var(--card-bg);border:1px solid rgba(255,255,255,.05);color:var(--text-primary);box-shadow:0 2px 8px #00000026}.theme-picker{display:flex;gap:12px;margin-top:8px}.theme-dot{width:28px;height:28px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:all .2s;position:relative;box-shadow:inset 0 2px 4px #0006}.theme-dot:hover{transform:scale(1.15)}.theme-dot.active{border-color:#fff;transform:scale(1.1);box-shadow:0 0 12px #ffffff4d}.theme-dot.active:after{content:"";font-family:"Font Awesome 6 Free";font-weight:900;color:#fff;font-size:10px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-shadow:0 1px 2px rgba(0,0,0,.6)}.export-buttons{display:flex;flex-direction:column;gap:10px}.export-btn{width:100%;border:none;border-radius:10px;color:#fff;font-size:13px;font-weight:600;padding:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .2s}.pdf-btn{background:linear-gradient(135deg,#ef4444,#dc2626);box-shadow:0 4px 12px #ef444433}.pdf-btn:hover{background:linear-gradient(135deg,#f87171,#ef4444);box-shadow:0 6px 16px #ef44444d;transform:translateY(-1px)}.docx-btn{background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 4px 12px #2563eb33}.docx-btn:hover{background:linear-gradient(135deg,#3b82f6,#2563eb);box-shadow:0 6px 16px #2563eb4d;transform:translateY(-1px)}.print-btn{background:#ffffff14;border:1px solid var(--border-color);color:var(--text-primary)}.print-btn:hover{background:#ffffff1f;border-color:var(--border-hover)}.secondary-sidebar-btn{background:transparent;border:1px dashed var(--border-color);border-radius:12px;color:var(--text-secondary);font-size:12px;font-weight:600;padding:10px;cursor:pointer;width:100%;display:flex;align-items:center;justify-content:center;gap:8px;margin-top:10px;transition:all .2s}.secondary-sidebar-btn:hover{border-style:solid;border-color:var(--accent-color);color:var(--text-primary);background:#6366f10d}.sidebar-footer{padding:16px;border-top:1px solid var(--border-color);text-align:center}.sidebar-footer p{font-size:11px;color:var(--text-muted)}.text-red{color:#ef4444;animation:beat 1.2s infinite alternate}.preview-panel{background:#0f131d;height:100vh;display:flex;flex-direction:column;overflow:hidden;position:relative}.preview-actionbar{height:60px;background:#0f172a80;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border-color);padding:0 30px;display:flex;align-items:center;justify-content:space-between}.status-indicator{display:flex;align-items:center;gap:10px}.pulse-dot{width:8px;height:8px;border-radius:50%;background:var(--accent-success);box-shadow:0 0 10px var(--accent-success);animation:pulse-glow 1.5s infinite}#status-text{font-size:12px;font-weight:500;color:var(--text-secondary)}.fit-warning{display:none;align-items:center;gap:8px;background:#f59e0b1f;border:1px solid rgba(245,158,11,.25);color:#f59e0b;font-size:11px;font-weight:600;padding:6px 14px;border-radius:30px;animation:shake .5s ease-in-out}.canvas-viewport{flex:1;overflow-y:auto;padding:40px 20px;display:flex;justify-content:center;align-items:flex-start;scroll-behavior:smooth}.canvas-viewport::-webkit-scrollbar{width:8px}.canvas-viewport::-webkit-scrollbar-track{background:transparent}.canvas-viewport::-webkit-scrollbar-thumb{background:#ffffff14;border-radius:4px}.canvas-viewport::-webkit-scrollbar-thumb:hover{background:#ffffff26}.resume-sheet{background:#fff;color:var(--resume-text-dark);box-shadow:0 15px 40px #00000073;border-radius:1px;transition:all .3s ease;position:relative;overflow:hidden;font-size:var(--base-font-size);line-height:var(--line-height);padding:var(--page-margin)}.resume-sheet.a4{width:210mm;min-height:297mm;height:297mm}.resume-sheet.letter{width:8.5in;min-height:11in;height:11in}.resume-content{height:100%;display:flex;flex-direction:column}.loading-spinner{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:12px;color:var(--resume-text-light);font-size:14px}.loading-spinner i{font-size:30px;color:var(--accent-color)}.resume-header{border-bottom:2.5px solid var(--resume-accent);padding-bottom:10px;margin-bottom:var(--section-gap);text-align:center;display:block;position:relative}.resume-corner-badge{position:absolute;top:0;right:0;z-index:2}.resume-corner-badge a{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:6px;background:var(--resume-tag-bg);color:var(--resume-text-medium);border:1px solid var(--resume-divider);text-decoration:none;font-size:11px;transition:all .2s ease}.resume-corner-badge a:hover{background:var(--resume-accent);color:#fff;border-color:var(--resume-accent);transform:translateY(-1px)}.resume-personal-info{width:100%;text-align:center}.resume-name{font-family:Outfit,sans-serif;font-size:2.3em;font-weight:800;color:var(--resume-text-dark);line-height:1;letter-spacing:-.5px;text-align:center}.resume-title{font-size:1em;font-weight:700;color:var(--resume-accent);margin-top:4px;letter-spacing:.8px;text-transform:uppercase;text-align:center}.resume-contact{text-align:center;font-size:.88em;color:var(--resume-text-medium);display:flex;flex-direction:row;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;margin-top:6px;font-weight:500}.resume-contact-item{display:flex;align-items:center;gap:4px}.resume-contact-item i{color:var(--resume-accent);width:14px;text-align:center}.resume-contact-links{display:flex;justify-content:center;align-items:center;gap:8px}.resume-contact-links a{color:var(--resume-accent);text-decoration:none;font-weight:700;transition:opacity .2s}.resume-contact-links a:hover{opacity:.85}.resume-contact-divider{color:var(--resume-divider)}.resume-summary{font-size:.95em;color:var(--resume-text-medium);margin-bottom:var(--section-gap);text-align:justify}.resume-section{margin-bottom:var(--section-gap)}.resume-section:last-child{margin-bottom:0}.resume-section-title{font-family:Outfit,sans-serif;font-size:1.15em;font-weight:700;color:var(--resume-accent);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--resume-divider);padding-bottom:4px;margin-bottom:calc(var(--section-gap) * .7);display:flex;align-items:center;gap:6px}.resume-skills-grid{display:grid;grid-template-columns:auto 1fr;row-gap:6px;column-gap:12px;font-size:.9em}.resume-skills-category{font-weight:700;color:var(--resume-text-dark);text-align:left;min-width:140px}.resume-skills-list{color:var(--resume-text-medium)}.resume-timeline-item{margin-bottom:calc(var(--section-gap) * .7)}.resume-timeline-item:last-child{margin-bottom:0}.resume-timeline-header{display:flex;justify-content:space-between;font-weight:700;font-size:.95em;color:var(--resume-text-dark)}.resume-timeline-sub{display:flex;justify-content:space-between;font-size:.9em;color:var(--resume-accent);font-weight:600;margin-bottom:4px}.resume-tech-badges{display:flex;flex-wrap:wrap;gap:4px;margin-top:3px;margin-bottom:4px}.resume-tech-badge{font-size:.8em;font-weight:600;background:var(--resume-tag-bg);color:var(--resume-text-medium);padding:1px 6px;border-radius:3px;border:1px solid var(--resume-divider)}.resume-bullets{list-style-type:square;margin-left:15px;font-size:.9em;color:var(--resume-text-medium);display:flex;flex-direction:column;gap:2px}.resume-bullets li{text-align:justify}.resume-project-item{margin-bottom:calc(var(--section-gap) * .7)}.resume-project-item:last-child{margin-bottom:0}.resume-footer-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.resume-footer-item{font-size:.9em;margin-bottom:4px}.resume-footer-item:last-child{margin-bottom:0}.resume-footer-header{font-weight:700;display:flex;justify-content:space-between;color:var(--resume-text-dark)}.resume-footer-sub{color:var(--resume-text-light);font-weight:500;margin-bottom:2px}.resume-footer-desc{font-size:.9em;color:var(--resume-text-medium)}.resume-diffs-list{list-style-type:disc;margin-left:14px;font-size:.9em;color:var(--resume-text-medium);display:flex;flex-direction:column;gap:3px}.editor-drawer{position:fixed;top:0;right:-420px;width:420px;height:100vh;background:var(--dash-bg);border-left:1px solid var(--border-color);box-shadow:-10px 0 30px #0006;z-index:100;display:flex;flex-direction:column;transition:right .3s cubic-bezier(.4,0,.2,1)}.editor-drawer.open{right:0}.drawer-header{padding:20px;border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between}.drawer-header h3{font-family:Outfit,sans-serif;font-size:16px;font-weight:700;color:var(--text-primary);display:flex;align-items:center;gap:8px}.drawer-header h3 i{color:var(--accent-color)}.close-btn{background:transparent;border:none;color:var(--text-secondary);font-size:18px;cursor:pointer;transition:color .2s}.close-btn:hover{color:var(--accent-danger)}.drawer-body{flex:1;padding:20px;display:flex;flex-direction:column;gap:12px}.drawer-desc{font-size:11px;color:var(--text-secondary);line-height:1.4}#json-editor-textarea{flex:1;background:#0000004d;border:1px solid var(--border-color);border-radius:12px;color:#c7d2fe;font-family:Courier New,Courier,monospace;font-size:12px;padding:16px;resize:none;outline:none;line-height:1.5;transition:border-color .2s}#json-editor-textarea:focus{border-color:var(--accent-color);box-shadow:0 0 10px #6366f126}.drawer-footer{padding:20px;border-top:1px solid var(--border-color);display:flex;gap:10px}.apply-btn{flex:1.3;background:var(--accent-color);border:none;border-radius:8px;color:#fff;font-weight:600;font-size:13px;padding:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;transition:all .2s}.apply-btn:hover{background:#4f46e5;box-shadow:0 4px 12px var(--accent-glow)}.reset-btn{flex:1;background:#ffffff0d;border:1px solid var(--border-color);border-radius:8px;color:var(--text-secondary);font-weight:600;font-size:13px;padding:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;transition:all .2s}.reset-btn:hover{background:#ffffff1a;color:var(--text-primary);border-color:var(--border-hover)}@keyframes float-pulse{0%{transform:translateY(0) scale(1)}50%{transform:translateY(-4px) scale(1.02)}to{transform:translateY(0) scale(1)}}@keyframes beat{to{transform:scale(1.18)}}@keyframes pulse-glow{0%{box-shadow:0 0 #10b98180}70%{box-shadow:0 0 0 8px #10b98100}to{box-shadow:0 0 #10b98100}}@keyframes shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-4px)}40%,80%{transform:translate(4px)}}@media print{@page{size:auto;margin:0!important}html,body{margin:0!important;padding:0!important;background:#fff!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;width:100%!important;height:100%!important}.sidebar-panel,.preview-actionbar,.editor-drawer,.pdf-modal-overlay,#toggle-editor,.fit-warning{display:none!important}.app-container,.preview-panel,.canvas-viewport{display:block!important;position:static!important;margin:0!important;padding:0!important;width:100%!important;height:100%!important;background:#fff!important;overflow:visible!important;box-shadow:none!important}.resume-sheet{box-shadow:none!important;border:none!important;outline:none!important;padding:var(--page-margin)!important;margin:0 auto!important;background:#fff!important;page-break-after:avoid!important;page-break-inside:avoid!important;break-inside:avoid!important;width:100%!important;height:100%!important}.resume-sheet.a4{width:210mm!important;height:297mm!important}.resume-sheet.letter{width:8.5in!important;height:11in!important}a[href]:after{content:none!important}*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}}.pdf-modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#080c18bf;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);display:none;align-items:center;justify-content:center;z-index:1000;opacity:0;transition:opacity .3s ease}.pdf-modal-overlay.open{display:flex;opacity:1}.pdf-modal-card{background:#111827d9;border:1px solid rgba(255,255,255,.1);box-shadow:0 20px 50px #00000080,0 0 40px #6366f126;border-radius:24px;width:90%;max-width:520px;padding:30px;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);transform:scale(.9);transition:transform .3s cubic-bezier(.34,1.56,.64,1);color:var(--text-primary)}.pdf-modal-overlay.open .pdf-modal-card{transform:scale(1)}.pdf-modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;border-bottom:1px solid var(--border-color);padding-bottom:16px}.pdf-modal-header h3{font-family:Outfit,sans-serif;font-size:18px;font-weight:700;display:flex;align-items:center;gap:10px;background:linear-gradient(to right,#6366f1,#a5b4fc);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.pdf-modal-header h3 i{color:#818cf8;-webkit-text-fill-color:initial}.modal-close-btn{background:transparent;border:none;color:var(--text-secondary);font-size:20px;cursor:pointer;transition:color .2s}.modal-close-btn:hover{color:var(--accent-danger)}.modal-intro-text{font-size:13px;color:var(--text-secondary);line-height:1.5;margin-bottom:24px}.steps-container{display:flex;flex-direction:column;gap:16px;margin-bottom:24px}.step-item{display:flex;align-items:flex-start;gap:16px}.step-number{background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;flex-shrink:0;box-shadow:0 0 10px #6366f14d}.step-text{font-size:13px;color:var(--text-primary);line-height:1.4;padding-top:3px}.step-text strong{color:#a5b4fc}.modal-tips{background:#f59e0b14;border:1px solid rgba(245,158,11,.15);border-radius:12px;padding:14px 18px;margin-bottom:28px}.tip-title{font-size:12px;font-weight:700;color:var(--accent-warning);display:flex;align-items:center;gap:6px;margin-bottom:4px}.modal-tips p{font-size:11.5px;color:var(--text-secondary);line-height:1.45}.pdf-modal-footer{display:flex;flex-direction:column;gap:10px}.modal-btn-primary{background:linear-gradient(135deg,#6366f1,#4f46e5);border:none;border-radius:10px;color:#fff;font-size:13px;font-weight:600;padding:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;box-shadow:0 4px 12px #6366f14d;transition:all .2s}.modal-btn-primary:hover{background:linear-gradient(135deg,#818cf8,#6366f1);box-shadow:0 6px 16px #6366f166;transform:translateY(-1px)}.modal-btn-secondary{background:transparent;border:1px solid var(--border-color);border-radius:10px;color:var(--text-secondary);font-size:12px;font-weight:500;padding:10px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;transition:all .2s}.modal-btn-secondary:hover{background:#ffffff0d;color:var(--text-primary);border-color:var(--border-hover)}
