 :root{--bg:#f5f8f6;--ink:#203b36;--muted:#778984;--line:#dfe8e3;--deep:#28685e;--gold:#c8a864;--white:#fff}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);font-family:"Microsoft YaHei","PingFang SC",system-ui,sans-serif;color:var(--ink)}
header{height:76px;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 30px;position:sticky;top:0;z-index:20;backdrop-filter:blur(10px)}
.brand{display:flex;align-items:center;gap:12px}.mark{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:var(--deep);color:#fff;font-weight:800;font-size:18px}
.brand h1{font-size:18px;margin:0}.brand p{font-size:12px;color:var(--muted);margin:3px 0 0}
.top-actions{display:flex;gap:10px;align-items:center}.user-action{display:inline-flex;align-items:center;gap:7px;white-space:nowrap}.action-symbol{font-size:15px}.history-count{display:inline-grid;place-items:center;min-width:19px;height:19px;padding:0 5px;border-radius:20px;background:#d6e9e1;color:var(--deep);font-size:10px;font-weight:800}
button{font:inherit;border:0;cursor:pointer}.ghost,.primary,.add{border-radius:9px;padding:10px 15px;font-size:12px}.ghost{background:#edf4f0;color:var(--deep)}.primary{background:var(--deep);color:#fff;box-shadow:0 7px 18px #28685e22}.primary:disabled{opacity:.65;cursor:wait}.add{background:#eaf4f0;color:var(--deep);white-space:nowrap}
main{max-width:1760px;margin:0 auto;padding:24px 24px 50px}
.workspace{display:grid;grid-template-columns:minmax(320px,.9fr) minmax(480px,1.3fr);grid-template-areas:"editor architecture" "editor preview";gap:18px;align-items:start}
.panel{background:rgba(255,255,255,.92);border:1px solid var(--line);border-radius:16px;min-width:0;box-shadow:0 5px 20px rgba(31,71,59,.025)}
.editor,.preview,.architecture{padding:19px}.editor{grid-area:editor;align-self:stretch}.preview{grid-area:preview}.architecture{grid-area:architecture;justify-self:stretch;width:100%;display:grid;grid-template-columns:minmax(270px,.62fr) minmax(0,1.38fr);grid-template-rows:minmax(0,1fr);column-gap:22px;align-items:stretch;overflow:hidden}.architecture-controls{grid-column:1;grid-row:1;min-width:0;align-self:start}.architecture .arch-cases{grid-column:2;grid-row:1;min-width:0;min-height:100%;margin-top:0;padding:13px;border:1px solid var(--line);border-radius:12px;background:#fbfdfc;overflow:hidden}
.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;position:relative}.editor-head-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.editor>.section-head{flex-wrap:wrap}.editor-head-actions{margin-left:auto}.import-file-btn{white-space:nowrap}.import-file-btn:hover,.add:hover{filter:brightness(.98);box-shadow:0 3px 10px rgba(31,71,59,.08)}
.eyebrow{font-size:10px;letter-spacing:1.5px;color:#9aa8a4;font-weight:800}.section-head h2{font-size:17px;margin:5px 0 0}.section-note{font-size:11px;line-height:1.55;color:var(--muted);margin:10px 0 0}
.editor-pager{display:flex;align-items:center;justify-content:flex-end;gap:8px;color:var(--muted);font-size:11px;margin:14px 0 10px}
.icon{width:30px;height:30px;border-radius:9px;background:#eef5f1;color:var(--deep);font-size:21px;line-height:1}
.slide-card{padding:14px;border:1px solid #dfe9e4;border-radius:13px;background:#fbfdfc}
.slide-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.slide-num{font-size:11px;color:var(--deep);font-weight:800;letter-spacing:.5px}.page-status{padding:5px 8px;border:1px solid #cfe2d9;border-radius:7px;background:#f0f8f4;color:var(--deep);font-size:10px;font-weight:700}
.field{display:flex;flex-direction:column;gap:5px;margin-top:10px;min-width:0}.field label{font-size:11px;color:#71847d}
.field input,.field textarea{width:100%;min-width:0;border:1px solid #dce7e1;border-radius:8px;padding:9px 10px;font-size:12px;line-height:1.55;outline:none;background:#fff;color:var(--ink);font-family:inherit}
.field input:focus,.field textarea:focus{border-color:#8bbcae;box-shadow:0 0 0 3px #e4f3ed}
.field textarea{resize:vertical;min-height:58px}
.editor-group-title{font-size:11px;color:var(--deep);font-weight:700;margin-top:15px;padding-top:12px;border-top:1px solid var(--line)}
.toc-field{display:grid;grid-template-columns:1fr 28px;gap:6px;align-items:end}.toc-field label{grid-column:1/-1}.toc-field input{grid-column:1;grid-row:2}.toc-field .row-delete{grid-column:2;grid-row:2}
.zone-editor{margin-top:14px;padding:11px 10px 12px;border:1px solid #e0eae5;border-radius:10px;background:#f9fcfa}
.zone-editor-head{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:var(--deep);font-weight:800}.zone-editor-head span+span{font-size:10px;color:#92a29c;font-weight:500}
.row-footnote{font-size:10px;line-height:1.5;color:#81938b;margin-top:10px}
.row-add{margin-top:10px;border:1px dashed #9bc9bd;background:#f3faf7;color:var(--deep);border-radius:8px;padding:8px 11px;font-size:11px;width:100%}
.row-delete{border:0;background:#fff0ee;color:#b56d66;border-radius:7px;height:31px;width:28px;font-size:18px;cursor:pointer}
.page-delete{border:0;background:#fff1ef;color:#b56d66;border-radius:7px;padding:7px 9px;font-size:10px;cursor:pointer}
.page-picker{display:block;width:100%;margin:10px 0;border:1px solid #b8d8cf;border-radius:8px;padding:9px 10px;color:var(--deep);background:#fff;font-size:12px}
.preview-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.preview-title{flex-shrink:0}.preview-top-right{display:flex;flex-direction:column;align-items:flex-end;gap:9px;min-width:0}.preview-tools{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:11px}.work-actions{display:flex;justify-content:flex-end;gap:6px;flex-wrap:wrap}.work-btn{display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:8px 9px;border-radius:8px;background:#edf4f0;color:var(--deep);font-size:11px;white-space:nowrap;border:1px solid #e1ece6}.work-btn span{font-size:13px;font-weight:800}.work-btn:hover{background:#e0eee7}.work-btn-primary{background:var(--deep);color:#fff;border-color:var(--deep)}.work-btn-primary:hover{background:#20564d}.work-btn:disabled{opacity:.65;cursor:wait}
/* V87.9: one shared title/subtitle style for every正文 preview renderer. */
.suhui-body-header{position:absolute;inset:0;width:100%;height:100%;z-index:8;pointer-events:none;box-sizing:border-box;font-family:"Microsoft YaHei","PingFang SC",sans-serif}
.suhui-body-header-title,.suhui-body-header-subtitle{position:absolute;display:flex;align-items:center;justify-content:flex-start;box-sizing:border-box;overflow:hidden;white-space:nowrap;text-overflow:clip;letter-spacing:0;font-family:"Microsoft YaHei","PingFang SC",sans-serif;text-align:left;text-shadow:none;padding:0;margin:0}
.suhui-body-header-title{left:4.125%;top:3.7333%;width:91.5000%;height:6.6667%;font-size:2.9167cqw;color:#164B79;font-weight:700;line-height:1.08}
.suhui-body-header-subtitle{left:4.275%;top:11.7333%;width:91.1250%;height:4.5333%;font-size:1.8750cqw;color:#577187;font-weight:400;line-height:1.15}
.canvas-wrap{padding:16px 0 12px}.canvas{width:100%;aspect-ratio:16/9;border-radius:11px;overflow:hidden;position:relative;background:#f5f8f6;box-shadow:0 12px 28px #245f4e16}
.template-canvas{position:absolute;inset:0;background-size:100% 100%;background-position:center;background-repeat:no-repeat;container-type:inline-size;overflow:hidden}
.mapped-field{position:absolute;z-index:2;box-sizing:border-box;display:block;overflow:hidden;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.25;padding:.25% .45%;font-family:"Microsoft YaHei",sans-serif;font-size:max(8px,1cqw);color:#304d46;background:rgba(250,252,250,.97);border-radius:2px;box-shadow:0 0 0 .5px rgba(255,255,255,.8)}
.mapped-field.title{font-weight:700;color:#164B79;display:flex;align-items:center;font-size:2.9167cqw;line-height:1.08;background:transparent;box-shadow:none;border-radius:0;padding:0;white-space:nowrap}
.mapped-field.subtitle{font-weight:400;color:#577187;display:flex;align-items:center;font-size:1.875cqw;line-height:1.15;background:transparent;box-shadow:none;border-radius:0;padding:0;white-space:nowrap}
.mapped-field.heading{font-weight:800;color:#28685e;font-size:max(9px,1.643cqw);display:flex;align-items:center}
.mapped-field.body{font-weight:400;font-size:max(8px,1.206cqw);line-height:1.32}
.preview-caption{display:flex;justify-content:space-between;gap:10px;color:var(--muted);font-size:10px;line-height:1.5}.preview-caption b{color:var(--deep)}
.preview-hint{font-size:10px;line-height:1.5;color:#81938b;margin-top:10px;padding:9px 10px;background:#f5faf7;border-radius:8px}
.architecture .hint{font-size:11px;color:var(--muted);line-height:1.6;margin:10px 0 12px}
.arch-status{padding:5px 9px;border:1px solid #cde2d9;border-radius:8px;background:#eff8f4;color:var(--deep);font-size:11px;font-weight:800;white-space:nowrap}
.orientation-tabs{display:flex;gap:7px;margin:10px 0 12px}.tab{font-size:11px;padding:8px 11px;border-radius:8px;background:#f1f5f3;color:#6d8079}.tab.active{background:var(--deep);color:#fff;font-weight:700}
.arch-count{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0}.count{min-width:47px;padding:7px 11px;border:1px solid var(--line);border-radius:8px;background:#fff;color:#71807c;font-size:11px}.count.active{background:var(--deep);border-color:var(--deep);color:#fff}
.single-zone-badge{display:inline-flex;align-items:center;justify-content:center;background:#e9f4ef;color:var(--deep);font-size:11px;border-radius:8px;padding:8px 12px;font-weight:800}
.arch-cases{margin-top:12px;min-width:0}.case-count-note{font-size:10px;color:var(--muted);margin-bottom:9px}.case-track{display:flex;gap:12px;overflow-x:auto;padding:3px 3px 12px;scroll-snap-type:x mandatory;scrollbar-width:thin;max-width:100%;overscroll-behavior-x:contain}.architecture .case-card{flex:0 0 clamp(235px,27vw,330px)}
.case-card{flex:0 0 220px;min-width:0;border:1px solid var(--line);border-radius:11px;background:#fff;padding:8px;text-align:left;scroll-snap-align:start;cursor:pointer;transition:border-color .15s,box-shadow .15s}
.case-card:hover,.case-card.selected{border-color:#76b4a2;box-shadow:0 0 0 2px #dff1e9}.case-thumb{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;border-radius:7px;background:#f3f7f4;margin-bottom:8px}
.case-card b{font-size:11px;color:var(--deep);display:block;line-height:1.4}.case-card span{font-size:10px;color:#63756e;display:block;margin-top:4px;line-height:1.4;min-height:28px}.case-card small{font-size:9px;color:#9aa8a4;display:block;margin-top:5px}.case-download{display:inline-block;font-size:10px;color:var(--deep);text-decoration:none;margin-top:7px}.case-download:hover{text-decoration:underline}
.placeholder-case-note{display:flex;align-items:flex-start;gap:11px;padding:12px;border-radius:10px;background:#f2f8f4;border:1px solid #dfece5}.placeholder-icon{width:42px;height:42px;display:grid;place-items:center;background:var(--deep);color:#fff;border-radius:12px;font-size:12px;font-weight:800;flex-shrink:0}.placeholder-case-note b{font-size:12px;color:var(--deep)}.placeholder-case-note p{font-size:10px;line-height:1.6;color:var(--muted);margin:5px 0 0}
.placeholder-downloads{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.placeholder-download{display:flex;flex-direction:column;gap:4px;padding:10px;border:1px solid var(--line);border-radius:9px;background:#fff;text-decoration:none;color:var(--ink)}.placeholder-download b{font-size:11px}.placeholder-download span{font-size:10px;color:var(--muted);line-height:1.4}.placeholder-download small{font-size:9px;color:var(--deep);margin-top:3px}
.templates{margin-top:20px;padding:20px}.templates .section-head{align-items:flex-start}.template-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-top:16px}
.template{border:1px solid var(--line);border-radius:11px;overflow:hidden;background:#fff;cursor:pointer;transition:.15s;min-width:0}.template:hover,.template.selected{box-shadow:0 8px 18px #245f4e14;border-color:#82bcae}
.thumb{height:80px;position:relative;overflow:hidden;background:linear-gradient(140deg,#fff,#dbf1e8)}.master-thumb{display:flex;align-items:center;justify-content:center}.master-thumb span{font-family:serif;font-size:29px;font-weight:700;z-index:1;color:var(--accent)}.master-thumb i{position:absolute;width:110px;height:110px;border-radius:50%;right:-18px;bottom:-55px;background:var(--soft);border:10px solid rgba(255,255,255,.65)}.master-thumb.green{--accent:#28685e;--soft:#b9ded0;background:linear-gradient(130deg,#f8fcf9,#dcefe6)}.master-thumb.mint{--accent:#4c8c7b;--soft:#c8e6d8;background:linear-gradient(130deg,#fff,#e6f3eb)}.master-thumb.blue{--accent:#3d6f9e;--soft:#c8dcef;background:linear-gradient(130deg,#fff,#e2edf8)}.master-thumb.china{--accent:#8d4e3e;--soft:#e9cdb8;background:linear-gradient(130deg,#fffaf3,#f0e0d2)}
.template-info{padding:10px 11px}.template-info b{font-size:11px;display:block;line-height:1.45}.template-info span{font-size:10px;color:var(--muted);display:block;margin-top:4px;line-height:1.45}.template-open{display:inline-block;margin-top:7px;font-size:10px;color:var(--deep);text-decoration:none}.template-open:hover{text-decoration:underline}
.placeholder-slide{position:absolute;inset:0;overflow:hidden;container-type:inline-size;background:var(--bg);color:var(--ink);font-family:"Microsoft YaHei",sans-serif}
.placeholder-kicker{position:absolute;left:5.5%;top:5.5%;font-size:1.15cqw;letter-spacing:.12em;font-weight:800;color:var(--accent)}.placeholder-kicker span{padding:0 .4em;color:var(--gold)}
.placeholder-label{font-size:1.05cqw;color:var(--muted);letter-spacing:.02em}.placeholder-footer{position:absolute;bottom:5%;left:5.5%;font-size:1cqw;color:var(--muted);letter-spacing:.1em}
.cover-copy{position:absolute;left:6%;top:31%;width:65%;z-index:2}.gold-rule{height:.7cqw;width:12%;background:var(--gold);margin-bottom:2.2cqw;border-radius:5px}.cover-copy h3{font-size:4.2cqw;line-height:1.15;margin:0;color:var(--ink);font-weight:800;letter-spacing:.02em}.cover-copy p{font-size:1.8cqw;line-height:1.5;margin:2cqw 0 2.5cqw;color:var(--accent)}.cover-copy .placeholder-label{display:inline-block;border-left:2px solid var(--gold);padding-left:1cqw}
.placeholder-orb{position:absolute;border-radius:50%;pointer-events:none}.orb-a{width:47cqw;height:47cqw;right:-7cqw;top:-12cqw;background:var(--soft);opacity:.85}.orb-b{width:23cqw;height:23cqw;right:8cqw;top:10cqw;background:var(--accent);opacity:.9;border:3cqw solid rgba(255,255,255,.4)}
.toc-title{position:absolute;left:5.5%;top:14%;font-size:4cqw;line-height:1.1;margin:0;color:var(--ink)}.toc-subtitle{position:absolute;left:5.7%;top:24%;margin:0;color:var(--muted);font-size:1.55cqw}
.toc-items{position:absolute;left:5.5%;right:5.5%;top:34%;bottom:12%;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:repeat(2,minmax(0,1fr));gap:4% 3%}.toc-item{display:flex;align-items:center;gap:2%;padding:3% 4%;border-radius:1.3cqw;border:1px solid color-mix(in srgb,var(--accent) 18%,white);background:rgba(255,255,255,.72);min-width:0;box-shadow:0 .5cqw 1.2cqw rgba(28,70,55,.04)}.toc-number{display:grid;place-items:center;flex:0 0 3.7cqw;height:3.7cqw;border-radius:50%;background:var(--accent);color:#fff;font-size:1.3cqw;font-weight:800}.toc-item b{font-size:1.45cqw;line-height:1.4;color:var(--ink);font-weight:700;overflow-wrap:anywhere}.toc-item i{font-style:normal;color:var(--gold);margin-left:auto;font-size:1.7cqw}.toc-layout .placeholder-label{position:absolute;bottom:4.5%;left:5.5%}
.chapter-layout{background:var(--ink);color:#fff}.chapter-number{position:absolute;left:5.5%;top:19%;font-size:10cqw;line-height:1;color:var(--gold);font-weight:300}.chapter-line{position:absolute;left:6%;top:49%;width:9%;height:.65cqw;background:var(--gold);border-radius:4px}.chapter-copy{position:absolute;left:23%;top:32%;width:65%;z-index:2}.chapter-copy .placeholder-kicker{position:static;color:var(--soft);font-size:1.1cqw}.chapter-copy h3{font-size:3.4cqw;line-height:1.2;margin:1.5cqw 0;color:#fff}.chapter-copy p{font-size:1.65cqw;line-height:1.55;color:var(--soft);margin:0 0 2.2cqw}.chapter-copy .placeholder-label{color:#b6cdc5}.chapter-orb{position:absolute;right:-4%;top:-12%;width:42cqw;height:42cqw;border-radius:50%;background:var(--accent);opacity:.35}
.end-layout{display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center}.end-orb{position:absolute;top:11%;left:calc(50% - 9cqw);width:18cqw;height:18cqw;border-radius:50%;background:var(--soft);display:grid;place-items:center}.end-orb span{width:10cqw;height:10cqw;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:#fff;font-size:5cqw;font-weight:700}.end-copy{position:absolute;top:55%;left:10%;right:10%;display:flex;align-items:center;flex-direction:column}.end-copy h3{font-size:4cqw;margin:0;color:var(--ink)}.end-copy p{font-size:1.8cqw;color:var(--accent);margin:1.5cqw 0 2cqw}.end-copy .placeholder-label{padding-top:1.1cqw;border-top:1px solid var(--gold)}
.preview-empty{position:absolute;inset:0;display:grid;place-items:center;color:var(--muted);font-size:13px}
@media(max-width:1250px){.workspace{grid-template-columns:minmax(280px,.85fr) minmax(380px,1.15fr);grid-template-areas:"editor architecture" "editor preview"}.architecture{grid-template-columns:minmax(240px,.65fr) minmax(0,1.35fr);column-gap:16px}.architecture .case-card{flex-basis:250px}.template-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:820px){.editor-head-actions{gap:6px}.editor-head-actions .ghost,.editor-head-actions .add{padding:9px 10px;font-size:11px}header{padding:0 14px}.top-actions .ghost{display:none}main{padding:14px}.workspace{display:flex;flex-direction:column}.editor,.preview,.architecture{width:100%}.editor{order:1}.architecture{order:2;display:flex;flex-direction:column;gap:14px;overflow:visible}.preview{order:3}.architecture-controls{width:100%}.architecture .arch-cases{width:100%;min-height:0;padding:10px}.architecture .case-card,.case-card{flex:0 0 220px}.template-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.preview-caption{flex-direction:column}.placeholder-downloads{grid-template-columns:1fr 1fr}}

/* Original "山水入画" master: real source artwork with editable text overlays. */
.master-cover-wrap{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;background:#edf5f0}
.master-cover-thumb{display:block;width:100%;height:100%;object-fit:cover}
.master-default-chip{position:absolute;top:8px;right:8px;padding:5px 8px;border-radius:7px;background:#173f35;color:#fff;font-size:10px;font-weight:800;box-shadow:0 2px 8px #173f3530}
.original-master-slide{position:absolute;inset:0;overflow:hidden;background-size:100% 100%;background-position:center;background-repeat:no-repeat;container-type:inline-size;font-family:"Microsoft YaHei","PingFang SC",sans-serif;color:#173f35}
.om-text{position:absolute;box-sizing:border-box;overflow:hidden;overflow-wrap:anywhere;white-space:pre-wrap;line-height:1.16;display:flex;align-items:center}
.om-cover-title{left:6.15%;top:18%;width:47.25%;height:12.27%;font-size:5cqw;font-weight:800;color:#173f35}
.om-cover-subtitle{left:6.6%;top:36.4%;width:47.25%;height:7.33%;font-size:2.4cqw;font-weight:800;color:#2f6a59}
.om-cover-pill{left:6.9%;top:58.93%;width:16.2%;height:6.4%;justify-content:center;font-size:1.05cqw;font-weight:800;color:#fff}
.om-toc-title{left:6.375%;top:15.73%;width:27.375%;height:12.67%;font-size:4.58cqw;font-weight:800;color:#173f35}
.om-toc-subtitle{left:6.825%;top:27.73%;width:24%;height:4.8%;font-size:1.15cqw;font-weight:800;color:#2f6a59}
.om-toc-number{left:37.725%;width:4.5%;height:8.27%;justify-content:center;text-align:center;font-size:1.35cqw;font-weight:800;color:#fff}
.om-toc-row-title{left:44.1%;width:45%;height:5.07%;font-size:1.85cqw;font-weight:800;color:#173f35}
.om-toc-row-desc{left:44.25%;width:44.6%;height:4.27%;font-size:1.15cqw;color:#5d746a}
.om-chapter-number{left:7.35%;top:19.73%;width:10.2%;height:18.13%;justify-content:center;text-align:center;font-size:3.75cqw;font-weight:800;color:#fff}
.om-chapter-title{left:23.1%;top:22.13%;width:44.25%;height:12%;font-size:4.4cqw;font-weight:800;color:#173f35}
.om-chapter-subtitle{left:23.4%;top:36.27%;width:42%;height:6.4%;font-size:2.1cqw;font-weight:800;color:#2f6a59}
.om-chapter-kicker{left:23.55%;top:45.6%;width:42.75%;height:6.9%;font-size:1.15cqw;font-weight:800;color:#5d746a}
.om-end-title{left:7.125%;top:20.67%;width:58.5%;height:12%;font-size:3.8cqw;font-weight:800;color:#173f35}
.om-end-subtitle{left:7.425%;top:35.73%;width:42.75%;height:6.67%;font-size:1.8cqw;color:#2f6a59}
.toc-editor-row{display:grid;grid-template-columns:minmax(0,1fr) 28px;gap:0 6px;align-items:end;margin-top:9px;padding:9px;border:1px solid #e0eae5;border-radius:10px;background:#f9fcfa}
.toc-editor-row>.field{margin-top:0}
.toc-editor-row>.field:first-child{grid-column:1;grid-row:1}
.toc-editor-row>.row-delete{grid-column:2;grid-row:1;align-self:end}
.toc-editor-row>.toc-description{grid-column:1/-1;margin-top:7px}
.toc-item-copy{display:flex;flex-direction:column;gap:.25cqw;min-width:0;flex:1}
.toc-item-copy b{font-size:1.42cqw;line-height:1.28}
.toc-item-copy small{display:block;font-size:1cqw;line-height:1.25;color:var(--muted);overflow-wrap:anywhere}

/* Work management: local profile, saved history, import/open dialogs and feedback. */
.modal-backdrop{position:fixed;inset:0;z-index:1000;background:rgba(20,43,36,.42);display:flex;align-items:center;justify-content:center;padding:20px;backdrop-filter:blur(4px)}
.modal-card{width:min(620px,100%);max-height:min(84vh,820px);overflow:auto;background:#fff;border:1px solid #dce8e2;border-radius:18px;box-shadow:0 24px 80px rgba(16,46,36,.22)}
.modal-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:21px 22px 15px;border-bottom:1px solid #e8efeb}.modal-head h3{font-size:18px;margin:5px 0 0;color:var(--ink)}.modal-head p{font-size:11px;line-height:1.6;color:var(--muted);margin:7px 0 0}.modal-close{flex:0 0 32px;height:32px;border-radius:9px;background:#f0f5f2;color:#567068;font-size:21px}.modal-body{padding:18px 22px 22px}.modal-note{font-size:11px;line-height:1.65;color:#71847d;background:#f4f8f5;border:1px solid #e4eee8;border-radius:10px;padding:11px 12px;margin-bottom:15px}.modal-field{display:flex;flex-direction:column;gap:6px;margin-top:12px}.modal-field label{font-size:11px;color:#71847d}.modal-field input{border:1px solid #dce7e1;border-radius:9px;padding:11px 12px;font:inherit;font-size:13px;outline:none}.modal-field input:focus{border-color:#8bbcae;box-shadow:0 0 0 3px #e4f3ed}.modal-actions{display:flex;justify-content:flex-end;gap:9px;flex-wrap:wrap;margin-top:18px}.modal-primary,.modal-secondary,.modal-danger{border-radius:9px;padding:10px 14px;font-size:12px}.modal-primary{background:var(--deep);color:#fff}.modal-secondary{background:#edf4f0;color:var(--deep)}.modal-danger{background:#fff0ee;color:#b56d66}.modal-divider{height:1px;background:#e8efeb;margin:17px 0}.works-list{display:flex;flex-direction:column;gap:9px}.work-item{display:flex;align-items:center;gap:12px;border:1px solid #e1ebe5;border-radius:11px;padding:11px;background:#fbfdfc}.work-item-icon{width:40px;height:40px;flex:0 0 40px;display:grid;place-items:center;background:#e7f2ec;color:var(--deep);border-radius:10px;font-weight:800}.work-item-main{flex:1;min-width:0}.work-item-main b{display:block;font-size:12px;overflow-wrap:anywhere}.work-item-main small{display:block;font-size:10px;line-height:1.5;color:var(--muted);margin-top:4px}.work-item-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.work-item-actions button{font-size:10px;padding:7px 9px;border-radius:7px;background:#edf4f0;color:var(--deep)}.work-item-actions .delete-work{background:#fff0ee;color:#b56d66}.empty-history{padding:25px 15px;text-align:center;border:1px dashed #cdded5;border-radius:12px;color:var(--muted);font-size:12px;line-height:1.7}.empty-history b{display:block;color:var(--deep);font-size:13px;margin-bottom:5px}.modal-footnote{font-size:10px;line-height:1.6;color:#8b9b95;margin-top:12px}.toast-root{position:fixed;z-index:1200;left:50%;bottom:28px;transform:translateX(-50%);display:flex;flex-direction:column;gap:8px;pointer-events:none}.toast-message{background:#203b36;color:#fff;border-radius:10px;padding:11px 15px;font-size:12px;box-shadow:0 8px 28px #102e242e;max-width:min(90vw,520px);animation:toast-in .18s ease-out}@keyframes toast-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1100px){.preview-top{flex-direction:column}.preview-top-right{width:100%;align-items:flex-start}.work-actions{justify-content:flex-start}.preview-tools{align-self:flex-end}}
@media(max-width:820px){.top-actions .user-action{padding:8px 9px;font-size:10px}.top-actions .action-symbol{display:none}.top-actions .history-count{min-width:16px;height:16px}.preview-top-right{gap:8px}.work-actions{width:100%}.work-btn{flex:1;padding:9px 6px;font-size:10px}.modal-backdrop{padding:10px}.modal-head,.modal-body{padding-left:15px;padding-right:15px}.work-item{align-items:flex-start;flex-wrap:wrap}.work-item-actions{width:100%;justify-content:flex-start}}
@media(max-width:820px){.top-actions .user-action{display:inline-flex;gap:5px;padding:8px 9px;font-size:10px}.top-actions .user-action .action-symbol{display:none}}

@media (min-width:821px) and (max-width:980px){.architecture{grid-template-columns:minmax(210px,.7fr) minmax(0,1.3fr);padding:14px;column-gap:12px}.architecture .arch-cases{padding:9px}.architecture .case-card{flex-basis:220px}.workspace{grid-template-columns:minmax(260px,.8fr) minmax(340px,1.2fr)}}


/* 1区占位页：案例窗口直接展示当前页面对应的封面/目录/章节/结束预览 */
.special-case-card{width:100%;min-width:0;border:1px solid #dce9e3;border-radius:11px;background:#fff;padding:9px;overflow:hidden}
.special-case-visual{position:relative;container-type:inline-size;width:100%;aspect-ratio:16/9;min-height:180px;overflow:hidden;border-radius:8px;background-color:var(--sc-bg,#f2f7f4);background-position:center;background-size:cover;background-repeat:no-repeat;color:var(--sc-ink,#204e47)}
.special-case-visual:not(.special-original)::before{content:"";position:absolute;right:-5%;top:-24%;width:45%;aspect-ratio:1;border-radius:50%;background:var(--sc-soft,#d8ebe3);opacity:.95}
.special-case-visual:not(.special-original)::after{content:"";position:absolute;right:8%;top:13%;width:20%;aspect-ratio:1;border-radius:50%;border:2cqw solid rgba(255,255,255,.6);background:var(--sc-accent,#28685e);opacity:.75}
.special-case-zone{position:absolute;right:2%;top:3%;z-index:5;padding:.7cqw 1.2cqw;border-radius:6px;background:rgba(255,255,255,.88);border:1px solid rgba(40,104,94,.18);font-size:1.15cqw;color:var(--sc-accent,#28685e);font-weight:700}
.special-case-caption{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 3px 2px}
.special-case-caption b{font-size:12px;color:var(--deep)}
.special-case-caption span{font-size:10px;color:var(--muted);text-align:right}
.sc-cover-copy{position:absolute;left:7%;top:29%;width:67%;z-index:2;display:flex;flex-direction:column;align-items:flex-start;gap:1.3cqw}
.sc-rule{width:15%;height:.6cqw;min-height:2px;background:var(--sc-gold,#c8a864);border-radius:3px}
.sc-cover-copy strong{font-size:4.2cqw;line-height:1.2;max-width:100%;overflow-wrap:anywhere}
.sc-cover-copy span{font-size:1.8cqw;line-height:1.4;max-width:100%;overflow-wrap:anywhere;color:var(--sc-accent,#28685e)}
.sc-toc-copy{position:absolute;inset:9% 7% 8%;z-index:2}
.sc-toc-copy>strong{display:block;font-size:3.1cqw;line-height:1.15}
.sc-toc-copy>span{display:block;margin-top:1cqw;font-size:1.15cqw;color:var(--sc-muted,#718a83)}
.sc-toc-list{position:absolute;left:0;right:0;top:32%;bottom:0;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:3%}
.sc-toc-list>div{display:flex;align-items:center;gap:2%;min-width:0;padding:2% 3%;border:1px solid rgba(40,104,94,.16);border-radius:1cqw;background:rgba(255,255,255,.82)}
.sc-toc-list i{display:grid;place-items:center;flex:0 0 3.1cqw;height:3.1cqw;border-radius:50%;background:var(--sc-accent,#28685e);color:#fff;font-size:1.15cqw;font-style:normal}
.sc-toc-list b{font-size:1.25cqw;line-height:1.25;overflow-wrap:anywhere}
.sc-chapter-copy{position:absolute;left:8%;top:29%;right:8%;z-index:2;display:grid;grid-template-columns:17% 1fr;grid-template-rows:auto auto;align-items:center;column-gap:4%}
.sc-chapter-copy>b{grid-row:1/3;font-size:8cqw;line-height:1;color:var(--sc-accent,#28685e);font-weight:300}
.sc-chapter-copy>strong{font-size:3.2cqw;line-height:1.25;overflow-wrap:anywhere}
.sc-chapter-copy>span{font-size:1.55cqw;line-height:1.4;margin-top:1.5cqw;color:var(--sc-muted,#718a83)}
.sc-end-copy{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:1.4cqw}
.sc-end-copy>b{display:grid;place-items:center;width:12cqw;height:12cqw;border-radius:50%;background:var(--sc-soft,#d8ebe3);color:var(--sc-accent,#28685e);font-size:5cqw}
.sc-end-copy>strong{font-size:3.6cqw;line-height:1.2;overflow-wrap:anywhere}
.sc-end-copy>span{font-size:1.6cqw;color:var(--sc-muted,#718a83)}
@media(max-width:900px){.special-case-visual{min-height:145px}.special-case-caption{align-items:flex-start;flex-direction:column}.special-case-caption span{text-align:left}}

/* Special-page placeholders should use the same thumbnail scale as body case cards. */
.architecture .special-case-card{width:clamp(235px,27vw,330px);max-width:100%;}
.architecture .special-case-visual{min-height:0;aspect-ratio:16/9;}
@media(max-width:1250px){.architecture .special-case-card{width:250px;}}
@media(max-width:820px){.architecture .special-case-card{width:220px;}.architecture .special-case-visual{min-height:0;}}


/* Simplified architecture picker: fixed 8-zone selector and single-slide carousel. */
.architecture-controls .hint{margin:12px 0 16px;font-size:13px;line-height:1.5;color:var(--muted)}
.arch-count{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:12px 0 0}
.arch-count .count{width:100%;min-width:0;min-height:38px;padding:8px 5px;font-size:13px;border-radius:9px}
.arch-count .count:disabled{opacity:.38;cursor:not-allowed;background:#f7faf8;color:#9ba9a4}
.arch-count .count:disabled.active{opacity:1;background:var(--deep);color:#fff}
.architecture .arch-cases{display:flex;align-items:center;justify-content:center;padding:12px;min-width:0;overflow:hidden}
.case-carousel{display:grid;grid-template-columns:28px minmax(0,1fr) 28px;align-items:center;gap:8px;width:100%;min-width:0}
.case-carousel-stage{min-width:0;width:100%;overflow:hidden}
.architecture .case-card{position:relative;display:block;flex:none;width:100%;min-width:0;max-width:100%;padding:0;border:0;border-radius:8px;background:transparent;box-shadow:none;cursor:default}
.architecture .case-card:hover,.architecture .case-card.selected{border:0;box-shadow:none}
.architecture .case-thumb{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;border:0;border-radius:7px;background:#f3f7f4;margin:0}
.case-nav{display:grid;place-items:center;width:28px;height:44px;border:0;border-radius:9px;background:transparent;color:var(--deep);font-size:32px;line-height:1;cursor:pointer}
.case-nav:hover{background:#eaf4ef}
.case-download{position:absolute;right:8px;bottom:8px;display:inline-block;padding:5px 8px;border-radius:6px;background:rgba(255,255,255,.94);border:1px solid var(--line);font-size:10px;color:var(--deep);text-decoration:none;opacity:0;transition:opacity .15s}
.case-card:hover .case-download,.case-download:focus{opacity:1}
.architecture .special-case-card{width:100%;max-width:100%;min-width:0;padding:0;border:0;border-radius:8px;background:transparent;box-shadow:none}
.architecture .special-case-visual{display:block;width:100%;height:auto;aspect-ratio:16/9;min-height:0;border-radius:7px}
.case-carousel-empty{width:100%;aspect-ratio:16/9}
@media(max-width:1250px){
  .architecture .arch-cases{padding:10px}
  .case-carousel{grid-template-columns:24px minmax(0,1fr) 24px;gap:5px}
  .case-nav{width:24px;font-size:28px}
}
@media(max-width:820px){
  .architecture .arch-cases{padding:8px}
  .case-carousel{grid-template-columns:24px minmax(0,1fr) 24px;gap:4px}
  .architecture .case-thumb,.architecture .special-case-visual{width:100%}
  .case-download{opacity:1}
}


/* User-requested compact case preview: keep the one-slide carousel small. */
.architecture .arch-cases {
  min-height: 0;
  align-items: center;
  justify-content: center;
  padding: 10px;
}
.architecture .case-carousel {
  grid-template-columns: 26px minmax(0, 1fr) 26px;
  justify-items: center;
  align-items: center;
  gap: 5px;
}
.architecture .case-carousel-stage {
  width: min(100%, 320px);
  max-width: 320px;
  justify-self: center;
}
.architecture .case-carousel-stage .case-card {
  width: 100%;
  max-width: 320px;
}
.architecture .case-thumb,
.architecture .special-case-visual {
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  min-height: 0;
  object-fit: contain;
}
.architecture .special-case-card {
  width: min(100%, 320px);
  max-width: 320px;
}
.architecture-controls .hint {
  margin: 12px 0 16px;
  font-size: 13px;
  line-height: 1.5;
}

.field-label-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.font-control{display:inline-flex;align-items:center;gap:4px;white-space:nowrap;color:#789087;font-size:10px;font-weight:500}.font-control input{width:48px!important;min-width:48px!important;padding:3px 4px!important;border:1px solid #d5e5dd!important;border-radius:6px!important;font:inherit!important;font-size:11px!important;text-align:center;background:#fff}.font-control input:focus{outline:2px solid #d8eee5}.font-control>span:last-child{font-size:9px;color:#91a39b}

/* Word import rules shortcut and readable in-app guide */
.import-rules-btn{white-space:nowrap}.import-rules-btn:hover{filter:brightness(.98);box-shadow:0 3px 10px rgba(31,71,59,.08)}
.import-rules-content h4{margin:16px 0 8px;color:var(--deep);font-size:13px}.import-rules-content code{font-family:Consolas,monospace;background:#eaf3ee;border-radius:4px;padding:1px 4px;color:#205b50}.import-rule-example{white-space:pre-wrap;overflow-wrap:anywhere;background:#f8fbf9;border:1px solid #dfe9e3;border-radius:10px;padding:13px;font:12px/1.7 Consolas,"Microsoft YaHei",sans-serif;color:#294a41}.import-rules-download{display:inline-flex;align-items:center;text-decoration:none}
@media(max-width:820px){.editor-head-actions .import-rules-btn{padding:9px 10px;font-size:11px}}


/* 图片插入流程：先选择区域，再选择数量，最后插入图片 */
.image-insert-controls{margin-top:12px;padding-top:12px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:8px}
.insert-image-btn{width:100%;min-height:36px;border:1px solid #b9d8cd;border-radius:9px;background:#eaf5f0;color:var(--deep);font-size:12px;font-weight:800}
.insert-image-btn:hover:not(:disabled){background:#dcefe7;box-shadow:0 3px 10px #28685e12}
.insert-image-btn:disabled{opacity:.4;cursor:not-allowed}
.image-step-label{margin-top:2px;color:#789087;font-size:11px;font-weight:800;letter-spacing:.02em}
.image-placement-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;width:100%}
.image-count-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;width:100%}
.image-placement-btn,.image-count-btn{min-width:0;padding:8px 3px;border:1px solid var(--line);border-radius:8px;background:#fff;color:#6c8178;font-size:12px;line-height:1.2;white-space:nowrap}
.image-placement-btn.active,.image-count-btn.active{border-color:var(--deep);background:var(--deep);color:#fff;font-weight:800;box-shadow:0 2px 6px #28685e20}
.image-placement-btn:disabled,.image-count-btn:disabled{opacity:.35;cursor:not-allowed}
.image-insert-note{margin:0;color:#84958e;font-size:10px;line-height:1.5}
.split-preview{position:absolute;inset:0;overflow:hidden;background:#f3f7f4}
.split-content{position:absolute;top:0;bottom:0;overflow:hidden;min-width:0}
.split-content .template-canvas{border-radius:0}
.image-stack{position:absolute;top:0;bottom:0;display:flex;flex-direction:column;gap:1.1%;padding:1.1%;min-width:0;background:linear-gradient(145deg,#dbeee6 0%,#fff 36%,#c6e0d5 100%);}
.image-panel{position:relative;flex:1;display:block;min-height:0;min-width:0;padding:5px;background:linear-gradient(145deg,#dbeee6 0%,#fff 36%,#c6e0d5 100%);border:1px solid #c5ded3;border-radius:9px;box-shadow:0 3px 14px #1d54431c;outline:none;cursor:pointer;overflow:hidden}
.image-panel:focus{box-shadow:inset 0 0 0 2px #28685e,0 3px 14px #1d54431c}
.image-panel-inner{position:relative;width:100%;height:100%;overflow:hidden;border-radius:6px;border:1px solid rgba(255,255,255,.95);background:linear-gradient(160deg,#f9fcfa,#e8f2ed);display:flex;align-items:center;justify-content:center}
.image-panel-inner img{width:100%;height:100%;display:block;object-fit:cover}
.image-placeholder{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:10px;text-align:center;color:#547c6c;background:radial-gradient(ellipse at 50% 30%,#fff 0%,#f0f7f3 62%,#e0eee7 100%);position:relative;overflow:hidden}
.image-placeholder:before,.image-placeholder:after{content:"";position:absolute;width:72%;height:72%;border:1px solid #b7d5c7;border-radius:46% 54% 52% 48%;transform:rotate(-18deg);opacity:.65;pointer-events:none}
.image-placeholder:after{width:55%;height:55%;transform:rotate(24deg);border-color:#d2b87b;opacity:.55}
.image-placeholder .image-plus{position:relative;z-index:1;width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:#28685e;color:#fff;font-size:24px;line-height:1;box-shadow:0 4px 12px #28685e2b}
.image-placeholder strong,.image-placeholder small{position:relative;z-index:1}
.image-placeholder strong{font-size:clamp(10px,1.4cqw,17px);color:#28685e}
.image-placeholder small{font-size:clamp(8px,.9cqw,11px);line-height:1.4;color:#82978e}
@media(max-width:820px){.image-placement-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.image-placement-btn,.image-count-btn{font-size:11px;padding:8px 2px}.image-insert-note{font-size:10px}}
.image-panel-inner{container-type:inline-size}
.image-overlay-label{position:absolute;left:8px;right:8px;bottom:8px;padding:5px 7px;border-radius:6px;background:rgba(22,57,47,.72);color:#fff;font-size:10px;line-height:1.35;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.image-remove{position:absolute;right:8px;top:8px;z-index:5;width:25px;height:25px;border:1px solid rgba(255,255,255,.8);border-radius:50%;background:rgba(28,67,55,.86);color:#fff;font-size:18px;line-height:1;display:grid;place-items:center;box-shadow:0 2px 7px #183f3328}
.image-remove:hover{background:#a34d48}
.image-panel-inner img{object-fit:cover}

/* V16: distinguish workspace areas with soft blue, pink and lavender. */
body{background:#f5f6fa}
.editor.panel{--deep:#356789;--line:#d5e3ee;--muted:#62778a;background:#eef6fc;border-color:#d1e2ef}
.architecture.panel{--deep:#6b568f;--line:#e0d8ed;--muted:#796d8a;background:#f4effa;border-color:#ddd2ec}
.preview.panel{--deep:#995875;--line:#ecd8e2;--muted:#876d7a;background:#fff1f6;border-color:#ecd4df}
.templates.panel{background:#f0f8f5;border-color:#d5e8df}
.editor .section-head h2{color:#294f70}
.architecture .section-head h2{color:#594478}
.preview .preview-title h2{color:#80435f}
.editor .eyebrow{color:#597b97}
.architecture .eyebrow{color:#80669f}
.preview .eyebrow{color:#a66a84}
.editor .slide-card{background:#f9fcff;border-color:#d4e2ee}
.editor .page-status{background:#e5f0fb;border-color:#c4d9ed;color:#315f84}
.editor .page-picker{border-color:#c8dceb}
.editor .field label{color:#526c81}
.editor .field input,.editor .field textarea{border-color:#d4e0ec}
.editor .field input:focus,.editor .field textarea:focus{border-color:#7da9ce;box-shadow:0 0 0 2px #e1edf9}
.editor .zone-editor{background:#eff6fd;border-color:#d6e4f2}
.editor .zone-editor:nth-child(3n+2){background:#fff2f7;border-color:#eed8e2}
.editor .zone-editor:nth-child(3n){background:#f4effb;border-color:#e2d8ef}
.editor .ghost,.editor .add{background:#dfedf9;color:#315f84}
.editor .row-add{background:#eaf3fc;border-color:#a4c3df;color:#315f84}
.editor .font-control{color:#5d7489}
.architecture .arch-cases{background:#fbf9fe;border-color:#dfd5ec}
.architecture .arch-status{background:#eee5f8;border-color:#d7c9e8;color:#655080}
.architecture .count,.architecture .image-placement-btn,.architecture .image-count-btn{background:#fff;border-color:#ddd3e9;color:#695779}
.architecture .count.active,.architecture .image-placement-btn.active,.architecture .image-count-btn.active{background:#796199;border-color:#796199;color:#fff}
.architecture .count:disabled{background:#f2eef6;border-color:#e6dfed;color:#a59aaf}
.architecture .insert-image-btn{background:#eae1f5;border-color:#d3c4e5;color:#624c82}
.architecture .case-nav{color:#755793}
.architecture .image-step-label{color:#725b8b}
.preview .icon{background:#f8dfe9;color:#92506d}
.preview .work-btn{background:#fff9fc;border-color:#e7cbd9;color:#8d4f6d}
.preview .work-btn-primary{background:#995875;border-color:#995875;color:#fff}
.preview .preview-hint{background:#fbe2ed;color:#785365}
.preview .preview-caption{color:#886478}
/* Slide artwork and its colours are controlled by the selected PPT template. */

/* V17: counts per zone and two vertically stacked case previews. */
.architecture .count-total{display:inline-block;margin-left:3px;padding:1px 4px;border-radius:5px;background:#eee7f6;color:#705689;font-size:.78em;font-weight:700;line-height:1.2}
.architecture .count.active .count-total{background:#ffffff33;color:#fff}
.architecture .case-carousel-stage{display:flex;flex-direction:column;gap:14px;padding:3px;overflow:hidden}
.architecture .case-carousel-stage .case-card{cursor:pointer;flex:none}
.architecture .case-carousel-stage .case-card.selected{outline:2px solid #9673b4;outline-offset:-2px}
.architecture .case-card:focus-visible{outline:3px solid #755793;outline-offset:-3px}
.architecture .case-nav:disabled{opacity:.25;cursor:default}
/* Header navigation retains only current editor and AI actions. */
.top-actions>a.user-action{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;box-sizing:border-box;font:inherit;cursor:pointer}
.my-template-dialog{width:min(760px,90vw);max-height:85vh;overflow:auto;box-sizing:border-box;border:1px solid #cdddee;border-radius:22px;padding:30px;color:#243f54;background:#fbfdff;box-shadow:0 18px 80px #142d4440}.my-template-dialog::backdrop{background:#18334d66}.my-template-dialog h2{margin:0 0 18px;font-size:24px}.my-template-dialog p{font-size:14px;line-height:1.7}.my-template-dialog label{display:grid;grid-template-columns:100px 1fr;align-items:center;gap:12px;margin:16px 0}.my-template-dialog input,.my-template-dialog select{padding:11px;border:1px solid #cbdce8;border-radius:9px;max-width:100%;box-sizing:border-box}.my-template-dialog>input{width:100%;margin:10px 0}.my-template-dialog button{cursor:pointer;border:1px solid #bed3e0;border-radius:8px;padding:10px 16px;background:#eaf4f9;color:#24516a}.my-template-dialog .quick-generate{background:#316faf;color:white;width:100%;margin-top:22px}.my-template-close{float:right}.my-template-row{display:grid;grid-template-columns:120px 1fr auto auto;align-items:center;gap:14px;padding:20px 0;border-bottom:1px solid #dce6ee}.my-template-row img{width:120px;aspect-ratio:16/9;object-fit:contain;border-radius:6px;background:white}@media(max-width:600px){.my-template-row{grid-template-columns:80px 1fr}.my-template-row img{width:80px}.my-template-dialog label{grid-template-columns:1fr}}
.source-role-preview{display:block;width:100%;aspect-ratio:16/9;object-fit:contain;background:#eef3f7;border:1px solid #d5e1eb;border-radius:8px;margin:0 0 22px}
.source-role-preview[hidden]{display:none!important}.render-connection{display:flex;gap:14px;align-items:center;flex-wrap:wrap;padding:12px 0}.render-connection a{color:#246695;text-decoration:underline}.my-template-dialog select{min-width:0;width:100%}.my-template-dialog{overflow-x:hidden}
.local-render-launch{display:block;background:#286daa;color:white!important;text-decoration:none;border-radius:10px;padding:16px;margin:14px 0;text-align:center;font-weight:bold}.local-render-launch.secondary{background:#eaf3fb;color:#285a80!important;border:1px solid #c9deee}.my-template-dialog>button{margin:8px}

.brand .mark.brand-image{object-fit:contain;padding:0;background:transparent;display:block;flex-shrink:0}
/* Shared header actions. */
header .top-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}header .top-actions>.user-action{display:inline-flex;justify-content:center;align-items:center;box-sizing:border-box;height:44px;min-width:116px;padding:0 16px;border-radius:12px;border:1px solid #dce7e7;background:#f2f7f6;color:#35655f;font-family:inherit;font-size:14px;font-weight:500;line-height:1;gap:7px;white-space:nowrap;text-decoration:none;transition:background .18s,border-color .18s,box-shadow .18s,transform .18s}header .top-actions>.user-action:hover{background:#e7f1ee;border-color:#a9c9c1;transform:translateY(-1px)}header .top-actions>.user-action:focus-visible{outline:3px solid #a9cbd4;outline-offset:3px}header .top-actions .history-count{min-width:20px;height:20px;padding:0 5px;background:#e0ece8;color:#35655f;font-size:11px}header .top-actions .action-symbol{font-size:16px}@media(max-width:1000px){header .top-actions{gap:7px}header .top-actions>.user-action{height:40px;min-width:96px;padding:0 12px;font-size:13px}}@media(max-width:600px){header .top-actions{justify-content:flex-start;gap:6px}header .top-actions>.user-action{height:36px;min-width:86px;padding:0 10px;font-size:12px}}

header .top-actions #myTemplatesBtn,header .top-actions #localRenderBtn{width:87px;min-width:87px;padding-left:6px;padding-right:6px}@media(max-width:1000px){header .top-actions #myTemplatesBtn,header .top-actions #localRenderBtn{width:72px;min-width:72px;padding-left:4px;padding-right:4px}}@media(max-width:600px){header .top-actions #myTemplatesBtn,header .top-actions #localRenderBtn{width:65px;min-width:65px;padding-left:3px;padding-right:3px}}

/* Enlarge editable content only; retain existing field geometry and line height. */
.editor .field input,.editor .field textarea{font-size:13px;font-weight:700;line-height:18.6px}

.editor .field-label-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.editor .font-size-control{display:inline-flex;align-items:center;gap:5px;white-space:nowrap;font-size:11px;color:#698194;font-weight:400}.editor .field .font-size-control input{width:58px;min-width:58px;height:26px;padding:2px 5px;border-radius:6px;box-sizing:border-box;font-size:12px;font-weight:500;line-height:20px}

.image-stack[data-image-count="4"]{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:8px}.image-stack[data-image-count="4"]>.image-panel{min-height:0;height:auto!important;width:auto!important}

/* Hide baked template footer labels in all on-screen case previews. */
.case-thumb{clip-path:inset(0 0 8% 0)}.template-canvas::after{content:'';position:absolute;left:0;right:0;bottom:0;height:8%;background:#fff;pointer-events:none;z-index:1}.template-canvas .field-overlay{z-index:2}

.case-thumb{clip-path:inset(0 0 14.7% 0)}.template-canvas::after{height:14.7%}

/* New library previews contain no baked field text or footer masks. */
.case-thumb{clip-path:none!important}.template-canvas::after{display:none!important}

.master-categories{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:16px 0 22px;padding:12px 14px;background:linear-gradient(135deg,#f7fafc 0%,#f0f5f8 100%);border:1px solid #e1e9ef;border-radius:14px}.master-categories button{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid #dce6ec;color:#405d70;padding:10px 17px;border-radius:999px;font-size:13px;font-weight:600;letter-spacing:.2px;transition:background .16s,border-color .16s,color .16s,box-shadow .16s}.master-categories button:hover{background:#f4f8fb;border-color:#a9c3d2;color:#244f69}.master-categories button.active{background:linear-gradient(135deg,#e8f1f6 0%,#e2edf3 100%);border-color:#8eafc1;color:#1f4e68;font-weight:800;box-shadow:inset 0 0 0 1px #ffffff}.master-categories small{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:#eef3f6;color:#718897;font-size:11px;font-weight:700;margin-left:0}.master-categories button.active small{background:#fff;color:#315f78}.master-default-chip{display:none!important}

/* 案例模板底板（全白底 / 小窄边 / 全透明） */
.plate-settings{position:relative}
.plate-settings>summary{list-style:none;cursor:pointer;background:#edf4f3;border:1px solid #d6e5e2;border-radius:9px;padding:10px 15px;color:#315f59;font-size:14px;white-space:nowrap;display:inline-flex;align-items:center;gap:6px}
.plate-settings>summary::-webkit-details-marker{display:none}
.plate-settings>summary:hover{background:#e3efec}
.plate-gear{font-size:14px;line-height:1}
.plate-settings .plate-menu{position:absolute;top:calc(100% + 8px);right:0;left:auto;min-width:300px;width:320px;max-width:calc(100vw - 30px);padding:12px;background:#fff;border:1px solid #d7e2e8;border-radius:12px;box-shadow:0 12px 36px #25445825;display:grid;gap:4px;z-index:60}
.plate-menu-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:2px 4px 8px;border-bottom:1px solid #eef2f5;margin-bottom:4px}
.plate-menu-head b{font-size:13px;color:#26424e}
.plate-menu-head span{font-size:11px;color:#8a9aa4}
.plate-option{display:flex;align-items:flex-start;gap:8px;width:100%;text-align:left;padding:9px 10px;border:1px solid transparent;border-radius:9px;background:transparent;color:#334c58;cursor:pointer}
.plate-option:hover{background:#f4f8f7}
.plate-option.active{background:#eaf4f1;border-color:#bfdcd3}
.plate-check{width:15px;flex:none;color:#2f7c68;opacity:0;font-weight:700;line-height:1.3}
.plate-option.active .plate-check{opacity:1}
.plate-copy{display:flex;flex-direction:column;gap:2px;min-width:0}
.plate-copy b{font-size:13px}
.plate-copy small{font-size:11px;color:#7c8f99;line-height:1.45}
.plate-option.active .plate-copy b{color:#23604f}
.plate-menu-foot{display:grid;grid-template-columns:max-content 16px max-content;justify-content:start;align-items:center;gap:7px;padding:9px 4px 2px;margin-top:4px;border-top:1px solid #eef2f5;font-size:11px;color:#72858f}
.plate-menu-foot small{grid-column:1/-1;color:#95a4ac}
.plate-swatch{width:15px;height:15px;border-radius:4px;border:1px solid #d3dde3;background:#fff}
.plate-menu-foot code{font-size:11px;color:#46606b}





/* V64: cover page title and body case text alignment; no layout geometry changes. */
.om-cover-title{justify-content:center;text-align:center}
.mapped-field.heading{justify-content:center;text-align:center}
.mapped-field.body{text-align:left;vertical-align:top}

/* V67: image region is independent of original slide layout */
.image-placement-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
.image-placement-btn.free-grid-open{grid-column:1/-1;padding:11px;font-size:13px;background:#eff8f3;border:1px dashed #689c84;color:#28685e;cursor:pointer}
.image-placement-btn.free-grid-open.active{background:#28685e;color:#fff;border-style:solid}
.freeform-image-panel{position:absolute!important;display:block!important;z-index:12!important;box-sizing:border-box;box-shadow:0 5px 15px #143a3330;min-height:0!important;padding:2px!important}
.freeform-image-panel .image-placeholder{gap:2px;padding:2px}
.freeform-image-panel .image-placeholder .image-plus{height:25px;width:25px;font-size:16px}
.freeform-image-panel .image-placeholder strong{font-size:10px}
.freeform-image-panel .image-placeholder small{font-size:8px}
.freeform-image-panel .image-overlay-label{font-size:8px;left:2px;right:2px;bottom:2px;padding:2px}
.freeform-text-line{position:absolute;z-index:11;white-space:pre;overflow:hidden;overflow-wrap:normal;font-family:"Microsoft YaHei",sans-serif;line-height:1.18;box-sizing:border-box;padding:0;pointer-events:none}
.free-grid-modal{position:fixed;z-index:99999;inset:0;display:grid;place-items:center;padding:22px;background:rgba(12,37,34,.70);backdrop-filter:blur(4px)}
.free-grid-dialog{width:min(980px,96vw);max-height:96vh;overflow:auto;background:#fff;border-radius:16px;box-shadow:0 18px 58px #152b3160;padding:21px;display:flex;flex-direction:column;gap:15px}
.free-grid-dialog header{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.free-grid-dialog h3{font-size:20px;color:#203f36;margin:0 0 6px}
.free-grid-dialog p{font-size:12px;color:#678078;margin:0}
.free-grid-close{font-size:26px;border:0;background:transparent;cursor:pointer;color:#406154}
.free-grid-stage{background:#eff5f1;border:1px solid #dbe6dc;padding:15px;border-radius:12px}
.free-grid-board{touch-action:none;position:relative;aspect-ratio:16/9;max-width:900px;margin:auto;cursor:crosshair;background-color:#fafdfb;background-image:linear-gradient(to right,rgba(33,122,96,.3) 1px,transparent 1px),linear-gradient(to bottom,rgba(33,122,96,.3) 1px,transparent 1px);background-size:5% 8.333333%;border:2px solid #447864;border-radius:6px;user-select:none}
.free-grid-title-safe{pointer-events:none;position:absolute;top:0;left:0;right:0;height:21%;background:#dce9f97e;border-bottom:1px dashed #8aa8cb;display:flex;align-items:center;justify-content:center;color:#58738f;font-size:clamp(10px,1.5vw,14px)}
.free-grid-choice{pointer-events:none;position:absolute;border:3px solid #d34c5c;background:#e1586633;box-shadow:0 0 0 1px #fff,0 2px 14px #b9445870;border-radius:3px}
.free-grid-choice:after{content:'图片区域';position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);white-space:nowrap;color:#8e2936;background:#fffdfdcc;border-radius:5px;padding:3px 6px;font-size:11px;font-weight:bold}
.free-grid-foot{display:flex;align-items:center;justify-content:space-between;gap:15px;flex-wrap:wrap;color:#597468;font-size:12px}
.free-grid-foot>div{display:flex;gap:10px}
.free-grid-foot button{border:1px solid #b8d3c7;background:white;color:#386557;padding:10px 17px;border-radius:7px;cursor:pointer;font-size:13px}
.free-grid-foot button.free-grid-apply{background:#28685e;border-color:#28685e;color:#fff;font-weight:700}
@media(max-width:820px){.image-placement-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.free-grid-stage{padding:4px}.free-grid-dialog{padding:12px}.free-grid-dialog h3{font-size:16px}}

.free-grid-background{pointer-events:none;position:absolute;inset:0;background-size:100% 100%;background-position:center;background-repeat:no-repeat;opacity:.54;filter:saturate(.68)}

/* V68 exact half-page image cases */
.partial-case-canvas .partial-case-slot{z-index:9;padding:3px;background:#edf5fa;border-color:#a8c7df}
.partial-case-canvas .partial-case-slot .image-panel-inner{background:linear-gradient(125deg,#f9fcff,#e6f3ff)}

.case-card.case-partial .case-thumb{clip-path:none}

/* V70: case pack category tabs */
.case-group-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 11px;align-items:center}
.case-group-tab{border:1px solid #ccd9e2;background:#f7fafc;color:#385363;border-radius:9px;padding:7px 12px;font-size:13px;cursor:pointer}
.case-group-tab small{font-size:11px;color:inherit;opacity:.75;padding-left:5px}
.case-group-tab.active{background:#2d6875;color:white;border-color:#2d6875}

/* V73 · 插入图片2：最多8张，每张独立网格选区 */
.free-grid-dialog{width:min(1120px,97vw);gap:12px}
.free-grid-picker{display:grid;gap:8px;padding:12px 14px;background:#f6faf9;border:1px solid #dfece7;border-radius:11px}
.free-grid-control-title{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:13px;font-weight:700;color:#305b52}
.free-grid-control-title span{font-size:11px;font-weight:400;color:#627a75}
.free-grid-count-list,.free-grid-slot-list{display:flex;flex-wrap:wrap;gap:7px}
.free-grid-count-list button,.free-grid-slot-list button{cursor:pointer;flex:0 0 auto;border:1px solid #c9e0d6;border-radius:8px;background:#fff;color:#4f6d64;padding:8px 12px;font-size:12px;min-width:58px}
.free-grid-count-list button.active,.free-grid-slot-list button.active{background:#28685e;border-color:#28685e;color:#fff;box-shadow:0 2px 7px #28685e38}
.free-grid-slot-list button.unplaced:not(.active){border-style:dashed;color:#859b91}
.free-grid-slot-list button.placed:not(.active){color:#267d5b;background:#edf8f1;border-color:#9ed5b7}
.free-grid-layers{position:absolute;inset:0;pointer-events:none}
.free-grid-choice{pointer-events:none;position:absolute;border:2px solid var(--grid-slot-color,#28685e);background:color-mix(in srgb,var(--grid-slot-color,#28685e) 25%,transparent);box-shadow:0 1px 7px #23394240;display:flex;align-items:center;justify-content:center;z-index:3;border-radius:3px}
.free-grid-choice:after{content:attr(data-label);position:static;transform:none;max-width:90%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#164b42;background:#ffffffeb;border:1px solid var(--grid-slot-color,#28685e);border-radius:4px;padding:2px 4px;font-size:clamp(8px,1.1vw,12px);line-height:1.2}
.free-grid-choice.active{border-width:3px;box-shadow:0 0 0 2px white,0 0 0 5px var(--grid-slot-color,#28685e),0 4px 18px #1f3d3960;z-index:5}
.free-grid-foot button.free-grid-apply:disabled{opacity:.4;cursor:not-allowed}
.freeform-image-panel .image-placeholder.small-slot{font-size:clamp(9px,1.6cqw,18px);font-weight:700;display:grid;place-items:center;padding:0}
@media(max-width:680px){.free-grid-control-title{display:block;font-size:12px}.free-grid-control-title span{display:block;font-size:10px;margin-top:3px}.free-grid-picker{padding:9px}.free-grid-count-list button,.free-grid-slot-list button{padding:7px 9px;min-width:46px}.free-grid-foot{gap:9px}.free-grid-foot button{padding:8px}}


/* V88.0: keep the six top-toolbar menus opaque and above the live preview.
   V87.9 raised the shared body header above the toolbar, making the preview
   title appear to bleed through the dropdown panels. */
.studio-page .studio-toolbar{
  position:relative;
  z-index:100;
  isolation:isolate;
}
.studio-page .studio-toolbar details{
  position:relative;
}
.studio-page .studio-toolbar details[open]{
  z-index:110;
}
.studio-page .studio-toolbar .studio-menu{
  position:absolute;
  z-index:111;
  background:#fff !important;
  opacity:1 !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  border:1px solid #d7e2e8;
  box-shadow:0 12px 36px rgba(37,68,88,.145);
}
.studio-page .studio-toolbar .plate-menu{
  z-index:111;
  background:#fff !important;
  opacity:1 !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}

.wechat-account-card{display:flex;align-items:center;gap:13px;padding:14px;border:1px solid #e5eaf1;border-radius:13px;background:#f8fafc;margin-bottom:14px}.wechat-account-avatar{width:48px;height:48px;border-radius:50%;overflow:hidden;background:#e8efff;display:grid;place-items:center;color:#365fc4;font-weight:800}.wechat-account-avatar img{width:100%;height:100%;object-fit:cover}.wechat-account-info b,.wechat-account-info small{display:block}.wechat-account-info small{margin-top:4px;color:#718096;font-size:12px}
