html[data-stationery-nameplate]{--coffee:#285740;--latte:#b8d8c0;--line:#d3e0d3;--ink:#284b3a}
html[data-stationery-nameplate] #boot>.zm-art,html[data-stationery-nameplate] #boot>p{display:none}
html[data-stationery-nameplate] #boot{color:#285740}
html[data-stationery-nameplate] #boot:empty:before{content:'正在打开姓名牌…'}
html[data-stationery-nameplate] #upload-button,html[data-stationery-nameplate] #empty-upload,html[data-stationery-nameplate] #mine-button,html[data-stationery-nameplate] #mine,html[data-stationery-nameplate] #add-paperclip,html[data-stationery-nameplate] #open-opener,html[data-stationery-nameplate] #remove-opener,html[data-stationery-nameplate] #add-spring,html[data-stationery-nameplate] [data-add=clog],html[data-stationery-nameplate] [data-add=lace]{display:none!important}
html[data-stationery-nameplate] body .zl-editor[data-editor=xiaowanyi]{--zl-accent:#285740;--zl-accent-soft:#b8d8c0;--zl-ink:#284b3a;--zl-paper:#fbf6ea}
html[data-stationery-nameplate] body .zl-editor[data-editor=xiaowanyi] .zl-title,html[data-stationery-nameplate] body .zl-editor[data-editor=xiaowanyi] .zl-panel-title,html[data-stationery-nameplate] body .zl-editor[data-editor=xiaowanyi] .ze-history button,html[data-stationery-nameplate] body .zl-editor[data-editor=xiaowanyi] .ze-view-modes button{color:#285740}
html[data-stationery-nameplate] body .zl-editor[data-editor=xiaowanyi].ze-standard-surface .zl-tool[aria-selected=true],html[data-stationery-nameplate] body .zl-editor[data-editor=xiaowanyi] #download,html[data-stationery-nameplate] button.primary{background:#b8d8c0!important;color:#234934!important;border-color:#89ad95!important}
html[data-stationery-nameplate] body .zl-editor[data-editor=xiaowanyi] #flat-tab[aria-pressed=true],html[data-stationery-nameplate] body .zl-editor[data-editor=xiaowanyi] #model-tab[aria-pressed=true]{background:#285740!important;border-color:#285740!important;color:#fffaf3!important}
html[data-stationery-nameplate] button:hover{background:#e5eee4}
html[data-stationery-nameplate] button:focus-visible,html[data-stationery-nameplate] input:focus-visible,html[data-stationery-nameplate] select:focus-visible,html[data-stationery-nameplate] textarea:focus-visible{outline-color:#285740}
html[data-stationery-nameplate] #feature-list button[aria-pressed=true]{border-color:#285740;background:#e1eddf}
html[data-stationery-nameplate] .hint,html[data-stationery-nameplate] #dimensions,html[data-stationery-nameplate] #model-status,html[data-stationery-nameplate] #empty p{color:#526c59}

html[data-stationery-nameplate] #check-layout{background:#e1eddf;border-color:#9cbba2;color:#285740}
html[data-stationery-nameplate] body .zl-editor[data-editor=xiaowanyi] .ze-save-status>:is(p,span){color:#526c59}

html[data-stationery-nameplate] #boot>.stationery-boot-mark{display:block!important;object-fit:contain}

/* Composition editor inherits shared fonts, colors and motif library. */
.np-composer{width:min(960px,calc(100vw - 24px));color:#285740;border-color:#b8d8c0;padding:22px}
.np-composer .np-workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:24px}
.np-composer .np-controls,.np-composer .np-canvas-panel{min-width:0}
.np-composer label{display:block;margin:12px 0;font-size:14px}
.np-composer select{width:100%;margin-top:6px;min-height:44px;background:#fffdf8;border:1px solid #b6cdb9;border-radius:8px;color:#285740;padding:8px}
.np-composer textarea{color:#285740;border-color:#b6cdb9}
.np-composer .np-pair{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}
.np-composer .np-composition-preview{width:100%;height:280px;background:#f5f4e9;border-radius:16px;touch-action:none;display:block}
.np-composer [data-np-kind]{cursor:pointer}
.np-composer [data-np-kind]:focus{outline:none;stroke:#285740;stroke-width:.3}
.np-composer .np-selected-label{min-height:24px;margin:8px 0;color:#526c59}
.np-composer .np-actions,.np-composer .np-motif-list{display:flex;gap:8px;flex-wrap:wrap}
.np-composer button{min-height:44px}
.np-composer input[type=range]{width:100%;accent-color:#285740}
.np-composer .np-motif-details{border-top:1px solid #d3e0d3;padding-top:16px}
.np-composer summary{cursor:pointer;min-height:44px;font-weight:600}
.np-composer .np-motif-picker .motif-grid{max-height:240px;overflow:auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.np-composer .motif-card{padding:8px 4px;display:flex;flex-direction:column;align-items:center;min-width:0;font-size:12px}
.np-composer .motif-card img{width:44px;height:44px}
.np-composer .motif-card span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.np-composer .motif-categories{display:flex;gap:6px;overflow:auto;margin:10px 0}
.np-composer .motif-categories button{white-space:nowrap;flex-shrink:0}
.np-composer .motif-search{width:100%;box-sizing:border-box;min-height:44px;margin-top:10px}
.np-composer footer{border-top:1px solid #d3e0d3;margin-top:18px;padding-top:8px}
.np-composer [aria-pressed=true]{border-color:#285740}
#nameplate-add-logo{width:100%;margin-top:10px;background:#e2eee1}
@media(max-width:650px){.np-composer{padding:16px}.np-composer .np-workspace{grid-template-columns:minmax(0,1fr);gap:16px}.np-composer .np-composition-preview{height:230px}.np-composer .np-canvas-panel{grid-row:1}.np-composer h2{font-size:24px}.np-composer .nameplate-colors{max-height:260px;overflow:auto}.np-composer fieldset{flex-wrap:wrap}}
.np-composer footer{position:sticky;bottom:-22px;background:#fffaf3;z-index:2;padding:8px 0 16px}.np-composer footer p{margin:4px 0}.np-composer [data-apply]{margin-top:4px}
@media(max-width:650px){.np-composer footer{bottom:-16px}}
@media(max-width:650px){
 .np-composer .np-controls,.np-composer .np-canvas-panel{display:contents}
 .np-composer .np-controls>label:first-child{grid-row:1;margin-top:0}
 .np-composer .np-composition-preview{grid-row:2}
 .np-composer .np-controls>label:nth-child(2){grid-row:3}
 .np-composer .np-controls>.np-pair{grid-row:4}
 .np-composer .np-controls>fieldset{grid-row:5}
 .np-composer .np-selected-label{grid-row:6}
 .np-composer .np-placement{grid-row:7}
 .np-composer .nameplate-colors{grid-row:8;max-height:none;overflow:visible}
 .np-composer .np-motif-details{grid-row:9}
 .np-composer .np-motif-list{grid-row:10}
}

/* Nameplate patterns are a first-class tool in the existing editor shell. */
#nameplate-pattern-panel .ze-add-content{width:100%;background:#e2eee1}
#nameplate-pattern-panel .motif-search{width:100%;box-sizing:border-box;min-height:44px;margin-top:12px}
#nameplate-pattern-panel .motif-categories{display:flex;gap:6px;overflow:auto;margin:12px 0}
#nameplate-pattern-panel .motif-categories button{white-space:nowrap;flex-shrink:0;min-height:40px}
#nameplate-pattern-panel .motif-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
#nameplate-pattern-panel .motif-card{display:flex;flex-direction:column;align-items:center;gap:6px;min-width:0;padding:10px 3px;font-size:12px}
#nameplate-pattern-panel .motif-card img{width:48px;height:48px;object-fit:contain}
#nameplate-pattern-panel .motif-card span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.np-current-patterns h3{font-size:14px;margin:16px 0 8px}
.np-current-list{display:grid;gap:8px;margin-bottom:20px}
.np-current-list button{display:grid;grid-template-columns:40px minmax(0,1fr);gap:2px 10px;text-align:left;align-items:center;padding:8px}
.np-current-list img{width:40px;height:40px;object-fit:contain;grid-row:span 2}
.np-current-list span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.np-current-list small{font-size:11px;color:#526c59}
@media(max-width:650px){
 .np-pattern-edit .np-composition-preview{grid-row:1}
 .np-pattern-edit .np-selected-label{grid-row:2}
 .np-pattern-edit .np-placement{grid-row:3}
 .np-pattern-edit .nameplate-colors{grid-row:4}
 .np-pattern-edit .np-controls>label:first-child{grid-row:5}
 .np-pattern-edit .np-controls>label:nth-child(2){grid-row:6}
 .np-pattern-edit .np-controls>.np-pair{grid-row:7}
 .np-pattern-edit .np-controls>fieldset{grid-row:8}
}

#nameplate-style-panel .np-template-grid{display:grid;grid-template-columns:1fr;gap:14px}
.np-template-card{display:flex;flex-direction:column;padding:0 0 12px!important;overflow:hidden;text-align:left;gap:5px;background:#fffdf8!important;border:1px solid #c6d6c5!important;border-radius:14px!important;color:#285740!important}
.np-template-card img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;display:block;background:#eee8dd}
.np-template-card strong,.np-template-card span{margin:0 12px}
.np-template-card strong{font-size:17px}.np-template-card span{font-size:12px;color:#526c59}
.np-template-card[aria-pressed=true]{outline:2px solid #285740;outline-offset:-2px}
.np-template-note{font-size:11px;color:#708474;margin-top:16px}
.np-backing-controls{border-top:1px solid #d3e0d3;margin-top:16px;padding-top:4px}
.np-backing-controls input[type=number]{width:100%;box-sizing:border-box;min-height:44px;border:1px solid #b6cdb9;border-radius:8px;padding:8px;background:#fffdf8;color:#285740;margin-top:6px}
.np-composer .np-canvas-panel{position:sticky;top:0;align-self:start}
.np-composer .np-composition-preview:focus-visible{outline:2px solid #285740}
@media(max-width:650px){
 #nameplate-style-panel .np-template-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .np-template-card strong{font-size:14px}.np-template-card span{font-size:11px}
 .np-composer .np-backing-controls{grid-row:6}
 .np-composer .np-selected-label{grid-row:7}.np-composer .np-placement{grid-row:8}
 .np-composer .nameplate-colors{grid-row:9}.np-composer .np-motif-details{grid-row:10}.np-composer .np-motif-list{grid-row:11}
 .np-pattern-edit .np-selected-label{grid-row:2}.np-pattern-edit .np-placement{grid-row:3}.np-pattern-edit .nameplate-colors{grid-row:4}
 .np-pattern-edit .np-backing-controls{grid-row:9}
 html[data-stationery-nameplate] .zl-tool{min-width:0}
}

.np-style-chooser{width:min(1000px,calc(100vw - 32px));max-height:90dvh;box-sizing:border-box;overflow:auto;border:1px solid #b8d8c0;border-radius:22px;padding:24px;background:#fffaf3;color:#285740}
.np-style-chooser::backdrop{background:#203e3066;backdrop-filter:blur(3px)}
.np-style-chooser header{display:flex;align-items:start;justify-content:space-between;gap:16px;margin-bottom:18px}
.np-style-chooser h2{margin:0;font-size:28px}.np-style-chooser header p{margin:8px 0 0;color:#526c59}
.np-style-chooser header button{min-height:44px;flex-shrink:0}
.np-style-chooser #nameplate-style-panel>.hint{display:none}
.np-style-chooser #nameplate-style-panel .np-template-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:650px){.np-style-chooser{padding:16px;width:calc(100vw - 20px)}.np-style-chooser h2{font-size:23px}.np-style-chooser #nameplate-style-panel .np-template-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.np-style-chooser header p{font-size:13px}}

#np-edit-backing{width:100%;margin-bottom:14px;background:#e2eee1}
.np-style-chooser #np-edit-backing{display:none}
.np-extension{line-height:1.7}.np-extension input{width:auto;margin-right:6px}
.np-placement .hint{font-size:12px;line-height:1.5;margin-top:0}
html[data-stationery-nameplate] #settings-panel{margin-top:20px}
.np-batch-dialog{width:min(900px,calc(100vw - 24px));max-height:90dvh;box-sizing:border-box;overflow:auto;background:#fffaf3;color:#285740;border:1px solid #b8d8c0;border-radius:20px;padding:22px}
.np-batch-dialog::backdrop{background:#203e3066}
.np-batch-dialog header{display:flex;justify-content:space-between;align-items:center;gap:16px}.np-batch-dialog h2{margin:0;font-size:26px}
.np-batch-dialog textarea{box-sizing:border-box;width:100%;min-height:140px;margin:12px 0;padding:12px;border:1px solid #b8d8c0;border-radius:12px;color:#285740;background:#fffdf8;font:inherit}
.np-batch-dialog button{min-height:44px}.np-batch-actions{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0}
.np-batch-results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.np-batch-item{border:1px solid #d3e0d3;border-radius:12px;padding:10px;min-width:0}.np-batch-item img{display:block;width:100%;aspect-ratio:3/2;object-fit:contain}.np-batch-item strong{display:block;overflow-wrap:anywhere}.np-batch-item p{font-size:12px;line-height:1.5}
@media(max-width:650px){.np-batch-dialog{padding:16px}.np-batch-dialog h2{font-size:22px}.np-batch-results{grid-template-columns:repeat(2,minmax(0,1fr))}}
.np-batch-dialog>label{display:block;margin-top:20px}.np-batch-dialog>p{line-height:1.7}

/* Templates ask only for the name and font; editing tools stay in the main editor. */
.np-template-setup{width:min(800px,calc(100vw - 24px))}
.np-template-setup .np-controls>.np-pair,.np-template-setup .np-controls>fieldset,.np-template-setup .np-backing-controls,.np-template-setup .nameplate-colors,
.np-template-setup .np-placement>label,.np-template-setup .np-placement>.hint,.np-template-setup .np-placement>.np-pair,.np-template-setup [data-center]{display:none!important}
.np-template-setup:not(.np-setup-motifs) .np-motif-details,.np-template-setup:not(.np-setup-motifs) .np-motif-list,.np-template-setup:not(.np-setup-motifs) .np-selected-label,.np-template-setup:not(.np-setup-motifs) .np-placement{display:none!important}
.np-template-setup .np-composition-preview{height:240px}
.np-template-setup:not(.np-setup-motifs) [data-np-kind]{cursor:default}
.np-template-setup .np-canvas-panel{position:static}
@media(max-width:650px){
 .np-template-setup .np-workspace{gap:12px}
 .np-template-setup .np-controls>label:first-child{grid-row:1}
 .np-template-setup .np-controls>label:nth-child(2){grid-row:2}
 .np-template-setup .np-composition-preview{grid-row:3;height:190px}
 .np-template-setup .np-selected-label{grid-row:4}
 .np-template-setup .np-placement{grid-row:5}
 .np-template-setup .np-motif-details{grid-row:6}
 .np-template-setup .np-motif-list{grid-row:7}
}

/* Advanced composition stays out of the template name/font step. */
.np-template-setup .np-detail-controls{display:none!important}
.np-detail-controls{border-top:1px solid #cbd4c7;padding:12px 0}
.np-detail-controls>summary{font-weight:700;cursor:pointer;min-height:36px}
.np-detail-controls .hint{font-size:12px;line-height:1.6}
.np-detail-controls [hidden]{display:none!important}
.np-detail-controls>label{display:grid;gap:6px;margin:10px 0}
.np-detail-controls .np-pair{margin:10px 0}
.np-detail-controls input{width:100%;min-height:42px}

.np-template-setup .np-body-choice{display:none!important}
.np-body-choice{display:grid;gap:6px;margin:10px 0}
.np-detail-controls>label{display:grid;gap:6px;margin:10px 0}
.np-composer [hidden]{display:none!important}
/* One shared selection language for text blocks and motifs. */
.np-composer .np-add-content{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.np-composer .np-add-content button{flex:1;min-height:44px}
.np-composer .np-placement[hidden]{display:none!important}
.np-composer [data-np-kind],html[data-stationery-nameplate] [data-nameplate-region]{cursor:move}
#np-text-list{display:grid;gap:8px;margin:12px 0}
#np-text-list button{text-align:left;overflow-wrap:anywhere;min-height:44px}
#np-text-list [aria-pressed=true],.np-current-list [aria-pressed=true]{outline:2px solid #285740;outline-offset:-2px}
html[data-stationery-nameplate] #drawing:focus-visible{outline:2px solid #285740;outline-offset:-3px}
@media(max-width:650px){.np-composer:not(.np-template-setup) .np-workspace{display:flex;flex-direction:column}.np-composer:not(.np-template-setup) .np-canvas-panel{display:flex;flex-direction:column;order:0;position:static;width:100%}.np-composer:not(.np-template-setup) .np-controls{display:block;order:1}.np-composer:not(.np-template-setup) .np-composition-preview{height:260px}.np-composer .np-add-content{order:-1}}

/* Templates choose a complete starting style; carriers have one dedicated panel. */
.np-composer .np-body-choice,.np-composer .np-layer-choice,.np-composer .np-backing-controls{display:none!important}
#nameplate-backing-panel>label,#nameplate-backing-panel [data-plate-controls]>label{display:grid;gap:7px;margin:14px 0}
#nameplate-backing-panel select,#nameplate-backing-panel input[type=number]{width:100%;min-height:44px;border:1px solid #bdcdbf;border-radius:9px;padding:9px;background:#fffdf7;color:#285740;font:inherit;box-sizing:border-box}
#nameplate-backing-panel details{border:1px solid #d3dfd1;border-radius:10px;padding:12px;margin:14px 0}#nameplate-backing-panel summary{cursor:pointer;min-height:28px;font-weight:600}
#nameplate-backing-panel figure{margin:12px 0;display:flex;align-items:center;gap:10px}#nameplate-backing-panel figure[hidden]{display:none}#nameplate-backing-panel figure img{width:64px;height:64px;object-fit:contain;border-radius:8px;background:white}#nameplate-backing-panel figcaption{overflow-wrap:anywhere;font-size:13px}
#nameplate-backing-panel [data-status]{font-size:13px;color:#507b64}#nameplate-backing-panel .editor-color-targets button[hidden]{display:none}

/* Stationery: one location for each capability. Shape previews depict geometry. */
#nameplate-backing-panel .np-shape-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:16px 0}
#nameplate-backing-panel .np-shape-grid button{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;min-width:0;min-height:92px;padding:12px 6px;border:1px solid #cbd6cf;border-radius:12px;background:#fffdf7;color:#294d42;font:inherit;font-size:14px}
#nameplate-backing-panel .np-shape-grid button[aria-pressed=true]{border:2px solid #548370;background:#edf3e9;padding:11px 5px}
#nameplate-backing-panel .np-shape-grid svg{width:56px;height:48px;fill:#dce8d6;stroke:#548370;stroke-width:2;stroke-linejoin:round;fill-rule:evenodd}
#nameplate-backing-panel [data-shape=contour]{grid-column:1/-1;flex-direction:row;min-height:68px}
#nameplate-backing-panel [data-shape=custom],#nameplate-backing-panel [data-shape=none]{min-height:52px}
#nameplate-backing-panel [data-shape][hidden],.np-context-options[hidden],.np-settings-group [hidden],.np-color-controls [hidden]{display:none!important}
.np-context-options{padding:16px 0;margin-top:12px;border-top:1px solid #d7dfd6}
.np-context-options h3,.np-settings-group h3{font-size:16px;margin:0 0 12px}
.np-context-options label,.np-settings-group label,.np-color-controls label{display:grid;gap:8px;margin:14px 0;font-size:14px}
.np-context-options input,.np-settings-group input,.np-settings-group select,.np-color-controls select{width:100%;min-width:0;min-height:42px;border:1px solid #cbd6cf;border-radius:8px;background:#fffdf7;color:inherit;font:inherit;padding:8px}
.np-context-options>button{width:100%;min-height:42px}
.np-settings-group{border-top:1px solid #d7dfd6;margin-top:18px;padding-top:18px}
.np-settings-group details{border-bottom:1px solid #d7dfd6;padding:12px 0}
.np-settings-group summary{font-weight:600;cursor:pointer;min-height:30px}
.np-color-controls{margin-bottom:16px}
.np-organized .np-controls>.np-pair,.np-organized .np-detail-controls,.np-organized .nameplate-colors{display:none!important}
