:root{color-scheme:light;font-family:Aptos,Segoe UI Variable,Microsoft YaHei,PingFang SC,sans-serif;--app-bg: #dfe1db;--panel: #f8f7f2;--panel-raised: #fffefb;--header: #132325;--header-soft: #aebdbc;--ink: #1c292a;--muted: #727d7a;--line: #d9dbd4;--line-strong: #c5c9c1;--teal: #1d7169;--teal-soft: #e3efeb;--orange: #e9673f;--orange-dark: #cc512e;--danger: #b84638;--shadow: 0 18px 48px rgba(33, 43, 42, .13);--radius: 5px}*{box-sizing:border-box}html,body,#root{width:100%;min-width:320px;height:100%;margin:0}body{overflow:hidden;background:var(--app-bg);color:var(--ink);-webkit-font-smoothing:antialiased}button,input,textarea,select{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--orange);outline-offset:2px}button:disabled{cursor:not-allowed;opacity:.55}.app-shell{display:flex;flex-direction:column;width:100%;height:100%}.app-header{position:relative;z-index:30;display:grid;grid-template-columns:minmax(190px,1fr) auto minmax(460px,1fr);align-items:center;min-height:64px;padding:0 20px;color:#f8faf7;background:var(--header);border-bottom:1px solid rgba(255,255,255,.08)}.brand{display:flex;align-items:center;gap:11px;min-width:0}.brand-mark{display:grid;width:37px;height:37px;place-items:center;color:#fff7ef;font-family:SimSun,Songti SC,serif;font-size:20px;font-weight:700;background:linear-gradient(135deg,rgba(255,255,255,.08),transparent 58%),var(--orange);border:1px solid rgba(255,255,255,.14);border-radius:4px}.brand-copy{display:flex;flex-direction:column;gap:1px;min-width:0}.brand-copy span{overflow:hidden;color:#8fa3a1;font-family:Cascadia Mono,SFMono-Regular,Consolas,monospace;font-size:8.5px;letter-spacing:.12em;text-overflow:ellipsis;white-space:nowrap}.brand-copy strong{font-size:15px;font-weight:700;letter-spacing:.02em}.save-state{display:flex;align-items:center;gap:7px;padding:6px 10px;color:var(--header-soft);font-size:11px;border:1px solid rgba(255,255,255,.08);border-radius:999px}.save-dot{width:6px;height:6px;background:#55b7a8;border-radius:50%;box-shadow:0 0 0 3px #55b7a81f}.save-state.has-error{color:#f0b3a9}.save-state.has-error .save-dot{background:#f07b66;box-shadow:0 0 0 3px #f07b6621}.header-actions{display:flex;justify-content:flex-end;align-items:center;gap:7px;min-width:0}.toolbar-button,.primary-button,.secondary-button,.text-button,.add-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:36px;padding:0 12px;font-size:12.5px;font-weight:650;white-space:nowrap;border-radius:var(--radius);cursor:pointer;transition:background-color .16s ease,border-color .16s ease,color .16s ease,transform .16s ease}.toolbar-button{color:#d9e2df;background:#ffffff0e;border:1px solid rgba(255,255,255,.1)}.toolbar-button:hover:not(:disabled){background:#ffffff1a}.toolbar-button.format-button{color:#f5fbf7;background:#1d716961;border-color:#71c7b83d}.icon-button.toolbar-button{display:inline-flex;align-items:center;justify-content:center;padding:0 10px}.icon-button.toolbar-button.label-on-wide{width:auto}.label-on-wide span{margin-left:1px}.primary-button{color:#fffaf4;background:var(--orange);border:1px solid rgba(255,255,255,.13)}.primary-button:hover:not(:disabled){background:var(--orange-dark)}.primary-button:active:not(:disabled),.toolbar-button:active:not(:disabled),.secondary-button:active:not(:disabled){transform:translateY(1px)}.button-spinner{width:14px;height:14px;border:2px solid rgba(255,255,255,.38);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.icon-button{display:inline-grid;width:34px;height:34px;padding:0;place-items:center;color:var(--muted);background:transparent;border:1px solid var(--line);border-radius:4px;cursor:pointer}.icon-button:hover:not(:disabled){color:var(--ink);background:#efeee8}.icon-button.compact{width:29px;height:29px}.icon-button.micro{width:27px;height:27px;border-color:transparent}.icon-button.danger,.text-button.danger,.menu-popover .danger{color:var(--danger)}.menu-wrap{position:relative}.menu-wrap>button{gap:2px}.menu-popover{position:absolute;top:calc(100% + 8px);right:0;z-index:80;width:205px;padding:6px;background:#fffefb;border:1px solid var(--line);border-radius:6px;box-shadow:0 14px 38px #17201f2e}.menu-popover button{display:flex;align-items:center;gap:9px;width:100%;min-height:38px;padding:0 10px;color:var(--ink);font-size:12.5px;text-align:left;background:transparent;border:0;border-radius:4px;cursor:pointer}.menu-popover button:hover{background:#f0efe9}.menu-separator{height:1px;margin:5px 4px;background:var(--line)}.privacy-backdrop{position:fixed;inset:0;z-index:200;display:grid;padding:24px;place-items:center;background:#0c191aad;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);animation:privacy-backdrop-in .18s ease-out}.privacy-dialog{width:min(650px,100%);max-height:calc(100dvh - 48px);padding:26px 28px 24px;overflow-y:auto;color:var(--ink);background:#fffefb;border:1px solid rgba(255,255,255,.36);border-top:3px solid var(--orange);border-radius:8px;box-shadow:0 28px 80px #07111257;animation:privacy-dialog-in .22s ease-out}.privacy-dialog:focus{outline:none}.privacy-dialog-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:13px;align-items:start}.privacy-seal{display:grid;width:43px;height:43px;place-items:center;color:#17645e;background:#e2efeb;border:1px solid #c6ddd6;border-radius:6px}.privacy-eyebrow{display:block;margin:1px 0 4px;color:#7a847f;font-family:Cascadia Mono,SFMono-Regular,Consolas,monospace;font-size:8.5px;letter-spacing:.12em}.privacy-dialog h2{margin:0;color:#162423;font-size:22px;line-height:1.25}.privacy-close{display:grid;width:32px;height:32px;padding:0;place-items:center;color:#66716e;background:transparent;border:1px solid var(--line);border-radius:4px;cursor:pointer}.privacy-close:hover{color:var(--ink);background:#f0efe9}.privacy-lead{margin:20px 0 17px;padding:14px 15px;color:#3f4c49;font-size:12.5px;line-height:1.78;background:#f5f4ee;border-left:3px solid var(--teal)}.privacy-points{border-top:1px solid var(--line)}.privacy-point{display:grid;grid-template-columns:34px minmax(0,1fr);gap:11px;padding:14px 2px;border-bottom:1px solid var(--line)}.privacy-point-icon{display:grid;width:31px;height:31px;place-items:center;color:#1d7169;background:#edf4f1;border-radius:4px}.privacy-point strong{display:block;margin-bottom:4px;color:#22302f;font-size:12.5px}.privacy-point p{margin:0;color:#66716e;font-size:11.5px;line-height:1.7}.privacy-warning{display:flex;gap:10px;align-items:flex-start;margin-top:16px;padding:12px 13px;color:#75412f;background:#fff2e8;border:1px solid #f0d8c8;border-radius:5px}.privacy-warning svg{flex:0 0 auto;margin-top:1px;color:#c45d36}.privacy-warning p{margin:0;font-size:11.5px;line-height:1.72}.privacy-footer{display:flex;gap:16px;align-items:center;justify-content:space-between;margin-top:18px}.privacy-footer>span{max-width:280px;color:#7a847f;font-size:10.5px;line-height:1.55}.privacy-confirm{display:inline-flex;min-height:38px;padding:0 14px;align-items:center;justify-content:center;gap:7px;flex:0 0 auto;color:#fffaf4;font-size:12px;font-weight:700;background:var(--orange);border:1px solid rgba(120,45,22,.15);border-radius:4px;cursor:pointer}.privacy-confirm:hover{background:var(--orange-dark)}@keyframes privacy-backdrop-in{0%{opacity:0}}@keyframes privacy-dialog-in{0%{opacity:0;transform:translateY(10px) scale(.985)}}.workspace{display:grid;grid-template-columns:minmax(390px,438px) minmax(0,1fr);min-height:0;flex:1}.editor-panel{display:flex;min-width:0;min-height:0;flex-direction:column;background:var(--panel);border-right:1px solid var(--line-strong)}.editor-tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:11px 14px 10px;background:var(--panel);border-bottom:1px solid var(--line)}.editor-tabs button{display:flex;align-items:center;justify-content:center;gap:7px;height:36px;color:var(--muted);font-size:12.5px;font-weight:650;background:transparent;border:1px solid transparent;border-radius:4px;cursor:pointer}.editor-tabs button:hover{color:var(--ink);background:#eeede7}.editor-tabs button.is-active{color:var(--ink);background:var(--panel-raised);border-color:var(--line);box-shadow:0 1px #141e1e08}.editor-scroll{min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.editor-scroll::-webkit-scrollbar,.stage-scroll::-webkit-scrollbar{width:9px}.editor-scroll::-webkit-scrollbar-thumb,.stage-scroll::-webkit-scrollbar-thumb{background:#c6c9c1;border:3px solid transparent;border-radius:8px;background-clip:padding-box}.editor-tab-panel{padding:2px 14px 42px}.editor-accordion{border-bottom:1px solid var(--line)}.editor-accordion>summary{display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;min-height:52px;list-style:none;cursor:pointer;-webkit-user-select:none;user-select:none}.editor-accordion>summary::-webkit-details-marker,.entry-editor>summary::-webkit-details-marker{display:none}.accordion-icon{display:grid;width:25px;height:25px;place-items:center;color:var(--teal);background:var(--teal-soft);border-radius:4px}.accordion-title{color:var(--ink);font-size:13px;font-weight:720}.accordion-meta{color:var(--muted);font-size:10.5px}.accordion-content{padding:0 0 18px 30px}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px 10px}.field{display:flex;min-width:0;flex-direction:column;gap:6px}.field-wide{grid-column:1 / -1}.field>span,.accent-row>label{color:#5a6562;font-size:10.5px;font-weight:650}.field input,.field textarea,.field select,.control-block select{width:100%;color:var(--ink);background:#fffefb;border:1px solid var(--line);border-radius:4px;transition:border-color .15s ease,box-shadow .15s ease}.field input,.field select,.control-block select{height:35px;padding:0 10px;font-size:12px}.field textarea{min-height:76px;padding:9px 10px;font-size:12px;line-height:1.62;resize:vertical}.field input:focus,.field textarea:focus,.field select:focus,.control-block select:focus{border-color:#1d7169a8;outline:none;box-shadow:0 0 0 3px #1d71691a}.field input::placeholder,.field textarea::placeholder{color:#9aa29f;opacity:1}.photo-control{display:flex;align-items:center;gap:12px;padding:2px 0 14px}.photo-control img,.photo-placeholder{width:52px;height:65px;flex:0 0 auto;object-fit:cover;background:#ebeae3;border:1px solid var(--line-strong);border-radius:3px}.photo-placeholder{display:grid;place-items:center;color:#939c98}.photo-control>div:last-of-type{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.secondary-button{color:var(--ink);background:#fffefb;border:1px solid var(--line-strong)}.secondary-button:hover:not(:disabled){background:#f1f0ea;border-color:#aeb4ac}.secondary-button.small{min-height:32px;padding:0 10px;font-size:11.5px}.text-button{min-height:30px;padding:0 4px;background:transparent;border:0}.editable-list{display:flex;flex-direction:column;gap:8px}.entry-editor{background:#eeeee8;border:1px solid #dedfd8;border-radius:4px}.entry-editor>summary{display:flex;align-items:center;justify-content:space-between;min-height:45px;padding:6px 7px 6px 10px;list-style:none;cursor:pointer}.entry-editor>summary>div:first-child{display:flex;min-width:0;flex-direction:column;gap:2px;padding-right:8px}.entry-editor>summary strong,.entry-editor>summary span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.entry-editor>summary strong{color:var(--ink);font-size:11.5px}.entry-editor>summary span{color:var(--muted);font-size:10px}.entry-actions{display:flex;flex:0 0 auto;gap:1px}.entry-fields{display:flex;flex-direction:column;gap:10px;padding:10px;background:#f8f7f2;border-top:1px solid #dedfd8}.add-button{width:100%;min-height:34px;margin-top:9px;color:var(--teal);background:transparent;border:1px dashed #b5c9c3}.add-button:hover{background:#edf5f1}.design-panel{display:flex;flex-direction:column;gap:11px}.control-block{padding:15px 0 17px;border-bottom:1px solid var(--line)}.control-heading{display:flex;align-items:center;gap:8px;margin-bottom:13px;color:var(--ink);font-size:12.5px;font-weight:720}.control-heading svg{color:var(--teal)}.control-heading .control-badge{margin-left:auto;padding:2px 7px;color:var(--teal);font-family:Cascadia Mono,Consolas,monospace;font-size:9px;font-weight:700;background:var(--teal-soft);border-radius:999px}.template-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.template-option{display:flex;min-width:0;flex-direction:column;align-items:stretch;gap:7px;padding:6px;color:var(--muted);font-size:9.5px;text-align:left;background:transparent;border:1px solid transparent;border-radius:4px;cursor:pointer}.template-option-rich{background:#fffefb61;border-color:#c5c9c19e}.template-option:hover{background:#eeede7;border-color:#d2d4cd}.template-option.is-active{color:var(--ink);background:#fffefb;border-color:color-mix(in srgb,var(--teal) 48%,var(--line-strong));box-shadow:0 0 0 2px #1d716914}.template-preview{position:relative;display:block;width:100%;aspect-ratio:.92;overflow:hidden;padding:8px 7px;color:var(--swatch-ink);background:#fff;border:1px solid #e1e1da;border-radius:3px}.template-preview:before{position:absolute;top:0;bottom:0;left:0;width:3px;content:"";background:var(--swatch)}.template-preview-name{position:relative;display:block;color:var(--swatch-ink);font-family:Georgia,Songti SC,serif;font-size:13px;font-weight:760;line-height:1}.template-preview-title{display:block;width:68%;height:3px;margin-top:5px;background:var(--swatch);border-radius:1px}.template-preview-rule{display:block;width:100%;height:1px;margin-top:6px;background:#dfe2dc}.template-preview-lines{display:block;height:29px;margin-top:5px;background:repeating-linear-gradient(to bottom,#cbd0cb 0,#cbd0cb 1px,transparent 1px,transparent 5px);opacity:.72}.template-preview-header-centered .template-preview-name,.template-preview-header-centered .template-preview-title{margin-right:auto;margin-left:auto;text-align:center}.template-preview-header-banner{padding-top:13px;background:linear-gradient(to bottom,color-mix(in srgb,var(--swatch) 19%,#fff) 0 25px,#fff 25px)}.template-preview-header-banner:before{width:100%;height:3px;bottom:auto}.template-preview-header-minimal:before{top:8px;bottom:auto;width:18px;height:2px}.template-preview-heading-pill .template-preview-title{width:50%;height:8px;border-radius:999px}.template-preview-heading-overline .template-preview-title{width:28%;margin-top:7px}.template-preview-heading-minimal .template-preview-rule{background:transparent}.template-preview-heading-double .template-preview-rule{height:4px;background:linear-gradient(var(--swatch),var(--swatch)) top / 100% 1px no-repeat,linear-gradient(#dfe2dc,#dfe2dc) bottom / 100% 1px no-repeat}.template-copy{display:flex;min-width:0;flex-direction:column;gap:2px}.template-copy strong{overflow:hidden;color:var(--ink);font-size:10px;font-weight:720;text-overflow:ellipsis;white-space:nowrap}.template-copy small{overflow:hidden;color:#86908c;font-size:7.8px;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.accent-row{display:grid;grid-template-columns:auto 34px minmax(0,1fr);align-items:center;gap:10px;margin-bottom:13px}input[type=color]{width:34px;height:29px;padding:2px;background:#fffefb;border:1px solid var(--line);border-radius:4px;cursor:pointer}.color-swatches{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.color-swatches button{width:20px;height:20px;padding:0;border:2px solid #fff;border-radius:50%;box-shadow:0 0 0 1px #d1d3cc;cursor:pointer}.design-panel .field{margin-bottom:14px}.option-label{margin:4px 0 7px;color:#5a6562;font-size:10.5px;font-weight:650}.header-option-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.header-option-grid button{display:flex;min-height:52px;flex-direction:column;align-items:flex-start;justify-content:center;gap:5px;padding:7px 9px;color:var(--muted);font-size:10px;font-weight:650;background:#fffefb;border:1px solid var(--line);border-radius:4px;cursor:pointer}.header-option-grid button.is-active{color:var(--ink);border-color:color-mix(in srgb,var(--teal) 56%,var(--line));box-shadow:0 0 0 2px #1d716914}.header-option-sample{position:relative;display:flex;width:58px;height:18px;flex-direction:column;justify-content:center;gap:3px;padding:0 5px;overflow:hidden;background:#f4f3ee;border:1px solid #dedfd8}.header-option-sample i{display:block;width:48%;height:2px;background:var(--teal)}.header-option-sample i:last-child{width:76%;height:1px;background:#aeb6b1}.header-sample-centered{align-items:center}.header-sample-centered i{margin-left:auto;margin-right:auto}.header-sample-banner{border-top:5px solid var(--teal)}.header-sample-minimal{padding-left:10px}.header-sample-minimal:before{position:absolute;top:5px;bottom:5px;left:4px;width:2px;content:"";background:var(--teal)}.heading-style-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-bottom:13px}.heading-style-button{display:flex;min-width:0;min-height:57px;flex-direction:column;align-items:flex-start;justify-content:center;gap:6px;padding:7px;color:var(--muted);font-size:8.5px;font-weight:650;background:#fffefb;border:1px solid var(--line);border-radius:4px;cursor:pointer}.heading-style-button.is-active{color:var(--ink);border-color:color-mix(in srgb,var(--teal) 56%,var(--line));box-shadow:0 0 0 2px #1d716914}.heading-style-sample{position:relative;display:flex;width:100%;height:18px;align-items:center;gap:4px;padding:0 4px;overflow:hidden;background:#f5f4ef}.heading-style-sample i:first-child{display:block;width:3px;height:11px;background:var(--teal)}.heading-style-sample i:last-child{display:block;width:52%;height:2px;background:#6f7a76}.heading-sample-overline{flex-direction:column;align-items:flex-start;justify-content:center;gap:3px}.heading-sample-overline i:first-child{width:16px;height:2px}.heading-sample-pill i:last-child{height:8px;background:var(--teal);border-radius:99px}.heading-sample-minimal i:first-child{width:12px;height:1px}.heading-sample-underline{border-bottom:1px solid #aeb6b1}.heading-sample-double{border-top:1px solid var(--teal);border-bottom:1px solid #aeb6b1}.compact-segments{margin-top:7px}.module-style-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin:10px 0 3px}.module-style-summary span{padding:5px 4px;color:#63706c;font-family:Cascadia Mono,Consolas,monospace;font-size:8.5px;text-align:center;background:#ecebe5;border-radius:3px}.align-control{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin-bottom:12px}.align-control button{display:flex;min-height:38px;align-items:center;justify-content:center;gap:5px;padding:0 5px;color:var(--muted);font-size:9.5px;background:#fffefb;border:1px solid var(--line);border-radius:4px;cursor:pointer}.align-control button.is-active{color:var(--teal);background:var(--teal-soft);border-color:#b7d0c9}.reset-module-style{width:100%}.range-control{display:flex;flex-direction:column;gap:6px;margin:14px 0}.range-control>span{display:flex;align-items:center;justify-content:space-between;color:#5a6562;font-size:10.5px;font-weight:650}.range-control output{color:var(--teal);font-family:Cascadia Mono,Consolas,monospace;font-size:10px}input[type=range]{width:100%;height:4px;margin:5px 0;accent-color:var(--teal)}.segmented-control{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:3px;padding:3px;margin-top:12px;background:#ebeae4;border:1px solid #dedfd8;border-radius:5px}.segmented-control button{min-height:30px;color:var(--muted);font-size:10.5px;font-weight:650;background:transparent;border:0;border-radius:3px;cursor:pointer}.segmented-control button.is-active{color:var(--ink);background:#fffefb;box-shadow:0 1px 3px #1e26241a}.paper-style-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.paper-style-grid button{display:grid;min-width:0;min-height:55px;grid-template-columns:48px minmax(0,1fr);align-items:center;gap:9px;padding:7px 8px;color:var(--muted);text-align:left;background:#fffefb;border:1px solid var(--line);border-radius:4px;cursor:pointer}.paper-style-grid button:hover{border-color:#c6cec9}.paper-style-grid button.is-active{color:var(--ink);border-color:color-mix(in srgb,var(--teal) 56%,var(--line));box-shadow:0 0 0 2px #1d716914}.paper-style-sample{position:relative;display:flex;width:48px;height:36px;flex-direction:column;justify-content:center;gap:3px;padding:0 8px;overflow:hidden;border:1px solid #ddded7;box-shadow:0 1px 2px #1f232114,0 4px 8px #1f23210d}.paper-style-sample i{display:block;width:100%;height:1px;background:#adb4af;opacity:.68}.paper-style-sample i:last-child{width:68%}.paper-style-sample-clean{background:#fff}.paper-style-sample-ivory{background-color:#fbf7ed;background-image:linear-gradient(100deg,rgba(135,108,61,.035),transparent 42%,rgba(255,255,255,.54))}.paper-style-sample-mist{background-color:#f5f8f7;background-image:linear-gradient(90deg,rgba(80,105,104,.03),transparent 30%,rgba(80,105,104,.025))}.paper-style-sample-linen{background-color:#fbf9f2;background-image:repeating-linear-gradient(14deg,rgba(104,91,62,.035) 0,rgba(104,91,62,.035) 1px,transparent 1px,transparent 5px),repeating-linear-gradient(104deg,rgba(255,255,255,.34) 0,rgba(255,255,255,.34) 1px,transparent 1px,transparent 7px)}.paper-style-copy{display:flex;min-width:0;flex-direction:column;gap:2px}.paper-style-copy strong{overflow:hidden;color:var(--ink);font-size:10.5px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.paper-style-copy small{overflow:hidden;color:#87908c;font-size:8.5px;text-overflow:ellipsis;white-space:nowrap}.toggle-row{display:flex;align-items:center;justify-content:space-between;min-height:39px;margin-top:10px;color:#5a6562;font-size:11px;font-weight:650;cursor:pointer}.toggle-row input{width:17px;height:17px;accent-color:var(--teal)}.section-order-list{display:flex;flex-direction:column}.section-order-row{display:grid;grid-template-columns:29px minmax(0,1fr) 29px 29px;align-items:center;min-height:38px;border-bottom:1px solid #e6e6df}.section-order-row:last-child{border-bottom:0}.section-name-button{min-width:0;overflow:hidden;padding:7px 4px;color:var(--ink);font-size:11.5px;text-align:left;text-overflow:ellipsis;white-space:nowrap;background:transparent;border:0;border-radius:3px;cursor:pointer}.section-name-button:hover,.section-name-button.is-selected{color:var(--teal);background:var(--teal-soft)}.section-name-button.is-hidden{color:#9ca4a0;text-decoration:line-through}.reset-style{width:100%;margin-top:2px}.preview-panel{display:flex;min-width:0;min-height:0;flex-direction:column;background:#d7d9d2}.preview-toolbar{display:flex;align-items:center;justify-content:space-between;min-height:49px;padding:0 17px;background:#f1f1eceb;border-bottom:1px solid #c7cbc3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.preview-meta,.preview-actions{display:flex;align-items:center}.preview-meta{gap:7px;color:#596461;font-size:11.5px;font-weight:650}.preview-meta svg{color:var(--teal)}.preview-page-count{margin-left:4px;padding-left:9px;color:#7a8581;border-left:1px solid #c8cbc4;font-family:Cascadia Mono,Consolas,monospace;font-size:9.5px}.preview-actions{gap:4px}.zoom-readout{min-width:52px;height:29px;padding:0 6px;color:#5b6763;font-family:Cascadia Mono,Consolas,monospace;font-size:9.5px;background:transparent;border:0;cursor:pointer}.fit-button{margin-left:2px}.preview-stage{position:relative;display:flex;min-height:0;flex:1;overflow:hidden;background-color:#dfe1db;background-image:radial-gradient(rgba(35,53,51,.08) .7px,transparent .7px);background-size:22px 22px}.stage-ruler{position:absolute;left:13px;top:16px;bottom:18px;z-index:2;display:flex;width:31px;flex-direction:column;align-items:flex-start;justify-content:space-between;padding:3px 0;color:#8b9490;font-family:Cascadia Mono,Consolas,monospace;font-size:7px;border-right:1px solid rgba(76,91,88,.15);pointer-events:none}.stage-ruler span:after{content:"";display:inline-block;width:7px;height:1px;margin-left:4px;vertical-align:middle;background:#a7ada8}.stage-scroll{width:100%;height:100%;padding:30px 38px 54px 58px;overflow:auto;overscroll-behavior:contain}.paper-scale-shell{position:relative;margin:0 auto}.paper-transform{position:absolute;top:0;left:0;transform-origin:top left}.resume-paper{position:relative;width:100%;min-height:1123px;padding:54px 62px;color:var(--resume-body);font-family:var(--resume-font);font-size:var(--resume-font-size);line-height:var(--resume-line-height);background-color:#fff;background-image:none;box-shadow:var(--shadow)}.resume-paper.paper-style-ivory{background-color:#fbf7ed;background-image:linear-gradient(104deg,rgba(121,92,43,.025),transparent 38%,rgba(255,255,255,.4))}.resume-paper.paper-style-mist{background-color:#f5f8f7;background-image:linear-gradient(90deg,rgba(65,95,94,.025),transparent 28%,rgba(65,95,94,.018))}.resume-paper.paper-style-linen{background-color:#fbf9f2;background-image:repeating-linear-gradient(14deg,rgba(104,91,62,.018) 0,rgba(104,91,62,.018) 1px,transparent 1px,transparent 6px),repeating-linear-gradient(104deg,rgba(255,255,255,.24) 0,rgba(255,255,255,.24) 1px,transparent 1px,transparent 8px)}.resume-paper.paper-letter{min-height:1056px}.resume-paper.density-compact{padding-top:46px;padding-bottom:46px}.resume-paper.density-airy{padding-top:62px;padding-bottom:62px}.resume-header{margin-bottom:calc(var(--resume-section-gap) * .85);break-inside:avoid}.resume-identity{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.resume-identity>div{min-width:0}.resume-paper h1{margin:0 0 8px;color:var(--resume-ink);font-size:calc(39px * var(--resume-name-scale, 1));font-weight:780;line-height:.98;letter-spacing:-.02em}.resume-role{margin:0;color:var(--resume-accent);font-size:12.3px;font-weight:760;line-height:1.35}.resume-headline{margin:7px 0 0;color:var(--resume-body);font-size:10.8px;font-weight:550}.resume-photo{width:64px;height:80px;flex:0 0 auto;object-fit:cover;background:#f2f2ed;border:1px solid #dfe3df;border-radius:2px}.resume-contact{display:flex;flex-wrap:wrap;gap:3px 0;margin-top:13px;color:var(--resume-body);font-size:calc(9.15px * var(--resume-contact-scale, 1))}.resume-contact span{display:inline-flex;align-items:center}.resume-contact span:not(:last-child):after{content:"·";margin:0 8px;color:#94a19f}.resume-paper.photo-square .resume-photo{border-radius:0}.resume-paper.photo-rounded .resume-photo{border-radius:3px}.resume-paper.photo-circle .resume-photo{width:66px;height:66px;border-radius:50%}.resume-paper.header-centered .resume-header{text-align:center}.resume-paper.header-centered .resume-identity{flex-direction:column-reverse;align-items:center;justify-content:center}.resume-paper.header-centered .resume-role{margin-right:auto;margin-left:auto}.resume-paper.header-centered .resume-contact{justify-content:center}.resume-paper.header-banner .resume-header{padding:20px 22px;background:#f1f4f2;border-left:4px solid var(--resume-accent)}.resume-paper.header-minimal .resume-header{padding-top:14px;border-top:2px solid var(--resume-accent)}.resume-body{display:flex;flex-direction:column;gap:var(--resume-section-gap)}.resume-section{min-width:0;margin-bottom:calc(var(--resume-section-gap) * (var(--section-space-scale, 1) - 1));font-size:calc(var(--resume-font-size) * var(--section-body-scale, 1));line-height:var(--section-line-height, var(--resume-line-height))}.resume-section-title{display:flex;align-items:center;gap:.7em;margin-bottom:.72em;break-after:avoid}.resume-section-number{color:var(--resume-accent);font-family:Cascadia Mono,Consolas,monospace;font-size:.62em;font-weight:760;line-height:1}.resume-section-title h2{margin:0;color:#050808;font-size:calc(1.06em * var(--section-title-scale, 1));font-weight:760;line-height:1.2}.resume-paper.headings-rule .resume-section-title{padding-bottom:.45em;border-bottom:1px solid #d8ddda}.resume-paper.headings-rule .resume-section-title:before{width:3px;height:1.05em;content:"";background:var(--resume-accent)}.resume-paper.headings-overline .resume-section-title{display:grid;grid-template-columns:1fr;gap:.25em;padding-bottom:.52em;border-bottom:1px solid #d8ddda}.resume-paper.headings-overline .resume-section-number{font-size:.56em;letter-spacing:.1em}.resume-paper.headings-pill .resume-section-title{gap:.55em;margin-bottom:.82em}.resume-paper.headings-pill .resume-section-title:before{display:none}.resume-paper.headings-pill .resume-section-number{display:inline-grid;min-width:2.2em;height:2.2em;padding:0 .5em;place-items:center;color:#fff;background:var(--resume-accent);border-radius:999px}.resume-paper.headings-pill .resume-section-title h2{padding:.33em .72em;color:var(--resume-accent);background:#edf2f0;border-radius:999px}.resume-paper.headings-minimal .resume-section-title{gap:.6em;padding-bottom:.35em}.resume-paper.headings-minimal .resume-section-title:before{width:1.1em;height:1px;content:"";background:var(--resume-accent)}.resume-paper.headings-underline .resume-section-title{padding-bottom:.48em;border-bottom:1px solid var(--resume-accent)}.resume-paper.headings-double .resume-section-title{padding:.36em 0;border-top:1px solid var(--resume-accent);border-bottom:1px solid #aeb7b2}.resume-paper.headings-double .resume-section-title:before{display:none}.resume-summary{margin:0;color:var(--resume-body);font-size:.98em;line-height:var(--section-line-height, var(--resume-line-height));text-align:var(--section-align, left)}.resume-skills{display:grid;grid-template-columns:7.4em minmax(0,1fr);align-items:start;gap:calc(var(--resume-item-gap) * .3) 1.1em}.resume-skills>.resume-skill{display:contents}.resume-skill strong{color:var(--resume-accent);font-size:.78em;font-weight:760;line-height:var(--section-line-height, var(--resume-line-height))}.resume-skill span{color:var(--resume-body);font-size:.82em;line-height:var(--section-line-height, var(--resume-line-height));text-align:var(--section-align, left)}.resume-section-skills .resume-skills{text-align:var(--section-align, left)}.resume-entry-list{display:flex;flex-direction:column;gap:var(--resume-item-gap)}.resume-entry{min-width:0;break-inside:avoid}.resume-entry-heading{display:flex;align-items:baseline;justify-content:space-between;gap:18px;margin-bottom:5px}.resume-entry-heading>div{display:flex;min-width:0;align-items:baseline;flex-wrap:wrap;gap:0 10px}.resume-entry-heading strong{color:var(--resume-ink);font-size:.96em;font-weight:760}.resume-entry-role{color:var(--resume-accent);font-size:.8em;font-weight:700}.resume-entry-heading time{flex:0 0 auto;color:#778583;font-size:.72em;font-variant-numeric:tabular-nums}.resume-bullets{display:flex;flex-direction:column;gap:.18em;margin:0;padding:0;list-style:none}.resume-bullets li{position:relative;margin:0;padding-left:1.25em;color:var(--resume-body);font-size:.86em;line-height:var(--section-line-height, var(--resume-line-height));text-align:var(--section-align, left)}.resume-bullets li:before{content:"";position:absolute;left:2px;top:.74em;width:3px;height:3px;background:var(--resume-accent);border-radius:50%}.resume-project-wrap{display:flex;flex-direction:column;gap:8px}.resume-project-group{margin-top:1px;color:var(--resume-accent);font-size:.78em;font-weight:760;break-after:avoid}.toast{position:fixed;left:50%;bottom:24px;z-index:100;display:flex;align-items:center;gap:9px;max-width:min(420px,calc(100vw - 32px));min-height:42px;padding:0 14px;color:#f7fbf8;font-size:12px;background:#18302f;border:1px solid rgba(255,255,255,.1);border-radius:5px;box-shadow:0 12px 32px #14201f40;transform:translate(-50%);animation:toast-in .18s ease-out}.toast svg{color:#73c6b8}.toast-error{background:#4a2825}.toast-error svg{color:#f6a290}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}.mobile-view-tabs,.print-only-label,.mobile-only{display:none}@media(max-width:1100px){.app-header{grid-template-columns:minmax(175px,1fr) auto minmax(360px,1.4fr)}.save-state{display:none}.app-header{grid-template-columns:1fr auto}.workspace{grid-template-columns:minmax(370px,415px) minmax(0,1fr)}.resume-paper{padding-right:54px;padding-left:54px}}@media(max-width:960px){body{overflow:hidden}.app-header{min-height:58px;padding:0 14px}.brand-mark{width:34px;height:34px;font-size:18px}.brand-copy span{display:none}.header-actions{gap:5px}.toolbar-button,.primary-button{min-height:34px;padding:0 10px}.mobile-view-tabs{z-index:20;display:grid;grid-template-columns:1fr 1fr;gap:3px;padding:7px 12px;background:#ebeae4;border-bottom:1px solid var(--line-strong)}.mobile-view-tabs button{display:flex;align-items:center;justify-content:center;gap:7px;min-height:35px;color:var(--muted);font-size:12px;font-weight:650;background:transparent;border:1px solid transparent;border-radius:4px}.mobile-view-tabs button.is-active{color:var(--ink);background:#fffefb;border-color:var(--line)}.workspace{display:block}.editor-panel,.preview-panel{width:100%;height:100%}.mobile-view-editor .preview-panel,.mobile-view-preview .editor-panel{display:none}.preview-toolbar{min-height:46px}.stage-scroll{padding:28px 26px 46px}.stage-ruler{display:none}}@media(max-width:720px){.app-header{grid-template-columns:auto minmax(0,1fr)}.brand-copy{display:none}.header-actions{justify-content:flex-end}.header-actions .label-on-wide,.format-button span,.desktop-only{display:none}.mobile-only{display:inline}.primary-button{padding:0 11px}.menu-wrap>button{padding:0 8px}.editor-tab-panel{padding-right:12px;padding-left:12px}.template-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.preview-toolbar{padding:0 10px}.preview-meta>span:first-of-type{display:none}.stage-scroll{padding:20px 14px 36px}.privacy-backdrop{padding:12px}.privacy-dialog{max-height:calc(100dvh - 24px);padding:22px 18px 18px}.privacy-dialog h2{font-size:19px}.privacy-footer{align-items:stretch;flex-direction:column;gap:12px}.privacy-footer>span{max-width:none}.privacy-confirm{width:100%}}@media(max-width:430px){.app-header{padding:0 9px}.primary-button span{font-size:11px}.toolbar-button,.icon-button.toolbar-button{width:34px;padding:0}.format-button{width:34px}.primary-button{gap:5px;padding:0 9px}.field-grid{grid-template-columns:1fr}.field-wide{grid-column:auto}.template-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.zoom-readout{min-width:44px}.fit-button{display:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media print{html,body,#root{width:auto!important;height:auto!important;min-width:0;overflow:visible!important;background:#fff!important}body *{visibility:hidden!important}#resume-paper,#resume-paper *{visibility:visible!important}.app-shell,.workspace,.preview-panel,.preview-stage,.stage-scroll,.paper-scale-shell,.paper-transform{display:block!important;width:auto!important;height:auto!important;min-height:0!important;overflow:visible!important;background:transparent!important;transform:none!important}.app-header,.editor-panel,.preview-toolbar,.stage-ruler,.mobile-view-tabs,.toast,.privacy-backdrop,.print-only-label{display:none!important}.preview-stage,.stage-scroll{padding:0!important}#resume-paper{position:absolute!important;left:0!important;top:0!important;width:210mm!important;min-height:297mm!important;margin:0!important;padding:5mm 16mm!important;box-shadow:none!important}#resume-paper.paper-letter{width:8.5in!important;min-height:11in!important}.resume-header,.resume-section-title,.resume-project-group{break-after:avoid-page;page-break-after:avoid}.resume-entry{break-inside:avoid-page;page-break-inside:avoid}.resume-summary,.resume-bullets li{orphans:3;widows:3}}
