:root{--brand-primary: #4f46e5;--brand-primary-hover: #6366f1;--brand-primary-active: #4338ca;--brand-primary-soft: #eef2ff;--brand-primary-border: #c7d2fe;--brand-secondary: #7c3aed;--brand-gradient: linear-gradient(135deg, #4f46e5 0%, #7c3aed 100%);--c-success: #10b981;--c-success-soft: #ecfdf5;--c-warning: #f59e0b;--c-warning-soft: #fffbeb;--c-danger: #ef4444;--c-danger-soft: #fef2f2;--c-info: #0ea5e9;--c-info-soft: #f0f9ff;--n-0: #ffffff;--n-50: #f8fafc;--n-100: #f1f5f9;--n-200: #e2e8f0;--n-300: #cbd5e1;--n-400: #94a3b8;--n-500: #64748b;--n-600: #475569;--n-700: #334155;--n-800: #1e293b;--n-900: #0f172a;--surface-page: #f7f8fb;--surface-card: #ffffff;--surface-sunken: #f1f5f9;--border-subtle: #eef1f6;--border-default: #e2e8f0;--shadow-xs: 0 1px 2px rgba(15, 23, 42, .04);--shadow-sm: 0 1px 3px rgba(15, 23, 42, .06), 0 1px 2px rgba(15, 23, 42, .04);--shadow-md: 0 4px 12px rgba(15, 23, 42, .07), 0 2px 4px rgba(15, 23, 42, .04);--shadow-lg: 0 12px 28px rgba(15, 23, 42, .09), 0 4px 10px rgba(15, 23, 42, .05);--shadow-xl: 0 24px 48px rgba(15, 23, 42, .12), 0 8px 16px rgba(15, 23, 42, .06);--shadow-paper: 0 1px 2px rgba(15, 23, 42, .06), 0 8px 32px rgba(15, 23, 42, .1);--r-xs: 4px;--r-sm: 6px;--r-md: 8px;--r-lg: 12px;--r-xl: 16px;--r-pill: 999px;--t-fast: all .12s cubic-bezier(.4, 0, .2, 1);--t-base: all .2s cubic-bezier(.4, 0, .2, 1);--t-slow: all .32s cubic-bezier(.4, 0, .2, 1)}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%;margin:0;padding:0}body{font-family:Inter,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,Segoe UI,sans-serif;font-size:14px;line-height:1.6;color:var(--n-800);background:var(--surface-page);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}h1,h2,h3,h4,h5,h6{margin:0;font-weight:600;color:var(--n-900);line-height:1.35}p{margin:0}a{color:var(--brand-primary);text-decoration:none;transition:var(--t-fast)}a:hover{color:var(--brand-primary-hover)}img{max-width:100%;display:block}button{font-family:inherit}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#d3dae4;border-radius:var(--r-pill);border:2px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background:#b6c0cd;background-clip:content-box}.thin-scroll::-webkit-scrollbar{width:6px}.thin-scroll::-webkit-scrollbar-thumb{border:1px solid transparent}.ant-card{border-radius:var(--r-lg)}.ant-input:focus,.ant-input-focused,.ant-input-affix-wrapper:focus,.ant-input-affix-wrapper-focused,.ant-select-focused .ant-select-selector{border-color:var(--brand-primary)!important;box-shadow:0 0 0 3px var(--brand-primary-border)!important}.ant-btn:not(:disabled):active{transform:translateY(.5px)}.ant-tooltip-inner{font-size:12px;border-radius:var(--r-sm);padding:5px 9px}.ant-modal-content,.ant-drawer-content{border-radius:var(--r-xl)}.text-gradient{background:var(--brand-gradient);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.brand-gradient-bg{background:var(--brand-gradient)}.surface-card{background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--r-xl);box-shadow:var(--shadow-sm)}.hover-lift{transition:var(--t-base)}.hover-lift:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.focus-ring:focus-visible{outline:none;box-shadow:0 0 0 3px var(--brand-primary-border)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}@keyframes pulseSoft{0%,to{opacity:1}50%{opacity:.55}}.animate-in{animation:fadeInUp .4s cubic-bezier(.16,1,.3,1) both}.animate-fade{animation:fadeIn .3s ease both}.skeleton{background:linear-gradient(90deg,#eef1f6 25%,#f6f8fb,#eef1f6 75%);background-size:800px 100%;animation:shimmer 1.4s infinite linear;border-radius:var(--r-sm)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.resume-paper{width:794px;min-height:1123px;background:#fff;box-shadow:var(--shadow-paper);position:relative}.resume-rich h1,.resume-rich h2,.resume-rich h3,.resume-rich h4{margin:8px 0 4px;font-weight:600;color:var(--n-900)}.resume-rich p{margin:3px 0}.resume-rich ul,.resume-rich ol{padding-left:18px;margin:3px 0}.resume-rich li{margin:1px 0}.resume-rich code{background:var(--n-100);padding:1px 4px;border-radius:3px;font-size:.9em;color:#e11d48}.resume-rich pre{background:var(--n-50);padding:8px 12px;border-radius:var(--r-sm);border:1px solid var(--n-200);margin:6px 0;overflow-x:auto}.resume-rich pre code{background:none;padding:0;color:var(--n-700)}.resume-rich blockquote{border-left:3px solid var(--brand-primary);padding-left:10px;margin:6px 0;color:var(--n-500)}.resume-rich strong{font-weight:600;color:var(--n-900)}.resume-rich a{color:var(--brand-primary)}.resume-rich table{border-collapse:collapse;width:100%;margin:6px 0}.resume-rich th,.resume-rich td{border:1px solid var(--n-200);padding:4px 8px;text-align:left}.resume-rich th{background:var(--n-50);font-weight:600}.resume-rich hr{border:none;border-top:1px solid var(--n-200);margin:8px 0}@media print{body *{visibility:hidden}.resume-paper,.resume-paper *{visibility:visible}.resume-paper{position:absolute;left:0;top:0;box-shadow:none;width:100%}}.tiptap-editor .ProseMirror{min-height:180px;outline:none;padding:14px 16px;font-size:14px;line-height:1.75;color:var(--n-700)}.tiptap-editor .ProseMirror p.is-editor-empty:first-child:before{content:attr(data-placeholder);float:left;color:var(--n-400);pointer-events:none;height:0}.tiptap-editor .ProseMirror h1{font-size:22px;margin:12px 0 6px}.tiptap-editor .ProseMirror h2{font-size:18px;margin:10px 0 5px}.tiptap-editor .ProseMirror h3{font-size:16px;margin:8px 0 4px}.tiptap-editor .ProseMirror ul,.tiptap-editor .ProseMirror ol{padding-left:22px}.tiptap-editor .ProseMirror blockquote{border-left:3px solid var(--brand-primary-border);padding-left:12px;color:var(--n-500);margin:8px 0}.tiptap-editor .ProseMirror code{background:var(--n-100);padding:1px 4px;border-radius:3px;font-size:.9em}.tiptap-editor .ProseMirror strong{font-weight:600}@media (max-width: 1400px){.editor-preview-pane{min-width:280px!important}}@media (max-width: 1100px){.editor-workspace{overflow-x:auto!important}.editor-preview-pane{min-width:300px!important;flex:1 1 320px!important}}.app-mobile-menu{display:none}@media (max-width: 600px){.app-header{padding:0 16px!important;gap:8px}.app-header-main{gap:8px!important;min-width:0}.app-desktop-nav{display:none!important}.app-mobile-menu{display:inline-flex;flex-shrink:0}}@media (max-width: 900px){.login-split{grid-template-columns:1fr!important}.login-split>div:first-child{display:none!important}}.template-card{transition:all .24s cubic-bezier(.4,0,.2,1)}.template-card:hover{transform:translateY(-4px);box-shadow:0 16px 36px #0f172a1f,0 4px 12px #0f172a0f!important;border-color:#c7d2fe!important}.template-card:hover .template-card-actions{opacity:1;transform:translateY(0)}.template-card-actions{opacity:0;transform:translateY(6px);transition:all .24s cubic-bezier(.4,0,.2,1)}@media (hover: none),(pointer: coarse){.template-card-actions{opacity:1;transform:translateY(0)}}.resume-card{transition:all .22s cubic-bezier(.4,0,.2,1)}.resume-card:hover{transform:translateY(-3px);box-shadow:0 12px 28px #0f172a1a!important;border-color:#c7d2fe!important}.resume-card:hover .resume-card-overlay{opacity:1}.resume-card-overlay{opacity:0;transition:opacity .22s ease}.section-item{transition:background .14s ease,border-color .14s ease}.section-item:hover{background:#f8fafc}.section-item.is-active{background:#eef2ff;border-right-color:#4f46e5!important}.section-item.is-active .section-item-label{color:#4338ca;font-weight:500}.section-item.is-dragging{opacity:.45;background:#eef2ff}.section-toolbar{opacity:0;transition:opacity .16s ease}.section-item:hover .section-toolbar,.section-item.is-active .section-toolbar{opacity:1}.form-group-title{font-size:12px;font-weight:600;color:#64748b;letter-spacing:.4px;text-transform:uppercase;margin-bottom:10px}.color-swatch{width:24px;height:24px;border-radius:6px;cursor:pointer;transition:transform .14s ease,box-shadow .14s ease;border:1px solid rgba(15,23,42,.08)}.color-swatch:hover{transform:scale(1.12);box-shadow:0 2px 8px #0f172a2e}.color-swatch.is-selected{box-shadow:0 0 0 2px #fff,0 0 0 4px #4f46e5}input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:4px;border-radius:999px;background:#e2e8f0;outline:none;cursor:pointer}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:14px;height:14px;border-radius:50%;background:#4f46e5;cursor:pointer;border:2px solid #fff;box-shadow:0 1px 4px #4f46e566;transition:transform .14s ease}input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.15)}input[type=range]::-moz-range-thumb{width:12px;height:12px;border-radius:50%;background:#4f46e5;cursor:pointer;border:2px solid #fff}.score-ring{transition:stroke-dashoffset .6s cubic-bezier(.4,0,.2,1)}.empty-illustration{opacity:.9}.preview-zoom-container{transition:transform .2s ease}.toolbar-divider{width:1px;height:20px;background:#e2e8f0;margin:0 4px;flex-shrink:0}.scroll-shadow{position:relative}.scroll-shadow:after{content:"";position:absolute;left:0;right:0;bottom:0;height:18px;pointer-events:none;background:linear-gradient(to bottom,transparent,rgba(15,23,42,.04))}
