/* Image overrides preserve the original compositions until a setting is saved. */
@container paper (min-width:681px){
 .story-image img[data-photo-custom]{object-position:var(--photo-d-position)!important}
 .story-image img[data-photo-custom]:not([data-photo-desktop="layout"]){aspect-ratio:var(--photo-d-ratio)!important;height:auto!important;max-height:none!important}
}
@container paper (max-width:680px){
 .story-image img[data-photo-custom]{object-position:var(--photo-m-position)!important}
 .story-image img[data-photo-custom]:not([data-photo-mobile="layout"]){aspect-ratio:var(--photo-m-ratio)!important;height:auto!important;max-height:none!important}
}

/* Reader pagination is independent of the editor's layout controls. */
.block-pager{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid var(--line);padding-top:12px;margin-top:20px;font:14px/1.4 var(--sans);color:var(--blue)}
.pager-more a,.pager-more button{font:14px/1.4 var(--sans);padding:8px 0}
.pager-steps{display:flex;align-items:center;gap:8px;flex-shrink:0}
.pager-steps button{border:1px solid #bdc7cb;width:44px;height:38px;font:24px/1 var(--sans);display:grid;place-items:center;background:transparent}
.pager-steps button:hover:not(:disabled){background:var(--soft);border-color:var(--blue)}
.pager-count{font:13px/1 var(--sans);font-variant-numeric:tabular-nums;min-width:42px;text-align:center;color:var(--muted)}
.page-body .stack:empty,.page-body .grid2:empty,.page-body .grid3:empty,.page-body .grid4:empty,.page-body .grid5:empty,.page-body .opening-rail:has(>.stack:empty){display:none}
.partial-page .grid2,.partial-page .grid3,.partial-page .grid4,.partial-page .grid5{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
.partial-page[data-count="1"] :is(.opening-classic,.opening-type,.news-asym,.news-focus,.opinion-main,.opinion-reverse,.culture-main,.culture-editorial,.sport-lead,.sport-type,.sport-journal,.life-lead,.podcast-lead){grid-template-columns:1fr}
.partial-page[data-count="1"] :is(.news-asym,.news-focus,.opening-type,.opinion-main,.opinion-reverse,.sport-type)>.story{grid-column:auto;grid-row:auto;border-inline:0;padding-inline:0}
.partial-page[data-count="1"] .culture-editorial>.story:first-child{display:block}
.partial-page[data-count="1"] .culture-editorial>.story>.story-image{margin-bottom:12px}
.partial-page[data-count="2"] .news-focus{grid-template-columns:1.2fr 1fr}
.partial-page[data-count="2"] .news-focus>.story{grid-column:1;border-left:0;padding-left:0}
.partial-page[data-count="2"] .news-focus>.stack:nth-child(2){grid-column:2}

/* A small editorial vocabulary, inserted only when the editor chooses it. */
.editorial-accent{margin-block:24px;padding-block:22px;border-block:1px solid var(--line);color:var(--ink)}
.editorial-accent:first-child{margin-top:0}
.editorial-accent:last-child{margin-bottom:0}
.editorial-accent h3{font:600 27px/1.13 var(--serif);text-wrap:pretty;margin-bottom:9px}
.accent-label{font:650 11px/1.4 var(--sans);text-transform:uppercase;letter-spacing:.11em;color:var(--accent);margin-bottom:14px}
.accent-body{font:17px/1.45 var(--sans);color:var(--deck);max-width:70ch;white-space:pre-line}
.accent-source{display:inline-block;margin-top:13px;font:13px/1.4 var(--sans);color:var(--blue);text-decoration:underline;text-decoration-color:#b8c4ca;text-underline-offset:4px}
.accent-source span{margin-left:4px}
.accent-why{display:grid;grid-template-columns:minmax(180px,.65fr) minmax(0,2fr);gap:34px;align-items:center;border-top-color:var(--ink)}
.accent-word{font:italic 500 72px/1 var(--serif);letter-spacing:normal;color:var(--blue);overflow-wrap:anywhere}
.accent-quote{max-width:960px;margin-inline:auto;text-align:center;padding:24px 42px}
.accent-quote blockquote{margin:0}
.accent-quote blockquote>p{font:italic 500 33px/1.2 var(--serif);text-wrap:pretty}
.accent-quote cite{display:block;font-style:normal}
.accent-brief ol{counter-reset:points;list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.accent-brief li{counter-increment:points;display:flex;gap:16px;align-items:flex-start}
.accent-brief li:before{content:counter(points,decimal-leading-zero);font:400 34px/1.05 var(--serif);color:var(--accent)}
.accent-brief li p{font:16px/1.45 var(--sans);color:var(--deck)}
.accent-context{display:grid;grid-template-columns:150px minmax(0,1fr);gap:30px;background:#f3f5f5;border:0;border-left:3px solid var(--blue);padding:22px 28px}
.accent-context .accent-label{color:var(--blue);margin-top:6px}
.accent-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.accent-links>a{display:grid;grid-template-columns:minmax(0,1fr) 18px;gap:7px 12px;align-content:start}
.accent-links>a+a{border-left:1px solid var(--line);padding-left:26px}
.accent-links a>span:first-child{font:600 11px/1.4 var(--sans);letter-spacing:.07em;text-transform:uppercase;color:var(--muted);grid-column:1/-1}
.accent-links strong{font:600 23px/1.17 var(--serif)}
.related-arrow{font:20px/1.2 var(--sans);color:var(--blue)}
.accent-links:has(>a:only-child){grid-template-columns:minmax(0,680px)}
.accent-links:has(>a:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}
@container paper (max-width:680px){
 .block-pager{gap:12px;margin-top:18px}
 .editorial-accent{margin-block:20px;padding-block:20px}
 .accent-why,.accent-context{display:block}
 .accent-word{font-size:54px;margin-bottom:16px}
 .editorial-accent h3{font-size:26px}
 .accent-quote{padding:22px 4px}
 .accent-quote blockquote>p{font-size:28px}
 .accent-brief ol,.accent-links,.accent-links:has(>a:nth-child(2):last-child){grid-template-columns:1fr;gap:16px}
 .accent-links>a+a{border-left:0;padding-left:0;border-top:1px solid var(--line);padding-top:16px}
 .accent-brief li:before{font-size:29px}
 .accent-context{padding:20px}
 .accent-context .accent-label{margin-top:0}
}

/* Native editor dialogs, with live previews and explicit apply/cancel. */
.feature-dialog{container:editor/inline-size;width:1100px;max-width:calc(100% - 40px);max-height:90vh;overflow:auto;margin:auto;border:1px solid var(--line);background:var(--paper);color:var(--ink);padding:26px 32px 0;box-shadow:0 20px 100px #0003}
.feature-dialog::backdrop{background:#18242dbb}
.feature-dialog .close{top:0;margin-bottom:-30px}
.feature-dialog h2,.feature-dialog .editor-eyebrow{padding-right:42px}
.feature-dialog h2{font:650 34px/1.1 var(--serif);margin:7px 0 12px}
.feature-dialog h3{font:600 18px/1.25 var(--sans)}
.feature-field{display:grid;gap:7px;font:600 14px/1.4 var(--sans);min-width:0}
.feature-field select,.feature-field input,.feature-field textarea{display:block;width:100%;min-width:0;max-width:100%;border:1px solid #aeb9be;background:white;color:var(--ink);font:400 16px/1.35 var(--sans);padding:10px 12px;border-radius:0}
.feature-field textarea{resize:vertical;min-height:100px}
.feature-dialog input[type="checkbox"],.feature-dialog input[type="radio"]{accent-color:var(--blue);width:18px;height:18px;flex-shrink:0;margin:0}
.feature-dialog input:focus-visible,.feature-dialog textarea:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.image-select{margin-block:16px 18px;max-width:100%}
.image-workspace{display:grid;grid-template-columns:280px minmax(0,1fr);gap:36px}
.device-switch{display:flex;gap:4px;border:1px solid var(--line);padding:4px;margin-bottom:22px}
.device-switch button{flex:1;padding:9px 14px;font-size:14px}
.device-switch [aria-pressed="true"]{background:var(--blue);color:white}
.image-modes{padding:0;margin:0 0 20px;border:0;display:grid;gap:10px}
.image-modes legend{font:600 14px/1.3 var(--sans);padding:0;margin-bottom:10px}
.image-modes label{display:flex;gap:10px;align-items:start;cursor:pointer}
.image-modes input{margin-top:3px!important}
.image-modes strong{display:block;font:500 16px/1.3 var(--sans)}
.image-modes small{display:block;font:13px/1.4 var(--sans);color:var(--muted);margin-top:3px}
.crop-sliders{border-top:1px solid var(--line);padding-top:18px}
.crop-sliders label{display:flex;align-items:baseline;justify-content:space-between;gap:12px;font:500 14px/1.4 var(--sans);margin-bottom:8px}
.crop-sliders output{font-size:13px;color:var(--muted);font-variant-numeric:tabular-nums}
.crop-sliders input{display:block;width:100%;accent-color:var(--blue);height:22px;margin:0;cursor:ew-resize}
.crop-sliders input:disabled{opacity:.4;cursor:default}
.slider-ends{display:flex;justify-content:space-between;font:12px/1.4 var(--sans);color:var(--muted);margin:3px 0 10px}
.feature-help{font:13px/1.45 var(--sans);color:var(--muted);margin-top:12px}
.text-action{font:14px/1.4 var(--sans);padding:8px 0;text-decoration:underline;text-underline-offset:4px;color:var(--blue);margin-top:8px}
.image-preview{min-width:0;border-left:1px solid var(--line);padding-left:30px;align-self:start}
.preview-label{font:600 11px/1.4 var(--sans);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:14px}
.crop-preview{max-width:100%;margin:auto}
.crop-preview.is-mobile{width:300px;max-width:100%}
.crop-preview img{width:100%;object-fit:cover;display:block}
.image-credit{font:11px/1.4 var(--sans);color:var(--muted);margin:5px 0 16px}
.image-preview-title{font:600 25px/1.15 var(--serif);max-width:30ch}
.feature-footer{position:sticky;bottom:0;z-index:2;display:flex;justify-content:flex-end;gap:12px;margin-top:24px;padding:16px 0;background:var(--paper);border-top:1px solid var(--line)}
.feature-footer button{font:15px/1.3 var(--sans);padding:11px 16px;border:1px solid var(--line);min-height:44px}
.feature-footer .primary-action{background:var(--blue);color:white;border-color:var(--blue)}
.paging-settings{border-block:1px solid var(--line);padding-block:20px;margin-top:24px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px 30px}
.paging-settings>div>p{font:15px/1.45 var(--sans);color:var(--deck);margin-top:5px}
.toggle-field{display:flex;align-items:center;gap:10px;font:15px/1.4 var(--sans);cursor:pointer}
.paging-source,.paging-help{grid-column:1/-1}
.paging-help{margin:0;max-width:95ch}
.tool-selection{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:22px;margin-top:24px}
.tool-use{font:15px/1.45 var(--sans);color:var(--deck);margin-top:12px;max-width:85ch}
.accent-workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:32px;margin-top:24px}
.accent-form,.related-choices{display:grid;gap:16px;align-content:start}
.accent-preview{border-left:1px solid var(--line);padding-left:28px;min-width:0;align-self:start}
.accent-preview .editorial-accent{margin:0;padding-block:20px}
.accent-preview .accent-why,.accent-preview .accent-context{display:block}
.accent-preview .accent-word{font-size:56px;margin-bottom:18px}
.accent-preview .editorial-accent h3{font:600 26px/1.15 var(--serif)}
.accent-preview .accent-quote{padding-inline:0}
.accent-preview .accent-quote blockquote>p{font-size:27px}
.accent-preview .accent-brief ol,.accent-preview .accent-links{grid-template-columns:1fr;gap:16px}
.accent-preview .accent-links>a+a{border:0;border-top:1px solid var(--line);padding:16px 0 0}
.accent-preview .accent-context{padding:20px}
.tool-empty{border-top:1px solid var(--line);padding-block:28px;margin-top:20px;display:flex;gap:40px;align-items:center;color:var(--muted)}
.tool-empty-word{font:italic 500 58px/1 var(--serif);color:var(--blue)}
.tool-empty>p{font:16px/1.5 var(--sans);max-width:50ch}
@media(max-width:740px){
 .feature-dialog{padding:20px 20px 0;max-width:calc(100% - 16px);max-height:94vh}
 .feature-dialog h2{font-size:28px}
 .image-workspace,.accent-workspace,.tool-selection,.paging-settings{grid-template-columns:1fr;gap:20px}
 .image-preview,.accent-preview{border-left:0;padding:20px 0 0;border-top:1px solid var(--line)}
 .image-preview{grid-row:1}
 .image-preview .feature-help{display:none}
 .image-preview-title{font-size:22px}
 .feature-footer{gap:8px}
 .feature-footer button{font-size:14px;padding:10px 12px}
 .tool-empty{display:block}
 .tool-empty>p{margin-top:16px}
}

body:has(.paper.mobile) .feature-dialog{width:394px;padding:20px 20px 0;max-width:calc(100% - 16px)}
@container editor (max-width:680px){
 .feature-dialog h2{font-size:28px}
 .image-workspace,.accent-workspace,.tool-selection,.paging-settings{grid-template-columns:1fr;gap:20px}
 .image-preview,.accent-preview{border-left:0;padding:20px 0 0;border-top:1px solid var(--line)}
 .image-preview{grid-row:1}
 .image-preview .feature-help{display:none}
 .image-preview-title{font-size:22px}
 .feature-footer{gap:8px}
 .feature-footer button{font-size:14px;padding:10px 12px}
 .tool-empty{display:block}
 .tool-empty>p{margin-top:16px}
}

.feature-validation{font:14px/1.4 var(--sans);color:var(--accent);margin-top:16px}
.feature-validation:empty{display:none}
