*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#f0f2f5;--surface:#fff;--border:#e4e7ec;--text:#1a1d26;--text-secondary:#667085;--primary:#20c997;--primary-hover:#1baa80;--accent-orange:#e67e22;--editor-bg:#3a3f4b;--toolbar-bg:#2d3139;--toolbar-text:#c8cdd5;--sidebar-bg:#1e293b;--sidebar-text:#cbd5e1;--sidebar-active:#3b82f6;--shadow:0 1px 3px #00000014;--radius:8px;--font:"PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", system-ui, sans-serif}html,body,#root{height:100%}body{font-family:var(--font);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;line-height:1.5}input,textarea,button,select{font:inherit}input,textarea{border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text);border-radius:6px;padding:8px 12px;transition:border-color .15s}input:focus,textarea:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #20c9971f}input:disabled{color:var(--text-secondary);background:#f9fafb}textarea{resize:vertical;min-height:80px}.app{flex-direction:column;height:100%;display:flex}.app-header{background:var(--surface);border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:12px 24px;display:flex}.header-brand{align-items:center;gap:12px;display:flex}.brand-icon{font-size:28px}.header-brand h1{font-size:18px;font-weight:600}.header-brand p{color:var(--text-secondary);font-size:12px}.header-actions{gap:8px;display:flex}.app-main{flex:1;grid-template-columns:1fr 1fr;display:grid;overflow:hidden}.editor-workspace{background:var(--editor-bg);flex-direction:column;flex:1;display:flex;overflow:hidden}.editor-top{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.editor-bottom{flex-shrink:0;min-height:220px;max-height:40%;padding:0 12px 10px;overflow:hidden}.editor-toolbar{background:var(--toolbar-bg);height:48px;color:var(--toolbar-text);border-bottom:1px solid #ffffff14;flex-shrink:0;justify-content:space-between;align-items:center;padding:0 16px;display:flex}.toolbar-left,.toolbar-right{align-items:center;gap:8px;display:flex}.toolbar-back{width:32px;height:32px;color:var(--toolbar-text);cursor:pointer;background:#ffffff14;border:none;border-radius:6px;justify-content:center;align-items:center;font-size:16px;transition:background .15s;display:flex}.toolbar-back:hover{background:#ffffff26}.toolbar-brand{color:#fff;white-space:nowrap;font-size:14px;font-weight:600}.toolbar-divider{background:#ffffff26;width:1px;height:20px;margin:0 4px}.toolbar-nav{align-items:center;gap:2px;display:flex}.toolbar-nav-item{color:var(--toolbar-text);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:4px;padding:6px 12px;font-size:13px;transition:background .15s,color .15s}.toolbar-nav-item:hover:not(:disabled){color:#fff;background:#ffffff1a}.toolbar-nav-item:disabled{opacity:.45;cursor:not-allowed}.toolbar-nav-item.active{color:#fff;background:#ffffff1f}.toolbar-nav-wrap,.toolbar-nav-group{position:relative}.toolbar-panel{z-index:100;background:#fff;border-radius:8px;padding:16px 20px;position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);box-shadow:0 4px 20px #0000002e}.toolbar-panel-spacing{width:320px}.toolbar-panel-theme{gap:20px;width:max-content;padding:16px;display:flex}.toolbar-panel-row{margin-bottom:14px}.toolbar-panel-row:last-child{margin-bottom:0}.toolbar-panel-row-head{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.toolbar-panel-value-wrap{align-items:center;gap:8px;display:flex}.toolbar-panel-label{color:#555;font-size:13px}.toolbar-panel-value{color:var(--accent-orange);font-size:13px;font-weight:600}.toolbar-panel-slider-wrap{align-items:center;gap:10px;display:flex}.toolbar-slider{appearance:none;background:#e0e0e0;border-radius:2px;outline:none;flex:1;height:4px}.toolbar-slider::-webkit-slider-thumb{-webkit-appearance:none;cursor:pointer;background:#fff;border:2px solid #3b82f6;border-radius:50%;width:16px;height:16px;box-shadow:0 1px 3px #00000026}.toolbar-slider::-moz-range-thumb{cursor:pointer;background:#fff;border:2px solid #3b82f6;border-radius:50%;width:16px;height:16px}.toolbar-reset-btn{color:#888;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #ddd;border-radius:4px;padding:2px 8px;font-size:12px}.toolbar-reset-btn:hover{color:#555;border-color:#bbb}.toolbar-theme-section{flex-direction:column;gap:10px;display:flex}.toolbar-theme-label{color:#333;font-size:13px;font-weight:500}.toolbar-color-grid{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.toolbar-color-swatch{cursor:pointer;border:2px solid #0000;border-radius:50%;width:28px;height:28px;transition:transform .15s}.toolbar-color-swatch:hover{transform:scale(1.1)}.toolbar-color-swatch.active{border-color:#222;box-shadow:0 0 0 2px #fff,0 0 0 4px #222}.toolbar-custom-color{cursor:pointer;border:1px solid #ddd;border-radius:6px;width:80px;height:80px;display:block;overflow:hidden}.toolbar-custom-color input[type=color]{cursor:pointer;border:none;width:100%;height:100%;padding:0}.toolbar-modal-overlay{z-index:200;background:#00000073;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.toolbar-modal{background:#fff;border-radius:8px;width:420px;box-shadow:0 8px 32px #0003}.toolbar-modal-header{border-bottom:1px solid #eee;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.toolbar-modal-header h3{color:#222;font-size:15px;font-weight:600}.toolbar-modal-close{color:#999;cursor:pointer;background:0 0;border:none;border-radius:4px;width:28px;height:28px;font-size:20px;line-height:1}.toolbar-modal-close:hover{color:#555;background:#f5f5f5}.toolbar-modal-body{padding:20px}.toolbar-form-row{gap:16px;margin-bottom:16px;display:flex}.toolbar-form-field{flex-direction:column;flex:1;gap:6px;display:flex}.toolbar-form-label{color:#555;font-size:13px}.toolbar-form-field select{color:#333;cursor:pointer;background:#fff;border:1px solid #ddd;border-radius:6px;padding:8px 10px;font-size:13px}.toolbar-form-field select:focus{border-color:var(--primary);outline:none}.toolbar-template-name{color:#ffffff73;white-space:nowrap;margin-left:8px;font-size:12px}.toolbar-action{color:var(--toolbar-text);cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #fff3;border-radius:6px;padding:6px 14px;font-size:13px;transition:background .15s,color .15s}.toolbar-action:hover:not(:disabled){color:#fff;background:#ffffff1a}.toolbar-action:disabled{opacity:.6;cursor:not-allowed}.toolbar-action-primary{background:var(--primary);border-color:var(--primary);color:#fff;font-weight:500}.toolbar-action-primary:hover:not(:disabled){background:var(--primary-hover);border-color:var(--primary-hover);color:#fff}.btn{cursor:pointer;border:none;border-radius:6px;justify-content:center;align-items:center;padding:8px 16px;font-size:14px;font-weight:500;transition:background .15s,opacity .15s;display:inline-flex}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--primary-hover)}.btn-secondary{color:var(--text);border:1px solid var(--border);background:#f1f5f9}.btn-secondary:hover{background:#e2e8f0}.btn-ghost{color:var(--text-secondary);background:0 0}.btn-ghost:hover{color:var(--text);background:#f1f5f9}.btn-sm{padding:4px 12px;font-size:13px}.editor-panel{background:var(--surface);border-radius:10px;flex-direction:column;height:100%;display:flex;overflow:hidden;box-shadow:0 4px 20px #0000002e}.section-nav{border-bottom:1px solid var(--border);flex-shrink:0;gap:4px;padding:12px 16px;display:flex;overflow-x:auto}.section-nav-item{color:var(--text-secondary);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:6px;align-items:center;gap:6px;padding:8px 14px;font-size:13px;transition:background .15s,color .15s;display:flex}.section-nav-item:hover{color:var(--text);background:#f1f5f9}.section-nav-item.active{color:var(--primary);background:#eff6ff;font-weight:500}.section-icon{font-size:14px}.template-picker{border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:12px;padding:10px 16px;display:flex}.template-label{color:var(--text-secondary);font-size:13px}.template-options{gap:6px;display:flex}.template-option{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:20px;padding:4px 14px;font-size:13px;transition:all .15s}.template-option.active{background:var(--primary);color:#fff;border-color:var(--primary)}.editor-content{flex:1;padding:10px 16px 12px;overflow-y:auto}.editor-content input,.editor-content textarea,.editor-content select{padding:5px 10px;font-size:13px}.editor-content textarea{min-height:60px}.editor-content .form-field{gap:2px;margin-bottom:6px}.editor-content .form-label{font-size:12px}.editor-content .form-hint{font-size:11px}.editor-content .form-grid,.editor-content .form-grid-4{gap:8px 12px;margin-bottom:8px}.editor-content .section-header{margin-bottom:10px}.editor-content .section-desc{margin-bottom:8px;font-size:12px}.editor-content .card-item{margin-bottom:8px;padding:10px 12px}.editor-content .card-item-header{margin-bottom:8px}.editor-content .card-item-title{font-size:13px}.editor-content .checkbox-field{margin-bottom:6px;font-size:12px}.editor-content .empty-hint{padding:20px;font-size:13px}.editor-content .inline-field-row{margin-bottom:6px}.editor-content .skills-input,.editor-content .preset-tags{margin-bottom:8px}.form-section h2{margin-bottom:16px;font-size:16px;font-weight:600}.section-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.section-header h2{margin-bottom:0}.section-desc{color:var(--text-secondary);margin-bottom:12px;font-size:13px}.form-grid{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px;display:grid}.form-grid-4{grid-template-columns:repeat(4,1fr);gap:12px 16px;margin-bottom:12px;display:grid}.editor-content .form-section>h2{display:none}.form-field{flex-direction:column;gap:4px;margin-bottom:12px;display:flex}.form-label{color:var(--text);font-size:13px;font-weight:500}.form-hint{color:var(--text-secondary);font-size:12px}.empty-hint{color:var(--text-secondary);text-align:center;border-radius:var(--radius);border:1px dashed var(--border);background:#f9fafb;padding:32px;font-size:14px}.card-item{border:1px solid var(--border);border-radius:var(--radius);background:#fafbfc;margin-bottom:12px;padding:16px}.card-item-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.card-item-title{font-size:14px;font-weight:600}.checkbox-field{cursor:pointer;align-items:center;gap:6px;margin-bottom:12px;font-size:13px;display:flex}.skills-input{margin-bottom:12px}.skill-tags{flex-wrap:wrap;gap:6px;display:flex}.skill-tag{color:var(--primary);background:#eff6ff;border-radius:20px;padding:4px 10px;font-size:12px}.preview-panel{background:var(--editor-bg);flex-direction:column;flex:1;width:100%;min-width:0;min-height:0;display:flex;overflow:hidden}.preview-header{background:var(--surface);border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:12px 20px;font-size:14px;font-weight:500;display:flex}.preview-hint{color:var(--text-secondary);font-size:12px;font-weight:400}.preview-scroll{scrollbar-gutter:stable;flex:1;justify-content:center;align-items:flex-start;min-height:0;padding:20px 24px;display:flex;overflow:hidden auto}.preview-scroll::-webkit-scrollbar{width:8px}.preview-scroll::-webkit-scrollbar-track{background:#00000026;border-radius:4px}.preview-scroll::-webkit-scrollbar-thumb{background:#ffffff40;border-radius:4px}.preview-scroll::-webkit-scrollbar-thumb:hover{background:#fff6}@supports (scrollbar-color:auto){.preview-scroll{scrollbar-color:#ffffff59 #00000026;scrollbar-width:thin}}.resume-preview-paper{transform-origin:top;flex-shrink:0;width:210mm;min-height:auto}.resume-preview-paper [class^=tpl-],.resume-preview-paper .resume-template,.resume-preview-paper .tpl-split,.resume-preview-paper .fm-split,.resume-preview-paper .gs-split{min-height:auto!important}.resume-style-root>[class^=tpl-],.resume-style-root>.resume-template{font-size:var(--resume-font-size,13px);line-height:var(--resume-line-height,1.7);font-family:var(--resume-font-family,inherit);background:#fff;box-shadow:0 2px 16px #00000040}.resume-style-root .bs-main,.resume-style-root .gs-main,.resume-style-root .fm-main,.resume-style-root .modern-main{padding:var(--resume-page-padding,30px)!important}.resume-style-root .pg-section,.resume-style-root .resume-section,.resume-style-root .bs-section,.resume-style-root .bm-section,.resume-style-root .gs-section,.resume-style-root .tl-section,.resume-style-root .cb-section,.resume-style-root .fm-section{margin-bottom:var(--resume-module-gap,14px)!important}.resume-style-root .pg-section-title,.resume-style-root .resume-section-title,.resume-style-root .bs-section-title,.resume-style-root .bm-section-title,.resume-style-root .cb-section-label,.resume-style-root .gs-section-title,.resume-style-root .tl-section-title,.resume-style-root .fm-section-head{font-size:var(--resume-title-font-size,15px)!important}.resume-style-root .pg-info-row,.resume-style-root .pg-info-label,.resume-style-root .pg-info-value,.resume-style-root .pg-intention-row,.resume-style-root .pg-entry-header,.resume-style-root .pg-entry-desc,.resume-style-root .pg-detail-block,.resume-style-root .pg-text,.resume-style-root .pg-list,.resume-style-root .pg-skill-bar-item,.resume-style-root .pg-exam-courses,.resume-style-root .pg-section-body,.resume-style-root .resume-text,.resume-style-root .resume-list,.resume-style-root .resume-date,.resume-style-root .resume-tech,.resume-style-root .resume-skills,.resume-style-root .resume-entry,.resume-style-root .resume-contact,.resume-style-root .resume-links,.resume-style-root .resume-title,.resume-style-root .bm-title,.resume-style-root .bm-contact,.resume-style-root .cb-title,.resume-style-root .cb-meta,.resume-style-root .cb-contact,.resume-style-root .tl-title,.resume-style-root .tl-contact,.resume-style-root .fm-job-grid,.resume-style-root .fm-info p,.resume-style-root .fm-block p,.resume-style-root .bs-main .pg-text,.resume-style-root .bs-main .pg-list,.resume-style-root .bs-main .pg-entry-header,.resume-style-root .bs-main .pg-detail-block{line-height:var(--resume-line-height,1.7);font-size:var(--resume-font-size,13px)!important}.resume-style-root .pg-doc-title{color:var(--tpl-primary,#337ab7);font-size:28px!important}.resume-style-root .pg-doc-subtitle{font-size:11px!important}.resume-style-root .cb-name{color:var(--tpl-primary,#337ab7);font-size:22px!important}.resume-style-root .bm-name,.resume-style-root .tl-name{color:var(--tpl-primary,#337ab7);font-size:24px!important}.resume-style-root .fm-name{color:var(--tpl-primary,#337ab7);font-size:20px!important}.resume-style-root .bs-name,.resume-style-root .gs-name{font-size:18px!important}.resume-style-root .resume-name{font-size:26px!important}.pdf-export-wrapper{z-index:-1;pointer-events:none;position:fixed;top:0;left:-10000px}.pdf-export-clone,.pdf-export-clone *{min-height:auto!important}.pdf-export-clone{background:#fff;width:210mm;box-shadow:none!important}.resume-template.classic{color:#222;padding:32px 36px;font-size:13px}.resume-header{text-align:center;border-bottom:2px solid #222;margin-bottom:20px;padding-bottom:16px}.resume-name{letter-spacing:2px;margin-bottom:4px;font-size:26px;font-weight:700}.resume-title{color:#555;margin-bottom:6px;font-size:14px}.resume-contact,.resume-links{color:#666;font-size:12px}.resume-section{margin-bottom:16px}.resume-section-title{text-transform:uppercase;letter-spacing:1px;border-bottom:1px solid #ccc;margin-bottom:10px;padding-bottom:4px;font-size:14px;font-weight:700}.resume-entry{margin-bottom:12px}.resume-entry-header{justify-content:space-between;align-items:baseline;margin-bottom:4px;display:flex}.resume-entry-sub{color:#555;font-weight:400}.resume-date{color:#777;white-space:nowrap;font-size:12px}.resume-text{color:#444;font-size:12px;line-height:1.6}.resume-list{color:#444;padding-left:18px;font-size:12px;line-height:1.6}.resume-tech{color:#666;margin-bottom:2px;font-size:12px}.resume-skills{color:#444;font-size:12px;line-height:1.8}.resume-template.modern{min-height:297mm;font-size:12px;display:flex}.modern-sidebar{color:#e2e8f0;background:#1e293b;width:34%;padding:28px 20px}.modern-sidebar .resume-name{color:#fff;letter-spacing:1px;margin-bottom:4px;font-size:20px}.modern-role{color:#94a3b8;margin-bottom:20px;font-size:12px}.modern-block{margin-bottom:20px}.modern-block h3{text-transform:uppercase;letter-spacing:1.5px;color:#64748b;border-bottom:1px solid #334155;margin-bottom:8px;padding-bottom:4px;font-size:11px}.modern-block p{color:#cbd5e1;font-size:11px;line-height:1.7}.modern-skill-tags{flex-wrap:wrap;gap:4px;display:flex}.modern-skill-tags span{background:#334155;border-radius:4px;padding:2px 8px;font-size:10px}.modern-edu-item{margin-bottom:10px}.modern-edu-item strong{color:#f1f5f9;font-size:12px}.modern-main{flex:1;padding:28px 24px}.modern-main .resume-section-title{color:#1e293b;border-bottom-color:#1e293b}.pg-doc-header{text-align:center;margin-bottom:20px}.pg-doc-title{color:var(--tpl-primary,#337ab7);letter-spacing:4px;margin-bottom:6px;font-size:28px;font-weight:700}.pg-doc-subtitle{color:#888;font-size:11px}.pg-section{margin-bottom:14px}.pg-section-header{align-items:stretch;margin-bottom:10px;display:flex}.pg-section-title{background:var(--tpl-primary,#337ab7);color:#fff;white-space:nowrap;flex-shrink:0;align-items:center;padding:4px 14px;font-size:13px;font-weight:600;display:inline-flex}.pg-section-bar{background:var(--tpl-primary-light,#eef3f9);border-bottom:2px solid var(--tpl-primary,#337ab7);flex:1;margin-left:0}.pg-basic-info{align-items:flex-start;gap:16px;display:flex}.pg-basic-fields{flex:1;gap:24px;display:flex}.pg-basic-col{flex:1}.pg-info-row{margin-bottom:4px;font-size:12px}.pg-info-label{color:#555}.pg-info-value{color:#222}.pg-avatar{background:#f5f5f5;border:1px solid #ddd;flex-shrink:0;width:80px;height:100px;overflow:hidden}.pg-avatar img,.pg-avatar-svg{object-fit:cover;width:100%;height:100%;display:block}.pg-intention-row{flex-wrap:wrap;gap:16px 32px;padding-left:4px;font-size:12px;display:flex}.pg-intention-row strong{color:#555;font-weight:500}.pg-entry{margin-bottom:10px}.pg-entry-header{justify-content:space-between;align-items:baseline;margin-bottom:4px;font-size:12px;display:flex}.pg-entry-left{color:#666;flex-shrink:0;width:22%}.pg-entry-center{text-align:center;color:#222;flex:1;font-weight:600}.pg-entry-right{text-align:right;color:#555;flex-shrink:0;width:22%}.pg-detail-block{color:#444;margin-bottom:2px;padding-left:2px;font-size:12px}.pg-text{color:#444;font-size:12px;line-height:1.7}.pg-list{color:#444;padding-left:20px;font-size:12px;line-height:1.7}.pg-list li{margin-bottom:2px}.pg-skills-text{margin-bottom:10px}.pg-skill-bars{flex-direction:column;gap:10px;max-width:360px;display:flex}.pg-skill-bar-item{font-size:12px}.pg-skill-bar-header{color:#444;justify-content:space-between;margin-bottom:3px;display:flex}.pg-skill-label{color:var(--tpl-primary,#337ab7);font-size:11px}.pg-skill-bar-track{background:#e8e8e8;border-radius:2px;height:8px;overflow:hidden}.pg-skill-bar-fill{background:var(--tpl-primary,#337ab7);border-radius:2px;height:100%;transition:width .3s}.pg-self-eval{text-indent:0}.template-library{background:#eef1f5;flex:1;grid-template-columns:1fr 340px;display:grid;overflow:hidden}.library-preview-area{flex-direction:column;display:flex;overflow:hidden}.library-preview-scroll{flex:1;justify-content:center;align-items:flex-start;padding:32px;display:flex;overflow-y:auto}.library-preview-scroll .resume-preview-paper{transform-origin:top}.library-sidebar{background:var(--surface);border-left:1px solid var(--border);flex-direction:column;display:flex;overflow-y:auto}.library-sidebar-inner{border-bottom:1px solid var(--border);padding:24px 20px}.library-template-name{margin-bottom:8px;font-size:16px;font-weight:600}.library-template-desc{color:var(--text-secondary);margin-bottom:20px;font-size:13px;line-height:1.5}.library-option{margin-bottom:20px}.library-option-label{margin-bottom:10px;font-size:13px;font-weight:500;display:block}.color-presets{flex-wrap:wrap;gap:8px;display:flex}.color-swatch{cursor:pointer;border:2px solid #0000;border-radius:50%;width:28px;height:28px;transition:transform .15s,box-shadow .15s}.color-swatch:hover{transform:scale(1.1)}.color-swatch.active{box-shadow:0 0 0 2px var(--text);border-color:#fff}.btn-use-template{color:#fff;cursor:pointer;background:#20c997;border:none;border-radius:6px;width:100%;margin-bottom:20px;padding:12px;font-size:15px;font-weight:600;transition:background .15s}.btn-use-template:hover{background:#1baa80}.library-features{color:var(--text-secondary);font-size:12px;line-height:2;list-style:none}.library-features li:before{content:"· ";color:#20c997;font-weight:700}.library-template-list{flex:1;padding:16px 20px}.library-list-title{color:var(--text-secondary);margin-bottom:12px;font-size:13px;font-weight:600}.template-cards{flex-direction:column;gap:8px;display:flex}.template-card{border:1px solid var(--border);background:var(--surface);cursor:pointer;text-align:left;border-radius:8px;flex-direction:column;align-items:flex-start;gap:4px;padding:12px 14px;transition:border-color .15s,background .15s;display:flex}.template-card:hover{border-color:var(--primary);background:#f8fafc}.template-card.active{border-color:var(--primary);background:#eff6ff}.template-card-badge{color:var(--primary);background:#eff6ff;border-radius:10px;padding:1px 8px;font-size:11px}.template-card-name{color:var(--text);font-size:13px;font-weight:500}.avatar-upload{align-items:center;gap:12px;display:flex}.avatar-preview{object-fit:cover;border:1px solid var(--border);border-radius:4px;width:60px;height:75px}.module-nav-wrapper{border-bottom:1px solid var(--border);background:var(--surface);border-radius:10px 10px 0 0;flex-shrink:0}.module-nav-scroll{scrollbar-width:thin;gap:2px;padding:6px 12px 0;display:flex;overflow-x:auto}.module-nav-item{flex-direction:column;flex-shrink:0;align-items:center;min-width:58px;display:flex}.module-nav-item.active .module-tab{color:var(--accent-orange);border-bottom:2px solid var(--accent-orange);font-weight:500}.module-nav-controls{justify-content:center;align-items:center;gap:3px;min-width:30px;height:20px;margin-bottom:2px;display:flex}.module-nav-item.active .module-nav-controls{min-width:72px}.module-toggle{cursor:pointer;border:1px solid #0000;border-radius:8px;flex-shrink:0;width:30px;height:16px;padding:0;transition:background .2s,border-color .2s,box-shadow .2s;position:relative}.module-toggle.on{background:#20c997;border-color:#18a882;box-shadow:inset 0 0 0 1px #ffffff26}.module-toggle.off{background:#e8eaed;border-color:#c5cad1;box-shadow:inset 0 1px 2px #0000000f}.module-toggle:hover{border-color:#a8b0bb}.module-toggle.on:hover{background:#1db888;border-color:#159a75}.module-toggle:after{content:"";background:#fff;border-radius:50%;width:12px;height:12px;transition:left .2s;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 1px 3px #00000038}.module-toggle.on:after{left:calc(100% - 13px)}.module-toggle.off:after{left:1px}.module-move-btn{color:#fff;cursor:pointer;background:#20c997;border:none;border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;font-size:12px;line-height:1;transition:background .15s;display:flex}.module-move-btn:hover{background:#1baa80}.module-tab{color:var(--text);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:3px;padding:4px 8px 5px;font-size:12px;transition:color .15s;display:flex}.module-tab:hover{color:var(--accent-orange)}.module-tab-hidden{color:#aaa}.module-edit-icon{color:var(--accent-orange);cursor:pointer;font-size:11px}.module-title-input{border:1px solid var(--accent-orange);text-align:center;border-radius:4px;width:72px;padding:4px 6px;font-size:12px}.module-nav-tip{color:var(--accent-orange);background:#fffbf5;border-bottom:1px solid #fdebd0;align-items:center;gap:4px;padding:4px 16px 6px;font-size:11px;line-height:1.4;display:flex}.module-nav-tip-icon{flex-shrink:0;font-size:12px}.inline-field-row{align-items:center;gap:8px;margin-bottom:10px;display:flex}.inline-field-row input{flex:1}.inline-sep{color:var(--text-secondary)}.preset-tags{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.preset-tag{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:20px;padding:4px 14px;font-size:13px;transition:all .15s}.preset-tag.active{color:#fff;background:#20c997;border-color:#20c997}.selected-tags{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.selected-tag{background:#eff6ff;border-radius:20px;align-items:center;gap:4px;padding:4px 10px;font-size:12px;display:inline-flex}.selected-tag button{color:#c0392b;cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:14px}.pg-exam-courses{flex-wrap:wrap;gap:12px;margin-top:6px;padding-left:4px;font-size:12px;display:flex}.pg-hobby-tags{flex-wrap:wrap;gap:6px;display:flex}.pg-hobby-tag{border:1px solid #fff6;border-radius:12px;padding:2px 10px;font-size:11px}.tpl-split{min-height:297mm;display:flex}.tpl-sidebar{flex-shrink:0}.tpl-main{flex:1}.tpl-blue-sidebar{color:#333;min-height:297mm;font-size:12px}.bs-sidebar{background:var(--tpl-primary,#1e3a5f);color:#fff;width:34%;padding:24px 18px}.bs-avatar{border:2px solid #ffffff80;width:72px;height:90px;margin:0 auto 12px;overflow:hidden}.bs-avatar img,.bs-avatar .pg-avatar-svg{object-fit:cover;width:100%;height:100%}.bs-name{text-align:center;margin-bottom:4px;font-size:18px}.bs-role{text-align:center;opacity:.85;margin-bottom:16px;font-size:11px}.bs-info-list p{align-items:center;gap:6px;margin-bottom:6px;font-size:11px;display:flex}.bs-icon{opacity:.7;font-size:10px}.bs-sidebar-block{border-top:1px solid #fff3;margin-top:18px;padding-top:12px}.bs-sidebar-block h3{opacity:.9;margin-bottom:8px;font-size:12px}.bs-sidebar-text{opacity:.9;font-size:11px;line-height:1.6}.bs-sidebar .pg-hobby-tag{color:#fff;border-color:#ffffff59}.bs-sidebar .pg-skill-bar-track{background:#fff3}.bs-sidebar .pg-skill-bar-fill{background:#fff}.bs-sidebar .pg-text{color:#ffffffe6;font-size:11px}.bs-main{background:#fff;padding:20px 22px}.bs-section-header{align-items:center;gap:8px;margin-bottom:10px;display:flex}.bs-section-icon{color:var(--tpl-primary,#1e3a5f);font-size:10px}.bs-section-title{color:var(--tpl-primary,#1e3a5f);white-space:nowrap;font-size:13px;font-weight:700}.bs-section-line{background:#ddd;flex:1;height:1px}.tpl-black-minimal{padding:var(--resume-page-padding,28px);color:#222;font-size:12px}.bm-header{border-bottom:2px solid var(--tpl-primary,#2d3436);justify-content:space-between;align-items:flex-start;margin-bottom:18px;padding-bottom:16px;display:flex}.bm-name{letter-spacing:3px;font-size:24px;font-weight:700}.bm-title{color:#666;margin-top:4px;font-size:13px}.bm-contact{color:#888;margin-top:8px;font-size:11px}.bm-avatar{border:1px solid #ddd;width:70px;height:88px;overflow:hidden}.bm-avatar img,.bm-avatar .pg-avatar-svg{object-fit:cover;width:100%;height:100%}.bm-section{margin-bottom:16px}.bm-section-title{letter-spacing:2px;border-bottom:1px solid var(--tpl-primary,#2d3436);margin-bottom:10px;padding-bottom:4px;font-size:13px;font-weight:700}.tpl-classic-blue{color:#333;min-height:297mm;font-size:12px}.cb-header{background:var(--tpl-primary,#337ab7);color:#fff;padding:24px var(--resume-page-padding,28px)}.cb-header-inner{align-items:center;gap:20px;display:flex}.cb-avatar{border:2px solid #fff9;flex-shrink:0;width:76px;height:95px;overflow:hidden}.cb-avatar img,.cb-avatar .pg-avatar-svg{object-fit:cover;width:100%;height:100%}.cb-name{font-size:22px;font-weight:700}.cb-title{opacity:.9;margin-top:4px;font-size:13px}.cb-meta,.cb-contact{opacity:.85;margin-top:6px;font-size:11px}.cb-section{padding:0 var(--resume-page-padding,28px);margin-top:16px}.cb-section-head{background:var(--tpl-primary-light,#eff6ff);border-left:4px solid var(--tpl-primary,#337ab7);margin-bottom:8px;padding:5px 12px}.cb-section-label{color:var(--tpl-primary,#337ab7);font-size:13px;font-weight:700}.cb-section-body{padding:0 4px 8px}.tpl-fashion-modern{min-height:297mm;font-size:12px}.fm-split{min-height:297mm;display:flex}.fm-sidebar{color:#fff;background:#3f4156;width:36%;padding:24px 18px}.fm-avatar{width:70px;height:88px;margin-bottom:12px;overflow:hidden}.fm-avatar img,.fm-avatar .pg-avatar-svg{object-fit:cover;width:100%;height:100%}.fm-name{margin-bottom:14px;font-size:20px}.fm-job-grid{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:16px;font-size:11px;display:grid}.fm-job-grid small{opacity:.7;display:block}.fm-info p{opacity:.9;margin-bottom:4px;font-size:11px}.fm-block{border-top:1px solid #fff3;margin-top:16px;padding-top:12px}.fm-block h3{margin-bottom:6px;font-size:12px}.fm-block p{opacity:.9;font-size:11px;line-height:1.6}.fm-main{background:#fff;flex:1;padding:20px 22px}.fm-section{margin-bottom:14px}.fm-section-head{background:var(--tpl-primary,#d9534f);color:#fff;clip-path:polygon(0 0,calc(100% - 12px) 0,100% 100%,0 100%);min-width:120px;margin-bottom:8px;padding:5px 14px;font-size:13px;font-weight:600;display:inline-block}.tpl-green-sidebar{min-height:297mm;font-size:12px}.gs-split{min-height:297mm;display:flex}.gs-sidebar{background:var(--tpl-primary,#27ae60);color:#fff;width:32%;padding:24px 18px}.gs-avatar{border:2px solid #ffffff80;width:68px;height:85px;margin:0 auto 12px;overflow:hidden}.gs-avatar img,.gs-avatar .pg-avatar-svg{object-fit:cover;width:100%;height:100%}.gs-name{text-align:center;font-size:18px}.gs-title{text-align:center;opacity:.9;margin:4px 0 14px;font-size:11px}.gs-contact p{margin-bottom:5px;font-size:11px}.gs-block{border-top:1px solid #ffffff40;margin-top:16px;padding-top:12px}.gs-block h3{margin-bottom:8px;font-size:12px}.gs-block .pg-text,.gs-block .pg-skill-label{color:#fff}.gs-block .pg-skill-bar-track{background:#ffffff40}.gs-block .pg-skill-bar-fill{background:#fff}.gs-main{background:#fff;flex:1;padding:20px 24px}.gs-section-title{color:var(--tpl-primary,#27ae60);border-bottom:2px solid var(--tpl-primary,#27ae60);margin-bottom:10px;padding-bottom:4px;font-size:13px;font-weight:700}.gs-section{margin-bottom:14px}.tpl-timeline{padding:var(--resume-page-padding,24px);color:#333;font-size:12px}.tl-header{text-align:center;border-bottom:2px solid var(--tpl-primary,#337ab7);margin-bottom:20px;padding-bottom:14px}.tl-name{color:var(--tpl-primary,#337ab7);font-size:24px;font-weight:700}.tl-title{color:#666;margin-top:4px;font-size:13px}.tl-contact{color:#888;margin-top:6px;font-size:11px}.tl-section{margin-bottom:16px}.tl-section-title{color:var(--tpl-primary,#337ab7);border-left:3px solid var(--tpl-primary,#337ab7);margin-bottom:10px;padding-left:16px;font-size:14px;font-weight:700}.tl-timeline-body .pg-entry{border-left:2px solid #e0e0e0;margin-left:6px;padding-bottom:10px;padding-left:20px;position:relative}.tl-timeline-body .pg-entry:before{content:"";background:var(--tpl-primary,#337ab7);border-radius:50%;width:10px;height:10px;position:absolute;top:4px;left:-6px}.library-source{color:var(--text-secondary);background:#f1f5f9;border-radius:4px;margin-bottom:8px;padding:2px 8px;font-size:11px;display:inline-block}.template-card{flex-direction:row;align-items:stretch;gap:10px;padding:8px}.template-card-thumb{object-fit:cover;object-position:top;border:1px solid var(--border);background:#f8fafc;border-radius:4px;flex-shrink:0;width:56px;height:78px}.template-card-placeholder{color:var(--text-secondary);text-align:center;justify-content:center;align-items:center;font-size:10px;display:flex}.template-card-info{flex-direction:column;align-items:flex-start;gap:4px;min-width:0;display:flex}.template-card-name{font-size:12px;line-height:1.3}@media (width<=1024px){.editor-bottom{max-height:45%}.app-main{grid-template-rows:1fr 1fr;grid-template-columns:1fr}.template-library{grid-template-rows:1fr auto;grid-template-columns:1fr}.library-sidebar{border-left:none;border-top:1px solid var(--border);max-height:50vh}.editor-panel{border-bottom:none;border-right:none}.resume-preview-paper{width:100%;min-height:auto}}@media (width<=768px){.editor-toolbar{flex-wrap:wrap;gap:8px;height:auto;padding:8px 12px}.toolbar-nav,.toolbar-template-name{display:none}.editor-bottom{min-height:200px;padding:0 8px 8px}}@media (width<=640px){.app-header{flex-direction:column;align-items:flex-start;gap:12px}.form-grid{grid-template-columns:1fr}.form-grid-4{grid-template-columns:1fr 1fr}.section-nav{padding:8px 12px}}@media print{body{background:#fff}.app-header,.editor-toolbar,.editor-bottom,.preview-header{display:none!important}.editor-workspace{background:#fff}.editor-top,.app-main{display:block}.preview-panel,.preview-scroll{background:#fff;padding:0;overflow:visible}.resume-preview-paper{box-shadow:none;width:100%}}
