:root{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;color:#293c34;background:#f1f2ee;font-synthesis:none;--green:#325c50;--border:#e5e8e1}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,label[for],select,input[type=range]{cursor:pointer}button{color:inherit}button,a,input,select,textarea{outline-offset:4px}button{border:0;background:none}button:focus-visible,a:focus-visible{outline:2px solid #739484}[hidden]{display:none!important}.app-header{height:80px;background:#fff;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:flex-end;padding:0 34px;position:relative;z-index:2}.brand{display:flex;gap:12px;align-items:center;color:inherit;text-decoration:none;font-weight:650;font-size:16px;letter-spacing:1px}.brand small{display:block;font-size:8px;font-weight:500;letter-spacing:2.5px;color:#8d9991;margin-top:5px}.brand-mark{display:grid;place-content:center;width:37px;height:40px;background:#315648;color:#fff;font-family:Georgia,serif;font-size:29px;position:relative;border-radius:7px}.brand-mark span{position:absolute;right:6px;bottom:5px;font-size:16px;color:#c2d6b4}.header-right{display:flex;align-items:center;gap:28px}#save-status{font-size:12px;color:#7b877e;display:flex;gap:8px;align-items:center}#save-status i,.status-dot{width:6px;height:6px;display:inline-block;background:#7d9b75;border-radius:50%}.button{border:1px solid #d8dfd7;border-radius:7px;padding:11px 20px;font-size:13px;background:#fff;transition:background .15s}.button.primary{background:var(--green);color:white;border-color:var(--green)}.button:hover{filter:brightness(.96)}#export-pdf span{font-size:20px;margin-right:7px}.workspace{display:grid;grid-template-columns:324px minmax(0,1fr);align-items:start}.sidebar{background:#fff;border-right:1px solid var(--border);min-height:calc(100vh - 80px);padding:29px 24px 18px;position:sticky;top:0;max-height:100vh;overflow:auto;scrollbar-width:thin}.eyebrow{color:#849184;font-size:8px;letter-spacing:1.7px}.sidebar-heading h1{font-size:20px;letter-spacing:.3px;font-weight:600;margin:11px 0 7px}.sidebar-heading p{color:#959c95;font-size:11px;margin:0 0 25px}.tabs{display:flex;background:#f3f5f0;padding:4px;border-radius:7px;margin-bottom:25px}.tab{width:50%;font-size:12px;padding:10px 0;border-radius:5px;color:#8a938c}.tab.active{background:#fff;color:#345848;box-shadow:0 1px 4px #1d382a0c;font-weight:600}.control-section{border-bottom:1px solid #edf0e9;padding-bottom:23px;margin-bottom:22px}.section-label{font-size:12px;font-weight:600;margin-bottom:15px;display:flex;align-items:center;justify-content:space-between}.section-label>span{font-size:10px;font-weight:400;color:#a2aaa0}.presets{display:flex;gap:8px}.preset{border:1px solid #e4e8df;flex:1;padding:13px 0 10px;border-radius:7px;text-align:center}.preset.selected{border-color:#62816c;background:#f1f6ef;box-shadow:0 0 0 1px #62816c11}.preset strong,.preset small{display:block}.preset strong{font-size:11px;font-weight:550;margin:9px 0 4px}.preset small{font-size:9px;color:#9aa294}.mini-page{display:flex;flex-direction:column;gap:5px;width:29px;height:36px;margin:auto;background:#fff;padding:6px;border:1px solid #c4cec1;border-radius:2px}.mini-page i{display:block;height:2px;flex-shrink:0;background:#bccabb}.mini-page i:first-child{width:60%;background:#678269}.mini-page.balanced{gap:3px}.mini-page.compact{gap:2px}.field-label{font-size:11px;display:block;margin-bottom:8px;color:#6e7a70}select{width:100%;padding:11px 10px;background:#fff;border:1px solid #dfe5db;border-radius:6px;font-size:12px;color:#4b5e50}.upload-font{display:flex;font-size:10px;color:#56725b;justify-content:space-between;padding:12px 0 2px}.upload-font span{font-size:8px;color:#a0aa9a}.microcopy{font-size:9px;color:#9aa292;line-height:1.6;margin:5px 0 17px}.range-field{margin-top:19px}.range-field label{display:flex;justify-content:space-between;font-size:11px;color:#6b786d;align-items:center}.range-field output{background:#f3f5f0;padding:3px 7px;min-width:48px;text-align:center;border-radius:4px;font-family:ui-monospace,monospace;font-size:10px;color:#52705b}input[type=range]{width:100%;height:4px;margin:15px 0 0;accent-color:#486c52}.color-row{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:#6b786d}.swatches{display:flex;gap:9px}.swatches button{width:19px;height:19px;background:var(--swatch);border-radius:50%;border:3px solid white}.swatches button[aria-pressed=true]{outline:1px solid var(--swatch)}.check-row{display:flex;align-items:center;font-size:11px;color:#6b786d;gap:8px;margin-top:19px}.check-row input{accent-color:#486c52}.quiet-note{display:flex;gap:10px;background:#f6f7f2;padding:12px;color:#839078;border-radius:6px}.quiet-note p{font-size:10px;line-height:1.8;margin:0}.sidebar-footer{display:flex;justify-content:space-between;margin-top:22px;font-size:10px;color:#8f998a;gap:8px}.sidebar-footer button{padding:0;font-size:10px}.preview-area{min-width:0;padding:25px 42px 24px;overflow:hidden}.preview-toolbar{display:flex;justify-content:space-between;align-items:center;gap:10px;max-width:1000px;margin:auto;font-size:11px;color:#69796b}.preview-title{display:flex;align-items:center;gap:9px}.paper-tag{font-size:9px;padding:3px 6px;border:1px solid #d7ddd2;border-radius:3px;color:#899684}#page-count{font-size:10px;color:#899684}.zoom-tools{display:flex;align-items:center;gap:8px}.zoom-tools button{padding:4px;font-size:12px}.zoom-tools output{font-size:10px;min-width:32px;text-align:center}#fit{border-left:1px solid #d9dfd5;padding-left:12px;font-size:10px;margin-left:5px}.preview-caption{font-size:10px;color:#a4ad9d;letter-spacing:1px;text-align:center;padding:27px 0 20px}#pages-container{position:relative;margin:auto}#pages{transform-origin:top left;display:flex;flex-direction:column;gap:28px;width:var(--page-width,210mm)}
.resume-page {
  position:relative; width:var(--page-width,210mm); height:var(--page-height,297mm); padding:var(--margin); flex-shrink:0;
  background:var(--paper-color,#fff); color:var(--document-text-color,#000); box-shadow:0 3px 7px #29392b06,0 16px 45px #35422b0b;
  font-family:var(--resume-font); font-size:var(--font-size); line-height:var(--line-height);
  overflow:hidden; -webkit-print-color-adjust:exact; print-color-adjust:exact;
}
.page-content {height:100%; overflow:visible}
.resume-header {margin-bottom:10px}
.resume-header h1 {font-size:17pt; line-height:1.2; color:var(--document-text-color,#000); margin:0 0 7px; font-weight:700; letter-spacing:0}
.contacts {display:flex; flex-wrap:wrap; gap:1px 16px; font-size:8.5pt; line-height:1.4; color:#000}
.contacts a {color:inherit; text-decoration:none}
.contact-label {margin-right:2px}
.continuation {display:flex; justify-content:space-between; border-bottom:1px solid #000; padding-bottom:6px; margin-bottom:var(--section-gap); font-size:9pt}
.continuation strong {font-size:11pt; font-weight:700}
.resume-section-heading {
  background:#f1f1f1; border-left:3px solid #000; padding:1px 12px;
  margin:var(--section-gap) 0 5px; font-size:11pt; line-height:1.45; font-weight:700;
}
.skill-row {position:relative; margin:0; padding-left:13px; font-size:var(--font-size)}
.skill-row::before {content:"•"; position:absolute; left:1px; top:0}
.skill-row strong {font-weight:700}
.entry-head {margin:5px 0 3px; break-after:avoid}
.entry-top,.entry-meta {display:flex; justify-content:space-between; align-items:baseline; gap:12px}
.entry-top h3 {font-size:var(--font-size); line-height:1.3; max-width:75%; margin:0; font-weight:700}
.entry-top time {white-space:nowrap; font-size:var(--font-size); font-variant-numeric:tabular-nums}
.entry-meta {font-size:var(--font-size); line-height:1.3; margin-top:1px}
.entry-meta span:last-child {text-align:right}
.resume-point {position:relative; margin:0 0 var(--paragraph-gap); padding-left:13px; break-inside:avoid}
.resume-point h4 {font-size:var(--font-size); font-weight:700; margin:0; line-height:var(--line-height)}
.resume-point h4::before {content:"•"; position:absolute; left:1px; top:0}
.resume-point p {margin:0; text-align:left; overflow-wrap:anywhere; font-weight:400}
.resume-point strong {font-weight:700}
.education {margin-bottom:2px}
.page-footer {position:absolute; bottom:6mm; left:var(--margin); right:var(--margin); display:flex; justify-content:space-between; font:8px Arial,sans-serif; color:var(--document-text-color,#000); letter-spacing:1px}
.preview-footnote{text-align:center;font-size:9px;color:#a4ad9d;letter-spacing:1px;margin-top:25px}.content-intro{font-size:11px;color:#939e8c;line-height:1.8}details{border-bottom:1px solid #e6eade;padding:14px 0}summary{cursor:pointer;font-size:12px;font-weight:600;line-height:1.7}summary small{display:block;margin:2px 0 0 14px;font-size:9px;font-weight:400;color:#98a28d}.edit-field{display:block;margin-top:13px;font-size:10px;color:#7e8c73}.edit-field input,.edit-field textarea{display:block;width:100%;border:1px solid #dce3d4;border-radius:5px;padding:9px;margin-top:6px;font-size:11px;line-height:1.7;color:#40543b;background:#fff}.edit-field textarea{resize:vertical;min-height:110px}.edit-field input:focus,.edit-field textarea:focus{outline:1px solid #879d7d}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%) translateY(80px);background:#2f4d3b;color:white;padding:12px 22px;border-radius:8px;font-size:12px;box-shadow:0 4px 25px #243a2a25;transition:transform .2s;z-index:10;max-width:90vw}#toast.visible{transform:translateX(-50%) translateY(0)}dialog{border:1px solid #dde5d5;border-radius:12px;padding:26px;max-width:420px;color:#374b30;box-shadow:0 15px 70px #243a2a20}dialog::backdrop{background:#13211160}dialog h2{font-size:19px}dialog p{font-size:13px;line-height:1.9;color:#7c8973}dialog>div{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.overflow-warning{color:#a05532}.resume-page a:focus-visible{outline-color:var(--accent)}
@media(min-width:1550px){.preview-area{padding-left:80px;padding-right:80px}}
@media(max-width:1000px){.workspace{grid-template-columns:290px minmax(0,1fr)}.sidebar{padding:24px 18px}.preview-area{padding:25px 18px}.preview-caption{letter-spacing:0}.preview-toolbar{flex-wrap:wrap}}
@media(max-width:700px){.app-header{height:68px;padding:0 17px}.brand{font-size:14px}.header-right{gap:10px}#save-status{font-size:0;gap:0}#save-status i{width:7px;height:7px}.button{padding:9px 12px}.workspace{display:flex;flex-direction:column}.sidebar{position:static;max-height:none;width:100%;min-height:0;padding:23px 20px 20px}.sidebar-heading p{margin-bottom:18px}.sidebar-heading h1{font-size:19px}.sidebar .control-section{margin-bottom:15px;padding-bottom:17px}.sidebar-heading .eyebrow{display:none}.tabs{margin-bottom:18px}.presets{max-width:400px}.control-section:has(.range-field){display:grid;grid-template-columns:1fr 1fr;column-gap:24px}.control-section>.section-label,.control-section>.field-label,.control-section>select,.control-section>.upload-font,.control-section>.microcopy{grid-column:1/-1}.range-field{margin-top:12px}.preview-area{width:100%;padding:20px 15px}.preview-caption{padding:17px 0}.quiet-note{display:none}}
@page{size:A4;margin:0}
@media print{html,body{margin:0!important;padding:0!important;background:white}.app-header,.sidebar,.preview-toolbar,.preview-caption,.preview-footnote,#toast,dialog{display:none!important}.workspace,.preview-area,#pages-container,#pages{display:block!important;padding:0!important;margin:0!important;width:var(--page-width,210mm)!important;height:auto!important;overflow:visible!important;transform:none!important;max-width:none!important}.resume-page{box-shadow:none!important;margin:0!important;break-after:page;page-break-after:always}.resume-page:last-child{break-after:auto;page-break-after:auto}}

/* Optional inline layout remains available; original-style headings are the default. */
.inline-titles .resume-point h4,.inline-titles .resume-point p{display:inline}
.inline-titles .resume-point h4::after{content:"　"}
#toast{visibility:hidden;opacity:0}#toast.visible{visibility:visible;opacity:1}

/* MVP: edit the document itself, while retaining the original studio palette. */
.header-right{gap:14px}.toolbar-button{font-size:12px;padding:9px 4px;white-space:nowrap}.history-tools{display:flex;border-left:1px solid var(--border);padding-left:10px;gap:5px}.history-tools button{font-size:22px;padding:3px 7px}button:disabled{opacity:.3;cursor:default}.export-wrap{position:relative}.export-menu{position:absolute;right:0;top:48px;width:235px;padding:7px;background:white;border:1px solid var(--border);border-radius:9px;box-shadow:0 8px 32px #253c2920;z-index:20}.export-menu button{display:block;width:100%;text-align:left;padding:12px;font-size:13px;border-radius:5px}.export-menu button:hover{background:#f1f5ef}.export-menu small{display:block;color:#8a9488;font-size:10px;margin-top:5px}
.format-toolbar{display:flex;align-items:center;justify-content:center;gap:8px;margin:0 auto 18px;font-size:11px;color:#7a887d}.format-toolbar button{border:1px solid #dce2d8;background:#fff;border-radius:5px;min-width:30px;height:28px}.format-toolbar button:hover{background:#e8eee4}.format-hint{font-size:10px;color:#a0aa9b;margin-left:5px}.preview-caption{padding-bottom:14px}
.page-content{height:auto;min-height:0;display:flow-root}.resume-page{overflow:visible}.resume-section,.resume-block{position:relative}.resume-section-heading{position:relative;display:block}.resume-section{scroll-margin:60px}.resume-block{min-height:1em}.editable{outline:none!important;cursor:text;white-space:pre-wrap;overflow-wrap:anywhere;border-radius:2px;min-width:2px}.editable:hover{background-color:#547a5610}.editable:focus{background-color:#547a560b;box-shadow:0 0 0 1px #789d7755}.editable:empty::before{content:attr(data-placeholder);color:#9aab9d;font-weight:400;font-style:normal;pointer-events:none}.rich-text p,.rich-text ul,.rich-text ol{margin:0}.rich-text ul,.rich-text ol{padding-left:13px}.rich-text strong,.rich-text b{font-weight:700}.rich-text{white-space:normal}.rich-text:empty{min-height:1.4em}.contacts{gap:1px 16px}.contact-item:has(.editable:empty){opacity:.55}.contacts .editable{display:inline-block;min-width:24px}.entry-top h3{max-width:72%;flex:1}.entry-meta>.editable:first-child{flex:1}.entry-dates{display:flex;gap:3px;align-items:baseline;max-width:48%;font-variant-numeric:tabular-nums;font-size:var(--font-size)}.entry-dates .editable{white-space:normal}.resume-point{position:relative}.resume-point::before{content:'•';position:absolute;left:1px;top:0}.resume-point h4::before{content:none}.resume-point h4:empty{display:none}.resume-point:hover h4:empty,.resume-point:focus-within h4:empty{display:block}.point-text{font-weight:400}.inline-titles .resume-point.has-title .point-text{display:inline}.resume-point h4{line-height:var(--line-height)}
.section-actions,.block-actions,.point-actions{position:absolute;display:flex;align-items:center;gap:1px;background:#fff;border:1px solid #e1e7dd;border-radius:5px;box-shadow:0 2px 8px #29412c0a;z-index:3;opacity:0;pointer-events:none;transition:opacity .12s;font-family:-apple-system,BlinkMacSystemFont,sans-serif;font-size:12px;line-height:1}.section-actions{right:0;top:-23px}.block-actions{left:-31px;top:1px;flex-direction:column;max-width:27px}.point-actions{right:0;top:0}.section-actions button,.block-actions button,.point-actions button{padding:5px 6px;min-width:23px;height:24px}.section-actions button:hover,.block-actions button:hover,.point-actions button:hover{background:#eef4e9}.resume-section:hover>.section-actions,.resume-section:focus-within>.section-actions,.resume-block:hover>.block-actions,.resume-block:focus-within>.block-actions,.resume-point:hover>.point-actions,.resume-point:focus-within>.point-actions{opacity:1;pointer-events:auto}.drag-handle{cursor:grab}.dragging{opacity:.4}.drop-target{outline:2px dashed #688d65!important;background:#eef4e9!important}.block-picker{position:absolute;right:0;bottom:-22px;display:flex;gap:5px;align-items:center;z-index:4;opacity:0;pointer-events:none;font:10px -apple-system,BlinkMacSystemFont,sans-serif}.block-picker select{width:110px;padding:4px;font-size:10px;line-height:1.2;background:white}.block-picker button{padding:5px 8px;background:#edf3e9;border:1px solid #dbe5d6;border-radius:4px}.resume-section:hover>.block-picker,.resume-section:focus-within>.block-picker{opacity:1;pointer-events:auto}.add-point{position:absolute;right:0;bottom:0;z-index:2;font:10px -apple-system,BlinkMacSystemFont,sans-serif;background:white;color:#52744e;border-radius:3px;opacity:0;pointer-events:none}.resume-block:hover>.add-point,.resume-block:focus-within>.add-point{opacity:1;pointer-events:auto}.outline-note{font-size:10px;letter-spacing:2px;color:#9ba691}.outline-row{display:flex;gap:4px;border-bottom:1px solid #edf0e9;padding:12px 0;font-size:12px}.outline-row button:first-child{flex:1;text-align:left;overflow-wrap:anywhere}.outline-row button:not(:first-child){font-size:15px;color:#819379}#editor>button{margin-top:20px;font-size:12px;color:#52744e}
#overflow-notice{background:#fff2ef;color:#a74431;border:1px solid #edc8be;border-radius:6px;padding:12px 16px;margin:0 auto 20px;max-width:794px;font-size:12px;line-height:1.7}#overflow-notice small{display:block;font-size:10px}.overflow-block{box-shadow:inset -2px 0 #cf7864}.has-overflow::after{content:'纸张到此结束';position:absolute;left:0;right:0;top:var(--page-height,297mm);border-top:2px dashed #c66b54;text-align:right;color:#b65842;padding-top:3px;font:10px sans-serif;pointer-events:none}#page-count.overflow-warning{color:#b65842}
@media(max-width:1000px){.app-header{padding:16px 20px;height:auto;min-height:80px;gap:16px}.header-right{flex-wrap:wrap;justify-content:flex-end;gap:9px}.header-right #save-status{flex-basis:100%;justify-content:flex-end}}
@media(max-width:700px){.app-header{flex-wrap:wrap;gap:16px;padding:16px}.header-right{width:100%;justify-content:space-between;gap:5px}.header-right #save-status{display:none}.toolbar-button{font-size:11px}.header-right .button{padding:8px 12px}.history-tools{padding-left:4px;gap:0}.history-tools button{font-size:20px}.workspace{flex-direction:column}.sidebar{order:2;border-right:0;border-top:1px solid var(--border)}.preview-area{order:1}.format-toolbar{gap:6px}.format-hint{display:none}.preview-caption{font-size:9px}.preview-toolbar{font-size:10px}.section-actions{top:-23px}.block-actions{left:-25px}.preview-footnote{margin-bottom:0}}
@media(hover:none){.selected-section>.section-actions,.selected-section>.block-picker,.resume-block:focus-within>.block-actions,.resume-block:focus-within>.add-point{opacity:1;pointer-events:auto}}
@media print{.editor-only,.format-toolbar,#overflow-notice{display:none!important}.editable{background:transparent!important;box-shadow:none!important;outline:none!important}.editable:empty::before{content:none!important}.contact-item:has(.editable:empty){display:none!important}.resume-point h4:empty{display:none!important}.resume-page{overflow:hidden!important}.resume-section,.resume-block{box-shadow:none!important;outline:none!important}.has-overflow::after{content:none}.entry-dates:has(.editable:first-child:empty):has(.editable:last-child:empty){display:none}.print-overflow .resume-page{display:none!important}.print-overflow #overflow-notice{display:block!important;color:#000!important;background:#fff!important;border:0!important}}

/* Keep section actions inside their heading; adjacent hover controls cannot overlap. */
.section-actions{top:0;right:0;box-shadow:none;background:#f8faf6}
.resume-section-heading{padding-right:145px}
.block-picker{top:25px;bottom:auto;right:0;display:none;background:#fff;padding:6px;border:1px solid #dbe5d6;border-radius:5px;box-shadow:0 4px 16px #29412c16}
.block-picker.open{display:flex;opacity:1;pointer-events:auto}

.preview-area{overflow-x:auto}

/* Selection tools float in viewport coordinates, outside the scaled A4 canvas. */
.floating-format{position:fixed;z-index:50;margin:0;justify-content:flex-start;gap:3px;padding:5px;background:#fff;border:1px solid #dfe5da;border-radius:9px;box-shadow:0 5px 22px #253c2924;color:#4b6154;user-select:none;font:13px -apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif;max-width:calc(100vw - 16px)}
.floating-format button{height:34px;min-width:34px;border:0;background:transparent;border-radius:5px;padding:5px 9px;font-size:14px;display:inline-flex;align-items:center;justify-content:center;gap:5px}
.floating-format button:hover{background:#f0f4ed}.floating-format button[aria-pressed=true],.floating-format button[aria-expanded=true]{color:#264e40;background:#e6efe2}.floating-format button:disabled{opacity:.3}
.format-divider{width:1px;height:20px;background:#e6eae2;margin:0 2px}.color-letter{font-weight:650;border-bottom:3px solid var(--text-color,#000);line-height:20px}.color-caret{font-size:10px;color:#81907c}
.text-colors{position:absolute;top:calc(100% + 7px);left:0;width:240px;max-width:calc(100vw - 16px);padding:13px;background:#fff;border:1px solid #dfe5da;border-radius:9px;box-shadow:0 5px 22px #253c2924}.text-colors.palette-above{top:auto;bottom:calc(100% + 7px)}.palette-label{display:block;font-size:11px;color:#7b8a75;margin-bottom:10px}.color-options{display:flex;gap:5px}.color-options button{width:25px;min-width:25px;height:25px;padding:0;background:var(--color);border:3px solid white;border-radius:50%;box-shadow:0 0 0 1px #e1e6dc}.color-options button:hover{background:var(--color);box-shadow:0 0 0 2px #789470}.custom-text-color{margin-top:14px;padding-top:11px;border-top:1px solid #edf0e9;display:flex;align-items:center;justify-content:space-between;font-size:11px;color:#74816f;gap:20px}.custom-text-color input{width:32px;height:24px;border:0;padding:0;background:white;cursor:pointer}
@media print{.floating-format{display:none!important}}

/* Free layout: editable elements are positioned within a block, never in viewport coordinates. */
.free-layout{position:relative;margin:5px 0 8px}.layout-canvas{position:relative;min-height:1px;outline:1px dashed transparent;outline-offset:3px}.free-layout:hover .layout-canvas,.free-layout:focus-within .layout-canvas{outline-color:#bfd0b8}.layout-empty{position:absolute;top:40px;left:12px;right:12px;color:#8b9d82;font:11px/1.8 -apple-system,BlinkMacSystemFont,sans-serif;pointer-events:none}.layout-canvas:has(.layout-empty){background:#f8faf5;outline-color:#d9e3d2}
.layout-tools{position:absolute;left:0;top:-34px;z-index:8;display:flex;gap:7px;align-items:center;background:white;border:1px solid #dfe7d8;border-radius:6px;padding:4px 7px;box-shadow:0 3px 14px #29412c12;opacity:0;pointer-events:none;font:10px -apple-system,BlinkMacSystemFont,sans-serif;white-space:nowrap}.free-layout:hover>.layout-tools,.free-layout:focus-within>.layout-tools,.free-layout:has(.layout-empty)>.layout-tools{opacity:1;pointer-events:auto}.free-layout:has(.layout-empty)>.layout-tools{top:6px;left:8px}.layout-tools select{width:82px;font-size:10px;padding:4px}.layout-tools button{font-size:11px;background:#edf4e8;border-radius:4px;padding:5px 8px}.layout-tip{color:#8b9980}.layout-overlap-note{display:none;color:#a76824}.has-layout-overlap .layout-overlap-note{display:inline}
.layout-item{position:absolute;min-height:1.4em;outline:1px solid transparent;outline-offset:1px;overflow:visible}.layout-item:hover,.layout-item:focus-within,.layout-selected{outline-color:#89a77d;z-index:2}.layout-content{min-height:1.4em}.layout-heading>.layout-content{font-weight:700}.layout-rule{margin:7px 0;border:0;border-top:1px solid #8c9488}.layout-item.layout-divider{min-height:16px}.layout-item-tools{position:absolute;top:-25px;left:0;z-index:7;display:flex;gap:0;background:white;border:1px solid #dae5d4;border-radius:4px;opacity:0;pointer-events:none;white-space:nowrap;font:11px -apple-system,BlinkMacSystemFont,sans-serif}.layout-item:hover>.layout-item-tools,.layout-item:focus-within>.layout-item-tools{opacity:1;pointer-events:auto}.layout-item-tools button{padding:4px 6px;height:23px}.layout-item-tools button:hover{background:#edf4e8}.layout-move{cursor:grab;touch-action:none}.layout-resize{position:absolute;right:-4px;bottom:-4px;width:9px;min-width:9px;height:9px;padding:0;background:#729568;border:1px solid white;border-radius:2px;opacity:0;cursor:ew-resize;touch-action:none}.layout-item:hover>.layout-resize,.layout-item:focus-within>.layout-resize{opacity:1}.layout-dragging{background-image:linear-gradient(#8bab7520 1px,transparent 1px),linear-gradient(90deg,#8bab7520 1px,transparent 1px);background-size:8px 8px}.layout-overlap{outline-color:#cd9a51!important}.layout-properties{position:absolute;top:100%;left:0;z-index:10;width:210px;padding:10px;background:#fff;border:1px solid #dbe5d6;border-radius:6px;box-shadow:0 6px 24px #293b251f;font:10px -apple-system,BlinkMacSystemFont,sans-serif;color:#647c5a;text-align:left}.layout-properties label{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:5px 0}.layout-properties input,.layout-properties select{width:85px;font-size:11px;padding:5px;border:1px solid #dfe7d8;border-radius:4px}
@media print{.layout-canvas,.layout-item{outline:none!important;background:transparent!important}.layout-item{z-index:auto!important}}
/* Keep element handles away from the section heading and the add-element menu. */
.layout-item-tools{top:100%;left:0}.layout-properties{top:calc(100% + 25px)}
.layout-tools{left:50%;transform:translateX(-50%);top:-30px}.layout-tools .layout-tip{display:none}.free-layout:has(.layout-empty)>.layout-tools{transform:none;left:8px;top:6px}.free-layout:has(.layout-empty) .layout-tip{display:inline}

/* Alignment guides are transient editing aids, independent of saved layout data. */
.layout-guides{position:absolute;inset:0;z-index:15;pointer-events:none;color:#3e8068}.alignment-guide{position:absolute;pointer-events:none}.alignment-guide-x{top:-4px;bottom:-4px;border-left:1px solid #4b9b7e}.alignment-guide-y{left:-4px;right:-4px;border-top:1px solid #4b9b7e}.alignment-guide::before,.alignment-guide::after{content:'';position:absolute;width:5px;height:5px;border:1px solid #4b9b7e;background:#fff;border-radius:50%}.alignment-guide-x::before{top:0;left:-3px}.alignment-guide-x::after{bottom:0;left:-3px}.alignment-guide-y::before{left:0;top:-3px}.alignment-guide-y::after{right:0;top:-3px}.alignment-status{position:absolute;left:0;top:calc(100% + 9px);padding:5px 9px;background:#edf6ef;border:1px solid #cfe2d3;border-radius:5px;box-shadow:0 2px 8px #29412c0d;font:11px/1.4 -apple-system,BlinkMacSystemFont,sans-serif;white-space:nowrap}.free-layout:has(.layout-dragging)>.layout-tools,.layout-dragging .layout-item>.layout-item-tools,.layout-dragging .layout-item>.layout-properties{opacity:0;pointer-events:none}
@media print{.layout-guides{display:none!important}}

#page-size{width:auto;min-width:66px;padding:4px 7px;font-size:11px;background:transparent;color:#63795e;border:1px solid #ccd8c6;border-radius:4px}
.spacing-guides{position:absolute;inset:0;pointer-events:none}.spacing-measure{position:absolute;color:#8b63ab;font:9px/1.2 -apple-system,BlinkMacSystemFont,sans-serif}.spacing-y{border-left:1px solid #a178c2}.spacing-x{border-top:1px solid #a178c2}.spacing-measure::before,.spacing-measure::after{content:'';position:absolute}.spacing-y::before,.spacing-y::after{width:7px;border-top:1px solid #a178c2;left:-4px}.spacing-y::before{top:0}.spacing-y::after{bottom:0}.spacing-x::before,.spacing-x::after{height:7px;border-left:1px solid #a178c2;top:-4px}.spacing-x::before{left:0}.spacing-x::after{right:0}.spacing-measure span{position:absolute;white-space:nowrap;background:#faf5ff;border-radius:3px;padding:2px 4px}.spacing-y span{right:5px;top:50%;transform:translateY(-50%)}.spacing-x span{top:4px;left:50%;transform:translateX(-50%)}

.layout-properties-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:10px;padding-top:9px;border-top:1px solid #edf0e9}.layout-properties-actions button{padding:6px 14px;border:1px solid #dbe5d6;border-radius:4px;font:inherit;font-size:11px;background:white;color:#647c5a}.layout-properties-actions .layout-properties-save{background:#315c4f;border-color:#315c4f;color:white}.layout-properties-actions button:hover{filter:brightness(.95)}

.document-colors{border-top:1px solid #edf0e9;padding-top:14px}.document-color-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 12px;font-size:11px;color:#6b786d}.document-color-value{display:flex;align-items:center;gap:8px;padding:6px 8px;border:1px solid #dfe5db;border-radius:6px;background:#fff;cursor:pointer}.document-color-value:hover{border-color:#92a38c}.document-color-value:focus-within{outline:2px solid #739484;outline-offset:2px}.document-color-value output{font:10px ui-monospace,monospace;color:#657564;pointer-events:none}.document-color-value input{display:block;width:20px;height:20px;padding:0;border:0;border-radius:3px;background:transparent;cursor:pointer}.document-color-value input::-webkit-color-swatch-wrapper{padding:0}.document-color-value input::-webkit-color-swatch{border:1px solid #00000020;border-radius:3px}.document-color-value input::-moz-color-swatch{border:1px solid #00000020;border-radius:3px}.document-color-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:3px;flex-wrap:wrap}.document-color-footer .check-row{margin:0;gap:6px;font-size:10px}.document-color-footer input{margin:0;width:13px;height:13px;flex-shrink:0}.reset-colors{padding:5px 0;font-size:10px;color:#56725b;text-decoration:underline;text-underline-offset:3px}.reset-colors:hover{color:#294d3c}

/* Section style presets share their shapes with the sidebar samples. */
[data-heading-style="underline"] .resume-section-heading{background:transparent;border:0;border-bottom:1.5px solid currentColor;padding:1px 0 3px}
[data-heading-style="minimal"] .resume-section-heading{background:transparent;border:0;padding:1px 0}
[data-heading-style="rounded"] .resume-section-heading{background:#edf2ed;border:0;border-radius:6px;padding:3px 12px}
[data-heading-style="outline"] .resume-section-heading{background:transparent;border:0;padding:1px 0}
[data-heading-style="accent"] .resume-section-heading{background:transparent;border:0;border-left:3px solid currentColor;padding:1px 12px}
.heading-presets{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0 20px}.heading-presets button{min-width:0;padding:11px 9px 8px;border:1px solid #e1e7dc;border-radius:6px;text-align:left;background:#fff;color:#354c40}.heading-presets button[aria-pressed="true"]{border-color:#62816c;background:#f1f6ef;box-shadow:0 0 0 1px #62816c22}.heading-presets button>span:last-child{display:block;margin-top:8px;font-size:10px;color:#7c8a7b}.heading-presets .heading-sample{display:block;margin:0;font-size:11px;line-height:1.5;pointer-events:none}.heading-presets button:hover{border-color:#92a38c}

#pages.uniform-text-color [contenteditable],#pages.uniform-text-color [contenteditable] *{color:var(--document-text-color,#000)!important}

.free-header{margin-bottom:0}.free-header .free-layout{margin:0}.free-header .layout-content{margin:0}.free-header .header-field-name{font-size:17pt}.free-header .header-field-name h1{margin:0;line-height:1.2}.layout-photo{display:block;width:100%;height:auto;object-fit:contain}.header-space{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:#6b786d;margin:12px 0}.header-space input{width:75px;padding:6px;border:1px solid #dfe5db;border-radius:5px}

.free-header .layout-item[class*="header-field-"]:not(.header-field-name){font-size:8.5pt;line-height:1.4}

.free-header{position:relative}.free-header:hover,.free-header:focus-within{z-index:5}

.heading-presets{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}
.heading-presets button{display:flex;flex-direction:column;justify-content:flex-start;gap:8px;overflow:hidden;width:100%}
.heading-presets .heading-sample{flex:none;width:100%;max-width:100%;min-width:0;height:26px;line-height:20px;white-space:nowrap;overflow:hidden;box-sizing:border-box}
.heading-presets button>span:last-child{margin-top:0;white-space:nowrap}
.heading-presets [data-heading-style="classic"] .heading-sample{padding:3px 9px;background:#f1f1f1;border:0;border-left:3px solid #000}
.heading-presets [data-heading-style="outline"] .heading-sample{display:flex;align-items:center;gap:8px}
.heading-presets [data-heading-style="outline"] .heading-sample::after{content:'';flex:1;min-width:8px;border-top:1px solid #dedede}
.section-heading-line{display:flex;align-items:center;gap:14px;margin:var(--section-gap) 0 5px}
.section-heading-line .resume-section-heading{flex:0 1 auto;min-width:2px;margin:0;max-width:100%;overflow-wrap:anywhere}
.section-heading-line::after{content:'';flex:1 0 20px;border-top:1px solid #dedede}

#section-template-dialog{width:min(650px,calc(100vw - 32px));max-height:85vh;padding:24px;overflow:auto;border:1px solid #dfe5db;border-radius:12px;color:#354c40}
.template-dialog-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.template-dialog-heading h2{font-size:20px;margin:0 0 8px}.template-dialog-heading p{font-size:12px;color:#889385;margin:0 0 20px}.template-dialog-heading button{font-size:24px;padding:0 4px}
#section-template-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.section-template-card{display:flex;flex-direction:column;gap:9px;text-align:left;padding:14px;border:1px solid #dfe5db;border-radius:8px;background:#fff}.section-template-card:hover,.section-template-card:focus-visible{background:#f3f7f0;border-color:#789575}.section-template-card strong{font-size:13px}.section-template-card small{font-size:11px;line-height:1.6;color:#7f8c7c}
.template-sketch{display:block;width:100%;height:36px;background:linear-gradient(#7d9385,#7d9385) left top/38% 4px no-repeat,linear-gradient(#dde4d9,#dde4d9) left 12px/90% 3px no-repeat,linear-gradient(#dde4d9,#dde4d9) left 22px/70% 3px no-repeat}.sketch-compact{height:36px;background:linear-gradient(#7d9385,#7d9385) left 4px/38% 4px no-repeat,linear-gradient(#dde4d9,#dde4d9) right 4px/25% 3px no-repeat}.sketch-free{background:linear-gradient(#e8eee3,#e8eee3) left top/40% 22px no-repeat,linear-gradient(#dde4d9,#dde4d9) right bottom/50% 22px no-repeat}.description-titled .resume-point h4:empty{display:block}
@media(max-width:500px){#section-template-options{grid-template-columns:1fr}#section-template-dialog{padding:18px}}
