body:has(.stories-page){overflow:visible}
body:has(.stories-page)>.site-header,
body:has(.stories-page)>.desktop-primary-nav{position:relative;top:auto}
body:has(.stories-page) .story-issue-header{top:0}
.stories-rail-home{display:none}
@media(min-width:900px){
 body:has(.stories-page) .story-issue-rail{top:var(--stories-rail-top,140px)}
 .stories-rail-home{position:fixed;top:12px;left:max(16px,calc((100vw - 1120px)/2));width:148px;height:42px;z-index:5;align-items:center;justify-content:center;background:var(--bg);border-radius:3px}
 .stories-rail-home.is-visible{display:flex}
 .stories-rail-home img{width:128px;height:auto}
 html[data-theme="dark"] .stories-rail-home img{filter:invert(1)}
 .stories-rail-home:focus-visible{outline:3px solid #b00;outline-offset:2px}
}

.stories-menu-reopen{display:none;position:fixed;top:58px;left:max(16px,calc((100vw - 1120px)/2));width:148px;min-height:40px;z-index:6;border:1px solid var(--line);border-radius:4px;background:var(--bg);color:var(--text);font:700 13px var(--ui-font);cursor:pointer}
.stories-menu-reopen.is-visible{display:block}
html.stories-menu-modal-open{overflow:hidden}
.stories-menu-drawer{position:fixed;inset:0;width:100%;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;border:0;background:transparent;color:var(--text,#222)}
.stories-menu-drawer::backdrop{background:rgba(0,0,0,.45)}
.stories-menu-panel{width:100%;max-height:90dvh;overflow-y:auto;overscroll-behavior:contain;background:var(--bg,#fff);box-shadow:0 8px 24px rgba(0,0,0,.2);padding:16px max(20px,calc((100vw - 1120px)/2)) 24px;box-sizing:border-box}
.stories-menu-drawer[open] .stories-menu-panel{animation:stories-menu-down .22s ease-out}
.stories-menu-close{display:block;margin:0 0 12px auto;padding:10px 12px;border:1px solid var(--line,#ddd);border-radius:4px;background:var(--bg,#fff);color:var(--text,#222);font:700 14px var(--ui-font,Arial,sans-serif);cursor:pointer}
.stories-menu-masthead{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;margin-bottom:20px}
.stories-menu-brand{grid-column:2;display:flex;align-items:center;justify-content:center;padding:8px 0}
.stories-menu-brand img{display:block;width:200px;max-width:45vw;height:auto}
.stories-menu-masthead .stories-menu-close{grid-column:3;justify-self:end;margin:0}
html[data-theme="dark"] .stories-menu-brand img{filter:invert(1)}
@media(max-width:600px){.stories-menu-masthead{grid-template-columns:1fr}.stories-menu-brand{grid-column:1;grid-row:1}.stories-menu-masthead .stories-menu-close{grid-column:1;grid-row:2}}
.stories-drawer-nav{display:flex;flex-wrap:wrap;align-items:flex-start;gap:12px 28px;font:700 14px/1.5 var(--ui-font,Arial,sans-serif);text-transform:uppercase}
.stories-drawer-nav>a,.stories-drawer-nav summary{display:block;padding:12px 0;color:var(--text,#222);text-decoration:none;cursor:pointer}
.stories-drawer-nav .nav-dropdown-menu{position:static;width:auto;box-shadow:none;background:transparent;padding:0 0 0 14px;border:0}
.stories-drawer-nav .nav-dropdown-menu a{display:block;padding:8px 0;color:var(--text,#222);text-decoration:none}
@keyframes stories-menu-down{from{transform:translateY(-100%);opacity:.4}to{transform:translateY(0);opacity:1}}
@media(prefers-reduced-motion:reduce){.stories-menu-drawer[open] .stories-menu-panel{animation:none}}
@media(max-width:767px){.stories-drawer-nav{display:block}.stories-drawer-nav>a,.stories-drawer-nav summary{border-bottom:1px solid var(--line,#ddd)}}
@media(max-width:899px){
 /* One opaque masthead surface behind both fixed controls, including the gap. */
 body:has(.stories-page):has(.stories-rail-home.is-visible)::before{content:"";position:fixed;inset:0 0 auto;height:48px;background:var(--bg,#faf9f6);border-bottom:1px solid var(--line,#ddd);z-index:5;pointer-events:none}
 .stories-rail-home.is-visible{display:flex;position:fixed;top:0;left:0;width:150px;height:48px;padding:12px;background:var(--bg);z-index:6}
 .stories-rail-home img{width:126px}
 .stories-menu-reopen{top:0;left:auto;right:0;width:96px;height:48px;border-radius:0}
 body:has(.stories-page) .story-issue-header{top:48px}
}
@media(max-width:767px){
 .stories-page .story-feed-excerpt,.stories-page .story-feed-continue{display:none}
}
