/* Original component order retained. No external CSS imports. */

/* gizumo-shell/common/v1.1/shell.css */
/* Common shell 1.1.0-rc.1. Retain service-specific cards, data/source and branding styles. */
html:has(body[data-gzm-shell]){height:100%;overflow:hidden}
body[data-gzm-shell]{display:grid!important;grid-template-columns:minmax(0,1fr);grid-template-rows:var(--gzm-top-rows,auto) minmax(0,1fr) auto;height:var(--gzm-height,100dvh)!important;block-size:var(--gzm-height,100dvh);min-height:0!important;min-block-size:0!important;margin:0;overflow:hidden!important}
body[data-gzm-shell]>[data-gzm-chrome]{position:relative;min-width:0;min-height:0;z-index:8;transition:margin .18s ease-out,transform .18s ease-out,opacity .18s ease-out,visibility 0s}
body[data-gzm-shell]>[data-gzm-chrome="header"]{grid-row:1;padding:.375rem .65rem}
body[data-gzm-shell]>[data-gzm-chrome="footer"]{grid-row:var(--gzm-footer-row,3);z-index:7;padding:.15rem .6rem max(.15rem,env(safe-area-inset-bottom))}
body[data-gzm-shell]>[data-gzm-main]{grid-row:var(--gzm-main-row,2);min-width:0!important;min-height:0!important;margin:0;max-height:none;height:auto;block-size:auto;overflow:hidden!important}
body[data-gzm-shell] [data-gzm-pane]{min-width:0!important;min-height:0!important;overflow:auto!important;overscroll-behavior:contain;scrollbar-gutter:stable;overflow-anchor:none;scroll-padding-block:.75rem;max-width:none;width:100%}
body[data-gzm-shell] [data-gzm-main] [data-gzm-pane]{height:100%}
body[data-gzm-shell].gzm-hidden>[data-gzm-chrome]{pointer-events:none;opacity:0;visibility:hidden;transition:margin .18s ease-out,transform .18s ease-out,opacity .18s ease-out,visibility 0s .18s}
body[data-gzm-shell].gzm-hidden>[data-gzm-chrome="header"]{margin-bottom:calc(-1 * var(--gzm-header));transform:translateY(-100%)}
body[data-gzm-shell].gzm-hidden>[data-gzm-chrome="footer"]{margin-top:calc(-1 * var(--gzm-footer));transform:translateY(100%)}
body[data-gzm-shell].gzm-immediate>[data-gzm-chrome]{transition:none!important}
body[data-gzm-shell] [data-gzm-chrome] .header-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem;min-width:0;min-height:0;padding:0;width:100%}
body[data-gzm-shell] [data-gzm-chrome] .brand{flex:1 1 6rem;min-width:0;white-space:normal;overflow-wrap:anywhere;font-size:1rem}
body[data-gzm-shell] [data-gzm-trigger]{display:flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;max-width:100%;font-size:1rem;font-weight:750;line-height:1.35;padding:.5rem .75rem;white-space:normal;overflow-wrap:anywhere;cursor:pointer}
body[data-gzm-shell] [data-gzm-trigger]>small{display:none}
body[data-gzm-shell] [data-gzm-panel]{position:fixed!important;inset:auto!important;top:calc(var(--gzm-top,0px) + .5rem)!important;left:.5rem!important;right:.5rem!important;max-width:58rem!important;width:auto!important;margin:0 auto!important;max-height:calc(var(--gzm-height,100dvh) - 1rem)!important;height:auto!important;overflow:auto!important;overscroll-behavior:contain;padding:1rem!important;border:2px solid #47694e!important;border-radius:.7rem;background:#fffef9!important;color:#173e36;box-shadow:0 14px 50px #142b364d;z-index:50;scroll-padding-block:1rem}
body[data-gzm-shell] [data-gzm-menu]:not([open])>[data-gzm-panel],body[data-gzm-shell] [data-gzm-panel-self]:not([open]){display:none!important}
body[data-gzm-shell] [data-gzm-panel-self][open]{display:block!important}
body[data-gzm-shell] [data-gzm-panel] :is(label,button,input,select,summary,a){font-size:1rem;line-height:1.4;max-width:100%;min-width:0;white-space:normal;overflow-wrap:anywhere}
body[data-gzm-shell] :is([data-gzm-close],[data-gzm-panel] button,[data-gzm-panel] input,[data-gzm-panel] select,[data-gzm-panel] summary){min-height:44px;height:auto}
body[data-gzm-shell] [data-gzm-panel] :is(input:not([type="checkbox"]),select){width:100%}
body[data-gzm-shell] [data-gzm-close]{padding:.5rem .75rem;font-size:1rem}
body[data-gzm-shell] .gzm-dismiss{display:block;width:100%;margin-top:1rem;background:#173e36;color:#fff;border:0;border-radius:.5rem}
body[data-gzm-shell] .gzm-selected-value{display:block;font-size:.875rem;line-height:1.5;overflow-wrap:anywhere;margin-top:.25rem}
body[data-gzm-shell] :is(button,a,input,select,summary):focus-visible{outline:3px solid #a47822;outline-offset:2px}
body[data-gzm-shell] [data-gzm-pane]:focus-visible{outline:3px solid #a47822;outline-offset:-3px}
body[data-gzm-shell] [data-gzm-chrome="footer"]>nav{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,4.25rem),1fr));align-items:stretch;gap:4px;width:100%;max-width:1200px;margin-inline:auto}
body[data-gzm-shell] [data-gzm-chrome="footer"]>nav>:is(a,button),body[data-gzm-shell] [data-gzm-chrome="footer"]>nav>details>summary{display:flex;align-items:center;justify-content:center;min-height:44px;min-width:0;max-width:none;margin:0;padding:6px 2px;border:0;border-radius:4px;background:transparent;color:inherit;font-size:.875rem;line-height:1.4;text-align:center;white-space:normal;overflow-wrap:anywhere;text-decoration:none}
body[data-gzm-shell] [data-gzm-dialog][open]{position:fixed!important;inset:auto!important;top:calc(var(--gzm-top,0px) + .5rem)!important;left:.5rem!important;right:.5rem!important;margin:0 auto!important;box-sizing:border-box;width:calc(100% - 1rem)!important;max-width:60rem!important;max-height:calc(var(--gzm-height,100dvh) - 1rem)!important;max-block-size:calc(var(--gzm-height,100dvh) - 1rem)!important;height:auto!important;min-height:0!important;overflow:auto!important;overscroll-behavior:contain}
body[data-gzm-shell] [data-gzm-dialog]::backdrop{background:#10251f88!important;inset:0!important}
body[data-gzm-shell] [data-gzm-dialog] :is(.close-button,#close-dialog,#detail-close){min-height:44px;min-width:44px;max-width:100%;font-size:1rem}
body[data-gzm-shell] [data-gzm-dialog] :is(h1,h2,h3,p,li,dt,dd,a){overflow-wrap:anywhere;white-space:normal}
body[data-gzm-shell] [hidden]{display:none!important}
@media(max-width:640px){body[data-gzm-shell] [data-gzm-panel] :is(.search-row,#filters,#advanced,.compact-search){display:grid;grid-template-columns:minmax(0,1fr)!important;gap:.75rem}body[data-gzm-shell] [data-gzm-panel] #filters>*{grid-column:1!important}}
@media(prefers-reduced-motion:reduce){body[data-gzm-shell]>[data-gzm-chrome]{transition:none!important}}
@media print{html:has(body[data-gzm-shell]){height:auto;overflow:visible}body[data-gzm-shell]{display:block!important;height:auto!important;overflow:visible!important}body[data-gzm-shell] [data-gzm-pane],body[data-gzm-shell]>[data-gzm-main]{height:auto!important;overflow:visible!important}body[data-gzm-shell]>[data-gzm-chrome]{display:none!important}}
/* Family's existing rem-aware short-viewport escape hatch, selected by adapter. */
html:has(body[data-gzm-shell].gzm-natural){height:auto;overflow:auto}
body[data-gzm-shell].gzm-natural{display:block!important;height:auto!important;block-size:auto;min-height:100dvh!important;overflow:visible!important}
body[data-gzm-shell].gzm-natural>[data-gzm-main],body[data-gzm-shell].gzm-natural [data-gzm-pane]{height:auto!important;overflow:visible!important;min-height:8rem!important}

/* One definite inner track for services whose main contains a separate reader.
   The legacy auto/minmax two-row main must not size its sole reader by content. */
body[data-gzm-shell]>[data-gzm-main]:not([data-gzm-pane]){display:grid!important;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr)!important;padding:0;align-self:stretch}
body[data-gzm-shell]>[data-gzm-main]:not([data-gzm-pane])>[data-gzm-pane]{grid-area:1/1;block-size:100%;max-block-size:100%;min-block-size:0}
/* Explicit per-service fixed viewport contract. Never falls back by phone height. */
html:has(body[data-gzm-shell][data-gzm-fixed]){height:100%;overflow:hidden;overscroll-behavior:none}
body[data-gzm-shell][data-gzm-fixed]{position:fixed;inset:0;width:100%;max-width:100%;overscroll-behavior:none}

@media print{html:has(body[data-gzm-shell][data-gzm-fixed]){height:auto;overflow:visible}body[data-gzm-shell][data-gzm-fixed]{position:static;inset:auto;width:auto}body[data-gzm-shell]>[data-gzm-main]:not([data-gzm-pane]){display:block!important}body[data-gzm-shell]>[data-gzm-main]:not([data-gzm-pane])>[data-gzm-pane]{block-size:auto;max-block-size:none}}

/* Any number of adapter-declared top rows share the same measured controller. */
body[data-gzm-shell]>[data-gzm-top-index]{grid-row:var(--gzm-row);min-height:0;min-width:0}
body[data-gzm-shell].gzm-hidden>[data-gzm-top-index]{margin-bottom:calc(-1 * var(--gzm-space));transform:translateY(-100%)}
body[data-gzm-shell] [data-gzm-panel][data-gzm-closed]{display:none!important}

/* gizumo-shell/common/v1.1/panel-layer-1.1.1.css */
/* Shared additive layer fix. Existing frozen shell/controller bytes stay pinned. */
body[data-gzm-shell]>[data-gzm-chrome]:has([data-gzm-panel]:not([data-gzm-closed])){z-index:60}

/* gizumo-shell/common/v1.1/modal-affordances-1.1.3.css */
/* Shared opener presentation 1.1.3 candidate. Style only existing functional
   controls and real labels. No generated text, handlers, transforms or app state. */
body:is([data-gzm-shell],[data-gzm-article-boundaries],[data-gzm-affordances]) :is(
  [data-gzm-modal-trigger="article"],
  #content > .grid .inline-read-more[data-detail],
  #story-scroll > #list .inline-read-more[data-story],
  #dining-scroll > #list .inline-read-more,
  #property-scroll > #list .view-link,
  [data-gzm-modal-cue],
  #art-grid .art-card-button .read-more,
  #catalogue .card-open .read-more,
  [data-gzm-modal-trigger],
  [data-gzm-trigger],
  [data-gzm-panel-trigger],
  details > summary,
  [data-shell-nav="search"],
  #footer-search,
  #reading-footer-search,
  #reading-footer-compare,
  [data-viewport-nav="search"],
  [data-viewport-nav="saved"],
  [data-viewport-nav="info"],
  #property-scroll > #list .photo-link,
  button:is(#surprise,#about,#ads-settings,#open-coverage,#open-sources,#open-updates,#open-privacy,#install-app,#open-compare,#compare-show,#more-filters),
  #comparison-panel thead th > button,
  .article-related > button
){
  min-height:44px;
  max-width:100%;
  border-radius:6px;
  background-color:var(--gzm-opener-surface,#e5eee8);
  color:var(--gzm-opener-ink,#173e36);
  box-shadow:var(--gzm-opener-shadow,inset 0 0 0 2px var(--gzm-opener-edge,#416552));
  font-weight:700;
  white-space:normal;
  overflow-wrap:anywhere;
}
/* The existing full-card button owns its cue; the span never becomes a nested
   control. Only article CTAs gain padding; compact header/footer controls keep it. */
body:is([data-gzm-shell],[data-gzm-article-boundaries],[data-gzm-affordances]) :is(
  [data-gzm-modal-trigger="article"],
  #content > .grid .inline-read-more[data-detail],
  #story-scroll > #list .inline-read-more[data-story],
  #dining-scroll > #list .inline-read-more,
  #property-scroll > #list .view-link,
  [data-gzm-modal-cue],
  #art-grid .art-card-button .read-more,
  #catalogue .card-open .read-more
){
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:8px 12px;
  border:0;
  background-color:var(--gzm-cta-surface,#173e36);
  color:var(--gzm-cta-ink,#fff);
  box-shadow:var(--gzm-opener-shadow,inset 0 0 0 2px var(--gzm-cta-surface,#173e36));
  font-size:1rem;
  line-height:1.35;
  text-decoration:none;
  vertical-align:middle;
}
/* Do not animate or move the activation target while pressed. */
body:is([data-gzm-shell],[data-gzm-article-boundaries],[data-gzm-affordances]) :is(
  [data-gzm-modal-trigger]:active,
  [data-gzm-panel-trigger]:active,
  [data-gzm-trigger]:active,
  details > summary:active,
  .inline-read-more:active,
  .view-link:active,
  .art-card-button:active .read-more,
  .card-open:active .read-more
){
  --gzm-opener-shadow:inset 0 0 0 2px var(--gzm-opener-edge,#416552),inset 0 2px 5px #10251f33;
}
body:is([data-gzm-shell],[data-gzm-article-boundaries],[data-gzm-affordances]) :is(
  [data-gzm-modal-trigger]:disabled,
  [data-gzm-panel-trigger]:disabled,
  #open-compare:disabled,
  #reading-footer-compare:disabled,
  #compare-show:disabled
){opacity:.5}
@media(forced-colors:active){
  body:is([data-gzm-shell],[data-gzm-article-boundaries],[data-gzm-affordances]) :is(
  [data-gzm-modal-trigger="article"],
  #content > .grid .inline-read-more[data-detail],
  #story-scroll > #list .inline-read-more[data-story],
  #dining-scroll > #list .inline-read-more,
  #property-scroll > #list .view-link,
  [data-gzm-modal-cue],
  #art-grid .art-card-button .read-more,
  #catalogue .card-open .read-more,
  [data-gzm-modal-trigger],
  [data-gzm-trigger],
  [data-gzm-panel-trigger],
  details > summary,
  [data-shell-nav="search"],
  #footer-search,
  #reading-footer-search,
  #reading-footer-compare,
  [data-viewport-nav="search"],
  [data-viewport-nav="saved"],
  [data-viewport-nav="info"],
  #property-scroll > #list .photo-link,
  button:is(#surprise,#about,#ads-settings,#open-coverage,#open-sources,#open-updates,#open-privacy,#install-app,#open-compare,#compare-show,#more-filters),
  #comparison-panel thead th > button,
  .article-related > button
){background-color:ButtonFace;color:ButtonText;box-shadow:none}
  body:is([data-gzm-shell],[data-gzm-article-boundaries],[data-gzm-affordances]) :is(
  [data-gzm-modal-trigger="article"],
  #content > .grid .inline-read-more[data-detail],
  #story-scroll > #list .inline-read-more[data-story],
  #dining-scroll > #list .inline-read-more,
  #property-scroll > #list .view-link,
  [data-gzm-modal-cue],
  #art-grid .art-card-button .read-more,
  #catalogue .card-open .read-more,
  [data-gzm-modal-trigger],
  [data-gzm-trigger],
  [data-gzm-panel-trigger],
  details > summary,
  [data-shell-nav="search"],
  #footer-search,
  #reading-footer-search,
  #reading-footer-compare,
  [data-viewport-nav="search"],
  [data-viewport-nav="saved"],
  [data-viewport-nav="info"],
  #property-scroll > #list .photo-link,
  button:is(#surprise,#about,#ads-settings,#open-coverage,#open-sources,#open-updates,#open-privacy,#install-app,#open-compare,#compare-show,#more-filters),
  #comparison-panel thead th > button,
  .article-related > button
):not(:focus-visible){outline:1px solid ButtonText;outline-offset:-1px}
}

/* news-common-ui.css */
/* NEWS integration of the accepted common shell. Existing NEWS colors, type,
   content, links, and editorial notices remain owned by site.css. */
body[data-gzm-shell][data-news-common-ui] {
  --gzm-reading-surface: var(--wash);
  --gzm-opener-surface: #e5eee8;
  --gzm-opener-ink: var(--ink);
  --gzm-cta-surface: var(--accent);
  --gzm-article-border: #7b8f84;
}
body[data-news-common-ui][data-gzm-shell] > #main { width:100%; max-width:none; }
body[data-news-common-ui] #news-scroll {
  padding:1rem max(1rem, calc((100% - var(--max))/2)) 3rem;
  background:var(--wash); touch-action:pan-y pinch-zoom;
}
body[data-news-common-ui] #news-scroll > .section { min-width:0; }
body[data-news-common-ui] #news-scroll .card {
  border:2px solid var(--gzm-article-border); background:var(--paper);
  box-shadow:0 2px 0 #173e3614; cursor:pointer;
}
body[data-news-common-ui] .card:focus-visible { outline:3px solid #a47822; outline-offset:2px; }
body[data-news-common-ui] .card small { overflow-wrap:anywhere; }
body[data-news-common-ui] .news-read-cue { display:block; margin-block-start:.85rem; color:var(--accent); font-weight:700; }
body[data-news-common-ui] .news-menu { margin-left:auto; }
body[data-news-common-ui] .news-menu nav { margin:0; display:grid; gap:.3rem; }
body[data-news-common-ui] .news-menu nav a { min-height:44px; white-space:normal; }
body[data-news-common-ui][data-gzm-shell] > .site-header,
body[data-news-common-ui][data-gzm-shell] > .footer {
  max-block-size:calc(var(--gzm-height,100dvh) * .24);
  overflow:auto; overscroll-behavior:contain; scrollbar-gutter:stable;
}
body[data-news-common-ui] .header-inner { max-width:var(--max); margin:auto; }
body[data-news-common-ui] .footer-inner { width:100%; max-width:var(--max); font-size:.8rem; gap:.5rem 1rem; }
body[data-news-common-ui] .news-footer-tools { display:flex; flex-wrap:wrap; gap:.3rem; margin:0; }
body[data-news-common-ui] .news-footer-tools button {
  min-height:44px; padding:.4rem .8rem; border:1px solid #7b8f84; border-radius:.45rem;
  background:var(--paper); color:var(--ink); font:inherit; cursor:pointer;
}
body[data-news-common-ui] #news-scroll .search-form { grid-template-columns:minmax(0,1fr); }
body[data-news-common-ui] #news-scroll .search-form :is(input,select,button) { width:100%; min-width:0; max-width:100%; }
body[data-news-common-ui] #news-scroll .hero > * { min-width:0; }
body[data-news-common-ui] #news-detail {
  padding:0; border:2px solid #7b8f84; border-radius:.8rem; background:var(--paper); color:var(--ink);
}
body[data-news-common-ui] .news-reader-toolbar {
  position:sticky; top:0; z-index:2; display:flex; flex-wrap:wrap; gap:.5rem; align-items:center;
  padding:.6rem 1rem; background:var(--paper); border-bottom:1px solid var(--line);
}
body[data-news-common-ui] .news-reader-toolbar > strong { flex:1 1 8rem; }
body[data-news-common-ui] .news-reader-toolbar button,
body[data-news-common-ui] #news-original-link,
body[data-news-common-ui] .news-reader-close-end {
  min-height:44px; padding:.5rem .8rem; border:1px solid #7b8f84; border-radius:.4rem;
  background:var(--paper); color:var(--accent); font:inherit; cursor:pointer;
}
body[data-news-common-ui] #news-original-link { display:inline-flex; margin:.75rem 1rem 0; align-items:center; }
body[data-news-common-ui] .news-reader-close-end { display:block; margin:0 1rem 1rem; }
body[data-news-common-ui] #news-detail-close { background:var(--accent); color:#fff; }
body[data-news-common-ui] #news-detail-content { padding:1rem clamp(.75rem,4vw,2rem) 2rem; }
body[data-news-common-ui] #news-detail-content .article-body { margin:auto; max-width:72ch; }
body[data-news-common-ui] #news-detail-content :is(img,video) { max-width:100%; height:auto; }
body[data-news-common-ui] #news-detail-content .news-image-unavailable {
  display:block; margin-block:.5rem; padding:.5rem; border:1px solid var(--line);
  background:var(--wash); overflow-wrap:anywhere;
}
body[data-news-common-ui] #news-detail-content :is(table,pre) { display:block; max-width:100%; overflow:auto; }
body[data-news-common-ui] #news-detail-content .favorite { font:inherit; }
body[data-news-common-ui] #news-reader-status:empty { display:none; }
body[data-news-common-ui] #news-reader-status { margin:0; padding:.6rem 1rem; }
@media(max-height:420px) {
  body[data-news-common-ui] #news-scroll { padding-block:.5rem 1rem; }
  body[data-news-common-ui] .news-reader-toolbar { position:static; padding:.25rem .5rem; }
  body[data-news-common-ui] .news-reader-toolbar > strong { font-size:.8rem; }
}
@media(prefers-reduced-motion:reduce) { body[data-news-common-ui] * { scroll-behavior:auto!important; } }
@media(forced-colors:active) { body[data-news-common-ui] #news-scroll .card { border-color:CanvasText; } }
@media print {
  body[data-news-common-ui] #news-scroll { padding:0; background:transparent; }
  body[data-news-common-ui] #news-detail[open] { position:static!important; max-height:none!important; height:auto!important; }
  body[data-news-common-ui]:has(#news-detail[open]) > #main { display:none!important; }
  body[data-news-common-ui] .news-reader-toolbar { position:static; }
}
/* Candidate 2026-10-13: explicit labels, independent filters and persistent clear. */
body[data-news-common-ui] .news-filter-label { display:grid; gap:.2rem; min-width:0; font-size:.9rem; font-weight:650; }
body[data-news-common-ui] .search-form > label { min-width:0; }
body[data-news-common-ui] .news-reset { display:flex; align-items:center; justify-content:center; min-height:48px; border:1px solid #7b8f84; border-radius:.55rem; padding:.5rem .75rem; font-weight:700; background:#fff; }
body[data-news-common-ui] .news-active-filters { overflow-wrap:anywhere; font-size:.9rem; }
body[data-news-common-ui] #news-scroll > :is(h1,h2,p,div) { min-width:0; }
body[data-news-common-ui] #news-scroll .card:focus-within { border-color:var(--accent); }
body[data-news-common-ui] .news-source-notes { max-width:72ch; margin:2rem auto; padding:1rem; border-top:1px solid var(--line); font-size:.9rem; overflow-wrap:anywhere; }
body[data-news-common-ui] .preview-banner { padding:.75rem 1rem; background:#fff3d9; border:1px solid #efd69a; border-radius:.6rem; margin-bottom:1.4rem; }
.news-photo-placeholder { color:var(--muted); font-size:.85rem; border-left:3px solid var(--line); padding:.5rem 1rem; }
@media(min-width:900px) { body[data-news-common-ui] #news-scroll > .search-form { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:380px) {
  body[data-news-common-ui] #news-scroll { padding-inline:.65rem; }
  body[data-news-common-ui] .brand { font-size:.9rem; }
  body[data-news-common-ui] #news-detail { width:calc(100% - .5rem); max-width:calc(100% - .5rem); }
}

body[data-news-common-ui]{--news-ui-ready:1}

/* Bound the article list, not the discovery page; retain outer shell controls. */
#news-scroll .news-list-frame { max-height: 60vh; max-height: min(60svh,44rem); overflow-y:auto; overflow-x:hidden; scrollbar-gutter:stable; overscroll-behavior-y:auto; touch-action:pan-y pinch-zoom; border:1px solid #7b8a9b; border-radius:12px; padding:12px; align-content:start; }
#news-scroll .news-list-frame:focus-visible { outline:3px solid #1260a3; outline-offset:3px; }
#news-scroll .news-list-tools { display:flex; flex-wrap:wrap; gap:8px 16px; align-items:center; justify-content:space-between; margin:8px 0; font-size:.9rem; }
#news-scroll .news-list-tools button { min-height:44px; padding:8px 12px; cursor:pointer; }
#news-scroll .news-list-end { padding:12px 0; scroll-margin:24px; }
