:root{font-family:"Microsoft YaHei","PingFang SC",Arial,sans-serif;color:#18263b;background:#edf1f6;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,textarea{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,textarea:focus-visible,.file-btn:focus-within{outline:3px solid #8ebcff;outline-offset:2px}.app-shell{min-height:100vh}.topbar{height:72px;background:#fff;border-bottom:1px solid #e5eaf0;display:flex;align-items:center;justify-content:space-between;padding:0 28px;gap:16px}.brand{display:flex;align-items:center;gap:11px}.brand-mark{display:grid;place-items:center;width:35px;height:35px;border-radius:10px;background:#18395e;color:#fff;font-weight:800}.brand strong{display:block;font-size:17px;letter-spacing:.02em}.brand small{display:block;margin-top:2px;color:#8290a2;font-size:11px}.top-actions{display:flex;align-items:center;gap:9px}.save-status{color:#648070;font-size:12px;margin-right:8px}.btn{border:1px solid transparent;border-radius:8px;padding:10px 15px;font-size:13px;font-weight:650;line-height:1.2;white-space:nowrap;text-align:center}.btn.primary{background:#1b416b;color:#fff;box-shadow:0 4px 10px #1b416b20}.btn.primary:hover{background:#12365d}.btn.ghost{background:#fff;border-color:#d8e0e9;color:#3d536a}.btn.ghost:hover,.btn.subtle:hover{background:#eef3f8}.btn.subtle{background:#fff;border-color:#dbe4ee;color:#294760}.file-btn{display:inline-block}.workspace{display:grid;grid-template-columns:minmax(390px,44%) minmax(0,56%);min-height:calc(100vh - 72px)}.editor-panel{background:#fff;border-right:1px solid #e1e7ee;min-width:0}.editor-intro{padding:24px 30px 21px;display:flex;align-items:center;justify-content:space-between;gap:14px;border-bottom:1px solid #edf0f4}.eyebrow{font-size:10px;color:#55739a;font-weight:800;letter-spacing:.16em;margin:0 0 7px}.editor-intro h1{font-size:23px;margin:0 0 6px;letter-spacing:-.025em}.editor-intro p:last-child{font-size:12px;color:#8290a0;margin:0;line-height:1.5}.progress-chip{border-radius:30px;background:#ecf4f0;color:#39836b;font-size:11px;padding:7px 10px;white-space:nowrap;font-weight:700}.editor-scroll{max-height:calc(100vh - 177px);overflow-y:auto;padding:0 30px 48px}.template-block,.form-block{padding:24px 0;border-bottom:1px solid #edf0f4}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:16px}.section-heading>div{display:flex;align-items:center;gap:9px}.section-heading h2{font-size:16px;margin:0}.step{color:#91a2b5;font-size:11px;font-weight:800}.hint{color:#9aa6b4;font-size:11px}.template-picker{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.template-option{border:1px solid #dce4ed;border-radius:10px;background:#fff;padding:10px;display:flex;flex-direction:column;align-items:flex-start;text-align:left;min-width:0}.template-option.active{border-color:#25639d;background:#f4f9fe;box-shadow:0 0 0 1px #25639d}.template-option strong{font-size:12px;margin:8px 0 2px}.template-option small{font-size:10px;color:#8290a2}.template-thumb{display:block;position:relative;background:#fff;width:100%;height:75px;border:1px solid #e6e9ec;box-shadow:0 2px 5px #172d4b0e;padding:10px 9px;overflow:hidden}.template-thumb i,.template-thumb b,.template-thumb em{display:block;height:3px;background:#cdd5df;margin-bottom:5px;border-radius:2px}.template-thumb i{width:42%;height:6px;background:#3a506b}.template-thumb b{width:23%;margin-top:9px;background:#7691ac}.template-thumb em{width:90%}.template-thumb em:last-child{width:68%}.modern-thumb{border-top:8px solid #305e91}.modern-thumb i{background:#305e91}.campus-thumb{border-left:5px solid #be9b66}.campus-thumb i{background:#715b45}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.field-grid.single{grid-template-columns:1fr}label:not(.file-btn){display:block;color:#4f6074;font-size:12px;font-weight:650}input,textarea{display:block;width:100%;border:1px solid #dde5ed;border-radius:7px;background:#fbfcfe;color:#15243b;margin-top:6px;padding:10px 11px;outline:none;font-size:13px;font-weight:400;resize:vertical}input::placeholder,textarea::placeholder{color:#aab5c1}input:focus,textarea:focus{border-color:#4181bc;background:#fff;box-shadow:0 0 0 3px #4181bc15}.full-field{width:100%}.text-btn{border:0;background:transparent;color:#25639d;font-size:12px;font-weight:700;padding:5px}.text-btn:hover{text-decoration:underline}.repeat-list{display:grid;gap:12px}.repeat-card{border:1px solid #e2e8ef;border-radius:10px;padding:15px;background:#fcfdff}.repeat-card-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:13px;color:#344b63;font-size:12px;font-weight:700}.remove-btn{border:0;background:transparent;color:#b56767;font-size:11px;padding:4px}.repeat-card .field-grid{margin-bottom:11px}.repeat-card .field-grid:last-child{margin-bottom:0}.empty-note{border:1px dashed #dae3ed;border-radius:9px;padding:18px;color:#9aa7b6;font-size:12px;text-align:center}.field-tip{color:#95a2af;font-size:11px;font-weight:400;display:block;margin-top:5px}.bottom-actions{padding:24px 0;display:flex;flex-wrap:wrap;gap:8px}.preview-panel{background:#e9eef4;min-width:0}.preview-toolbar{height:63px;padding:0 26px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #dfe7ef}.preview-toolbar>div{display:flex;align-items:center;gap:9px;font-size:13px}.preview-dot{height:7px;width:7px;border-radius:50%;background:#39ad81}.preview-note{color:#97a5b2;font-size:11px;margin-left:4px}.paper-wrap{padding:27px 28px 80px;overflow:auto;height:calc(100vh - 135px)}.resume-paper{width:210mm;min-height:297mm;background:white;margin:0 auto;box-shadow:0 8px 30px #20395620;padding:19mm 18mm;color:#243247;font-family:Arial,"Microsoft YaHei",sans-serif;line-height:1.48;overflow-wrap:anywhere}.resume-paper *{box-sizing:border-box}.resume-paper h2,.resume-paper h3,.resume-paper p{margin:0}.resume-head{text-align:left;margin-bottom:16px}.resume-name{font-size:27px;letter-spacing:.05em;font-weight:800;color:#182a40;line-height:1.2}.resume-title{font-size:12px;color:#3b5875;margin-top:5px!important;font-weight:700}.resume-contact{display:flex;flex-wrap:wrap;gap:4px 13px;margin-top:9px!important;font-size:10px;color:#5d6876}.resume-contact span{white-space:normal}.resume-section{margin:15px 0 0;break-inside:avoid-page}.resume-section-title{font-size:12px;border-bottom:1.5px solid #294b6b;padding-bottom:5px;margin-bottom:10px!important;color:#1d3b5b;letter-spacing:.04em}.resume-summary{font-size:10.5px;white-space:pre-wrap;color:#3c4653}.resume-item{margin-bottom:10px;break-inside:avoid-page}.resume-item:last-child{margin-bottom:0}.resume-item-top{display:flex;justify-content:space-between;gap:12px;align-items:baseline}.resume-item-name{font-size:11px;font-weight:700;color:#202f42}.resume-item-meta{font-size:10px;color:#596c7d}.resume-item-date{font-size:9.5px;color:#6a7683;white-space:nowrap}.resume-item-detail{font-size:10px;margin-top:4px!important;white-space:pre-wrap;color:#414e5d}.resume-item-detail.bullets{white-space:normal;padding-left:17px;margin-bottom:0}.resume-item-detail.bullets li{margin:2px 0}.resume-skills{font-size:10px;color:#3c4653;line-height:1.7}.resume-placeholder{text-align:center;color:#aab5c1;margin-top:100px;font-size:13px}.resume-paper.modern{border-top:9mm solid #2c5b8b;padding-top:13mm}.resume-paper.modern .resume-name{color:#205487}.resume-paper.modern .resume-section-title{border-color:#86accb;color:#205487}.resume-paper.campus{padding-left:21mm;padding-right:21mm}.resume-paper.campus .resume-head{text-align:center;border-bottom:2px solid #b69563;padding-bottom:14px}.resume-paper.campus .resume-contact{justify-content:center}.resume-paper.campus .resume-name{color:#453e37}.resume-paper.campus .resume-section-title{border-color:#b69563;color:#594c3d}.mobile-only{display:none!important}@media(max-width:1200px){.workspace{grid-template-columns:minmax(360px,45%) minmax(0,55%)}.paper-wrap{padding:22px 15px}.resume-paper{transform:scale(.75);transform-origin:top center;margin-bottom:-74mm}}@media(max-width:900px){.workspace{display:block}.topbar{padding:0 15px}.editor-intro{padding:22px 20px}.editor-scroll{max-height:none;padding:0 20px 20px}.preview-toolbar{padding:0 20px}.paper-wrap{height:auto;min-height:420px}.resume-paper{transform:scale(.8);margin-bottom:-60mm}.desktop-only{display:none!important}.mobile-only{display:inline-block!important}}@media(max-width:690px){.topbar{height:62px}.brand small,.save-status,.preview-toolbar .subtle{display:none}.brand strong{font-size:15px}.btn{padding:9px 11px}.editor-intro h1{font-size:21px}.field-grid{grid-template-columns:1fr 1fr}.template-picker{gap:7px}.template-option{padding:7px}.template-thumb{height:57px}.preview-toolbar{height:52px}.paper-wrap{padding:15px 0 0;overflow:hidden;display:flex;justify-content:center}.resume-paper{flex:none;transform:scale(.48);transform-origin:top center;margin:0 -55mm -151mm}.bottom-actions .btn{font-size:12px}}@media(max-width:430px){.field-grid{grid-template-columns:1fr}.resume-paper{transform:scale(.4);margin:0 -63mm -177mm}}@media print{@page{size:A4;margin:0}html,body{background:#fff!important;margin:0!important;padding:0!important}.topbar,.editor-panel,.preview-toolbar{display:none!important}.workspace,.preview-panel,.paper-wrap{display:block!important;background:#fff!important;height:auto!important;min-height:0!important;padding:0!important;margin:0!important;overflow:visible!important}.resume-paper{box-shadow:none!important;transform:none!important;margin:0!important;width:210mm!important;min-height:297mm!important;max-width:none!important;print-color-adjust:exact;-webkit-print-color-adjust:exact}.resume-section,.resume-item{break-inside:avoid-page}}
[hidden]{display:none!important}
@media screen and (min-width:901px) and (max-width:1500px){.resume-paper{zoom:.9;transform:none;margin-bottom:0}}
@media screen and (min-width:901px) and (max-width:1200px){.resume-paper{zoom:.75;transform:none;margin-bottom:0}}
.resume-name{font-size:31px}.resume-title{font-size:14px}.resume-contact{font-size:12px}.resume-section-title{font-size:15px}.resume-summary,.resume-skills,.resume-item-detail{font-size:13px}.resume-item-name{font-size:14px}.resume-item-meta,.resume-item-date{font-size:12px}
.template-note{margin:-4px 0 13px;color:#78889a;font-size:11px;line-height:1.5}.template-filters{display:flex;gap:6px;overflow:auto;padding:0 0 12px;scrollbar-width:thin}.filter-chip{flex:none;border:1px solid #dbe4ed;background:#fff;color:#5c6c7d;padding:6px 10px;border-radius:18px;font-size:11px;font-weight:700}.filter-chip.active{border-color:#2d6092;background:#eaf3fb;color:#245b8b}.filter-chip span{font-weight:600;opacity:.7}.template-option[hidden]{display:none!important}.template-thumb.mono-thumb i,.template-thumb.mono-thumb b{background:#252b31}.template-thumb.minimal-thumb{padding:15px 10px}.template-thumb.minimal-thumb i{height:4px;width:34%;background:#727e87}.template-thumb.minimal-thumb b{background:#adb8c0}.template-thumb.compact-thumb{padding:7px}.template-thumb.compact-thumb i,.template-thumb.compact-thumb b,.template-thumb.compact-thumb em{margin-bottom:3px}.template-thumb.navy-thumb{border-top:13px solid #173654}.template-thumb.navy-thumb i{background:#173654}.template-thumb.headline-thumb{border-left:10px solid #204e78}.template-thumb.headline-thumb i{height:9px;width:60%;background:#204e78}.template-thumb.timeline-thumb{border-left:4px solid #456b88}.template-thumb.timeline-thumb b{background:#456b88}.template-thumb.academic-thumb i,.template-thumb.academic-thumb b{background:#534739}.template-thumb.academic-thumb{border-top:4px double #9a8b79}.template-thumb.warm-thumb{border-top:8px solid #b9725e}.template-thumb.warm-thumb i,.template-thumb.warm-thumb b{background:#b9725e}.template-thumb.sidebar-thumb{background:linear-gradient(90deg,#edf3f6 32%,#fff 32%)}.template-thumb.sidebar-thumb i{background:#4c6979}.template-thumb.tech-thumb{background:linear-gradient(90deg,#fff 68%,#e6f3f5 68%);border-top:6px solid #117987}.template-thumb.tech-thumb i,.template-thumb.tech-thumb b{background:#117987}.template-thumb.creative-thumb{border-top:14px solid #d55e45;background:linear-gradient(90deg,#fff 72%,#fff0eb 72%)}.template-thumb.creative-thumb i,.template-thumb.creative-thumb b{background:#d55e45}.template-thumb.elegant-thumb{background:linear-gradient(90deg,#fff 69%,#e6efea 69%);border-left:5px solid #276253}.template-thumb.elegant-thumb i,.template-thumb.elegant-thumb b{background:#276253}
.resume-paper.mono{font-family:Georgia,\"Microsoft YaHei\",serif;color:#222}.resume-paper.mono .resume-name,.resume-paper.mono .resume-section-title{color:#111}.resume-paper.mono .resume-section-title{border-color:#333}.resume-paper.mono .resume-title{color:#444}.resume-paper.minimal{padding:23mm 22mm}.resume-paper.minimal .resume-head{margin-bottom:24px}.resume-paper.minimal .resume-section{margin-top:21px}.resume-paper.minimal .resume-section-title{border:0;color:#3f4f5b;letter-spacing:.12em}.resume-paper.minimal .resume-name{font-weight:600;letter-spacing:.12em}.resume-paper.compact{padding:15mm 17mm}.resume-paper.compact .resume-section{margin-top:10px}.resume-paper.compact .resume-item{margin-bottom:6px}.resume-paper.compact .resume-section-title{padding-bottom:3px;margin-bottom:6px!important}.resume-paper.compact .resume-summary,.resume-paper.compact .resume-skills,.resume-paper.compact .resume-item-detail{font-size:12px;line-height:1.36}.resume-paper.navy{border-top:11mm solid #173654;padding-top:12mm}.resume-paper.navy .resume-name,.resume-paper.navy .resume-section-title{color:#173654}.resume-paper.navy .resume-section-title{border-bottom:2px solid #173654}.resume-paper.headline .resume-head{border-left:6px solid #285b88;padding-left:13px;margin-bottom:23px}.resume-paper.headline .resume-name{font-size:38px;letter-spacing:.02em;color:#204a72}.resume-paper.headline .resume-title{font-size:16px}.resume-paper.headline .resume-section-title{border:0;background:#e9f1f7;padding:5px 8px;color:#204a72}.resume-paper.timeline .resume-section-title{border-bottom:0;border-left:4px solid #4c7594;padding:3px 0 3px 9px;background:#edf3f7}.resume-paper.timeline .resume-item{border-left:1px solid #aac0d0;padding-left:11px;position:relative;margin-left:5px}.resume-paper.timeline .resume-item:before{content:\"\";position:absolute;left:-4px;top:4px;width:7px;height:7px;border-radius:50%;background:#4c7594}.resume-paper.academic{font-family:Georgia,\"Microsoft YaHei\",serif}.resume-paper.academic .resume-head{text-align:center;border-bottom:3px double #98866f;padding-bottom:12px}.resume-paper.academic .resume-contact{justify-content:center}.resume-paper.academic .resume-name{color:#4c4136}.resume-paper.academic .resume-section-title{border-bottom:1px solid #9a8b79;color:#4d4135}.resume-paper.warm{border-top:9mm solid #b9725e;padding-top:12mm}.resume-paper.warm .resume-head{text-align:center}.resume-paper.warm .resume-contact{justify-content:center}.resume-paper.warm .resume-name,.resume-paper.warm .resume-section-title{color:#a75e4b}.resume-paper.warm .resume-section-title{border-color:#c88e7d}
.resume-columns{display:grid;grid-template-columns:minmax(0,1fr) 49mm;gap:8mm;align-items:start}.resume-main,.resume-aside{min-width:0}.resume-columns .resume-section:first-child{margin-top:0}.resume-columns .resume-aside .resume-section{margin-top:0;margin-bottom:18px}.resume-columns .resume-aside .resume-section-title{line-height:1.3}.resume-paper.sidebar .resume-aside{background:#ecf2f5;padding:6mm 5mm;min-height:190mm}.resume-paper.sidebar .resume-section-title{border-color:#68879a;color:#375b70}.resume-paper.sidebar .resume-name{color:#34586b}.resume-paper.tech{border-top:8mm solid #117987;padding-top:13mm}.resume-paper.tech .resume-name,.resume-paper.tech .resume-section-title{color:#0d6e7c}.resume-paper.tech .resume-section-title{border-color:#78b2b7}.resume-paper.tech .resume-aside{border-left:2px solid #b2d6d9;padding-left:5mm}.resume-paper.creative .resume-head{background:#cb624d;margin:-19mm -18mm 13mm;padding:16mm 18mm 11mm}.resume-paper.creative .resume-name,.resume-paper.creative .resume-title,.resume-paper.creative .resume-contact{color:#fff}.resume-paper.creative .resume-section-title{border-color:#d18b78;color:#b4513e}.resume-paper.creative .resume-aside{background:#fff1eb;padding:5mm}.resume-paper.elegant{border-left:7mm solid #246655;padding-left:14mm}.resume-paper.elegant .resume-name,.resume-paper.elegant .resume-section-title{color:#1e5d4e}.resume-paper.elegant .resume-section-title{border-color:#72a393}.resume-paper.elegant .resume-aside{border-left:1px solid #bfd3c9;padding-left:5mm}
@media(max-width:690px){.template-picker{grid-template-columns:repeat(3,1fr)}.template-option{min-height:105px}.template-filters{margin-right:-20px}}@media(max-width:430px){.template-picker{grid-template-columns:repeat(2,1fr)}}
@media screen and (min-width:1201px) and (max-width:1350px){.resume-paper{zoom:.8;transform:none;margin-bottom:0}}
@media screen and (min-width:901px){.paper-wrap{overflow-x:hidden}}
.photo-field{display:flex;align-items:center;gap:15px;margin-top:18px;padding:15px;border:1px solid #e1e7ed;border-radius:10px;background:#f8fafc}.photo-thumb{flex:none;display:grid;place-items:center;width:64px;height:84px;border:1px dashed #c4d1dc;border-radius:5px;background:#eef3f7;color:#8b9aab;font-size:11px;overflow:hidden}.photo-thumb img{width:100%;height:100%;object-fit:cover}.photo-controls{min-width:0}.photo-controls strong{font-size:13px;color:#344b63}.photo-controls strong span{font-size:11px;color:#9aa6b4;font-weight:400;margin-left:5px}.photo-controls p{font-size:11px;color:#8291a0;line-height:1.45;margin:5px 0 10px}.photo-actions{display:flex;align-items:center;gap:8px}.photo-pick{font-size:11px;padding:7px 10px}.photo-actions .text-btn{color:#a65b5b}
.resume-head{position:relative}.resume-photo{display:block;position:absolute;top:0;right:0;width:25mm;height:33.33mm;object-fit:cover;border:1px solid #d2dae2;background:#fff}.resume-paper.has-photo .resume-head{min-height:35mm;padding-right:33mm}.resume-paper.campus.has-photo .resume-head,.resume-paper.academic.has-photo .resume-head,.resume-paper.warm.has-photo .resume-head{padding-left:33mm}.resume-paper.creative.has-photo .resume-head{min-height:62mm;padding-right:50mm}.resume-paper.creative .resume-photo{top:14mm;right:18mm;border:2px solid #fff}.resume-paper.navy .resume-photo,.resume-paper.warm .resume-photo{border-color:#bfcbd3}
@media(max-width:430px){.photo-field{padding:12px;gap:11px}.photo-controls p{font-size:10px}}
