@font-face{font-family:"OC Bodoni Moda";src:url("./fonts/BodoniModa-Latin.woff2") format("woff2");font-style:normal;font-weight:400 900;font-display:swap}
:root{
  color-scheme:light;
  --app-accent:#806862;--app-accent-dark:#403735;--app-accent-soft:#e8ddda;
  --app-bg:#e7e3e0;--app-paper:#f7f4f1;--app-panel:#f1ece8;--app-ink:#302b29;--app-muted:#756b67;--app-line:#cec5c0;
  --danger:#944b45;--mobile-preview-height:40%;
  --sans:"OC Noto Sans SC","Noto Sans SC","PingFang SC","Microsoft YaHei",system-ui,sans-serif;
  --serif:"OC Noto Serif SC","Noto Serif SC","Songti SC",serif;
  --mono:"SFMono-Regular",Consolas,"Liberation Mono","OC Noto Sans SC","Noto Sans SC",monospace
}
*{box-sizing:border-box}html,body{margin:0;min-height:100%}html{background:var(--app-bg)}body{min-width:320px;overflow:hidden;color:var(--app-ink);background:var(--app-bg);font-family:var(--sans)}
button,input,select,textarea{color:inherit;font:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.4}[hidden]{display:none!important}
.topbar{position:relative;z-index:50;height:76px;display:flex;align-items:center;gap:18px;padding:0 16px;border-bottom:1px solid var(--app-line);background:#fbf9f6;box-shadow:0 3px 14px rgba(55,42,38,.05)}
.brand{flex:none;display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none}.brand-mark{width:46px;height:46px;display:grid;place-items:center;color:#fff;background:var(--app-accent);border-radius:3px 13px;box-shadow:5px 5px 0 #d5c0ba;font:700 24px/1 var(--serif)}
.brand b,.brand small{display:block}.brand b{font:700 19px/1.15 var(--serif)}.brand small{margin-top:5px;color:var(--app-accent);font:800 8px/1 var(--mono);letter-spacing:.14em}
.project-field{width:min(330px,28vw);display:flex;align-items:center;gap:9px}.project-field span{color:var(--app-muted);font-size:11px;font-weight:800}.project-field input{width:100%;min-height:42px;padding:0 12px;border:1px solid var(--app-line);border-radius:5px;outline:0;background:#fff}
.top-actions{margin-left:auto;display:flex;gap:7px}.button,.small-button{min-height:38px;padding:0 13px;border:1px solid var(--app-line);border-radius:5px;background:#fff;font-size:11px;font-weight:800}.button:hover,.small-button:hover{border-color:var(--app-accent);color:var(--app-accent-dark)}.button.primary{color:#fff;border-color:var(--app-accent);background:var(--app-accent);box-shadow:0 5px 14px rgba(128,104,98,.18)}
.small-button{min-height:31px;padding-inline:9px;font-size:10px}.text-button{min-height:30px;padding:0 7px;border:0;color:var(--app-accent-dark);background:transparent;font-size:10px;font-weight:800}.block-button{width:100%;margin-top:10px}.mobile-label,.mobile-main-tabs,.mobile-resizer{display:none}
.workspace{height:calc(100vh - 76px);display:grid;grid-template-columns:340px minmax(430px,1fr) 320px;overflow:hidden}.editor-panel{min-width:0;min-height:0;display:flex;flex-direction:column;background:var(--app-panel)}.content-panel{border-right:1px solid var(--app-line)}.style-panel{border-left:1px solid var(--app-line)}
.panel-heading{flex:none;min-height:80px;display:flex;align-items:center;gap:14px;padding:14px 16px;border-bottom:1px solid var(--app-line);background:rgba(255,255,255,.72)}.panel-heading>span{color:var(--app-accent);font:800 10px/1 var(--mono)}.panel-heading h1{margin:0;font:700 18px/1.2 var(--serif)}.panel-heading p{margin:5px 0 0;color:var(--app-muted);font-size:10px}.panel-scroll{flex:1;min-height:0;padding:14px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
.editor-card{margin-bottom:13px;padding:15px;border:1px solid var(--app-line);border-radius:7px;background:rgba(255,255,255,.88);box-shadow:0 5px 15px rgba(65,45,39,.03)}.card-title{min-height:36px;margin-bottom:12px;display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.card-title h2{margin:0;font:700 16px/1.25 var(--serif)}.card-title p{margin:4px 0 0;color:var(--app-muted);font-size:10px;line-height:1.45}.card-title>span{color:var(--app-accent);font:800 8px/1 var(--mono);letter-spacing:.13em}
.field,.range-field{display:block;margin-top:10px}.field>span,.range-field>span{min-height:18px;display:flex;justify-content:space-between;color:#5e504c;font-size:10px;font-weight:800}.field input,.field select,.field textarea,.page-add-row select{width:100%;min-height:39px;padding:9px 10px;border:1px solid var(--app-line);border-radius:4px;outline:0;background:#fff;font-size:12px}.field textarea{resize:vertical;line-height:1.55}.field :is(input,select,textarea):focus,.project-field input:focus{border-color:var(--app-accent);box-shadow:0 0 0 3px rgba(128,104,98,.09)}.field-grid{display:grid;gap:0 10px}.field-grid.two{grid-template-columns:1fr 1fr}.range-field input{width:100%;accent-color:var(--app-accent)}.range-field output{color:var(--app-accent);font:800 10px/1 var(--mono)}
.check-grid{margin-top:12px;display:grid;grid-template-columns:1fr 1fr;gap:8px}.check-grid label{min-height:36px;display:flex;align-items:center;gap:6px;padding:7px;border:1px solid var(--app-line);border-radius:4px;background:#fff;font-size:10px;font-weight:700}.check-grid label:last-child:nth-child(odd){grid-column:1/-1}.check-grid input{accent-color:var(--app-accent)}
.page-add-row{display:grid;grid-template-columns:1fr auto;gap:7px}.page-list,.collection-list,.sticker-list{margin-top:10px;display:grid;gap:7px}.page-row,.collection-row,.sticker-row{min-width:0;display:grid;align-items:center;gap:7px;padding:8px;border:1px solid var(--app-line);border-radius:5px;background:#fff}.page-row{grid-template-columns:22px 29px minmax(0,1fr);grid-template-rows:auto auto}.page-row>.page-drag-handle{grid-column:1;grid-row:1/3;align-self:center}.page-row>.page-index{grid-column:2;grid-row:1}.page-row>.row-copy{grid-column:3;grid-row:1}.page-row>.row-actions{grid-column:2/4;grid-row:2;justify-content:flex-end;padding-top:6px;border-top:1px solid var(--app-line)}.collection-row,.sticker-row{grid-template-columns:minmax(0,1fr) auto}.page-row.active,.collection-row.active,.sticker-row.active{border-color:var(--app-accent);background:#faf4f1;box-shadow:inset 3px 0 var(--app-accent)}.page-index{width:29px;height:29px;display:grid;place-items:center;color:#fff;background:var(--app-accent);font:800 9px/1 var(--mono)}.row-copy{min-width:0;cursor:pointer}.row-copy b,.row-copy small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row-copy b{font-size:11px}.row-copy small{margin-top:4px;color:var(--app-muted);font:700 8px/1 var(--mono)}.row-actions{display:flex;gap:3px}.row-actions button{width:26px;height:26px;padding:0;border:1px solid var(--app-line);background:#fff;font-size:10px;font-weight:800}.row-actions button.danger{color:var(--danger)}.page-row.is-hidden{border-style:dashed;background:#f1eeec}.page-row.is-hidden .page-index{color:var(--app-muted);background:#d9d2cf}.row-actions .visibility-toggle.is-off{color:#fff;border-color:var(--app-muted);background:var(--app-muted)}.page-drag-handle{width:22px;height:32px;padding:0;border:0;color:var(--app-muted);background:transparent;font:800 17px/1 var(--sans);cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none}.page-drag-handle:active{cursor:grabbing}.page-row.is-dragging{position:relative;z-index:4;opacity:.68;border-color:var(--app-accent);box-shadow:0 8px 20px rgba(65,45,39,.14)}body.page-sorting{user-select:none;-webkit-user-select:none}
.collection-editor{margin-top:12px;padding-top:4px;border-top:1px solid var(--app-line)}.page-background-editor{margin-top:14px;padding-top:13px;border-top:1px solid var(--app-line)}.background-editor-title{display:flex;align-items:center;justify-content:space-between;gap:10px}.background-editor-title b{font:700 14px/1.25 var(--serif)}.background-editor-title span{color:var(--app-accent);font:800 9px/1 var(--mono);letter-spacing:.12em}.background-preview{width:50px;height:70px;border-style:solid;font-size:12px}.page-background-editor .range-field{align-self:end}.page-background-editor .help-copy{margin-bottom:0}.upload-line{margin-top:10px;display:flex;align-items:center;gap:10px}.upload-preview{flex:none;width:66px;height:66px;display:grid;place-items:center;overflow:hidden;border:1px dashed #bca9a3;border-radius:5px;color:var(--app-accent);background:#f3e9e5;font:700 20px/1 var(--serif)}.upload-preview img{width:100%;height:100%;object-fit:cover}.upload-preview img.is-uncropped{object-fit:contain;background:#d8cfcb}.upload-actions{display:flex;flex-wrap:wrap;gap:6px}.upload-actions button,.upload-actions label{min-height:31px}.file-button{position:relative;display:inline-grid;place-items:center;overflow:hidden}.file-button input{position:absolute;inset:0;opacity:0;cursor:pointer}
.layout-switch{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.layout-switch button{min-height:42px;border:1px solid var(--app-line);background:#fff;font-size:11px;font-weight:800}.layout-switch button.active{color:#fff;border-color:var(--app-accent);background:var(--app-accent)}.collection-slots{margin-top:10px;display:grid;gap:7px}.collection-slot-select{display:grid;grid-template-columns:24px 1fr;align-items:center;gap:7px}.collection-slot-select span{color:var(--app-accent);font:800 9px/1 var(--mono)}.collection-slot-select select{width:100%;min-height:38px;border:1px solid var(--app-line);background:#fff;font-size:11px}
.template-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.template-button{width:100%;min-width:0;min-height:104px;padding:8px;display:grid;grid-template-columns:34px minmax(0,1fr);grid-template-rows:1fr 1fr;gap:4px 8px;align-items:center;overflow:hidden;text-align:left;border:1px solid var(--app-line);border-radius:5px;background:#fff}.template-button.active{border-color:var(--app-accent);box-shadow:inset 0 0 0 1px var(--app-accent)}.template-button i{grid-row:1/3;width:34px;height:60px;border:1px solid rgba(0,0,0,.2)}.template-button b,.template-button small{min-width:0;max-width:100%;overflow-wrap:anywhere;word-break:break-word}.template-button b{align-self:end;font-size:10px;line-height:1.35}.template-button small{align-self:start;color:var(--app-muted);font:700 7px/1.25 var(--mono)}.swatch-modern{background:linear-gradient(155deg,#e9e8e1 0 48%,#425a55 49% 67%,#c9b790 68%)}.swatch-classical{background:linear-gradient(155deg,#efe4cc 0 48%,#713f3a 49% 67%,#3e3028 68%)}.swatch-archive{background:linear-gradient(155deg,#ded4c2 0 48%,#26231f 49% 67%,#93483d 68%)}.swatch-editorial{background:linear-gradient(155deg,#efedea 0 55%,#8b7f85 56% 69%,#5e4d5b 70%)}
.color-grid,.export-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.color-field{min-height:49px;display:flex;align-items:center;justify-content:space-between;padding:8px;border:1px solid var(--app-line);background:#fff;font-size:10px;font-weight:800}.color-field input{width:31px;height:31px;padding:2px;border:1px solid var(--app-line)}.export-grid{margin-top:12px;column-gap:8px;row-gap:10px}.export-grid .button{width:100%;min-width:0;padding-inline:8px;white-space:nowrap}.export-grid .wide{grid-column:1/-1}.help-copy,.empty-note{margin:11px 0 0;color:var(--app-muted);font-size:10px;line-height:1.6}.help-copy.density-warning{padding:8px;border-left:3px solid var(--danger);color:var(--danger);background:#fff4f0;font-weight:800}.sticker-add-actions{display:flex;gap:7px}.sticker-add-actions>*{flex:1}
.align-buttons{margin:10px 0;display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.align-buttons button{min-height:34px;border:1px solid var(--app-line);background:#fff;font-size:10px;font-weight:800}.align-buttons button.active{color:#fff;border-color:var(--app-accent);background:var(--app-accent)}.sticker-controls-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 8px}.layer-buttons{margin-top:10px;display:grid;grid-template-columns:1fr 1fr;gap:6px}
.preview-panel{min-width:0;min-height:0;display:flex;flex-direction:column;background:#d8d4d1}.preview-toolbar{flex:none;min-height:55px;display:flex;align-items:center;justify-content:space-between;padding:9px 11px;border-bottom:1px solid var(--app-line);background:#fff}.preview-toolbar>div{display:flex;align-items:center;gap:7px}.preview-toolbar strong{font-size:10px}.preview-toolbar output{color:var(--app-muted);font:700 9px/1 var(--mono)}.preview-dot{width:8px;height:8px;margin-right:26px;border-radius:50%;background:var(--app-accent);box-shadow:13px 0 #a89169,26px 0 #78877c}.preview-actions button{min-height:31px;padding:0 8px;border:1px solid var(--app-line);background:#fff;font-size:8px;font-weight:800}.preview-viewport{flex:1;min-height:0;padding:28px;overflow:auto;overscroll-behavior:contain}.preview-stage{position:relative;margin:0 auto;transform-origin:top left}.booklet-strip{position:relative;display:flex;align-items:flex-start;width:max-content;box-shadow:0 24px 70px rgba(46,36,32,.2)}.booklet-strip.show-guides .booklet-page:not(:last-child):after{content:"";position:absolute;z-index:30;right:-1px;top:0;bottom:0;border-right:2px dashed rgba(120,80,67,.4);pointer-events:none}
.booklet-page{
  --page-paper:#eeeae0;--page-ink:#232827;--page-accent:#49625b;--page-accent-2:#c4b38d;--page-line:#a9ada4;--page-muted:#6d726d;--page-scale:1;
  position:relative;flex:none;width:396px;height:840px;overflow:hidden;color:var(--page-ink);background:var(--page-paper);border:1px solid var(--page-line);font-family:var(--sans);font-size:calc(14px * var(--page-scale));isolation:isolate
}.page-background{position:absolute;z-index:0;inset:0;overflow:hidden;pointer-events:none}.page-background img{width:100%;height:100%;display:block}.booklet-page:before{z-index:1!important}.booklet-page.is-selected{outline:3px solid var(--app-accent);outline-offset:3px}.booklet-page.is-exporting{outline:0!important;box-shadow:none!important}.booklet-page.is-exporting .sticker-handle{display:none!important}.booklet-page.is-exporting .canvas-sticker{outline:0!important}.page-shell{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;padding:28px 26px 23px}.page-running{flex:none;min-height:28px;display:flex;justify-content:space-between;gap:12px;color:var(--page-muted);font:700 .7em/1 var(--mono);letter-spacing:.08em}.page-main{flex:1;min-height:0}.page-footer{flex:none;min-height:24px;display:flex;align-items:flex-end;justify-content:space-between;gap:10px;border-top:1px solid var(--page-line);color:var(--page-muted);font:700 .65em/1 var(--mono);letter-spacing:.05em}.page-footer span{padding-top:10px}.overflow-badge{position:absolute;z-index:80;left:50%;bottom:8px;transform:translateX(-50%);padding:6px 9px;color:#fff;background:#9a433d;font:800 9px/1 var(--sans);white-space:nowrap;box-shadow:0 2px 8px rgba(0,0,0,.18)}.booklet-page.is-exporting .overflow-badge{display:none}.fiction-mark{position:absolute;z-index:1;right:7px;top:50%;transform:rotate(90deg) translateX(50%);transform-origin:right top;color:var(--page-line);font:700 .6em/1 var(--mono);letter-spacing:.16em;pointer-events:none}
.cover-layout,.intro-layout,.section-layout,.feature-layout,.back-layout{height:100%}.cover-layout{display:flex;flex-direction:column}.cover-image{height:49%;display:grid;place-items:center;overflow:hidden;background:color-mix(in srgb,var(--page-accent) 12%,var(--page-paper));color:var(--page-accent);font:700 4em/1 var(--serif)}.cover-image img,.page-image img,.object-image img{width:100%;height:100%;object-fit:cover}.cover-image img.is-uncropped,.page-image img.is-uncropped,.object-image img.is-uncropped{object-fit:contain!important;background:color-mix(in srgb,var(--page-line) 35%,var(--page-paper))}.cover-copy{flex:1;padding-top:25px}.cover-kicker,.page-kicker{display:block;color:var(--page-accent);font:800 .72em/1 var(--mono);letter-spacing:.15em}.cover-copy h1{margin:12px 0 8px;font:700 2.15em/1.05 var(--serif);overflow-wrap:anywhere}.cover-copy p{margin:0;color:var(--page-muted);font:600 .9em/1.5 var(--serif)}.cover-meta{margin-top:auto;display:flex;justify-content:space-between;gap:12px;color:var(--page-muted);font:700 .68em/1.4 var(--mono)}
.intro-layout,.feature-layout{display:grid;grid-template-rows:auto minmax(0,1fr);gap:22px}.page-heading h1{margin:9px 0 0;font:700 1.8em/1.1 var(--serif)}.page-heading p{margin:9px 0 0;color:var(--page-muted);font:.88em/1.5 var(--serif)}.intro-body{min-height:0;display:grid;grid-template-rows:210px minmax(0,1fr);gap:18px}.page-image{display:grid;place-items:center;overflow:hidden;background:color-mix(in srgb,var(--page-accent) 10%,var(--page-paper));color:var(--page-accent);font:700 3em/1 var(--serif)}.prose{margin:0;white-space:pre-wrap;color:var(--page-ink);font:1em/1.75 var(--serif);overflow-wrap:anywhere}.quote{margin:18px 0 0;padding:13px 0;border-block:1px solid var(--page-line);color:var(--page-accent);font:700 1.05em/1.6 var(--serif)}
.contents-layout{height:100%;display:flex;flex-direction:column}.contents-list{margin-top:25px;display:grid;gap:0;border-top:1px solid var(--page-line)}.contents-row{min-height:47px;display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:10px;border-bottom:1px solid var(--page-line)}.contents-row b{font:700 .95em/1.3 var(--serif)}.contents-row span{color:var(--page-muted);font:.7em/1 var(--mono)}
.section-layout{display:flex;flex-direction:column;justify-content:center}.section-number{color:var(--page-accent);font:800 5em/.85 var(--mono)}.section-layout h1{margin:20px 0 0;font:700 2.3em/1.08 var(--serif)}.section-layout p{margin:18px 0 0;color:var(--page-muted);font:1em/1.7 var(--serif)}
.collection-layout{height:100%;display:flex;flex-direction:column}.collection-heading{flex:none;display:flex;align-items:end;justify-content:space-between;gap:12px;padding-bottom:13px;border-bottom:1px solid var(--page-line)}.collection-heading h1{margin:6px 0 0;font:700 1.55em/1.1 var(--serif)}.collection-heading span{color:var(--page-muted);font:.7em/1 var(--mono)}.collection-grid{flex:1;min-height:0;display:grid;gap:14px;padding-top:16px}.collection-grid[data-density="single"]{grid-template-columns:1fr}.collection-grid[data-density="double"]{grid-template-rows:repeat(2,minmax(0,1fr))}.collection-grid[data-density="triple"]{grid-template-rows:repeat(3,minmax(0,1fr));gap:10px}.object-card{min-width:0;min-height:0;overflow:hidden;border:1px solid var(--page-line);background:color-mix(in srgb,var(--page-paper) 92%,white)}.collection-grid[data-density="single"] .object-card{display:grid;grid-template-rows:330px minmax(0,1fr)}.collection-grid[data-density="double"] .object-card,.collection-grid[data-density="triple"] .object-card{display:grid;grid-template-columns:112px minmax(0,1fr)}.collection-grid[data-density="triple"] .object-card{grid-template-columns:94px minmax(0,1fr)}.object-image{display:grid;place-items:center;overflow:hidden;color:var(--page-accent);background:color-mix(in srgb,var(--page-accent) 12%,var(--page-paper));font:700 2.2em/1 var(--serif)}.object-copy{min-width:0;padding:14px}.object-index{display:flex;justify-content:space-between;gap:8px;color:var(--page-accent);font:800 .66em/1 var(--mono)}.object-copy h2{margin:8px 0 0;font:700 1.25em/1.15 var(--serif);overflow-wrap:anywhere}.object-meta{margin:7px 0 0;color:var(--page-muted);font:.72em/1.45 var(--mono)}.object-description{margin:9px 0 0;color:var(--page-ink);font:.84em/1.58 var(--serif);display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:5}.collection-grid[data-density="double"] .object-description{-webkit-line-clamp:3}.collection-grid[data-density="triple"] .object-copy{padding:10px}.collection-grid[data-density="triple"] .object-copy h2{margin-top:6px;font-size:1em}.collection-grid[data-density="triple"] .object-meta{font-size:.62em}.collection-grid[data-density="triple"] .object-description{margin-top:6px;font-size:.72em;-webkit-line-clamp:2}.object-tags{margin-top:9px;display:flex;flex-wrap:wrap;gap:4px}.object-tags span{padding:4px 5px;border:1px solid var(--page-line);color:var(--page-muted);font:.6em/1 var(--mono)}.collection-grid[data-density="triple"] .object-tags{display:none}
.object-foot{min-width:0;margin-top:7px;display:grid;gap:3px}.object-foot .object-tags{min-width:0;margin-top:0}.object-origin{min-width:0;margin:0;display:flex;justify-content:flex-end;align-items:baseline;gap:6px;color:var(--page-muted);text-align:right;font:max(13px,.68em)/1.35 var(--mono);overflow-wrap:anywhere}.object-origin span{flex:none;color:var(--page-accent);font-weight:700;letter-spacing:.06em}.object-origin b{min-width:0;font-weight:500}.collection-grid[data-density="triple"] .object-foot{margin-top:5px}

.feature-layout .feature-body{min-height:0;display:grid;grid-template-rows:240px minmax(0,1fr);gap:20px}.back-layout{display:flex;flex-direction:column;justify-content:space-between;padding-block:50px}.back-layout h1{margin:0;font:700 2em/1.1 var(--serif)}.back-layout p{white-space:pre-wrap;font:1em/1.75 var(--serif)}.back-meta{padding-top:18px;border-top:1px solid var(--page-line);color:var(--page-muted);font:.75em/1.7 var(--mono)}
/* Template: modern */
.booklet-page[data-template="modern"]{--page-paper:#eeeee8;--page-ink:#1d2927;--page-accent:#49625b;--page-accent-2:#c6b88f;--page-line:#aeb7b2;--page-muted:#697570}.booklet-page[data-template="modern"] .page-shell{padding:25px 23px 21px}.booklet-page[data-template="modern"] .cover-image{order:2;height:54%;margin-top:19px}.booklet-page[data-template="modern"] .cover-copy{order:1;padding:0}.booklet-page[data-template="modern"] .cover-copy h1{max-width:330px;font-size:2.35em}.booklet-page[data-template="modern"] .cover-meta{order:3;margin-top:15px}.booklet-page[data-template="modern"] .collection-grid[data-density="single"] .object-card{border:0;background:transparent}.booklet-page[data-template="modern"] .collection-grid[data-density="single"] .object-copy{padding:17px 0 0}.booklet-page[data-template="modern"] .object-image{background:var(--page-accent)}
/* Template: classical */
.booklet-page[data-template="classical"]{--page-paper:#eee2c8;--page-ink:#3e3028;--page-accent:#713f3a;--page-accent-2:#a78d59;--page-line:#a89269;--page-muted:#786b59;font-family:var(--serif)}.booklet-page[data-template="classical"]:before{content:"";position:absolute;z-index:0;inset:12px;border:1px solid var(--page-line);box-shadow:inset 0 0 0 4px var(--page-paper),inset 0 0 0 5px var(--page-line);pointer-events:none}.booklet-page[data-template="classical"] .page-shell{padding:35px 32px 31px}.booklet-page[data-template="classical"] .page-running,.booklet-page[data-template="classical"] .page-footer{font-family:"OC Bodoni Moda",var(--serif);letter-spacing:.12em}.booklet-page[data-template="classical"] .cover-layout{text-align:center}.booklet-page[data-template="classical"] .cover-image{height:42%;margin-top:24px;border:1px solid var(--page-line);outline:5px solid color-mix(in srgb,var(--page-paper) 80%,white)}.booklet-page[data-template="classical"] .cover-copy h1{font-size:2.05em}.booklet-page[data-template="classical"] .cover-meta{justify-content:center}.booklet-page[data-template="classical"] .collection-heading{text-align:center;display:block}.booklet-page[data-template="classical"] .object-card{border:1px solid var(--page-line);box-shadow:inset 0 0 0 3px var(--page-paper),inset 0 0 0 4px color-mix(in srgb,var(--page-line) 45%,transparent)}.booklet-page[data-template="classical"] .object-copy h2{font-family:var(--serif)}
/* Template: archive */
.booklet-page[data-template="archive"]{--page-paper:#ded4c2;--page-ink:#24211e;--page-accent:#93483d;--page-accent-2:#8b7c64;--page-line:#8f8676;--page-muted:#686055;background-color:var(--page-paper);background-image:radial-gradient(rgba(44,38,32,.13) .65px,transparent .8px);background-size:8px 8px}.booklet-page[data-template="archive"] .page-running,.booklet-page[data-template="archive"] .page-footer,.booklet-page[data-template="archive"] .cover-kicker,.booklet-page[data-template="archive"] .page-kicker{font-family:var(--mono);text-transform:uppercase}.booklet-page[data-template="archive"] .cover-layout{border-top:3px solid var(--page-ink)}.booklet-page[data-template="archive"] .cover-copy h1{padding:7px 9px;color:var(--page-paper);background:var(--page-ink);font-family:var(--mono);font-size:1.8em;text-transform:uppercase}.booklet-page[data-template="archive"] .cover-image{height:43%;margin-top:20px;border:1px solid var(--page-ink);transform:rotate(-1deg);box-shadow:7px 7px 0 rgba(49,40,34,.12)}.booklet-page[data-template="archive"] .collection-heading{border-bottom:3px double var(--page-ink)}.booklet-page[data-template="archive"] .object-card{border-color:var(--page-ink);background:rgba(255,255,255,.12)}.booklet-page[data-template="archive"] .object-image{border-right:1px solid var(--page-ink)}.booklet-page[data-template="archive"] .object-index,.booklet-page[data-template="archive"] .object-meta{font-family:var(--mono)}
/* Template: editorial */
.booklet-page[data-template="editorial"]{--page-paper:#efedea;--page-ink:#292529;--page-accent:#5e4d5b;--page-accent-2:#8b7f85;--page-line:#bcb5b8;--page-muted:#716a6e}.booklet-page[data-template="editorial"] .page-shell{padding:21px 20px 19px}.booklet-page[data-template="editorial"] .page-running{color:var(--page-ink)}.booklet-page[data-template="editorial"] .cover-layout{display:grid;grid-template-rows:45% minmax(0,1fr)}.booklet-page[data-template="editorial"] .cover-image{height:auto;grid-row:1}.booklet-page[data-template="editorial"] .cover-copy{position:relative;margin:-26px 14px 0;padding:18px;color:var(--page-paper);background:var(--page-accent)}.booklet-page[data-template="editorial"] .cover-copy .cover-kicker,.booklet-page[data-template="editorial"] .cover-copy p{color:inherit}.booklet-page[data-template="editorial"] .cover-copy h1{font-size:2.1em}.booklet-page[data-template="editorial"] .cover-meta{position:absolute;left:20px;right:20px;bottom:16px}.booklet-page[data-template="editorial"] .collection-heading{padding:12px;color:var(--page-paper);background:var(--page-ink);border:0}.booklet-page[data-template="editorial"] .collection-heading .page-kicker,.booklet-page[data-template="editorial"] .collection-heading span{color:var(--page-paper)}.booklet-page[data-template="editorial"] .collection-grid[data-density="single"] .object-card{display:grid;grid-template-rows:56% minmax(0,1fr);border:0;background:transparent}.booklet-page[data-template="editorial"] .collection-grid[data-density="single"] .object-copy{margin:-22px 13px 0;background:var(--page-paper);z-index:1}.booklet-page[data-template="editorial"] .collection-grid[data-density="double"] .object-card:nth-child(even){grid-template-columns:minmax(0,1fr) 112px}.booklet-page[data-template="editorial"] .collection-grid[data-density="double"] .object-card:nth-child(even) .object-image{grid-column:2;grid-row:1}.booklet-page[data-template="editorial"] .collection-grid[data-density="double"] .object-card:nth-child(even) .object-copy{grid-column:1;grid-row:1}
/* Stickers */
.sticker-layer{position:absolute;z-index:40;inset:0;pointer-events:none}.spread-sticker-layer,.imposition-sticker-layer{position:absolute;z-index:70;inset:0;overflow:hidden;pointer-events:none}.spread-sticker-slice-layer{position:absolute;z-index:70;inset:0;overflow:hidden;pointer-events:none}.spread-sticker-slice-layer .canvas-sticker{pointer-events:none}.canvas-sticker{position:absolute;left:var(--sx,50%);top:var(--sy,20%);z-index:var(--sz,1);width:var(--sw,160px);height:var(--sh,80px);transform:translate(-50%,-50%) rotate(var(--sr,0deg));transform-origin:center;pointer-events:auto;touch-action:none}.sticker-content{width:100%;height:100%;overflow:hidden}.text-sticker .sticker-content{display:flex;align-items:center;white-space:pre-wrap;overflow-wrap:anywhere}.image-sticker .sticker-content img{width:100%;height:100%;object-fit:var(--sfit,contain)}.canvas-sticker.is-hidden{display:none}.canvas-sticker.is-selected:not(.is-locked){outline:2px dashed var(--app-accent)}.sticker-handle{position:absolute;z-index:3;width:30px;height:30px;padding:0;display:none;border:2px solid #fff;border-radius:50%;background:var(--app-accent);box-shadow:0 1px 5px rgba(0,0,0,.25)}.canvas-sticker.is-selected:not(.is-locked) .sticker-handle{display:block}.sticker-resize{right:-15px;bottom:-15px;cursor:nwse-resize}.sticker-rotate{left:50%;top:-40px;transform:translateX(-50%);cursor:grab}.sticker-rotate:after{content:"";position:absolute;left:50%;top:28px;width:1px;height:14px;background:var(--app-accent-dark)}
/* Readability guardrails shared by preview and export. */
body :is(.button,.small-button,.text-button,.panel-heading p,.card-title p,.field>span,.range-field>span,.check-grid label,.row-copy b,.row-copy small,.row-actions button,.layout-switch button,.collection-slot-select span,.collection-slot-select select,.template-button b,.template-button small,.color-field,.help-copy,.empty-note,.align-buttons button,.preview-toolbar strong,.preview-toolbar output,.preview-actions button,.crop-dialog>p,.tour-card p){font-size:12px}
.booklet-page :is(.page-running,.page-footer,.fiction-mark,.cover-kicker,.page-kicker,.cover-meta,.contents-row span,.collection-heading span,.object-index,.object-meta,.object-description,.object-origin,.object-tags span,.back-meta){font-size:max(13px,.93em)}
/* Modals and tour */
.crop-modal{position:fixed;inset:0;z-index:600;display:grid;place-items:center;padding:18px}.crop-backdrop{position:absolute;inset:0;background:rgba(45,35,32,.78);backdrop-filter:blur(5px)}.crop-dialog{position:relative;z-index:1;width:min(94vw,520px);max-height:calc(100dvh - 24px);overflow:auto;padding:18px;border:1px solid var(--app-line);border-radius:8px;background:var(--app-paper);box-shadow:0 28px 90px rgba(0,0,0,.38)}.crop-dialog>header{display:flex;justify-content:space-between}.crop-dialog>header span{color:var(--app-accent);font:800 9px/1 var(--mono)}.crop-dialog>header h2{margin:6px 0 0;font:700 21px/1.2 var(--serif)}.crop-dialog>header button{width:32px;height:32px;border:1px solid var(--app-line);background:#fff;font-size:20px}.crop-stage{width:min(72vw,340px);aspect-ratio:1;margin:18px auto 12px;overflow:hidden;border:8px solid #eee5e1;outline:1px solid var(--app-line);background:#d4cac6;cursor:grab;touch-action:none}.crop-stage canvas{width:100%;height:100%;display:block}.crop-dialog>p{color:var(--app-muted);text-align:center;font-size:10px}.crop-dialog>footer{display:flex;justify-content:flex-end;gap:8px}body.crop-open,body.tour-open{overflow:hidden}
.tour-overlay{position:fixed;inset:0;z-index:550}.tour-focus{position:fixed;z-index:1;border:3px solid var(--app-accent);border-radius:8px;box-shadow:0 0 0 9999px rgba(43,34,31,.74),0 0 0 6px rgba(128,104,98,.25);pointer-events:none}.tour-card{position:fixed;z-index:2;width:min(370px,calc(100vw - 24px));padding:18px;border:1px solid var(--app-line);border-radius:7px;background:var(--app-paper);box-shadow:0 20px 60px rgba(0,0,0,.28)}.tour-card>header{display:flex;justify-content:space-between;color:var(--app-accent);font:800 9px/1 var(--mono)}.tour-card>header em{color:var(--app-muted);font-style:normal}.tour-card h2{margin:14px 0 7px;font:700 21px/1.25 var(--serif)}.tour-card p{margin:0;color:var(--app-muted);font-size:11px;line-height:1.65}.tour-card>footer{margin-top:17px;display:flex;justify-content:space-between}.tour-card>footer>div{display:flex;gap:7px}.toast{position:fixed;left:50%;bottom:18px;z-index:700;padding:10px 14px;transform:translate(-50%,12px);color:#fff;background:#403735;border-radius:5px;opacity:0;pointer-events:none;transition:.2s}.toast.show{opacity:1;transform:translate(-50%,0)}
body.focus-mode .topbar,body.focus-mode .editor-panel,body.focus-mode .mobile-main-tabs,body.focus-mode .mobile-resizer{display:none!important}body.focus-mode .workspace{height:100dvh;display:block}body.focus-mode .preview-panel{width:100%;height:100dvh}body.focus-mode .preview-viewport{padding:20px}body.focus-mode .canvas-sticker{pointer-events:none;outline:0}body.focus-mode .sticker-handle{display:none!important}
@media(max-width:1280px) and (min-width:901px){.workspace{grid-template-columns:310px minmax(400px,1fr) 290px}.top-actions{gap:4px}.button{padding-inline:9px}}
@media(max-width:900px){
  html{height:100%;overflow:hidden}body{height:100dvh;min-width:0;overflow:hidden;overscroll-behavior:none}.topbar{height:calc(58px + env(safe-area-inset-top));padding-top:env(safe-area-inset-top);padding-inline:8px;gap:8px}.brand-mark{width:36px;height:36px;box-shadow:3px 3px 0 #d5c0ba;font-size:18px}.brand b{font-size:14px;white-space:nowrap}.brand small,.project-field,.desktop-action{display:none}.top-actions{gap:4px}.top-actions .button{min-height:40px;padding-inline:9px;font-size:10px}.mobile-label{display:inline}
  .workspace{position:relative;height:calc(100dvh - 58px - env(safe-area-inset-top));display:grid;grid-template-columns:1fr;grid-template-rows:var(--mobile-preview-height) 18px minmax(0,1fr);overflow:hidden}.preview-panel{position:relative;z-index:0;grid-column:1;grid-row:1}.preview-toolbar{min-height:42px;padding:4px 6px}.preview-toolbar>div:first-child strong,.preview-toolbar>div:first-child output{display:none}.preview-actions{width:max-content;margin-left:auto;display:grid!important;grid-template-columns:58px 58px 48px 48px;gap:5px}.preview-actions button{min-width:0;padding-inline:3px;font-size:12px}.preview-actions #preview-zoom-out,.preview-actions #preview-zoom-in{display:none}.preview-viewport{padding:0;overflow:auto;overscroll-behavior:contain;touch-action:pan-x pan-y;-webkit-overflow-scrolling:touch}
  .mobile-resizer{grid-column:1;grid-row:2;position:relative;z-index:20;width:100%;height:18px;min-height:0;padding:0;outline:0;display:grid;place-items:center;border-block:1px solid var(--app-line);background:#fff;cursor:ns-resize;touch-action:none;user-select:none;-webkit-user-select:none}.mobile-resizer span{width:48px;height:4px;border-radius:5px;background:#a88f87}
  .editor-panel{position:relative;z-index:0;grid-column:1;grid-row:3;min-height:0;display:none;border:0;overflow:hidden}body[data-mobile-panel="content"] .content-panel,body[data-mobile-panel="style"] .style-panel{display:flex}.panel-heading{display:none}.panel-scroll{padding:58px 10px calc(28px + env(safe-area-inset-bottom))}.field input,.field select,.field textarea{min-height:42px;font-size:12px}
  .mobile-main-tabs{position:absolute;z-index:30;left:0;right:0;top:calc(var(--mobile-preview-height) + 18px);height:48px;display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--app-line);background:#fff}.mobile-main-tabs button{border:0;color:var(--app-muted);background:#fff;font-weight:800}.mobile-main-tabs button.active{color:var(--app-accent-dark);background:#f6eeeb;box-shadow:inset 0 -3px var(--app-accent)}.tour-card{left:10px!important;right:10px;top:auto!important;bottom:10px;width:auto}.canvas-sticker .sticker-handle{width:36px;height:36px}.sticker-resize{right:-18px;bottom:-18px}.sticker-rotate{top:-45px}
}
@media(max-width:420px){.brand span:last-child{display:none}.field-grid.two,.check-grid{grid-template-columns:1fr}.color-grid{grid-template-columns:1fr 1fr}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition-duration:.01ms!important}}
body.mobile-resizing{user-select:none;-webkit-user-select:none}
/* Final UI type floor: later modal/mobile rules must not reduce legibility. */
body :is(.brand small,.card-title>span,.page-index,.overflow-badge,.crop-dialog>header span,.tour-card>header,.crop-dialog>p,.tour-card p){font-size:12px}
@media(max-width:900px){.top-actions .button{font-size:12px}}



/* Publication layout system v2: compact folios and four genuinely distinct templates. */
.page-shell{display:grid;grid-template-rows:22px minmax(0,1fr) 28px;gap:14px;padding:22px 22px 17px}
.page-running{min-width:0;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:0;border:0;color:var(--page-muted);font:700 .72em/1 var(--mono);letter-spacing:.08em}
.page-running span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.running-section{color:var(--page-accent);text-align:right}
.page-footer{min-width:0;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px;padding:0;border:0;color:var(--page-muted);font:700 .69em/1 var(--mono);letter-spacing:.06em}
.page-footer span{min-width:0;padding:0}
.footer-mark{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.footer-folio{display:inline-flex;align-items:baseline;justify-content:flex-end;gap:4px;white-space:nowrap}
.footer-folio b{color:var(--page-ink);font-size:1.35em}.footer-folio i,.footer-folio em{font:inherit;font-style:normal}.footer-folio i{color:var(--page-line)}
.booklet-page[data-page-type="cover"] .running-section,.booklet-page[data-page-type="back"] .running-section{display:none}
.booklet-page[data-page-type="cover"] .footer-mark{visibility:hidden}

/* Modern institutional: asymmetric information grid and disciplined full-bleed imagery. */
.booklet-page[data-template="modern"] .page-shell{grid-template-rows:26px minmax(0,1fr) 25px;gap:15px;padding:20px 22px 17px}
.booklet-page[data-template="modern"] .page-running{padding-top:8px;border-top:5px solid var(--page-accent)}
.booklet-page[data-template="modern"] .running-section{padding:4px 7px;color:var(--page-paper);background:var(--page-accent);letter-spacing:.04em}
.booklet-page[data-template="modern"] .page-footer{border-top:1px solid var(--page-line);padding-top:8px}
.booklet-page[data-template="modern"] .footer-mark{padding-left:9px;border-left:3px solid var(--page-accent)}
.booklet-page[data-template="modern"] .cover-layout{display:grid;grid-template-columns:1fr 82px;grid-template-rows:auto minmax(0,1fr) auto;gap:17px;text-align:left}
.booklet-page[data-template="modern"] .cover-copy{grid-column:1/-1;grid-row:1;padding:0;border-bottom:1px solid var(--page-line)}
.booklet-page[data-template="modern"] .cover-copy h1{max-width:310px;margin-bottom:13px;font-family:var(--sans);font-size:2.45em;letter-spacing:-.035em}
.booklet-page[data-template="modern"] .cover-image{grid-column:1/-1;grid-row:2;order:initial;width:calc(100% + 22px);height:auto;margin:0 0 0 -22px}
.booklet-page[data-template="modern"] .cover-meta{grid-column:1/-1;grid-row:3;order:initial;margin:0;padding-top:0}
.booklet-page[data-template="modern"] .intro-body{grid-template-columns:132px minmax(0,1fr);grid-template-rows:minmax(0,1fr);gap:20px}
.booklet-page[data-template="modern"] .intro-body .page-image{height:100%}
.booklet-page[data-template="modern"] .feature-body{grid-template-columns:minmax(0,1fr) 132px!important;grid-template-rows:minmax(0,1fr)!important}
.booklet-page[data-template="modern"] .feature-body .page-image{grid-column:2;grid-row:1}
.booklet-page[data-template="modern"] .feature-body .prose{grid-column:1;grid-row:1}
.booklet-page[data-template="modern"] .collection-heading{align-items:start;padding:0 0 12px;border-bottom:4px solid var(--page-accent)}
.booklet-page[data-template="modern"] .collection-heading h1{font-family:var(--sans);font-size:1.7em;letter-spacing:-.025em}
.booklet-page[data-template="modern"] .collection-grid{gap:12px;padding-top:13px}
.booklet-page[data-template="modern"] .collection-grid[data-density="single"] .object-card{grid-template-columns:46% minmax(0,1fr);grid-template-rows:1fr;border:0;background:transparent}
.booklet-page[data-template="modern"] .collection-grid[data-density="single"] .object-copy{padding:22px 0 18px 18px;border-block:1px solid var(--page-line)}
.booklet-page[data-template="modern"] .collection-grid[data-density="double"]{grid-template-rows:repeat(2,minmax(0,1fr))}
.booklet-page[data-template="modern"] .collection-grid[data-density="double"] .object-card,.booklet-page[data-template="modern"] .collection-grid[data-density="triple"] .object-card{grid-template-columns:105px minmax(0,1fr);border-width:0 0 1px;background:transparent}
.booklet-page[data-template="modern"] .collection-grid[data-density="triple"]{gap:8px}
.booklet-page[data-template="modern"] .collection-grid[data-density="triple"] .object-card{grid-template-columns:86px minmax(0,1fr)}
.booklet-page[data-template="modern"] .object-copy h2{font-family:var(--sans)}

/* Classical cabinet: framed, centered and symmetrical like a collection catalogue. */
.booklet-page[data-template="classical"] .page-shell{grid-template-rows:24px minmax(0,1fr) 28px;gap:18px;padding:34px 32px 29px}
.booklet-page[data-template="classical"] .page-running{grid-template-columns:1fr;text-align:center;border-bottom:1px solid var(--page-line);padding-bottom:10px}
.booklet-page[data-template="classical"] .running-section{display:none}
.booklet-page[data-template="classical"] .page-footer{grid-template-columns:1fr;place-items:center;border-top:1px solid var(--page-line);padding-top:9px}
.booklet-page[data-template="classical"] .footer-mark{display:none}
.booklet-page[data-template="classical"] .footer-folio{position:relative;min-width:62px;justify-content:center;color:var(--page-accent)}
.booklet-page[data-template="classical"] .footer-folio:before,.booklet-page[data-template="classical"] .footer-folio:after{content:"";width:20px;border-top:1px solid var(--page-line)}
.booklet-page[data-template="classical"] .cover-layout{display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:23px;text-align:center}
.booklet-page[data-template="classical"] .cover-copy{grid-row:1;padding:0 12px}
.booklet-page[data-template="classical"] .cover-copy h1{margin-top:14px;font-family:var(--serif);font-size:2.15em;font-weight:600}
.booklet-page[data-template="classical"] .cover-image{grid-row:2;width:78%;height:auto;margin:0 auto;outline:5px solid color-mix(in srgb,var(--page-paper) 80%,white);box-shadow:0 0 0 6px var(--page-line)}
.booklet-page[data-template="classical"] .cover-meta{grid-row:3;margin:0;justify-content:center;padding-top:10px;border-top:1px solid var(--page-line)}
.booklet-page[data-template="classical"] .page-heading{text-align:center}.booklet-page[data-template="classical"] .page-heading:after{content:"";display:block;width:44px;margin:14px auto 0;border-top:2px solid var(--page-accent)}
.booklet-page[data-template="classical"] .intro-body{grid-template-rows:235px minmax(0,1fr)}
.booklet-page[data-template="classical"] .page-image{margin-inline:22px;border:1px solid var(--page-line);outline:4px solid color-mix(in srgb,var(--page-paper) 82%,white)}
.booklet-page[data-template="classical"] .collection-heading{display:block;text-align:center;padding-bottom:13px;border-bottom:3px double var(--page-line)}
.booklet-page[data-template="classical"] .collection-heading>span{display:block;margin-top:8px}
.booklet-page[data-template="classical"] .collection-grid{padding-top:18px}
.booklet-page[data-template="classical"] .collection-grid[data-density="single"] .object-card{grid-template-rows:300px minmax(0,1fr)}
.booklet-page[data-template="classical"] .collection-grid[data-density="double"]{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:1fr;gap:10px}
.booklet-page[data-template="classical"] .collection-grid[data-density="double"] .object-card{grid-template-columns:1fr;grid-template-rows:180px minmax(0,1fr)}
.booklet-page[data-template="classical"] .collection-grid[data-density="double"] .object-copy{padding:12px}
.booklet-page[data-template="classical"] .collection-grid[data-density="double"] .object-description{-webkit-line-clamp:5}
.booklet-page[data-template="classical"] .collection-grid[data-density="triple"]{grid-template-rows:repeat(3,minmax(0,1fr));gap:9px}
.booklet-page[data-template="classical"] .collection-grid[data-density="triple"] .object-card{grid-template-columns:92px minmax(0,1fr)}
.booklet-page[data-template="classical"] .object-index{justify-content:center}.booklet-page[data-template="classical"] .object-index b{display:none}
.booklet-page[data-template="classical"] .object-copy{text-align:center}.booklet-page[data-template="classical"] .object-tags{justify-content:center}
.booklet-page[data-template="classical"] .section-layout{text-align:center}.booklet-page[data-template="classical"] .section-number{font-family:"OC Bodoni Moda",var(--serif);font-weight:400}

/* Research archive: dossier bands, ledger divisions and offset evidence images. */
.booklet-page[data-template="archive"] .page-shell{grid-template-rows:31px minmax(0,1fr) 27px;gap:13px;padding:20px 22px 17px}
.booklet-page[data-template="archive"] .page-running{grid-template-columns:auto minmax(0,1fr);gap:0;border:1px solid var(--page-ink)}
.booklet-page[data-template="archive"] .running-project{padding:8px 10px;color:var(--page-paper);background:var(--page-ink)}
.booklet-page[data-template="archive"] .running-section{padding:8px 10px;color:var(--page-ink);text-align:left}
.booklet-page[data-template="archive"] .page-footer{border-top:2px solid var(--page-ink);padding-top:7px}
.booklet-page[data-template="archive"] .footer-folio{padding:4px 7px;color:var(--page-paper);background:var(--page-ink)}
.booklet-page[data-template="archive"] .footer-folio b{color:inherit}
.booklet-page[data-template="archive"] .cover-layout{display:grid;grid-template-columns:1fr 105px;grid-template-rows:auto 260px minmax(0,1fr);gap:18px;border-top:0}
.booklet-page[data-template="archive"] .cover-copy{grid-column:1/-1;padding:0}
.booklet-page[data-template="archive"] .cover-copy h1{display:inline-block;max-width:100%;margin:10px 0 0;padding:8px 10px}
.booklet-page[data-template="archive"] .cover-image{grid-column:1/-1;grid-row:2;width:82%;height:auto;margin:0 0 0 auto;transform:rotate(-1.3deg)}
.booklet-page[data-template="archive"] .cover-meta{grid-column:1/-1;grid-row:3;align-self:end;margin:0;padding:13px;border:1px solid var(--page-ink)}
.booklet-page[data-template="archive"] .page-heading{padding:10px;color:var(--page-paper);background:var(--page-ink)}
.booklet-page[data-template="archive"] .page-heading :is(.page-kicker,h1){color:inherit}
.booklet-page[data-template="archive"] .intro-body{grid-template-columns:44% minmax(0,1fr);grid-template-rows:minmax(0,1fr);gap:16px}
.booklet-page[data-template="archive"] .intro-body .page-image{height:72%;margin-top:16px;transform:rotate(-1deg);border:1px solid var(--page-ink);box-shadow:6px 6px 0 color-mix(in srgb,var(--page-ink) 12%,transparent)}
.booklet-page[data-template="archive"] .feature-body{grid-template-columns:44% minmax(0,1fr)!important;grid-template-rows:minmax(0,1fr)!important}
.booklet-page[data-template="archive"] .collection-heading{padding:9px 10px;color:var(--page-paper);background:var(--page-ink);border:0}
.booklet-page[data-template="archive"] .collection-heading :is(.page-kicker,span){color:inherit}
.booklet-page[data-template="archive"] .collection-grid{padding-top:12px;gap:10px}
.booklet-page[data-template="archive"] .collection-grid[data-density="single"] .object-card{grid-template-columns:42% minmax(0,1fr);grid-template-rows:1fr}
.booklet-page[data-template="archive"] .collection-grid[data-density="single"] .object-image{margin:14px 0 14px 14px;transform:rotate(-1deg);border:1px solid var(--page-ink)}
.booklet-page[data-template="archive"] .collection-grid[data-density="double"] .object-card:nth-child(even),.booklet-page[data-template="archive"] .collection-grid[data-density="triple"] .object-card:nth-child(even){grid-template-columns:minmax(0,1fr) 112px}
.booklet-page[data-template="archive"] .collection-grid[data-density="double"] .object-card:nth-child(even) .object-image,.booklet-page[data-template="archive"] .collection-grid[data-density="triple"] .object-card:nth-child(even) .object-image{grid-column:2;grid-row:1;border-width:0 0 0 1px}
.booklet-page[data-template="archive"] .collection-grid[data-density="double"] .object-card:nth-child(even) .object-copy,.booklet-page[data-template="archive"] .collection-grid[data-density="triple"] .object-card:nth-child(even) .object-copy{grid-column:1;grid-row:1}
.booklet-page[data-template="archive"] .contents-row{grid-template-columns:42px minmax(0,1fr);border-bottom:1px solid var(--page-ink)}
.booklet-page[data-template="archive"] .contents-row span:last-child{display:none}

/* Exhibition editorial: oversized labels, split columns and an irregular magazine rhythm. */
.booklet-page[data-template="editorial"] .page-shell{grid-template-rows:32px minmax(0,1fr) 26px;gap:10px;padding:17px 18px 15px}
.booklet-page[data-template="editorial"] .page-running{grid-template-columns:auto minmax(0,1fr);border-bottom:1px solid var(--page-ink)}
.booklet-page[data-template="editorial"] .running-project{display:none}
.booklet-page[data-template="editorial"] .running-section{grid-column:1;padding:0 0 8px;color:var(--page-ink);font-family:var(--sans);font-size:1.25em;letter-spacing:-.02em;text-align:left}
.booklet-page[data-template="editorial"] .page-running:after{content:"";align-self:end;margin-bottom:8px;border-top:1px solid var(--page-accent)}
.booklet-page[data-template="editorial"] .page-footer{grid-template-columns:1fr auto;border-top:1px solid var(--page-ink);padding-top:7px}
.booklet-page[data-template="editorial"] .footer-mark{color:var(--page-accent)}
.booklet-page[data-template="editorial"] .footer-folio b{color:var(--page-accent);font:500 2em/.7 "OC Bodoni Moda",var(--serif)}
.booklet-page[data-template="editorial"] .cover-layout{display:grid;grid-template-columns:56% minmax(0,1fr);grid-template-rows:58% minmax(0,1fr);gap:0}
.booklet-page[data-template="editorial"] .cover-image{grid-column:1/-1;grid-row:1;width:calc(100% + 36px);height:auto;margin-left:-18px}
.booklet-page[data-template="editorial"] .cover-copy{grid-column:1/-1;grid-row:2;align-self:start;margin:-32px 0 0 22px;padding:20px 18px 18px;color:var(--page-paper);background:var(--page-accent);z-index:2}
.booklet-page[data-template="editorial"] .cover-meta{left:auto;right:0;bottom:4px;width:42%;display:grid;justify-content:stretch;gap:5px;text-align:right}
.booklet-page[data-template="editorial"] .page-heading{display:grid;grid-template-columns:1fr 68px;align-items:end;gap:10px;padding-bottom:12px;border-bottom:1px solid var(--page-accent)}
.booklet-page[data-template="editorial"] .page-heading .page-kicker{grid-column:2;grid-row:1;text-align:right}
.booklet-page[data-template="editorial"] .page-heading h1{grid-column:1;grid-row:1;font-family:var(--sans);font-size:2em;letter-spacing:-.04em}
.booklet-page[data-template="editorial"] .intro-body{grid-template-rows:270px minmax(0,1fr);gap:14px}
.booklet-page[data-template="editorial"] .intro-body .page-image{width:calc(100% + 18px)}
.booklet-page[data-template="editorial"] .collection-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;padding:12px 13px;color:var(--page-paper);background:var(--page-ink)}
.booklet-page[data-template="editorial"] .collection-heading h1{font-family:var(--sans);font-size:1.75em;letter-spacing:-.035em}
.booklet-page[data-template="editorial"] .collection-grid{padding-top:10px;gap:9px}
.booklet-page[data-template="editorial"] .collection-grid[data-density="single"] .object-card{grid-template-columns:52% minmax(0,1fr);grid-template-rows:1fr}
.booklet-page[data-template="editorial"] .collection-grid[data-density="single"] .object-copy{align-self:center;margin:0 0 0 -20px;padding:18px;background:var(--page-paper);border-left:1px solid var(--page-accent)}
.booklet-page[data-template="editorial"] .collection-grid[data-density="double"]{grid-template-rows:repeat(2,minmax(0,1fr));gap:8px}
.booklet-page[data-template="editorial"] .collection-grid[data-density="double"] .object-card{grid-template-columns:42% minmax(0,1fr);border:0;background:color-mix(in srgb,var(--page-accent) 8%,var(--page-paper))}
.booklet-page[data-template="editorial"] .collection-grid[data-density="triple"]{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:8px}
.booklet-page[data-template="editorial"] .collection-grid[data-density="triple"] .object-card{display:grid;grid-template-columns:1fr;grid-template-rows:88px minmax(0,1fr);border:0}
.booklet-page[data-template="editorial"] .collection-grid[data-density="triple"] .object-card:first-child{grid-row:1/-1;grid-template-rows:46% minmax(0,1fr)}
.booklet-page[data-template="editorial"] .collection-grid[data-density="triple"] .object-copy{padding:9px}
.booklet-page[data-template="editorial"] .collection-grid[data-density="triple"] .object-description{display:-webkit-box}
.booklet-page[data-template="editorial"] .contents-row:nth-child(odd){margin-left:25px}.booklet-page[data-template="editorial"] .contents-row{grid-template-columns:34px minmax(0,1fr);border-bottom:1px solid var(--page-ink)}.booklet-page[data-template="editorial"] .contents-row span:last-child{display:none}

/* Layout finishing and export-safe text behavior. */
.page-running,.page-footer{font-size:max(13px,.93em)}
.object-index{min-width:0}.object-index b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.booklet-page[data-template="modern"] .section-layout{justify-content:flex-end;padding:0 0 42px 20px;border-left:8px solid var(--page-accent)}
.booklet-page[data-template="modern"] .section-number{font-family:var(--sans);letter-spacing:-.08em}
.booklet-page[data-template="modern"] .back-layout{justify-content:flex-end;gap:34px;padding:0 0 38px 22px;border-left:8px solid var(--page-accent)}
.booklet-page[data-template="classical"] .back-layout{justify-content:center;gap:34px;padding:36px 20px;text-align:center;border-block:1px solid var(--page-line)}
.booklet-page[data-template="classical"] .back-meta{border-top:3px double var(--page-line)}
.booklet-page[data-template="archive"] .section-layout{justify-content:flex-start;padding-top:68px;border-top:3px solid var(--page-ink)}
.booklet-page[data-template="archive"] .section-layout h1{display:inline-block;align-self:flex-start;padding:9px 11px;color:var(--page-paper);background:var(--page-ink);font-family:var(--mono);text-transform:uppercase}
.booklet-page[data-template="archive"] .back-layout{justify-content:space-between;padding:36px 0 24px;border-block:3px solid var(--page-ink)}
.booklet-page[data-template="archive"] .back-layout h1{display:inline-block;padding:8px 10px;color:var(--page-paper);background:var(--page-ink);font-family:var(--mono)}
.booklet-page[data-template="editorial"] .cover-layout{position:relative}
.booklet-page[data-template="editorial"] .cover-meta{position:absolute;left:auto;right:0;bottom:8px}
.booklet-page[data-template="editorial"] .section-layout{justify-content:flex-end;padding:0 18px 52px 34%;background:linear-gradient(90deg,var(--page-accent) 0 29%,transparent 29%)}
.booklet-page[data-template="editorial"] .section-number{position:absolute;left:29px;bottom:54px;color:var(--page-paper);font-family:"OC Bodoni Moda",var(--serif);font-size:4.4em;font-weight:400}
.booklet-page[data-template="editorial"] .section-layout h1{font-family:var(--sans);font-size:2.5em;letter-spacing:-.05em}
.booklet-page[data-template="editorial"] .back-layout{justify-content:flex-end;gap:28px;margin-left:25%;padding:0 16px 48px;border-left:1px solid var(--page-accent)}

.booklet-page[data-template="editorial"] .section-layout{position:relative}

/* Two-tone fold rhythm: only whole pages switch between paper and deep. */
.booklet-page{
  --tone-deep:color-mix(in srgb,var(--page-accent) 62%,var(--page-ink));
  --tone-on-deep:color-mix(in srgb,var(--page-paper) 92%,white);
  --tone-deep-line:color-mix(in srgb,var(--tone-on-deep) 34%,var(--tone-deep))
}
.booklet-page[data-page-tone="paper"]{background-color:var(--page-paper)}
.booklet-page[data-page-tone="deep"]{color:var(--tone-on-deep);background-color:var(--tone-deep)}
.booklet-page[data-page-tone="deep"] :is(.page-running,.page-footer,.cover-copy h1,.cover-copy p,.cover-meta,.section-layout h1,.section-layout p,.back-layout h1,.back-layout p,.back-meta){color:var(--tone-on-deep)}
.booklet-page[data-page-tone="deep"] :is(.cover-kicker,.page-kicker,.section-number){color:var(--tone-on-deep);opacity:.76}
.booklet-page[data-page-tone="deep"] :is(.page-running,.page-footer,.cover-copy,.cover-meta,.back-meta){border-color:var(--tone-deep-line)}
.booklet-page[data-page-tone="deep"] .footer-folio b{color:var(--tone-on-deep)}
.booklet-page[data-page-tone="deep"] .footer-folio i{color:var(--tone-deep-line)}
.booklet-page[data-page-tone="deep"] .cover-image{color:var(--tone-deep);background:var(--page-paper)}
.booklet-page[data-page-tone="deep"] .cover-image img{background:var(--page-paper)}

.booklet-page[data-template="modern"][data-page-tone="deep"] .page-running{border-top-color:var(--tone-on-deep)}
.booklet-page[data-template="modern"][data-page-tone="deep"] .running-section{color:var(--tone-deep);background:var(--tone-on-deep)}
.booklet-page[data-template="modern"][data-page-tone="deep"] .footer-mark{border-left-color:var(--tone-on-deep)}

.booklet-page[data-template="classical"][data-page-tone="deep"]:before{border-color:var(--tone-on-deep);box-shadow:inset 0 0 0 4px var(--tone-deep),inset 0 0 0 5px var(--tone-deep-line)}
.booklet-page[data-template="classical"][data-page-tone="deep"] .cover-image{background:var(--page-paper);outline-color:var(--page-paper);box-shadow:0 0 0 6px var(--tone-on-deep)}
.booklet-page[data-template="classical"][data-page-tone="deep"] .footer-folio{color:var(--tone-on-deep)}

.booklet-page[data-template="archive"][data-page-tone="deep"]{background-color:var(--tone-deep);background-image:radial-gradient(color-mix(in srgb,var(--tone-on-deep) 22%,transparent) .65px,transparent .8px)}
.booklet-page[data-template="archive"][data-page-tone="deep"] .page-running{border-color:var(--tone-on-deep)}
.booklet-page[data-template="archive"][data-page-tone="deep"] .running-project{color:var(--tone-deep);background:var(--tone-on-deep)}
.booklet-page[data-template="archive"][data-page-tone="deep"] .running-section{color:var(--tone-on-deep)}
.booklet-page[data-template="archive"][data-page-tone="deep"] .footer-folio{color:var(--tone-deep);background:var(--tone-on-deep)}
.booklet-page[data-template="archive"][data-page-tone="deep"] .footer-folio :is(b,i,em){color:var(--tone-deep)}

.booklet-page[data-template="editorial"][data-page-tone="deep"] .page-running:after{border-top-color:var(--tone-on-deep)}
.booklet-page[data-template="editorial"][data-page-tone="deep"] .running-section{color:var(--tone-on-deep)}
.booklet-page[data-template="editorial"][data-page-tone="deep"] .footer-mark,.booklet-page[data-template="editorial"][data-page-tone="deep"] .footer-folio b{color:var(--tone-on-deep)}


/* Four structurally distinct table-of-contents systems. */
.booklet-page[data-page-type="contents"] .contents-list{border:0}
.booklet-page[data-page-type="contents"] .contents-row{margin:0;background:transparent}
.booklet-page[data-page-type="contents"] .contents-number,.booklet-page[data-page-type="contents"] .contents-title,.booklet-page[data-page-type="contents"] .contents-type{min-width:0}

/* Modern institutional index: compact two-column navigation modules. */
.booklet-page[data-template="modern"][data-page-type="contents"] .page-heading{display:grid;grid-template-columns:minmax(0,1fr) 72px;align-items:end;gap:14px;padding-bottom:14px;border-bottom:5px solid var(--page-accent)}
.booklet-page[data-template="modern"][data-page-type="contents"] .page-heading .page-kicker{grid-column:2;grid-row:1;text-align:right}
.booklet-page[data-template="modern"][data-page-type="contents"] .page-heading h1{grid-column:1;grid-row:1;margin:0;font-family:var(--sans);font-size:2em;letter-spacing:-.035em}
.booklet-page[data-template="modern"][data-page-type="contents"] .contents-list{margin-top:22px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:0 18px}
.booklet-page[data-template="modern"][data-page-type="contents"] .contents-row{min-height:91px;display:grid;grid-template-columns:42px minmax(0,1fr);grid-template-rows:auto auto;align-content:center;column-gap:10px;padding:12px 0;border-bottom:1px solid var(--page-line)}
.booklet-page[data-template="modern"][data-page-type="contents"] .contents-number{grid-row:1/3;align-self:start;color:var(--page-accent);font:800 2.05em/.9 var(--sans);letter-spacing:-.08em}
.booklet-page[data-template="modern"][data-page-type="contents"] .contents-title{align-self:end;font:700 1em/1.28 var(--sans);overflow-wrap:anywhere}
.booklet-page[data-template="modern"][data-page-type="contents"] .contents-type{align-self:start;margin-top:7px;color:var(--page-muted);font:700 13px/1.2 var(--mono)}

/* Classical cabinet index: book-style dot leaders and right-aligned folios. */
.booklet-page[data-template="classical"][data-page-type="contents"] .page-heading{text-align:center}
.booklet-page[data-template="classical"][data-page-type="contents"] .contents-list{margin-top:32px;padding:14px 0 12px;display:grid;align-content:start;border-block:3px double var(--page-line)}
.booklet-page[data-template="classical"][data-page-type="contents"] .contents-row{min-height:61px;display:grid;grid-template-columns:auto minmax(18px,1fr) auto;grid-template-rows:auto auto;align-items:baseline;column-gap:10px;padding:9px 6px;border:0}
.booklet-page[data-template="classical"][data-page-type="contents"] .contents-row:after{content:"";grid-column:2;grid-row:1;align-self:center;border-bottom:1px dotted var(--page-line)}
.booklet-page[data-template="classical"][data-page-type="contents"] .contents-title{grid-column:1;grid-row:1;font:600 1.04em/1.3 var(--serif);overflow-wrap:anywhere}
.booklet-page[data-template="classical"][data-page-type="contents"] .contents-number{grid-column:3;grid-row:1;color:var(--page-accent);font:500 1.25em/1 "OC Bodoni Moda",var(--serif)}
.booklet-page[data-template="classical"][data-page-type="contents"] .contents-type{grid-column:1/3;grid-row:2;margin-top:5px;color:var(--page-muted);font:400 13px/1.25 var(--serif)}

/* Research archive index: two-column catalogue registration cards. */
.booklet-page[data-template="archive"][data-page-type="contents"] .page-heading{padding:12px 13px;border:1px solid var(--page-ink)}
.booklet-page[data-template="archive"][data-page-type="contents"] .contents-list{margin-top:18px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:10px}
.booklet-page[data-template="archive"][data-page-type="contents"] .contents-row{min-height:96px;display:grid;grid-template-columns:47px minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto;padding:0;border:1px solid var(--page-ink)}
.booklet-page[data-template="archive"][data-page-type="contents"] .contents-number{grid-column:1;grid-row:1/3;display:grid;place-items:center;color:var(--page-paper);background:var(--page-ink);font:800 1.2em/1 var(--mono)}
.booklet-page[data-template="archive"][data-page-type="contents"] .contents-title{grid-column:2;grid-row:1;align-self:end;padding:12px 10px 6px;font:700 .95em/1.28 var(--mono);overflow-wrap:anywhere}
.booklet-page[data-template="archive"][data-page-type="contents"] .contents-type{grid-column:2;grid-row:2;display:block;padding:0 10px 10px;color:var(--page-muted);font:700 13px/1.2 var(--mono);text-transform:uppercase}

/* Exhibition editorial index: a large lead entry followed by an asymmetric type grid. */
.booklet-page[data-template="editorial"][data-page-type="contents"] .page-heading{grid-template-columns:minmax(0,1fr) 82px;padding-bottom:15px;border-bottom:0}
.booklet-page[data-template="editorial"][data-page-type="contents"] .page-heading h1{font-size:2.35em}
.booklet-page[data-template="editorial"][data-page-type="contents"] .contents-list{margin-top:18px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(116px,auto);align-content:start;gap:12px 14px}
.booklet-page[data-template="editorial"][data-page-type="contents"] .contents-row{min-height:0;display:grid;grid-template-columns:58px minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);align-items:start;column-gap:9px;padding:11px 0 8px;border:0;border-top:1px solid var(--page-line)}
.booklet-page[data-template="editorial"][data-page-type="contents"] .contents-row:first-child{grid-column:1/-1;grid-template-columns:105px minmax(0,1fr);grid-auto-rows:auto;min-height:140px;padding-top:14px;border-top-width:1px}
.booklet-page[data-template="editorial"][data-page-type="contents"] .contents-number{grid-column:1;grid-row:1/3;color:var(--page-accent);font:500 3.1em/.82 "OC Bodoni Moda",var(--serif);letter-spacing:-.07em}
.booklet-page[data-template="editorial"][data-page-type="contents"] .contents-row:first-child .contents-number{font-size:4.7em}
.booklet-page[data-template="editorial"][data-page-type="contents"] .contents-title{grid-column:2;grid-row:1;font:700 1.08em/1.2 var(--sans);overflow-wrap:anywhere}
.booklet-page[data-template="editorial"][data-page-type="contents"] .contents-row:first-child .contents-title{font-size:1.65em;letter-spacing:-.035em}
.booklet-page[data-template="editorial"][data-page-type="contents"] .contents-type{grid-column:2;grid-row:2;display:block;align-self:end;color:var(--page-muted);font:700 13px/1.2 var(--mono)}


/* Template previews: experimental zine and Swiss grid. */
.swatch-zine{background:linear-gradient(155deg,#ececea 0 43%,#171817 44% 71%,#969792 72%)}
.swatch-swiss{background:linear-gradient(155deg,#f2f1eb 0 52%,#74423f 53% 68%,#1c1d1c 69%)}

/* Experimental monochrome zine: hard contrast, offset modules and poster-scale type. */
.booklet-page[data-template="zine"]{--page-paper:#ececea;--page-ink:#171817;--page-accent:#252625;--page-accent-2:#969792;--page-line:#777873;--page-muted:#5d5f5b;font-family:var(--sans)}
.booklet-page[data-template="zine"] .page-shell{grid-template-rows:30px minmax(0,1fr) 27px;gap:12px;padding:17px 18px 16px}
.booklet-page[data-template="zine"] .page-running{grid-template-columns:auto minmax(0,1fr);gap:0;color:var(--page-paper);background:var(--page-ink);font-family:var(--sans);font-weight:900;letter-spacing:0;text-transform:uppercase}
.booklet-page[data-template="zine"] .page-running span{display:flex;align-items:center;padding:0 9px}
.booklet-page[data-template="zine"] .running-section{justify-content:flex-end;color:var(--page-paper);border-left:2px solid var(--page-paper)}
.booklet-page[data-template="zine"] .page-footer{grid-template-columns:minmax(0,1fr) 76px;align-items:center;padding-top:7px;border-top:6px solid var(--page-ink);color:var(--page-ink);font-family:var(--sans);font-weight:900;letter-spacing:0;text-transform:uppercase}
.booklet-page[data-template="zine"] .footer-folio{height:20px;align-items:center;justify-content:center;color:var(--page-paper);background:var(--page-ink)}
.booklet-page[data-template="zine"] .footer-folio b,.booklet-page[data-template="zine"] .footer-folio i{color:inherit}
.booklet-page[data-template="zine"] :is(.cover-kicker,.page-kicker,.object-index,.object-meta,.object-origin,.object-tags span){font-family:var(--sans);font-weight:900;letter-spacing:0;text-transform:uppercase}
.booklet-page[data-template="zine"] :is(.cover-copy h1,.page-heading h1,.collection-heading h1,.object-copy h2,.section-layout h1,.back-layout h1){font-family:var(--sans);font-weight:900;letter-spacing:-.055em}
.booklet-page[data-template="zine"] .cover-layout{position:relative;display:grid;grid-template-columns:52% minmax(0,1fr);grid-template-rows:57% minmax(0,1fr);gap:0}
.booklet-page[data-template="zine"] .cover-image{grid-column:1/-1;grid-row:1;width:calc(100% + 36px);height:auto;margin-left:-18px;color:var(--page-ink);background:var(--page-paper);border-bottom:9px solid var(--tone-on-deep)}
.booklet-page[data-template="zine"] .cover-copy{grid-column:1/-1;grid-row:2;position:relative;padding:18px 74px 0 0}
.booklet-page[data-template="zine"] .cover-copy:before{content:"↘";position:absolute;right:0;top:7px;color:var(--tone-on-deep);font:900 5.6em/.8 var(--sans)}
.booklet-page[data-template="zine"] .cover-copy h1{max-width:290px;margin:8px 0 7px;font-size:2.55em;line-height:.95}
.booklet-page[data-template="zine"] .cover-copy p{max-width:265px;font-family:var(--sans);font-weight:700;line-height:1.35}
.booklet-page[data-template="zine"] .cover-meta{position:absolute;left:0;right:0;bottom:0;padding-top:8px;border-top:2px solid var(--tone-on-deep);font-family:var(--sans);font-weight:900}
.booklet-page[data-template="zine"] .page-heading{display:grid;grid-template-columns:minmax(0,1fr) 92px;align-items:end;gap:12px;padding-bottom:11px;border-bottom:8px solid var(--page-ink)}
.booklet-page[data-template="zine"] .page-heading h1{grid-column:1;grid-row:1;margin:0;font-size:2.05em;line-height:.92}
.booklet-page[data-template="zine"] .page-heading .page-kicker{grid-column:2;grid-row:1;color:var(--page-ink);text-align:right}
.booklet-page[data-template="zine"] .intro-layout,.booklet-page[data-template="zine"] .feature-layout{gap:15px}
.booklet-page[data-template="zine"] .intro-body{grid-template-columns:44% minmax(0,1fr);grid-template-rows:minmax(0,1fr);gap:0}
.booklet-page[data-template="zine"] .intro-body .page-image{height:100%;border:2px solid var(--page-ink)}
.booklet-page[data-template="zine"] .intro-body>div:last-child{padding:15px 0 0 15px}
.booklet-page[data-template="zine"] .feature-body{grid-template-columns:minmax(0,1fr) 44%;grid-template-rows:minmax(0,1fr)!important;gap:0!important}
.booklet-page[data-template="zine"] .feature-body .page-image{grid-column:2;grid-row:1;height:100%;border:2px solid var(--page-ink)}
.booklet-page[data-template="zine"] .feature-body .prose{grid-column:1;grid-row:1;padding:16px 15px 0 0}
.booklet-page[data-template="zine"] .prose,.booklet-page[data-template="zine"] .quote{font-family:var(--sans)}
.booklet-page[data-template="zine"] .quote{padding:12px;color:var(--page-paper);background:var(--page-ink);border:0}
.booklet-page[data-template="zine"] .collection-heading{align-items:start;padding:0 0 10px;border-bottom:8px solid var(--page-ink)}
.booklet-page[data-template="zine"] .collection-heading h1{font-size:2em}
.booklet-page[data-template="zine"] .collection-heading>span{padding:5px 7px;color:var(--page-paper);background:var(--page-ink);font-family:var(--sans);font-weight:900}
.booklet-page[data-template="zine"] .collection-grid{gap:9px;padding-top:11px}
.booklet-page[data-template="zine"] .object-card{border:2px solid var(--page-ink);background:transparent}
.booklet-page[data-template="zine"] .object-image{color:var(--page-paper);background:var(--page-ink);font-family:var(--sans);font-weight:900}
.booklet-page[data-template="zine"] .collection-grid[data-density="single"] .object-card{grid-template-columns:44% minmax(0,1fr);grid-template-rows:1fr}
.booklet-page[data-template="zine"] .collection-grid[data-density="single"] .object-copy{padding:18px 15px;border-left:8px solid var(--page-ink)}
.booklet-page[data-template="zine"] .collection-grid[data-density="double"] .object-card{grid-template-columns:118px minmax(0,1fr)}
.booklet-page[data-template="zine"] .collection-grid[data-density="double"] .object-card:nth-child(even){grid-template-columns:minmax(0,1fr) 118px}
.booklet-page[data-template="zine"] .collection-grid[data-density="double"] .object-card:nth-child(even) .object-image{grid-column:2;grid-row:1}
.booklet-page[data-template="zine"] .collection-grid[data-density="double"] .object-card:nth-child(even) .object-copy{grid-column:1;grid-row:1}
.booklet-page[data-template="zine"] .collection-grid[data-density="triple"]{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr))}
.booklet-page[data-template="zine"] .collection-grid[data-density="triple"] .object-card{grid-template-columns:1fr;grid-template-rows:83px minmax(0,1fr)}
.booklet-page[data-template="zine"] .collection-grid[data-density="triple"] .object-card:first-child{grid-column:1/-1;grid-template-columns:126px minmax(0,1fr);grid-template-rows:1fr}
.booklet-page[data-template="zine"] .object-copy h2{font-size:1.16em}
.booklet-page[data-template="zine"] .object-description{font-family:var(--sans)}
.booklet-page[data-template="zine"] .object-tags span{border:0;color:var(--page-paper);background:var(--page-ink)}
.booklet-page[data-template="zine"] .section-layout{position:relative;justify-content:flex-end;padding:0 0 44px 0;border-bottom:12px solid var(--tone-on-deep)}
.booklet-page[data-template="zine"] .section-number{position:absolute;right:-3px;top:4px;color:var(--tone-on-deep);font:900 8.5em/.72 var(--sans);letter-spacing:-.1em;opacity:.18}
.booklet-page[data-template="zine"] .section-layout h1{max-width:310px;font-size:2.8em;line-height:.92}
.booklet-page[data-template="zine"] .section-layout p{max-width:290px;font-family:var(--sans);font-weight:700}
.booklet-page[data-template="zine"] .back-layout{justify-content:flex-end;gap:28px;padding:0 0 45px;border-bottom:12px solid var(--tone-on-deep)}
.booklet-page[data-template="zine"] .back-layout h1{font-size:2.55em}
.booklet-page[data-template="zine"] .back-layout :is(p,.back-meta){font-family:var(--sans)}
.booklet-page[data-template="zine"][data-page-tone="deep"]{--tone-deep:var(--page-ink);--tone-on-deep:var(--page-paper);--tone-deep-line:color-mix(in srgb,var(--page-paper) 42%,var(--page-ink))}
.booklet-page[data-template="zine"][data-page-tone="deep"] .page-running{color:var(--page-ink);background:var(--page-paper)}
.booklet-page[data-template="zine"][data-page-tone="deep"] .running-section{color:var(--page-ink);border-color:var(--page-ink)}
.booklet-page[data-template="zine"][data-page-tone="deep"] .page-footer{border-top-color:var(--page-paper)}
.booklet-page[data-template="zine"][data-page-tone="deep"] .footer-folio{color:var(--page-ink);background:var(--page-paper)}
.booklet-page[data-template="zine"][data-page-tone="deep"] .cover-copy:before{color:var(--page-paper)}
.booklet-page[data-template="zine"][data-page-type="contents"] .contents-list{margin-top:18px;display:grid;align-content:start;border-top:9px solid var(--page-ink)}
.booklet-page[data-template="zine"][data-page-type="contents"] .contents-row{min-height:65px;display:grid;grid-template-columns:61px minmax(0,1fr) 74px;align-items:center;gap:10px;padding:8px 0;border-bottom:2px solid var(--page-ink)}
.booklet-page[data-template="zine"][data-page-type="contents"] .contents-number{color:var(--page-ink);font:900 2.35em/.8 var(--sans);letter-spacing:-.08em}
.booklet-page[data-template="zine"][data-page-type="contents"] .contents-title{font:900 1.08em/1.05 var(--sans);letter-spacing:-.025em}
.booklet-page[data-template="zine"][data-page-type="contents"] .contents-type{justify-self:end;color:var(--page-ink);font:900 13px/1.1 var(--sans);text-align:right;text-transform:uppercase}

/* Swiss grid: strict alignment, generous negative space and one controlled red accent. */
.booklet-page[data-template="swiss"]{--page-paper:#f2f1eb;--page-ink:#1c1d1c;--page-accent:#74423f;--page-accent-2:#777d79;--page-line:#a7aaa3;--page-muted:#666b68;font-family:var(--sans)}
.booklet-page[data-template="swiss"] .page-shell{grid-template-rows:29px minmax(0,1fr) 25px;gap:18px;padding:22px 22px 17px}
.booklet-page[data-template="swiss"] .page-running{grid-template-columns:12px minmax(0,1fr) auto;gap:10px;padding-bottom:9px;border-bottom:1px solid var(--page-ink);font-family:var(--sans);font-weight:700;letter-spacing:0}
.booklet-page[data-template="swiss"] .page-running:before{content:"";width:12px;height:12px;background:var(--page-accent)}
.booklet-page[data-template="swiss"] .page-footer{padding-top:8px;border-top:1px solid var(--page-ink);font-family:var(--sans);font-weight:700;letter-spacing:0}
.booklet-page[data-template="swiss"] .footer-folio b{color:var(--page-accent);font-size:1.55em}
.booklet-page[data-template="swiss"] :is(.cover-kicker,.page-kicker,.object-index,.object-meta,.object-origin,.object-tags span){font-family:var(--sans);letter-spacing:.02em}
.booklet-page[data-template="swiss"] :is(.cover-copy h1,.page-heading h1,.collection-heading h1,.object-copy h2,.section-layout h1,.back-layout h1){font-family:var(--sans);font-weight:800;letter-spacing:-.04em}
.booklet-page[data-template="swiss"] .cover-layout{display:grid;grid-template-columns:68% minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) auto;gap:18px}
.booklet-page[data-template="swiss"] .cover-copy{grid-column:1/-1;grid-row:1;padding:0 40px 16px 0;border-bottom:3px solid var(--tone-on-deep)}
.booklet-page[data-template="swiss"] .cover-copy h1{max-width:305px;margin:12px 0 9px;font-size:2.65em;line-height:.93}
.booklet-page[data-template="swiss"] .cover-copy p{max-width:290px;font-family:var(--sans);font-weight:600;line-height:1.4}
.booklet-page[data-template="swiss"] .cover-image{grid-column:1/-1;grid-row:2;width:calc(100% + 22px);height:auto;margin-right:-22px;justify-self:end;color:var(--page-accent);background:var(--page-paper)}
.booklet-page[data-template="swiss"] .cover-meta{grid-column:1/-1;grid-row:3;margin:0;padding-left:29%;font-family:var(--sans);font-weight:700}
.booklet-page[data-template="swiss"] .page-heading{display:grid;grid-template-columns:29% minmax(0,1fr);align-items:end;gap:0;padding-bottom:13px;border-bottom:1px solid var(--page-ink)}
.booklet-page[data-template="swiss"] .page-heading .page-kicker{grid-column:1;grid-row:1;color:var(--page-accent);padding-right:14px}
.booklet-page[data-template="swiss"] .page-heading h1{grid-column:2;grid-row:1;margin:0;padding-left:14px;border-left:3px solid var(--page-accent);font-size:1.9em}
.booklet-page[data-template="swiss"] .intro-layout,.booklet-page[data-template="swiss"] .feature-layout{gap:22px}
.booklet-page[data-template="swiss"] .intro-body{grid-template-columns:29% minmax(0,1fr);grid-template-rows:minmax(0,1fr);gap:0}
.booklet-page[data-template="swiss"] .intro-body .page-image{height:48%;align-self:start;color:var(--page-paper);background:var(--page-accent)}
.booklet-page[data-template="swiss"] .intro-body>div:last-child{padding-left:18px;border-left:1px solid var(--page-line)}
.booklet-page[data-template="swiss"] .feature-body{grid-template-columns:minmax(0,1fr) 36%;grid-template-rows:minmax(0,1fr)!important;gap:18px!important}
.booklet-page[data-template="swiss"] .feature-body .page-image{grid-column:2;grid-row:1;height:64%;align-self:end;color:var(--page-paper);background:var(--page-accent)}
.booklet-page[data-template="swiss"] .feature-body .prose{grid-column:1;grid-row:1;padding-right:18px;border-right:1px solid var(--page-line)}
.booklet-page[data-template="swiss"] .prose,.booklet-page[data-template="swiss"] .quote{font-family:var(--sans)}
.booklet-page[data-template="swiss"] .quote{padding:13px 0 13px 17px;border:0;border-left:3px solid var(--page-accent);color:var(--page-ink)}
.booklet-page[data-template="swiss"] .collection-heading{display:grid;grid-template-columns:29% minmax(0,1fr);align-items:end;gap:0;padding-bottom:13px;border-bottom:1px solid var(--page-ink)}
.booklet-page[data-template="swiss"] .collection-heading>div{grid-column:2;padding-left:14px;border-left:3px solid var(--page-accent)}
.booklet-page[data-template="swiss"] .collection-heading>span{grid-column:1;grid-row:1;align-self:end;color:var(--page-accent);font-family:var(--sans);font-weight:800}
.booklet-page[data-template="swiss"] .collection-heading h1{font-size:1.75em}
.booklet-page[data-template="swiss"] .collection-grid{gap:10px;padding-top:14px}
.booklet-page[data-template="swiss"] .object-card{border:0;background:transparent}
.booklet-page[data-template="swiss"] .object-image{color:var(--page-paper);background:var(--page-accent);font-family:var(--sans);font-weight:800}
.booklet-page[data-template="swiss"] .object-copy{padding:12px 0}
.booklet-page[data-template="swiss"] .collection-grid[data-density="single"] .object-card{grid-template-columns:minmax(0,42%) minmax(0,58%);grid-template-rows:1fr;border-top:1px solid var(--page-ink);border-bottom:1px solid var(--page-ink)}
.booklet-page[data-template="swiss"] .collection-grid[data-density="single"] .object-image{grid-column:2;grid-row:1}
.booklet-page[data-template="swiss"] .collection-grid[data-density="single"] .object-copy{grid-column:1;grid-row:1;padding:20px 17px 16px 0}
.booklet-page[data-template="swiss"] .collection-grid[data-density="double"]{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:1fr}
.booklet-page[data-template="swiss"] .collection-grid[data-density="double"] .object-card{display:grid;grid-template-columns:1fr;grid-template-rows:46% minmax(0,1fr);border-top:1px solid var(--page-ink)}
.booklet-page[data-template="swiss"] .collection-grid[data-density="double"] .object-copy{padding:13px 9px 0 0}
.booklet-page[data-template="swiss"] .collection-grid[data-density="triple"]{grid-template-rows:repeat(3,minmax(0,1fr));gap:8px}
.booklet-page[data-template="swiss"] .collection-grid[data-density="triple"] .object-card{grid-template-columns:minmax(0,1fr) 102px;border-top:1px solid var(--page-ink)}
.booklet-page[data-template="swiss"] .collection-grid[data-density="triple"] .object-image{grid-column:2;grid-row:1}
.booklet-page[data-template="swiss"] .collection-grid[data-density="triple"] .object-copy{grid-column:1;grid-row:1;padding:10px 10px 7px 0}
.booklet-page[data-template="swiss"] .object-index{color:var(--page-accent)}
.booklet-page[data-template="swiss"] .object-description{font-family:var(--sans)}
.booklet-page[data-template="swiss"] .object-tags span{padding:3px 0;border:0;border-bottom:1px solid var(--page-accent)}
.booklet-page[data-template="swiss"] .section-layout{position:relative;justify-content:flex-end;padding:0 0 50px 31%;border-bottom:1px solid var(--tone-on-deep)}
.booklet-page[data-template="swiss"] .section-layout:before{content:"";position:absolute;left:0;top:12px;bottom:50px;width:4px;background:var(--tone-on-deep)}
.booklet-page[data-template="swiss"] .section-number{position:absolute;left:30px;top:5px;color:var(--tone-on-deep);font:800 5.2em/.8 var(--sans);letter-spacing:-.09em}
.booklet-page[data-template="swiss"] .section-layout h1{font-size:2.45em}
.booklet-page[data-template="swiss"] .section-layout p{font-family:var(--sans)}
.booklet-page[data-template="swiss"] .back-layout{justify-content:flex-end;gap:35px;padding:0 0 48px 31%;border-bottom:3px solid var(--tone-on-deep)}
.booklet-page[data-template="swiss"] .back-layout :is(p,.back-meta){font-family:var(--sans)}
.booklet-page[data-template="swiss"][data-page-tone="deep"]{--tone-deep:color-mix(in srgb,var(--page-accent) 72%,var(--page-ink));--tone-on-deep:var(--page-paper);--tone-deep-line:color-mix(in srgb,var(--page-paper) 42%,var(--tone-deep))}
.booklet-page[data-template="swiss"][data-page-tone="deep"] .page-running{border-bottom-color:var(--page-paper)}
.booklet-page[data-template="swiss"][data-page-tone="deep"] .page-running:before{background:var(--page-paper)}
.booklet-page[data-template="swiss"][data-page-tone="deep"] .running-section{color:var(--page-paper)}
.booklet-page[data-template="swiss"][data-page-tone="deep"] .page-footer{border-top-color:var(--page-paper)}
.booklet-page[data-template="swiss"][data-page-tone="deep"] .footer-folio b{color:var(--page-paper)}
.booklet-page[data-template="swiss"][data-page-type="contents"] .contents-list{margin-top:25px;display:grid;align-content:start;border-top:3px solid var(--page-accent)}
.booklet-page[data-template="swiss"][data-page-type="contents"] .contents-row{min-height:61px;display:grid;grid-template-columns:42px minmax(0,1fr) 74px;align-items:baseline;gap:13px;padding:11px 0;border-bottom:1px solid var(--page-ink)}
.booklet-page[data-template="swiss"][data-page-type="contents"] .contents-number{color:var(--page-accent);font:800 1.45em/1 var(--sans);letter-spacing:-.05em}
.booklet-page[data-template="swiss"][data-page-type="contents"] .contents-title{font:700 1.02em/1.25 var(--sans)}
.booklet-page[data-template="swiss"][data-page-type="contents"] .contents-type{justify-self:end;color:var(--page-muted);font:700 13px/1.2 var(--sans);text-align:right}



/* Dark academia: nocturnal scholarly publication with restrained antique-gold notation. */
.swatch-academia{background:linear-gradient(155deg,#1b1614 0 56%,#b59657 57% 69%,#e4dac6 70%)}
.booklet-page[data-template="academia"]{
  --page-paper:#1b1614;--page-ink:#e4dac6;--page-accent:#b59657;--page-accent-2:#715b40;--page-line:#56483a;--page-muted:#aa9d88;
  --tone-deep:var(--page-paper);--tone-on-deep:var(--page-ink);--tone-deep-line:var(--page-line);
  color:var(--page-ink);background:var(--page-paper);border-color:var(--page-line);font-family:var(--serif)
}
.booklet-page[data-template="academia"][data-page-tone="paper"],.booklet-page[data-template="academia"][data-page-tone="deep"]{color:var(--page-ink);background:var(--page-paper)}
.booklet-page[data-template="academia"] .page-shell{grid-template-rows:26px minmax(0,1fr) 25px;gap:18px;padding:24px 24px 20px}
.booklet-page[data-template="academia"] .page-running{padding-bottom:9px;border-bottom:1px solid var(--page-line);color:var(--page-muted);font-family:"OC Bodoni Moda",var(--serif);font-weight:600;letter-spacing:.12em}
.booklet-page[data-template="academia"] .running-section{color:var(--page-accent)}
.booklet-page[data-template="academia"] .page-footer{padding-top:8px;border-top:1px solid var(--page-line);color:var(--page-muted);font-family:"OC Bodoni Moda",var(--serif);letter-spacing:.1em}
.booklet-page[data-template="academia"] .footer-folio b{color:var(--page-accent);font:500 1.55em/1 "OC Bodoni Moda",var(--serif)}
.booklet-page[data-template="academia"] :is(.cover-kicker,.page-kicker,.object-index,.object-meta,.object-origin,.object-tags span,.collection-heading>span){color:var(--page-accent);font-family:"OC Bodoni Moda",var(--serif);font-weight:600;letter-spacing:.1em}
.booklet-page[data-template="academia"] :is(.cover-copy h1,.page-heading h1,.collection-heading h1,.object-copy h2,.section-layout h1,.back-layout h1){color:var(--page-ink);font-family:"OC Bodoni Moda",var(--serif);font-weight:500;letter-spacing:-.025em}
.booklet-page[data-template="academia"] .cover-layout{display:grid;grid-template-columns:minmax(0,46%) minmax(0,54%);grid-template-rows:minmax(0,1fr) auto;gap:22px 16px}
.booklet-page[data-template="academia"] .cover-copy{grid-column:1;grid-row:1;align-self:center;padding:0}
.booklet-page[data-template="academia"] .cover-copy:before{content:"";display:block;width:48px;margin-bottom:24px;border-top:1px solid var(--page-accent)}
.booklet-page[data-template="academia"] .cover-copy h1{margin:15px 0 14px;font-size:2.25em;line-height:1.05}
.booklet-page[data-template="academia"] .cover-copy p{color:var(--page-muted);font-family:var(--serif);font-weight:500;line-height:1.65}
.booklet-page[data-template="academia"] .cover-image{grid-column:2;grid-row:1;width:100%;height:82%;align-self:center;color:var(--page-accent);background:color-mix(in srgb,var(--page-accent) 11%,var(--page-paper));border:1px solid var(--page-line);border-radius:110px 110px 0 0}
.booklet-page[data-template="academia"] .cover-meta{grid-column:1/-1;grid-row:2;margin:0;padding-top:12px;border-top:1px solid var(--page-line);color:var(--page-muted);font-family:"OC Bodoni Moda",var(--serif);letter-spacing:.06em}
.booklet-page[data-template="academia"] .page-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:14px;padding-bottom:12px;border-bottom:1px solid var(--page-line)}
.booklet-page[data-template="academia"] .page-heading h1{grid-column:1;grid-row:1;margin:0;font-size:1.95em}
.booklet-page[data-template="academia"] .page-heading .page-kicker{grid-column:2;grid-row:1;text-align:right}
.booklet-page[data-template="academia"] .intro-layout,.booklet-page[data-template="academia"] .feature-layout{gap:23px}
.booklet-page[data-template="academia"] .intro-body{grid-template-columns:43% minmax(0,1fr);grid-template-rows:minmax(0,1fr);gap:18px}
.booklet-page[data-template="academia"] .intro-body .page-image{height:68%;align-self:start;border:1px solid var(--page-line);border-radius:90px 90px 0 0}
.booklet-page[data-template="academia"] .feature-body{grid-template-columns:minmax(0,1fr) 43%;grid-template-rows:minmax(0,1fr)!important;gap:18px!important}
.booklet-page[data-template="academia"] .feature-body .page-image{grid-column:2;grid-row:1;height:72%;align-self:end;border:1px solid var(--page-line);border-radius:90px 90px 0 0}
.booklet-page[data-template="academia"] .feature-body .prose{grid-column:1;grid-row:1;padding-right:17px;border-right:1px solid var(--page-line)}
.booklet-page[data-template="academia"] .page-image{color:var(--page-accent);background:color-mix(in srgb,var(--page-accent) 9%,var(--page-paper))}
.booklet-page[data-template="academia"] .prose{color:var(--page-ink);font-family:var(--serif);line-height:1.85}
.booklet-page[data-template="academia"] .quote{padding:14px 0 14px 17px;border:0;border-left:1px solid var(--page-accent);color:var(--page-accent);font-family:var(--serif);font-weight:600}
.booklet-page[data-template="academia"] .collection-heading{align-items:end;padding:0 0 12px;border-bottom:1px solid var(--page-line)}
.booklet-page[data-template="academia"] .collection-heading h1{font-size:1.8em}
.booklet-page[data-template="academia"] .collection-grid{gap:12px;padding-top:14px}
.booklet-page[data-template="academia"] .object-card{border:1px solid var(--page-line);background:color-mix(in srgb,var(--page-ink) 3%,var(--page-paper))}
.booklet-page[data-template="academia"] .object-image{color:var(--page-accent);background:color-mix(in srgb,var(--page-accent) 10%,var(--page-paper));font-family:"OC Bodoni Moda",var(--serif);font-weight:500}
.booklet-page[data-template="academia"] .object-copy{padding:15px}
.booklet-page[data-template="academia"] .object-copy h2{font-size:1.3em}
.booklet-page[data-template="academia"] .object-meta{color:var(--page-muted)}
.booklet-page[data-template="academia"] .object-description{color:var(--page-ink);font-family:var(--serif);line-height:1.65}
.booklet-page[data-template="academia"] .object-tags span{padding:4px 0;border:0;border-bottom:1px solid var(--page-line);color:var(--page-muted)}
.booklet-page[data-template="academia"] .collection-grid[data-density="single"] .object-card{grid-template-columns:minmax(0,48%) minmax(0,52%);grid-template-rows:1fr}
.booklet-page[data-template="academia"] .collection-grid[data-density="single"] .object-image{grid-column:2;grid-row:1;margin:20px 18px 20px 0;border:1px solid var(--page-line);border-radius:120px 120px 0 0}
.booklet-page[data-template="academia"] .collection-grid[data-density="single"] .object-copy{grid-column:1;grid-row:1;align-self:center;padding:22px 17px}
.booklet-page[data-template="academia"] .collection-grid[data-density="double"] .object-card{grid-template-columns:122px minmax(0,1fr)}
.booklet-page[data-template="academia"] .collection-grid[data-density="double"] .object-card:nth-child(even){grid-template-columns:minmax(0,1fr) 122px}
.booklet-page[data-template="academia"] .collection-grid[data-density="double"] .object-card:nth-child(even) .object-image{grid-column:2;grid-row:1}
.booklet-page[data-template="academia"] .collection-grid[data-density="double"] .object-card:nth-child(even) .object-copy{grid-column:1;grid-row:1}
.booklet-page[data-template="academia"] .collection-grid[data-density="triple"]{gap:9px}
.booklet-page[data-template="academia"] .collection-grid[data-density="triple"] .object-card{grid-template-columns:90px minmax(0,1fr)}
.booklet-page[data-template="academia"] .section-layout{position:relative;justify-content:flex-end;padding:0 0 56px 30%}
.booklet-page[data-template="academia"] .section-layout:after{content:"";position:absolute;left:30%;right:0;bottom:36px;border-top:1px solid var(--page-accent)}
.booklet-page[data-template="academia"] .section-number{position:absolute;left:0;top:46px;color:var(--page-accent);font:500 5.7em/.8 "OC Bodoni Moda",var(--serif);opacity:.72}
.booklet-page[data-template="academia"] .section-layout h1{font-size:2.45em;line-height:1.12}
.booklet-page[data-template="academia"] .section-layout p{color:var(--page-muted);font-family:var(--serif)}
.booklet-page[data-template="academia"] .back-layout{justify-content:center;gap:42px;margin:0 15px;padding:45px 24px;border-block:1px solid var(--page-line);text-align:center}
.booklet-page[data-template="academia"] .back-layout h1{font-size:2.2em}
.booklet-page[data-template="academia"] .back-layout p{color:var(--page-ink);font-family:var(--serif)}
.booklet-page[data-template="academia"] .back-meta{border-top:1px solid var(--page-line);color:var(--page-muted);font-family:"OC Bodoni Moda",var(--serif)}
.booklet-page[data-template="academia"][data-page-tone="deep"] :is(.page-running,.page-footer,.cover-copy h1,.cover-copy p,.cover-meta,.section-layout h1,.section-layout p,.back-layout h1,.back-layout p,.back-meta){color:inherit}
.booklet-page[data-template="academia"][data-page-tone="deep"] :is(.cover-kicker,.page-kicker,.section-number){color:var(--page-accent);opacity:1}
.booklet-page[data-template="academia"][data-page-tone="deep"] .cover-image{color:var(--page-accent);background:color-mix(in srgb,var(--page-accent) 11%,var(--page-paper))}
.booklet-page[data-template="academia"][data-page-type="contents"] .contents-layout{padding:8px 0}
.booklet-page[data-template="academia"][data-page-type="contents"] .page-heading{display:block;padding-bottom:19px;text-align:center;border-bottom:1px solid var(--page-accent)}
.booklet-page[data-template="academia"][data-page-type="contents"] .page-heading h1{margin-top:9px;font-size:2.15em}
.booklet-page[data-template="academia"][data-page-type="contents"] .contents-list{margin-top:25px;display:grid;align-content:start;border:0}
.booklet-page[data-template="academia"][data-page-type="contents"] .contents-row{min-height:61px;display:grid;grid-template-columns:48px 1px minmax(0,1fr);grid-template-rows:auto auto;align-items:center;column-gap:14px;padding:8px 0;border:0}
.booklet-page[data-template="academia"][data-page-type="contents"] .contents-row:before{content:"";grid-column:2;grid-row:1/3;align-self:stretch;background:var(--page-line)}
.booklet-page[data-template="academia"][data-page-type="contents"] .contents-number{grid-column:1;grid-row:1/3;color:var(--page-accent);font:500 1.9em/1 "OC Bodoni Moda",var(--serif);text-align:right}
.booklet-page[data-template="academia"][data-page-type="contents"] .contents-title{grid-column:3;grid-row:1;font:600 1.05em/1.3 var(--serif)}
.booklet-page[data-template="academia"][data-page-type="contents"] .contents-type{grid-column:3;grid-row:2;margin-top:5px;color:var(--page-muted);font:500 13px/1.2 "OC Bodoni Moda",var(--serif);letter-spacing:.08em}



/* Luxury edition: monochrome high-fashion editorial with Bodoni display type. */
.swatch-luxury{background:linear-gradient(155deg,#f2f1ee 0 56%,#8c8882 57% 67%,#252421 68%)}
.booklet-page[data-template="luxury"]{
  --page-paper:#f2f1ee;--page-ink:#1c1b19;--page-accent:#252421;--page-accent-2:#8c8882;--page-line:#c8c5bf;--page-muted:#706d68;
  --tone-deep:var(--page-accent);--tone-on-deep:var(--page-paper);--tone-deep-line:color-mix(in srgb,var(--page-paper) 34%,var(--page-accent));
  font-family:var(--serif)
}
.booklet-page[data-template="luxury"] .page-shell{grid-template-rows:24px minmax(0,1fr) 26px;gap:19px;padding:25px 24px 20px}
.booklet-page[data-template="luxury"] .page-running{padding-bottom:10px;border-bottom:1px solid var(--page-line);font-family:"OC Bodoni Moda",var(--serif);font-weight:500;letter-spacing:.12em}
.booklet-page[data-template="luxury"] .running-section{color:var(--page-ink);font-family:var(--sans);font-weight:600;letter-spacing:.04em}
.booklet-page[data-template="luxury"] .page-footer{padding-top:9px;border-top:1px solid var(--page-line);font-family:var(--sans);font-weight:600;letter-spacing:.04em}
.booklet-page[data-template="luxury"] .footer-folio{gap:7px;font-family:"OC Bodoni Moda",var(--serif)}
.booklet-page[data-template="luxury"] .footer-folio b{color:var(--page-ink);font-size:1.55em;font-weight:500}
.booklet-page[data-template="luxury"] :is(.cover-copy h1,.page-heading h1,.collection-heading h1,.object-copy h2,.section-layout h1,.back-layout h1){font-family:"OC Bodoni Moda",var(--serif);font-weight:500;letter-spacing:-.035em}
.booklet-page[data-template="luxury"] :is(.cover-kicker,.page-kicker,.object-index,.object-meta,.object-origin,.object-tags span,.collection-heading>span){font-family:var(--sans);font-weight:600;letter-spacing:.08em}
.booklet-page[data-template="luxury"] .cover-layout{display:grid;grid-template-columns:minmax(0,1fr) 72px;grid-template-rows:auto minmax(0,1fr) auto;gap:20px 14px;text-align:left}
.booklet-page[data-template="luxury"] .cover-copy{grid-column:1/-1;grid-row:1;padding:10px 0 0}
.booklet-page[data-template="luxury"] .cover-copy h1{max-width:330px;margin:12px 0 11px;font-size:2.75em;line-height:.96}
.booklet-page[data-template="luxury"] .cover-copy p{max-width:270px;color:var(--tone-deep-line);font-family:var(--serif);font-weight:500;line-height:1.55}
.booklet-page[data-template="luxury"] .cover-kicker{color:var(--tone-on-deep)}
.booklet-page[data-template="luxury"] .cover-image{grid-column:1/-1;grid-row:2;width:calc(100% + 24px);height:auto;margin-left:-24px;color:var(--page-accent);background:var(--page-paper);border:0}
.booklet-page[data-template="luxury"] .cover-meta{grid-column:1/-1;grid-row:3;margin:0;color:var(--tone-deep-line);font-family:var(--sans);font-weight:600;letter-spacing:.04em}
.booklet-page[data-template="luxury"] .page-heading{display:grid;grid-template-columns:minmax(0,1fr) 86px;align-items:end;gap:16px;padding-bottom:13px;border-bottom:1px solid var(--page-ink)}
.booklet-page[data-template="luxury"] .page-heading h1{grid-column:1;grid-row:1;margin:0;font-size:2.15em;line-height:1}
.booklet-page[data-template="luxury"] .page-heading .page-kicker{grid-column:2;grid-row:1;color:var(--page-muted);text-align:right}
.booklet-page[data-template="luxury"] .intro-layout,.booklet-page[data-template="luxury"] .feature-layout{gap:24px}
.booklet-page[data-template="luxury"] .intro-body{grid-template-columns:minmax(0,1fr) 132px;grid-template-rows:minmax(0,1fr);gap:22px}
.booklet-page[data-template="luxury"] .intro-body .page-image{grid-column:2;grid-row:1;height:62%;align-self:start;color:var(--page-paper);background:var(--page-accent)}
.booklet-page[data-template="luxury"] .intro-body>div:last-child{grid-column:1;grid-row:1;padding-right:18px;border-right:1px solid var(--page-line)}
.booklet-page[data-template="luxury"] .feature-body{grid-template-columns:56% minmax(0,1fr);grid-template-rows:minmax(0,1fr)!important;gap:22px!important}
.booklet-page[data-template="luxury"] .feature-body .page-image{grid-column:1;grid-row:1;height:100%;color:var(--page-paper);background:var(--page-accent)}
.booklet-page[data-template="luxury"] .feature-body .prose{grid-column:2;grid-row:1;align-self:end;padding:16px 0;border-block:1px solid var(--page-line)}
.booklet-page[data-template="luxury"] .prose{font-family:var(--serif);line-height:1.85}
.booklet-page[data-template="luxury"] .quote{margin-top:24px;padding:17px 0;border:0;border-top:1px solid var(--page-ink);color:var(--page-ink);font-family:"OC Bodoni Moda",var(--serif);font-weight:500;line-height:1.6}
.booklet-page[data-template="luxury"] .collection-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:16px;padding-bottom:13px;border-bottom:1px solid var(--page-ink)}
.booklet-page[data-template="luxury"] .collection-heading h1{margin-top:7px;font-size:1.95em}
.booklet-page[data-template="luxury"] .collection-heading>span{align-self:end;color:var(--page-muted)}
.booklet-page[data-template="luxury"] .collection-grid{gap:13px;padding-top:16px}
.booklet-page[data-template="luxury"] .object-card{border:0;background:transparent}
.booklet-page[data-template="luxury"] .object-image{color:var(--page-paper);background:var(--page-accent);font-family:"OC Bodoni Moda",var(--serif);font-weight:500}
.booklet-page[data-template="luxury"] .object-copy{padding:15px 0}
.booklet-page[data-template="luxury"] .object-index{padding-bottom:9px;border-bottom:1px solid var(--page-line);color:var(--page-muted)}
.booklet-page[data-template="luxury"] .object-index b{color:var(--page-ink);font-weight:600}
.booklet-page[data-template="luxury"] .object-copy h2{margin-top:13px;font-size:1.42em;line-height:1.08}
.booklet-page[data-template="luxury"] .object-meta{color:var(--page-muted);font-family:var(--sans);font-weight:500;letter-spacing:0}
.booklet-page[data-template="luxury"] .object-description{font-family:var(--serif);line-height:1.7}
.booklet-page[data-template="luxury"] .object-tags span{padding:4px 0;border:0;border-bottom:1px solid var(--page-line);color:var(--page-muted);letter-spacing:.04em}
.booklet-page[data-template="luxury"] .collection-grid[data-density="single"] .object-card{grid-template-columns:58% minmax(0,42%);grid-template-rows:1fr}
.booklet-page[data-template="luxury"] .collection-grid[data-density="single"] .object-image{grid-column:1;grid-row:1}
.booklet-page[data-template="luxury"] .collection-grid[data-density="single"] .object-copy{grid-column:2;grid-row:1;align-self:end;padding:20px 0 18px 18px}
.booklet-page[data-template="luxury"] .collection-grid[data-density="double"]{grid-template-rows:repeat(2,minmax(0,1fr));gap:15px}
.booklet-page[data-template="luxury"] .collection-grid[data-density="double"] .object-card{display:grid;grid-template-columns:47% minmax(0,1fr);border-top:1px solid var(--page-ink)}
.booklet-page[data-template="luxury"] .collection-grid[data-density="double"] .object-card:nth-child(even){grid-template-columns:minmax(0,1fr) 47%}
.booklet-page[data-template="luxury"] .collection-grid[data-density="double"] .object-card:nth-child(even) .object-image{grid-column:2;grid-row:1}
.booklet-page[data-template="luxury"] .collection-grid[data-density="double"] .object-card:nth-child(even) .object-copy{grid-column:1;grid-row:1;padding-right:17px}
.booklet-page[data-template="luxury"] .collection-grid[data-density="double"] .object-card:nth-child(odd) .object-copy{padding-left:17px}
.booklet-page[data-template="luxury"] .collection-grid[data-density="triple"]{grid-template-columns:54% minmax(0,46%);grid-template-rows:repeat(2,minmax(0,1fr));gap:11px}
.booklet-page[data-template="luxury"] .collection-grid[data-density="triple"] .object-card{display:grid;grid-template-columns:1fr;grid-template-rows:42% minmax(0,1fr);border-top:1px solid var(--page-ink)}
.booklet-page[data-template="luxury"] .collection-grid[data-density="triple"] .object-card:first-child{grid-column:1;grid-row:1/3;grid-template-rows:58% minmax(0,1fr)}
.booklet-page[data-template="luxury"] .collection-grid[data-density="triple"] .object-card:nth-child(2){grid-column:2;grid-row:1}
.booklet-page[data-template="luxury"] .collection-grid[data-density="triple"] .object-card:nth-child(3){grid-column:2;grid-row:2}
.booklet-page[data-template="luxury"] .collection-grid[data-density="triple"] .object-copy{padding:10px 0}
.booklet-page[data-template="luxury"] .collection-grid[data-density="triple"] .object-copy h2{font-size:1.05em}
.booklet-page[data-template="luxury"] .section-layout{position:relative;justify-content:flex-end;padding:0 0 62px 26%}
.booklet-page[data-template="luxury"] .section-layout:after{content:"";position:absolute;left:26%;right:0;bottom:39px;border-top:1px solid var(--tone-deep-line)}
.booklet-page[data-template="luxury"] .section-number{position:absolute;left:-5px;top:54px;color:var(--tone-deep-line);font:500 7.5em/.8 "OC Bodoni Moda",var(--serif);letter-spacing:-.07em}
.booklet-page[data-template="luxury"] .section-layout h1{margin-top:16px;font-size:2.8em;line-height:1}
.booklet-page[data-template="luxury"] .section-layout p{max-width:260px;color:var(--tone-deep-line);font-family:var(--serif);line-height:1.7}
.booklet-page[data-template="luxury"] .back-layout{justify-content:center;gap:35px;margin:0 15px;padding:52px 24px;border-inline:1px solid var(--tone-deep-line);text-align:center}
.booklet-page[data-template="luxury"] .back-layout h1{margin-top:11px;font-size:2.35em;line-height:1.04}
.booklet-page[data-template="luxury"] .back-layout p{color:var(--tone-deep-line);font-family:var(--serif);line-height:1.75}
.booklet-page[data-template="luxury"] .back-meta{padding-top:16px;border-top:1px solid var(--tone-deep-line);color:var(--tone-deep-line);font-family:var(--sans);font-weight:500;letter-spacing:.04em}
.booklet-page[data-template="luxury"][data-page-tone="deep"] :is(.page-running,.page-footer,.cover-copy h1,.section-layout h1,.back-layout h1){color:var(--tone-on-deep)}
.booklet-page[data-template="luxury"][data-page-tone="deep"] :is(.page-running,.page-footer){border-color:var(--tone-deep-line)}
.booklet-page[data-template="luxury"][data-page-tone="deep"] :is(.running-section,.footer-folio b,.page-kicker){color:var(--tone-on-deep)}
.booklet-page[data-template="luxury"][data-page-type="contents"] .contents-layout{padding-top:5px}
.booklet-page[data-template="luxury"][data-page-type="contents"] .page-heading{display:block;padding:0 0 22px;border-bottom:1px solid var(--page-ink)}
.booklet-page[data-template="luxury"][data-page-type="contents"] .page-heading .page-kicker{text-align:left}
.booklet-page[data-template="luxury"][data-page-type="contents"] .page-heading h1{margin-top:11px;font-size:2.65em}
.booklet-page[data-template="luxury"][data-page-type="contents"] .contents-list{margin-top:18px;display:grid;align-content:start;border:0}
.booklet-page[data-template="luxury"][data-page-type="contents"] .contents-row{min-height:68px;display:grid;grid-template-columns:70px minmax(0,1fr);grid-template-rows:auto auto;align-content:center;column-gap:14px;padding:9px 0;border:0;border-bottom:1px solid var(--page-line)}
.booklet-page[data-template="luxury"][data-page-type="contents"] .contents-number{grid-column:1;grid-row:1/3;color:var(--page-ink);font:500 2.35em/.9 "OC Bodoni Moda",var(--serif);letter-spacing:-.05em}
.booklet-page[data-template="luxury"][data-page-type="contents"] .contents-title{grid-column:2;grid-row:1;font:500 1.1em/1.25 "OC Bodoni Moda",var(--serif)}
.booklet-page[data-template="luxury"][data-page-type="contents"] .contents-type{grid-column:2;grid-row:2;margin-top:6px;color:var(--page-muted);font:600 13px/1.2 var(--sans);letter-spacing:.04em}
/* Contents distinction pass for templates 5-8. */
.booklet-page[data-template="zine"][data-page-type="contents"] .contents-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;border-top:0}
.booklet-page[data-template="zine"][data-page-type="contents"] .contents-row{min-height:92px;grid-template-columns:45px minmax(0,1fr);grid-template-rows:auto 1fr;padding:10px;border:2px solid var(--page-ink)}
.booklet-page[data-template="zine"][data-page-type="contents"] .contents-row:first-child{grid-column:1/-1;min-height:112px;grid-template-columns:78px minmax(0,1fr);color:var(--page-paper);background:var(--page-ink)}
.booklet-page[data-template="zine"][data-page-type="contents"] .contents-row:first-child :is(.contents-number,.contents-type){color:var(--page-paper)}
.booklet-page[data-template="zine"][data-page-type="contents"] .contents-number{grid-row:1/3;align-self:start}
.booklet-page[data-template="zine"][data-page-type="contents"] .contents-type{grid-column:2;grid-row:2;align-self:end;justify-self:start;text-align:left}

.booklet-page[data-template="swiss"][data-page-type="contents"] .contents-list{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:132px;gap:0;border-top:1px solid var(--page-ink);border-left:1px solid var(--page-ink)}
.booklet-page[data-template="swiss"][data-page-type="contents"] .contents-row{min-height:0;grid-template-columns:1fr;grid-template-rows:42px minmax(0,1fr) auto;align-items:start;gap:0;padding:12px 10px 11px;border:0;border-right:1px solid var(--page-ink);border-bottom:1px solid var(--page-ink)}
.booklet-page[data-template="swiss"][data-page-type="contents"] .contents-row:first-child{grid-column:span 2;grid-template-columns:64px minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto}
.booklet-page[data-template="swiss"][data-page-type="contents"] .contents-number{grid-row:1;color:var(--page-accent);font-size:2.05em}
.booklet-page[data-template="swiss"][data-page-type="contents"] .contents-row:first-child .contents-number{grid-column:1;grid-row:1/3;font-size:3.2em}
.booklet-page[data-template="swiss"][data-page-type="contents"] .contents-title{grid-row:2;align-self:start;overflow-wrap:anywhere}
.booklet-page[data-template="swiss"][data-page-type="contents"] .contents-row:first-child .contents-title{grid-column:2;grid-row:1;align-self:end;font-size:1.2em}
.booklet-page[data-template="swiss"][data-page-type="contents"] .contents-type{grid-row:3;justify-self:start;text-align:left}
.booklet-page[data-template="swiss"][data-page-type="contents"] .contents-row:first-child .contents-type{grid-column:2;grid-row:2}

.booklet-page[data-template="academia"][data-page-type="contents"] .contents-list{position:relative;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px;margin-top:28px}
.booklet-page[data-template="academia"][data-page-type="contents"] .contents-list:before{content:"";position:absolute;left:50%;top:0;bottom:0;border-left:1px solid var(--page-line)}
.booklet-page[data-template="academia"][data-page-type="contents"] .contents-row{min-height:86px;grid-template-columns:42px minmax(0,1fr);grid-template-rows:auto auto;align-content:center;column-gap:10px;padding:10px 0;border-bottom:1px solid var(--page-line)}
.booklet-page[data-template="academia"][data-page-type="contents"] .contents-row:before{display:none}
.booklet-page[data-template="academia"][data-page-type="contents"] .contents-number{grid-column:1;grid-row:1/3;align-self:start;font-size:1.65em;text-align:left}
.booklet-page[data-template="academia"][data-page-type="contents"] .contents-title{grid-column:2;grid-row:1}
.booklet-page[data-template="academia"][data-page-type="contents"] .contents-type{grid-column:2;grid-row:2}

.booklet-page[data-template="luxury"][data-page-type="contents"] .contents-list{margin-top:24px}
.booklet-page[data-template="luxury"][data-page-type="contents"] .contents-row{min-height:70px;grid-template-columns:minmax(0,1fr) 76px;grid-template-rows:auto auto;column-gap:18px;padding:11px 0;border-bottom:0;border-top:1px solid var(--page-line)}
.booklet-page[data-template="luxury"][data-page-type="contents"] .contents-row:first-child{min-height:112px;grid-template-columns:minmax(0,1fr) 118px;padding:15px 0}
.booklet-page[data-template="luxury"][data-page-type="contents"] .contents-number{grid-column:2;grid-row:1/3;align-self:center;color:var(--page-ink);font-size:2.65em;text-align:right}
.booklet-page[data-template="luxury"][data-page-type="contents"] .contents-row:first-child .contents-number{font-size:5em}
.booklet-page[data-template="luxury"][data-page-type="contents"] .contents-title{grid-column:1;grid-row:1;align-self:end}
.booklet-page[data-template="luxury"][data-page-type="contents"] .contents-row:first-child .contents-title{font-size:1.55em}
.booklet-page[data-template="luxury"][data-page-type="contents"] .contents-type{grid-column:1;grid-row:2;align-self:start}
/* Editorial refinement: quieter colour and hairline hierarchy. */
.booklet-page[data-template="editorial"] .page-running:after{border-top-width:1px}
.booklet-page[data-template="editorial"] .page-heading{border-bottom-width:1px}
.booklet-page[data-template="editorial"] .collection-heading{padding:0 0 12px;color:var(--page-ink);background:transparent;border-bottom:1px solid var(--page-line)}
.booklet-page[data-template="editorial"] .collection-heading :is(.page-kicker,span){color:var(--page-muted)}
.booklet-page[data-template="editorial"] .collection-grid[data-density="single"] .object-copy{border-left-width:1px}
.booklet-page[data-template="editorial"] .section-layout{background:none;border-left:1px solid var(--tone-deep-line)}
.booklet-page[data-template="editorial"] .back-layout{border-left-width:1px}
.booklet-page[data-template="editorial"][data-page-type="contents"] .contents-row{border-top-width:1px;border-top-color:var(--page-line)}
.booklet-page[data-template="editorial"][data-page-type="contents"] .contents-row:first-child{border-top-width:1px}
/* Export-stable tags and ratio-driven crop frame. */
.booklet-page[data-template] .object-tags{min-height:24px;align-items:flex-start;align-content:flex-start;gap:5px}
.booklet-page[data-template] .object-tags span{box-sizing:border-box;flex:none;height:24px;padding-block:0;display:inline-flex;align-items:center;justify-content:center;line-height:1;white-space:nowrap}
.booklet-page[data-template] .object-origin{font-size:11px}
.crop-stage{aspect-ratio:auto}
/* Cabinet cover: keep the preview and html-to-image grid geometry identical. */
.booklet-page[data-template="classical"][data-page-type="cover"]:before{
  box-shadow:none;
}
.booklet-page[data-template="classical"][data-page-type="cover"]:after{
  content:"";
  position:absolute;
  z-index:0;
  inset:17px;
  border:1px solid var(--page-line);
  pointer-events:none;
}
.booklet-page[data-template="classical"][data-page-type="cover"] .cover-layout{
  grid-template-rows:auto minmax(0,1fr) auto;
  gap:18px;
  min-width:0;
  min-height:0;
}
.booklet-page[data-template="classical"][data-page-type="cover"] .cover-copy{
  align-self:start;
  min-width:0;
  min-height:0;
}
.booklet-page[data-template="classical"][data-page-type="cover"] .cover-image{
  box-sizing:border-box;
  width:78%;
  height:100%;
  min-width:0;
  min-height:0;
  margin:0;
  padding:5px;
  align-self:stretch;
  justify-self:center;
  border:1px solid var(--page-line);
  outline:0;
  box-shadow:none;
  background:var(--page-paper);
}
.booklet-page[data-template="classical"][data-page-type="cover"] .cover-image img{
  display:block;
  width:100%;
  height:100%;
}
.booklet-page[data-template="classical"][data-page-type="cover"] .cover-meta{
  position:static;
  align-self:end;
  min-width:0;
}
.booklet-page[data-template="classical"][data-page-type="cover"][data-page-tone="deep"]:before{
  border-color:var(--tone-on-deep);
}
.booklet-page[data-template="classical"][data-page-type="cover"][data-page-tone="deep"]:after{
  border-color:var(--tone-deep-line);
}
.booklet-page[data-template="classical"][data-page-type="cover"][data-page-tone="deep"] .cover-image{
  border-color:var(--tone-on-deep);
}
/* Pure text page: shared reading structure with template-specific compositions. */
.text-layout{height:100%;min-width:0;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:18px}
.text-heading{min-width:0}.text-heading h1{margin:9px 0 0;font:700 2em/1.12 var(--serif);overflow-wrap:anywhere}.text-deck{margin:15px 0 0;color:var(--page-accent);font:600 1.02em/1.65 var(--serif);overflow-wrap:anywhere}.text-body{min-width:0;min-height:0;color:var(--page-ink);font:1em/1.8 var(--serif);text-align:justify;overflow-wrap:anywhere}.text-body p{margin:0 0 1.05em}.text-body p:last-child{margin-bottom:0}.text-credit{min-width:0;margin:0;padding-top:11px;border-top:1px solid var(--page-line);color:var(--page-muted);font:600 13px/1.5 var(--serif);overflow-wrap:anywhere}

/* Modern institutional: title rail beside a quiet reading column. */
.booklet-page[data-template="modern"][data-page-type="text"] .text-layout{grid-template-columns:108px minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto;gap:18px 20px}
.booklet-page[data-template="modern"][data-page-type="text"] .text-heading{grid-column:1;grid-row:1/3;padding-right:17px;border-right:1px solid var(--page-line)}
.booklet-page[data-template="modern"][data-page-type="text"] .text-heading h1{margin-top:22px;font-family:var(--sans);font-size:2em;line-height:1.08}
.booklet-page[data-template="modern"][data-page-type="text"] .text-deck{margin-top:23px;color:var(--page-muted);font-family:var(--serif);font-size:.95em;line-height:1.7}
.booklet-page[data-template="modern"][data-page-type="text"] .text-body{grid-column:2;grid-row:1;padding-top:1px;font-size:.96em;line-height:1.86}
.booklet-page[data-template="modern"][data-page-type="text"] .text-credit{grid-column:2;grid-row:2;font-family:var(--sans);text-align:right}

/* Classical cabinet: centered heading and a book-like indented text block. */
.booklet-page[data-template="classical"][data-page-type="text"] .text-layout{gap:21px;padding:7px 7px 2px}
.booklet-page[data-template="classical"][data-page-type="text"] .text-heading{text-align:center}
.booklet-page[data-template="classical"][data-page-type="text"] .text-heading h1{margin-top:12px;font-family:"OC Bodoni Moda",var(--serif);font-size:2.25em;font-weight:600}
.booklet-page[data-template="classical"][data-page-type="text"] .text-deck{margin:18px auto 0;padding:12px 17px;border-block:1px solid var(--page-line);font-size:.98em}
.booklet-page[data-template="classical"][data-page-type="text"] .text-body{width:88%;justify-self:center;font-size:.96em;line-height:1.95}
.booklet-page[data-template="classical"][data-page-type="text"] .text-body p{text-indent:2em}
.booklet-page[data-template="classical"][data-page-type="text"] .text-credit{width:88%;justify-self:center;text-align:right}

/* Research archive: typed header card with a two-column dossier body. */
.booklet-page[data-template="archive"][data-page-type="text"] .text-layout{grid-template-rows:auto minmax(0,1fr) auto;gap:15px;border-top:2px solid var(--page-ink)}
.booklet-page[data-template="archive"][data-page-type="text"] .text-heading{display:grid;grid-template-columns:minmax(0,1fr) 106px;grid-template-rows:auto auto;gap:9px 16px;padding-top:14px}
.booklet-page[data-template="archive"][data-page-type="text"] .text-heading .page-kicker{grid-column:1/-1}
.booklet-page[data-template="archive"][data-page-type="text"] .text-heading h1{grid-column:1;grid-row:2;margin:0;padding:9px 10px;color:var(--page-paper);background:var(--page-ink);font-family:var(--mono);font-size:1.55em;line-height:1.2}
.booklet-page[data-template="archive"][data-page-type="text"] .text-deck{grid-column:2;grid-row:2;margin:0;padding-left:11px;border-left:1px solid var(--page-ink);color:var(--page-ink);font-family:var(--mono);font-size:13px;line-height:1.55}
.booklet-page[data-template="archive"][data-page-type="text"] .text-body{padding-top:15px;border-top:1px solid var(--page-ink);column-count:2;column-gap:20px;column-rule:1px solid var(--page-line);font-size:.93em;line-height:1.75;text-align:left}
.booklet-page[data-template="archive"][data-page-type="text"] .text-credit{font-family:var(--mono);text-transform:uppercase}

/* Editorial: asymmetric headline/deck pair over balanced magazine columns. */
.booklet-page[data-template="editorial"][data-page-type="text"] .text-layout{grid-template-rows:auto minmax(0,1fr) auto;gap:22px}
.booklet-page[data-template="editorial"][data-page-type="text"] .text-heading{display:grid;grid-template-columns:44% minmax(0,1fr);grid-template-rows:auto auto;gap:10px 22px;padding-bottom:18px;border-bottom:1px solid var(--page-line)}
.booklet-page[data-template="editorial"][data-page-type="text"] .text-heading .page-kicker{grid-column:1/-1}
.booklet-page[data-template="editorial"][data-page-type="text"] .text-heading h1{grid-column:1;grid-row:2;margin:0;font-size:2.45em;line-height:.98}
.booklet-page[data-template="editorial"][data-page-type="text"] .text-deck{grid-column:2;grid-row:2;align-self:end;margin:0;color:var(--page-muted);font-size:.98em;line-height:1.65}
.booklet-page[data-template="editorial"][data-page-type="text"] .text-body{column-count:2;column-gap:24px;font-size:.95em;line-height:1.78}
.booklet-page[data-template="editorial"][data-page-type="text"] .text-body .text-first:first-letter{float:left;margin:4px 7px 0 0;color:var(--page-accent);font:500 3.1em/.78 "OC Bodoni Moda",var(--serif)}
.booklet-page[data-template="editorial"][data-page-type="text"] .text-credit{text-align:right}

/* Zine: graphic title block with compact independent columns. */
.booklet-page[data-template="zine"][data-page-type="text"] .text-layout{grid-template-rows:auto minmax(0,1fr) auto;gap:14px}
.booklet-page[data-template="zine"][data-page-type="text"] .text-heading{display:grid;grid-template-columns:minmax(0,1fr) 116px;gap:10px 12px;border-bottom:2px solid var(--page-ink)}
.booklet-page[data-template="zine"][data-page-type="text"] .text-heading .page-kicker{grid-column:1/-1}
.booklet-page[data-template="zine"][data-page-type="text"] .text-heading h1{grid-column:1;margin:0 0 12px;padding:10px 11px;color:var(--page-paper);background:var(--page-ink);font-family:var(--sans);font-size:1.8em;line-height:1.05}
.booklet-page[data-template="zine"][data-page-type="text"] .text-deck{grid-column:2;align-self:end;margin:0 0 12px;color:var(--page-ink);font-family:var(--sans);font-size:13px;line-height:1.5}
.booklet-page[data-template="zine"][data-page-type="text"] .text-body{column-count:2;column-gap:17px;font-family:var(--sans);font-size:.93em;line-height:1.68;text-align:left}
.booklet-page[data-template="zine"][data-page-type="text"] .text-body p{padding-top:8px;border-top:1px solid var(--page-ink)}
.booklet-page[data-template="zine"][data-page-type="text"] .text-credit{border-top:2px solid var(--page-ink);font-family:var(--mono);font-weight:700}

/* Swiss: strict modular rail with all reading content on one axis. */
.booklet-page[data-template="swiss"][data-page-type="text"] .text-layout{grid-template-columns:78px minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) auto;gap:19px 18px}
.booklet-page[data-template="swiss"][data-page-type="text"] .text-heading{grid-column:1/-1;display:grid;grid-template-columns:78px minmax(0,1fr);gap:18px;padding-bottom:17px;border-bottom:1px solid var(--page-ink)}
.booklet-page[data-template="swiss"][data-page-type="text"] .text-heading .page-kicker{grid-column:1;grid-row:1/3;align-self:start;color:var(--page-accent);font-family:var(--sans);line-height:1.4}
.booklet-page[data-template="swiss"][data-page-type="text"] .text-heading h1{grid-column:2;margin:0;font-family:var(--sans);font-size:2.25em;font-weight:800;line-height:1}
.booklet-page[data-template="swiss"][data-page-type="text"] .text-deck{grid-column:2;margin:11px 0 0;padding-left:12px;border-left:4px solid var(--page-accent);color:var(--page-ink);font-family:var(--sans);font-size:.94em;line-height:1.6}
.booklet-page[data-template="swiss"][data-page-type="text"] .text-body{grid-column:2;grid-row:2;font-family:var(--sans);font-size:.95em;line-height:1.78;text-align:left}
.booklet-page[data-template="swiss"][data-page-type="text"] .text-credit{grid-column:1/-1;grid-row:3;font-family:var(--sans);text-align:right}

/* Dark academia: restrained central essay with gold hierarchy. */
.booklet-page[data-template="academia"][data-page-type="text"] .text-layout{gap:22px;padding:12px 14px 7px}
.booklet-page[data-template="academia"][data-page-type="text"] .text-heading{text-align:center}
.booklet-page[data-template="academia"][data-page-type="text"] .text-heading:before{content:"";display:block;width:42px;margin:0 auto 19px;border-top:1px solid var(--page-accent)}
.booklet-page[data-template="academia"][data-page-type="text"] .text-heading h1{margin-top:13px;color:var(--page-ink);font-family:"OC Bodoni Moda",var(--serif);font-size:2.35em;font-weight:500;line-height:1.08}
.booklet-page[data-template="academia"][data-page-type="text"] .text-deck{width:88%;margin:17px auto 0;color:var(--page-accent);font-size:1em;line-height:1.72}
.booklet-page[data-template="academia"][data-page-type="text"] .text-body{width:86%;justify-self:center;font-size:.96em;line-height:1.92}
.booklet-page[data-template="academia"][data-page-type="text"] .text-body .text-first:first-letter{float:left;margin:5px 8px 0 0;color:var(--page-accent);font:500 3.3em/.76 "OC Bodoni Moda",var(--serif)}
.booklet-page[data-template="academia"][data-page-type="text"] .text-credit{width:86%;justify-self:center;color:var(--page-accent);font-family:"OC Bodoni Moda",var(--serif);text-align:center}

/* Refined luxury: open title field and two narrow reading columns. */
.booklet-page[data-template="luxury"][data-page-type="text"] .text-layout{grid-template-rows:auto minmax(0,1fr) auto;gap:25px;padding:8px 3px}
.booklet-page[data-template="luxury"][data-page-type="text"] .text-heading{display:grid;grid-template-columns:minmax(0,1fr) 126px;grid-template-rows:auto auto;gap:10px 22px;padding-bottom:19px;border-bottom:1px solid var(--page-line)}
.booklet-page[data-template="luxury"][data-page-type="text"] .text-heading .page-kicker{grid-column:1/-1}
.booklet-page[data-template="luxury"][data-page-type="text"] .text-heading h1{grid-column:1;grid-row:2;margin:0;font-family:"OC Bodoni Moda",var(--serif);font-size:2.55em;font-weight:500;line-height:.98}
.booklet-page[data-template="luxury"][data-page-type="text"] .text-deck{grid-column:2;grid-row:2;align-self:end;margin:0;color:var(--page-muted);font-size:.93em;line-height:1.62}
.booklet-page[data-template="luxury"][data-page-type="text"] .text-body{column-count:2;column-gap:25px;column-rule:1px solid var(--page-line);font-size:.95em;line-height:1.82}
.booklet-page[data-template="luxury"][data-page-type="text"] .text-credit{font-family:"OC Bodoni Moda",var(--serif);letter-spacing:.03em;text-align:right}
.contents-empty{margin:38px 0 0;padding:18px 0;border-block:1px solid var(--page-line);color:var(--page-muted);font:600 13px/1.6 var(--serif);text-align:center}
/* Research archive reset: a stable dossier cover and vertically balanced index cards. */
.booklet-page[data-template="archive"][data-page-type="cover"] .cover-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  grid-template-rows:auto minmax(0,1fr) auto;
  gap:18px;
  min-width:0;
  min-height:0;
  padding:14px 13px 13px;
  border:1px solid var(--tone-on-deep);
}
.booklet-page[data-template="archive"][data-page-type="cover"] .cover-copy{
  grid-column:1;
  grid-row:1;
  min-width:0;
  padding:0;
}
.booklet-page[data-template="archive"][data-page-type="cover"] .cover-copy h1{
  display:block;
  max-width:none;
  margin:10px 0 0;
  padding:0 0 13px;
  border-bottom:3px double var(--tone-on-deep);
  color:var(--tone-on-deep);
  background:transparent;
  font-family:var(--serif);
  font-size:2.25em;
  font-weight:700;
  line-height:1.08;
  text-transform:none;
}
.booklet-page[data-template="archive"][data-page-type="cover"] .cover-copy p{
  margin-top:11px;
  color:var(--tone-on-deep);
  font-family:var(--serif);
  line-height:1.55;
}
.booklet-page[data-template="archive"][data-page-type="cover"] .cover-image{
  grid-column:1;
  grid-row:2;
  align-self:stretch;
  width:100%;
  height:100%;
  min-width:0;
  min-height:0;
  margin:0;
  padding:6px;
  border:1px solid var(--tone-on-deep);
  background:var(--page-paper);
  box-shadow:none;
  transform:none;
}
.booklet-page[data-template="archive"][data-page-type="cover"] .cover-image img{
  display:block;
  width:100%;
  height:100%;
}
.booklet-page[data-template="archive"][data-page-type="cover"] .cover-meta{
  grid-column:1;
  grid-row:3;
  align-self:end;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:16px;
  min-width:0;
  margin:0;
  padding:11px 0 0;
  border:0;
  border-top:1px solid var(--tone-on-deep);
  color:var(--tone-on-deep);
}
.booklet-page[data-template="archive"][data-page-type="contents"] .contents-list{
  gap:9px;
}
.booklet-page[data-template="archive"][data-page-type="contents"] .contents-row{
  min-height:88px;
  grid-template-columns:52px minmax(0,1fr);
  grid-template-rows:auto auto;
  align-content:center;
  align-items:center;
  overflow:hidden;
}
.booklet-page[data-template="archive"][data-page-type="contents"] .contents-number{
  grid-column:1;
  grid-row:1/3;
  align-self:center;
  min-width:0;
  height:52px;
}
.booklet-page[data-template="archive"][data-page-type="contents"] .contents-title{
  grid-column:2;
  grid-row:1;
  align-self:end;
  padding:0 12px 3px;
  line-height:1.35;
}
.booklet-page[data-template="archive"][data-page-type="contents"] .contents-type{
  grid-column:2;
  grid-row:2;
  align-self:start;
  padding:3px 12px 0;
  line-height:1.25;
}
.booklet-page[data-template="archive"][data-page-type="contents"] .contents-type:empty{display:none}
/* Export-safe chapter numerals and a clearer modern chapter rhythm. */
.booklet-page[data-template="modern"][data-page-type="section"] .section-number{
  line-height:.92;
}
.booklet-page[data-template="modern"][data-page-type="section"] .section-number + .page-kicker{
  margin-top:8px;
}

/* Template 9: low-saturation pixel catalogue with export-stable, hard-edged geometry. */
.swatch-pixel{
  background:#d9d5cc;
  box-shadow:inset 0 18px #302b2a,inset 0 36px #875d57,inset 0 47px #b8a79e;
}
.booklet-page[data-template="pixel"]{
  --page-muted:color-mix(in srgb,var(--page-ink) 68%,var(--page-paper));
  --tone-deep:var(--page-ink);
  --tone-on-deep:var(--page-paper);
  --tone-deep-line:var(--page-accent-2);
  font-family:"PoxiaoPixel",var(--sans);
  background:var(--page-paper);
}
.booklet-page[data-template="pixel"]:before{
  content:"";
  position:absolute;
  z-index:0;
  inset:7px;
  border:2px solid color-mix(in srgb,var(--page-line) 74%,transparent);
  pointer-events:none;
}
.booklet-page[data-template="pixel"] :is(.page-running,.page-footer,.cover-kicker,.page-kicker,.cover-meta,.contents-row,.collection-heading,.object-index,.object-meta,.object-description,.object-origin,.object-tags span,.back-meta,.prose,.quote,.text-deck,.text-body,.text-credit){
  font-family:"PoxiaoPixel",var(--sans);
  font-weight:400;
  letter-spacing:0;
}
.booklet-page[data-template="pixel"] :is(.cover-copy h1,.page-heading h1,.collection-heading h1,.object-copy h2,.section-layout h1,.back-layout h1,.text-heading h1){
  font-family:"PoxiaoPixel",var(--sans);
  font-weight:400;
  letter-spacing:0;
}
.booklet-page[data-template="pixel"] :is(.page-running,.page-footer,.cover-kicker,.page-kicker,.cover-meta,.contents-row span,.collection-heading span,.object-index,.object-meta,.object-description,.object-origin,.object-tags span,.back-meta){
  font-size:max(13px,.93em);
  line-height:1.25;
}
.booklet-page[data-template="pixel"] .page-shell{
  grid-template-rows:32px minmax(0,1fr) 31px;
  gap:12px;
  padding:18px 19px 16px;
}
.booklet-page[data-template="pixel"] .page-running{
  min-height:32px;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  padding:0 9px;
  border:2px solid var(--page-ink);
  color:var(--page-paper);
  background:var(--page-ink);
}
.booklet-page[data-template="pixel"] .running-section{
  min-width:72px;
  padding:4px 7px;
  color:var(--page-ink);
  background:var(--page-accent-2);
  text-align:center;
}
.booklet-page[data-template="pixel"] .page-footer{
  min-height:31px;
  align-items:center;
  padding:0 8px;
  border:2px solid var(--page-ink);
  color:var(--page-ink);
  background:color-mix(in srgb,var(--page-accent-2) 42%,var(--page-paper));
}
.booklet-page[data-template="pixel"] .footer-folio{
  align-items:center;
  gap:5px;
}
.booklet-page[data-template="pixel"] .footer-folio b{
  min-width:24px;
  height:22px;
  display:grid;
  place-items:center;
  color:var(--page-paper);
  background:var(--page-ink);
  font-size:13px;
  font-weight:400;
  line-height:1;
}
.booklet-page[data-template="pixel"] .footer-folio :is(i,em){color:var(--page-ink)}
.booklet-page[data-template="pixel"] .page-heading{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:end;
  gap:10px;
  padding:10px 12px;
  border:2px solid var(--page-ink);
  background:color-mix(in srgb,var(--page-accent-2) 48%,var(--page-paper));
}
.booklet-page[data-template="pixel"] .page-heading .page-kicker{grid-column:2;grid-row:1;text-align:right}
.booklet-page[data-template="pixel"] .page-heading h1{grid-column:1;grid-row:1;margin:0;font-size:1.65em;line-height:1.1}
.booklet-page[data-template="pixel"] .page-kicker,.booklet-page[data-template="pixel"] .cover-kicker{color:var(--page-accent)}
.booklet-page[data-template="pixel"] .cover-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 126px;
  grid-template-rows:minmax(0,1fr) auto;
  gap:11px;
  padding:11px;
  border:2px solid var(--page-ink);
}
.booklet-page[data-template="pixel"] .cover-copy{
  grid-column:1;
  grid-row:1;
  align-self:center;
  min-width:0;
  padding:19px 15px;
  border:2px solid var(--page-ink);
  background:var(--page-paper);
}
.booklet-page[data-template="pixel"] .cover-copy:before{
  content:"[ NEW COLLECTION ]";
  display:block;
  margin-bottom:23px;
  color:var(--page-accent);
  font:400 13px/1.2 "PoxiaoPixel",var(--sans);
}
.booklet-page[data-template="pixel"] .cover-copy h1{margin:12px 0 14px;font-size:2.15em;line-height:1.12;overflow-wrap:anywhere}
.booklet-page[data-template="pixel"] .cover-copy p{margin:0;color:var(--page-muted);font:400 1em/1.65 "PoxiaoPixel",var(--sans)}
.booklet-page[data-template="pixel"] .cover-image{
  grid-column:2;
  grid-row:1;
  width:100%;
  height:100%;
  min-width:0;
  min-height:0;
  border:2px solid var(--page-ink);
  color:var(--page-ink);
  background:color-mix(in srgb,var(--page-accent-2) 55%,var(--page-paper));
  font:400 3.4em/1 "PoxiaoPixel",var(--sans);
}
.booklet-page[data-template="pixel"] .cover-meta{
  grid-column:1/-1;
  grid-row:2;
  min-height:40px;
  margin:0;
  padding:7px 9px;
  align-items:center;
  border:2px solid var(--page-ink);
  color:var(--page-ink);
  background:var(--page-accent-2);
}
.booklet-page[data-template="pixel"] .intro-layout,.booklet-page[data-template="pixel"] .feature-layout{gap:12px}
.booklet-page[data-template="pixel"] .intro-body{
  grid-template-columns:43% minmax(0,1fr);
  grid-template-rows:minmax(0,1fr);
  gap:12px;
}
.booklet-page[data-template="pixel"] .intro-body .page-image{
  grid-column:1;
  grid-row:1;
  height:100%;
  border:2px solid var(--page-ink);
}
.booklet-page[data-template="pixel"] .intro-body>div:last-child{
  grid-column:2;
  grid-row:1;
  min-width:0;
  min-height:0;
  padding:14px;
  overflow:hidden;
  border:2px solid var(--page-ink);
  background:color-mix(in srgb,var(--page-accent-2) 24%,var(--page-paper));
}
.booklet-page[data-template="pixel"] .feature-body{
  grid-template-columns:minmax(0,1fr) 44%;
  grid-template-rows:minmax(0,1fr)!important;
  gap:12px!important;
}
.booklet-page[data-template="pixel"] .feature-body .page-image{
  grid-column:2;
  grid-row:1;
  height:100%;
  border:2px solid var(--page-ink);
}
.booklet-page[data-template="pixel"] .feature-body .prose{
  grid-column:1;
  grid-row:1;
  min-width:0;
  min-height:0;
  padding:14px;
  overflow:hidden;
  border:2px solid var(--page-ink);
}
.booklet-page[data-template="pixel"] .prose{font-size:1em;line-height:1.72}
.booklet-page[data-template="pixel"] .quote{
  margin-top:17px;
  padding:12px;
  border:2px solid var(--page-accent);
  color:var(--page-ink);
  background:color-mix(in srgb,var(--page-accent-2) 34%,var(--page-paper));
  font-size:.95em;
  line-height:1.55;
}
.booklet-page[data-template="pixel"][data-page-type="contents"] .page-heading{background:var(--page-ink)}
.booklet-page[data-template="pixel"][data-page-type="contents"] .page-heading :is(.page-kicker,h1){color:var(--page-paper)}
.booklet-page[data-template="pixel"][data-page-type="contents"] .contents-list{
  grid-template-columns:repeat(2,minmax(0,1fr));
  grid-auto-rows:minmax(64px,auto);
  gap:8px;
  margin-top:13px;
  border:0;
}
.booklet-page[data-template="pixel"][data-page-type="contents"] .contents-row{
  min-width:0;
  min-height:64px;
  grid-template-columns:42px minmax(0,1fr);
  grid-template-rows:auto auto;
  align-content:center;
  align-items:center;
  gap:2px 9px;
  padding:7px;
  border:2px solid var(--page-ink);
  background:var(--page-paper);
}
.booklet-page[data-template="pixel"][data-page-type="contents"] .contents-number{
  grid-column:1;
  grid-row:1/3;
  align-self:stretch;
  min-width:0;
  height:auto;
  display:grid;
  place-items:center;
  color:var(--page-paper);
  background:var(--page-accent);
  font-size:1.2em;
  line-height:1;
}
.booklet-page[data-template="pixel"][data-page-type="contents"] .contents-title{
  grid-column:2;
  grid-row:1;
  align-self:end;
  min-width:0;
  overflow-wrap:anywhere;
  font-size:1em;
  font-weight:400;
  line-height:1.35;
}
.booklet-page[data-template="pixel"][data-page-type="contents"] .contents-type{
  grid-column:2;
  grid-row:2;
  align-self:start;
  margin-top:3px;
  color:var(--page-muted);
}
.booklet-page[data-template="pixel"] .collection-heading{
  min-height:68px;
  align-items:center;
  padding:9px 11px;
  border:2px solid var(--page-ink);
  background:color-mix(in srgb,var(--page-accent-2) 50%,var(--page-paper));
}
.booklet-page[data-template="pixel"] .collection-heading h1{margin-top:5px;font-size:1.55em;line-height:1.1}
.booklet-page[data-template="pixel"] .collection-heading>span{
  flex:none;
  min-width:70px;
  padding:7px 8px;
  color:var(--page-paper);
  background:var(--page-ink);
  text-align:center;
}
.booklet-page[data-template="pixel"] .collection-grid{gap:9px;padding-top:10px}
.booklet-page[data-template="pixel"] .object-card{
  border:2px solid var(--page-ink);
  background:var(--page-paper);
}
.booklet-page[data-template="pixel"] .object-image{
  border-right:2px solid var(--page-ink);
  color:var(--page-ink);
  background:color-mix(in srgb,var(--page-accent-2) 50%,var(--page-paper));
  font:400 2.4em/1 "PoxiaoPixel",var(--sans);
}
.booklet-page[data-template="pixel"] .object-copy{padding:12px}
.booklet-page[data-template="pixel"] .object-index{
  min-height:23px;
  align-items:center;
  padding-bottom:7px;
  border-bottom:2px solid var(--page-line);
  color:var(--page-accent);
}
.booklet-page[data-template="pixel"] .object-index b{font-weight:400}
.booklet-page[data-template="pixel"] .object-copy h2{margin-top:9px;font-size:1.2em;line-height:1.2}
.booklet-page[data-template="pixel"] .object-meta{margin-top:7px;color:var(--page-muted);line-height:1.45}
.booklet-page[data-template="pixel"] .object-description{margin-top:8px;font-size:max(13px,.93em);line-height:1.55}
.booklet-page[data-template="pixel"] .object-tags{display:flex;margin-top:8px;min-height:24px;gap:5px}
.booklet-page[data-template="pixel"] .object-tags span{
  height:24px;
  padding:0 6px;
  border:2px solid var(--page-accent);
  color:var(--page-ink);
  background:color-mix(in srgb,var(--page-accent-2) 36%,var(--page-paper));
}
.booklet-page[data-template="pixel"] .collection-grid[data-density="single"] .object-card{
  grid-template-columns:43% minmax(0,1fr);
  grid-template-rows:minmax(0,1fr);
}
.booklet-page[data-template="pixel"] .collection-grid[data-density="double"]{grid-template-rows:repeat(2,minmax(0,1fr))}
.booklet-page[data-template="pixel"] .collection-grid[data-density="double"] .object-card{
  grid-template-columns:112px minmax(0,1fr);
}
.booklet-page[data-template="pixel"] .collection-grid[data-density="triple"]{
  grid-template-rows:repeat(3,minmax(0,1fr));
  gap:7px;
}
.booklet-page[data-template="pixel"] .collection-grid[data-density="triple"] .object-card{
  grid-template-columns:88px minmax(0,1fr);
}
.booklet-page[data-template="pixel"] .collection-grid[data-density="triple"] .object-copy{padding:8px 9px}
.booklet-page[data-template="pixel"] .collection-grid[data-density="triple"] .object-copy h2{margin-top:5px;font-size:1em}
.booklet-page[data-template="pixel"] .collection-grid[data-density="triple"] .object-meta{margin-top:4px;font-size:13px;line-height:1.25}
.booklet-page[data-template="pixel"] .collection-grid[data-density="triple"] .object-description{margin-top:5px;font-size:13px;line-height:1.35}
.booklet-page[data-template="pixel"] .collection-grid[data-density="triple"] .object-tags{margin-top:5px}
.booklet-page[data-template="pixel"] .section-layout{
  height:calc(100% - 28px);
  justify-content:center;
  margin:14px;
  padding:28px 24px;
  border:2px solid var(--tone-on-deep);
  outline:2px solid var(--tone-deep-line);
  outline-offset:-9px;
  text-align:center;
}
.booklet-page[data-template="pixel"] .section-number{
  width:128px;
  height:128px;
  display:grid;
  place-items:center;
  margin:0 auto 24px;
  border:4px solid var(--tone-on-deep);
  color:var(--tone-deep);
  background:var(--tone-on-deep);
  font:400 4.6em/1 "PoxiaoPixel",var(--sans);
}
.booklet-page[data-template="pixel"] .section-layout h1{margin-top:14px;font-size:2.2em;line-height:1.15}
.booklet-page[data-template="pixel"] .section-layout p{max-width:280px;margin:18px auto 0;color:var(--tone-deep-line);font:400 1em/1.7 "PoxiaoPixel",var(--sans)}
.booklet-page[data-template="pixel"] .back-layout{
  height:calc(100% - 36px);
  justify-content:center;
  gap:28px;
  margin:18px;
  padding:38px 25px;
  border:2px solid var(--tone-on-deep);
  text-align:center;
}
.booklet-page[data-template="pixel"] .back-layout:before{
  content:"[ ARCHIVE SAVED ]";
  color:var(--tone-deep-line);
  font:400 13px/1.2 "PoxiaoPixel",var(--sans);
}
.booklet-page[data-template="pixel"] .back-layout h1{margin-top:13px;font-size:2.1em;line-height:1.15}
.booklet-page[data-template="pixel"] .back-layout p{color:var(--tone-on-deep);font:400 1em/1.7 "PoxiaoPixel",var(--sans)}
.booklet-page[data-template="pixel"] .back-meta{padding-top:17px;border-top:2px solid var(--tone-deep-line);color:var(--tone-deep-line);line-height:1.55}
.booklet-page[data-template="pixel"][data-page-tone="deep"]:before{border-color:var(--tone-deep-line)}
.booklet-page[data-template="pixel"][data-page-tone="deep"] .page-running{
  border-color:var(--tone-on-deep);
  color:var(--tone-deep);
  background:var(--tone-on-deep);
}
.booklet-page[data-template="pixel"][data-page-tone="deep"] .running-section{color:var(--tone-deep);background:var(--tone-deep-line)}
.booklet-page[data-template="pixel"][data-page-tone="deep"] .page-footer{border-color:var(--tone-on-deep);color:var(--tone-on-deep);background:transparent}
.booklet-page[data-template="pixel"][data-page-tone="deep"] .footer-folio b{color:var(--tone-deep);background:var(--tone-on-deep)}
.booklet-page[data-template="pixel"][data-page-tone="deep"] .footer-folio :is(i,em){color:var(--tone-on-deep)}
.booklet-page[data-template="pixel"][data-page-type="text"] .text-layout{
  gap:12px;
  padding:10px;
  border:2px solid var(--page-ink);
}
.booklet-page[data-template="pixel"][data-page-type="text"] .text-heading{
  display:grid;
  grid-template-columns:minmax(0,1fr) 126px;
  grid-template-rows:auto auto;
  gap:8px 14px;
  padding:11px 12px;
  color:var(--page-paper);
  background:var(--page-ink);
}
.booklet-page[data-template="pixel"][data-page-type="text"] .text-heading .page-kicker{grid-column:1/-1;color:var(--page-accent-2)}
.booklet-page[data-template="pixel"][data-page-type="text"] .text-heading h1{grid-column:1;grid-row:2;margin:0;font-size:1.65em;line-height:1.15}
.booklet-page[data-template="pixel"][data-page-type="text"] .text-deck{grid-column:2;grid-row:2;align-self:end;margin:0;color:var(--page-paper);font-size:13px;line-height:1.45}
.booklet-page[data-template="pixel"][data-page-type="text"] .text-body{
  min-width:0;
  min-height:0;
  padding:14px;
  overflow:hidden;
  border:2px solid var(--page-ink);
  column-count:2;
  column-gap:22px;
  column-rule:2px solid var(--page-line);
  font-size:1em;
  line-height:1.72;
}
.booklet-page[data-template="pixel"][data-page-type="text"] .text-credit{
  min-height:30px;
  margin:0;
  padding:6px 9px;
  border:2px solid var(--page-ink);
  color:var(--page-ink);
  background:var(--page-accent-2);
  font-size:13px;
  line-height:1.35;
  text-align:right;
}
.booklet-page[data-template="pixel"][data-page-type="blank"] .page-main{
  border:2px solid color-mix(in srgb,var(--page-line) 68%,transparent);
}
/* Pixel export guards: retain contrast and allow identifiers to wrap instead of clipping. */
.booklet-page[data-template="pixel"] .cover-copy h1{color:var(--page-ink)}
.booklet-page[data-template="pixel"] :is(.cover-kicker,.page-kicker,.section-number){opacity:1}
.booklet-page[data-template="pixel"] :is(.page-heading h1,.collection-heading h1,.object-index span,.object-index b){min-width:0;overflow-wrap:anywhere}
.booklet-page[data-template="pixel"] .object-index b{max-width:55%;font-weight:400;line-height:1.25;text-align:right;white-space:normal}
/* Pixel contents type lock and high-contrast chapter description. */
.booklet-page[data-template="pixel"][data-page-type="contents"] :is(.contents-number,.contents-title,.contents-type,.contents-empty){
  font-family:"PoxiaoPixel",var(--sans);
  font-weight:400;
}
.booklet-page[data-template="pixel"] .section-layout p{
  color:var(--tone-on-deep);
}
/* Pixel chapter pages use the light palette consistently. */
.booklet-page[data-template="pixel"][data-page-type="section"]{
  color:var(--page-ink);
  background:var(--page-paper);
}
.booklet-page[data-template="pixel"][data-page-type="section"]:before{border-color:var(--page-line)}
.booklet-page[data-template="pixel"][data-page-type="section"] .page-running{
  border-color:var(--page-ink);
  color:var(--page-paper);
  background:var(--page-ink);
}
.booklet-page[data-template="pixel"][data-page-type="section"] .running-section{color:var(--page-ink);background:var(--page-accent-2)}
.booklet-page[data-template="pixel"][data-page-type="section"] .page-footer{
  border-color:var(--page-ink);
  color:var(--page-ink);
  background:color-mix(in srgb,var(--page-accent-2) 42%,var(--page-paper));
}
.booklet-page[data-template="pixel"][data-page-type="section"] .footer-folio b{color:var(--page-paper);background:var(--page-ink)}
.booklet-page[data-template="pixel"][data-page-type="section"] .footer-folio :is(i,em){color:var(--page-ink)}
.booklet-page[data-template="pixel"][data-page-type="section"] .section-layout{border-color:var(--page-ink);outline-color:var(--page-accent)}
.booklet-page[data-template="pixel"][data-page-type="section"] .section-number{border-color:var(--page-ink);color:var(--page-paper);background:var(--page-ink)}
.booklet-page[data-template="pixel"][data-page-type="section"] :is(.page-kicker,.section-layout h1,.section-layout p){color:var(--page-ink)}
/* Pixel cover reset: image-led catalogue cover with a stable editorial grid. */
.booklet-page[data-template="pixel"][data-page-type="cover"]{color:var(--page-ink);background:var(--page-paper)}
.booklet-page[data-template="pixel"][data-page-type="cover"]:before{border-color:var(--page-line)}
.booklet-page[data-template="pixel"][data-page-type="cover"] .page-running{border-color:var(--page-ink);color:var(--page-paper);background:var(--page-ink)}
.booklet-page[data-template="pixel"][data-page-type="cover"] .page-footer{border-color:var(--page-ink);color:var(--page-ink);background:color-mix(in srgb,var(--page-accent-2) 42%,var(--page-paper))}
.booklet-page[data-template="pixel"][data-page-type="cover"] .footer-folio b{color:var(--page-paper);background:var(--page-ink)}
.booklet-page[data-template="pixel"][data-page-type="cover"] .footer-folio :is(i,em){color:var(--page-ink)}
.booklet-page[data-template="pixel"][data-page-type="cover"] .cover-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  grid-template-rows:auto minmax(0,1fr) 48px;
  gap:10px;
  min-width:0;
  min-height:0;
  padding:10px;
  border:2px solid var(--page-ink);
  background:var(--page-paper);
}
.booklet-page[data-template="pixel"][data-page-type="cover"] .cover-copy{
  position:relative;
  grid-column:1;
  grid-row:1;
  min-width:0;
  padding:15px 75px 16px 15px;
  border:2px solid var(--page-ink);
  color:var(--page-ink);
  background:var(--page-paper);
}
.booklet-page[data-template="pixel"][data-page-type="cover"] .cover-copy:before{content:none}
.booklet-page[data-template="pixel"][data-page-type="cover"] .cover-copy:after{
  content:"";
  position:absolute;
  right:12px;
  top:12px;
  bottom:12px;
  width:46px;
  border:2px solid var(--page-ink);
  background:var(--page-accent);
  box-shadow:inset 0 -18px var(--page-accent-2);
}
.booklet-page[data-template="pixel"][data-page-type="cover"] .cover-kicker{color:var(--page-accent);opacity:1}
.booklet-page[data-template="pixel"][data-page-type="cover"] .cover-copy h1{max-width:245px;margin:11px 0 10px;color:var(--page-ink);font-size:2.05em;line-height:1.12}
.booklet-page[data-template="pixel"][data-page-type="cover"] .cover-copy p{max-width:250px;margin:0;color:var(--page-muted);font-size:.95em;line-height:1.55}
.booklet-page[data-template="pixel"][data-page-type="cover"] .cover-image{
  grid-column:1;
  grid-row:2;
  align-self:stretch;
  width:100%;
  height:100%;
  min-width:0;
  min-height:0;
  padding:8px;
  border:2px solid var(--page-ink);
  color:var(--page-ink);
  background:var(--page-accent-2);
}
.booklet-page[data-template="pixel"][data-page-type="cover"] .cover-image img{display:block;width:100%;height:100%;border:2px solid var(--page-ink)}
.booklet-page[data-template="pixel"][data-page-type="cover"] .cover-meta{
  grid-column:1;
  grid-row:3;
  min-width:0;
  min-height:48px;
  margin:0;
  padding:8px 11px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
  border:2px solid var(--page-ink);
  color:var(--page-paper);
  background:var(--page-ink);
}
.booklet-page[data-template="pixel"][data-page-type="cover"] .cover-meta span:last-child{text-align:right}
/* Optional two-character paragraph indentation for feature and text pages. */
.feature-body .prose p{margin:0 0 1.05em;white-space:normal}
.feature-body .prose p:last-child{margin-bottom:0}
.booklet-page[data-page-type="text"] .text-body p,
.booklet-page[data-page-type="feature"] .prose p{text-indent:0}
.booklet-page[data-template="classical"][data-page-type="text"] .text-body p{text-indent:0}
.booklet-page[data-page-type="text"] .text-body.has-first-line-indent>p,
.booklet-page[data-page-type="feature"] .prose.has-first-line-indent>p{text-indent:2em}
.booklet-page[data-template="editorial"][data-page-type="text"] .text-body.has-first-line-indent>p:first-child,
.booklet-page[data-template="academia"][data-page-type="text"] .text-body.has-first-line-indent>p:first-child{text-indent:0}
.booklet-page :is(.text-body,.feature-body .prose)>p.paragraph-indent{text-indent:2em!important}

.directory-name-editor{margin-top:14px;padding-top:12px;border-top:1px solid var(--app-line)}.directory-editor-heading,.directory-entry-editor{display:grid;grid-template-columns:26px minmax(0,1fr) minmax(0,.76fr);gap:6px;align-items:center}.directory-editor-heading{margin-bottom:7px;color:var(--app-muted);font-size:10px}.directory-editor-heading b{grid-column:1/-1;color:var(--app-ink);font-size:12px}.directory-entry-editor{margin-top:6px}.directory-entry-editor>span{color:var(--app-accent);font:800 9px/1 var(--mono)}.directory-entry-editor input{width:100%;min-width:0;height:36px;padding:7px 8px;border:1px solid var(--app-line);border-radius:4px;background:#fff;font-size:11px}.directory-entry-editor input:focus{outline:0;border-color:var(--app-accent);box-shadow:0 0 0 3px rgba(128,104,98,.09)}
@media(max-width:420px){.directory-entry-editor{grid-template-columns:26px minmax(0,1fr)}.directory-entry-editor input:last-child{grid-column:2}.directory-editor-heading{grid-template-columns:26px minmax(0,1fr)}.directory-editor-heading span:last-child{display:none}}
/* Fold print output: 3 mm bleed around the complete imposed sheet. */
.fold-print-settings{margin-top:12px;padding:11px;border:1px solid var(--app-line);border-radius:5px;background:color-mix(in srgb,var(--app-accent-soft) 34%,#fff)}
.fold-print-settings>strong{display:block;color:var(--app-accent-dark);font-size:12px}
.fold-print-settings .check-grid{margin-top:8px}
.fold-print-settings .help-copy{margin-top:8px}
.fold-print-settings label:has(input:disabled){opacity:.48}

.fold-print-sheet{
  position:relative;
  flex:none;
  width:calc(var(--fold-trim-width) + var(--fold-bleed) + var(--fold-bleed));
  height:calc(840px + var(--fold-bleed) + var(--fold-bleed));
  overflow:hidden;
  background:#fff;
  box-shadow:0 24px 70px rgba(46,36,32,.2)
}
.fold-print-sheet .booklet-strip{box-shadow:none}
.fold-print-sheet .booklet-page{border:0!important}
.fold-bleed-window{
  position:absolute;
  z-index:1;
  left:0;
  top:0;
  width:calc(var(--fold-trim-width) + var(--fold-bleed) + var(--fold-bleed));
  height:calc(840px + var(--fold-bleed) + var(--fold-bleed));
  overflow:hidden
}
.fold-bleed-edge{position:absolute;overflow:hidden;pointer-events:none}
.fold-bleed-edge .booklet-strip{position:absolute;box-shadow:none}
.fold-bleed-edge .canvas-sticker{pointer-events:none}
.fold-bleed-top,.fold-bleed-bottom{left:var(--fold-bleed);width:var(--fold-trim-width);height:var(--fold-bleed)}
.fold-bleed-top{top:0}.fold-bleed-bottom{bottom:0}
.fold-bleed-top .booklet-strip{left:0;top:100%;transform:scaleY(-1);transform-origin:top}
.fold-bleed-bottom .booklet-strip{left:0;bottom:100%;transform:scaleY(-1);transform-origin:bottom}
.fold-bleed-left,.fold-bleed-right{top:0;width:var(--fold-bleed);height:calc(840px + var(--fold-bleed) + var(--fold-bleed))}
.fold-bleed-left{left:0}.fold-bleed-right{right:0}
.fold-bleed-left .booklet-strip{left:100%;top:50%;transform:translateY(-50%) scale(-1,var(--fold-bleed-scale-y));transform-origin:left center}
.fold-bleed-right .booklet-strip{right:100%;top:50%;transform:translateY(-50%) scale(-1,var(--fold-bleed-scale-y));transform-origin:right center}
.fold-trim-region{
  position:absolute;
  z-index:2;
  left:var(--fold-bleed);
  top:var(--fold-bleed);
  width:var(--fold-trim-width);
  height:840px
}
/* Coloris touch picker */
[data-oc-color]{font-family:var(--mono);font-size:11px!important;text-transform:uppercase;cursor:pointer;caret-color:transparent}
.color-field{gap:8px}
.color-field .clr-field{display:block;flex:0 0 92px;width:92px}
.color-field .clr-field input{width:100%;height:34px;padding:7px 36px 7px 8px;border:1px solid var(--app-line);border-radius:4px;background:#fff;color:var(--app-ink);letter-spacing:.02em;text-align:left}
.field>.clr-field{display:block;width:100%}
.field>.clr-field input{width:100%;padding-right:43px}
.clr-field button{width:34px;border-left:1px solid var(--app-line);border-radius:0 3px 3px 0}
.clr-field button:after{left:6px;top:6px;width:22px;height:calc(100% - 12px);border-radius:3px;box-shadow:inset 0 0 0 1px rgba(39,31,28,.18)}
.clr-picker{z-index:10050;border:1px solid var(--app-line);border-radius:9px;font-family:"OC Noto Sans SC","Noto Sans SC","PingFang SC",sans-serif;box-shadow:0 16px 42px rgba(41,31,28,.2)}
.clr-picker.clr-large{width:288px}
.clr-large .clr-gradient{height:178px}
.clr-picker input.clr-color{height:36px;border-color:var(--app-line);border-radius:4px;font:700 13px/1 var(--mono)}
.clr-picker input.clr-color:focus{border-color:var(--app-accent)}
.clr-picker .clr-close{min-width:64px;height:34px;border-radius:4px;background:var(--app-accent);font-size:12px;font-weight:800}
.clr-picker .clr-preview{border-radius:4px}
.clr-picker .clr-preview:after,.clr-picker .clr-preview:before,.clr-picker .clr-preview button{border-radius:4px}

@media(max-width:640px){
  .color-grid{grid-template-columns:1fr}
  .color-field{min-height:52px;padding:8px 10px}
  .color-field .clr-field{flex-basis:112px;width:112px}
  .clr-picker.clr-large{position:fixed!important;left:max(10px,env(safe-area-inset-left))!important;right:max(10px,env(safe-area-inset-right))!important;top:auto!important;bottom:calc(10px + env(safe-area-inset-bottom))!important;width:auto!important;max-width:none;border-radius:14px;overscroll-behavior:contain;box-shadow:0 22px 70px rgba(26,19,17,.32)}
  .clr-large .clr-gradient{height:min(34svh,220px);min-height:168px;border-radius:13px 13px 0 0}
  .clr-picker .clr-hue{height:12px;margin-top:11px;margin-bottom:11px}
  .clr-picker input.clr-color{height:42px;margin-top:13px;margin-bottom:14px;font-size:14px}
  .clr-picker .clr-preview{width:42px;height:42px;margin-top:13px;margin-right:22px;margin-bottom:14px}
  .clr-picker .clr-close{height:42px;margin-top:13px;margin-bottom:14px;padding-inline:24px}
}
