/* Permanent reference frame. Existing pages scroll only inside its rounded panel. */
html:has(body.bb-app){height:100%;overflow:hidden;background:#000;scroll-padding:0}
body.bb-app{position:fixed;inset:0;margin:0;padding:0!important;overflow:hidden!important;background:#000!important}
.bb-app-frame{height:100vh;height:100dvh;max-width:1600px;margin:0 auto;display:grid;grid-template-rows:clamp(64px,9dvh,84px) minmax(0,1fr) 27px clamp(68px,8dvh,84px);padding:0 max(4px,env(safe-area-inset-right)) max(5px,env(safe-area-inset-bottom)) max(4px,env(safe-area-inset-left));background:#000}
.bb-app-title{display:flex;align-items:flex-end;justify-content:center;padding:0 12px 9px;background:#000;min-width:0;overflow:hidden}
.bb-app-title>a{display:block;margin:0;color:#fff!important;text-decoration:none!important;font-family:Georgia,'Times New Roman',serif;font-weight:700;font-size:clamp(23px,6.5vw,48px);line-height:1.05;letter-spacing:-.055em;text-align:center;white-space:nowrap}
.bb-app-title>a:after{content:'';display:block;width:80%;height:3px;margin:10px auto 0;background:#e91c2c}
.bb-app-panel{position:relative;isolation:isolate;contain:paint;container-type:size;transform:translateZ(0);margin:0;min-width:0;min-height:0;border:1px solid #292929;border-radius:clamp(28px,8vw,44px);overflow:hidden;background:#000}
.bb-app-scroll{height:100%;width:100%;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch;scroll-padding-block:36px;background:#000;color:#fff}
.bb-app-scroll::-webkit-scrollbar{display:none}
.bb-app-scroll:focus{outline:none}.bb-app-scroll:focus-visible{outline:2px solid #aaa;outline-offset:-4px}
.bb-app-panel .wrap{max-width:calc(100% - 32px)}
.bb-app-panel .weather-masthead.brand{max-width:100%;padding-left:16px;padding-right:16px}
.bb-app-panel .home-intro-shell{min-height:300cqh!important}
.bb-app-panel .home-intro-shell::after{height:42cqh!important}
.bb-app-panel .home-intro-shell .weather-masthead.brand{padding-top:30px}
.bb-app-panel .intro-chapter-one{top:137cqh}.bb-app-panel .intro-chapter-two{top:226cqh}
.bb-app-panel .intro-repeat-alert{top:calc(100cqh - 48px)}
.bb-app-panel .home-intro-shell .scroll-cue{top:calc(100cqh - 112px)!important}
.bb-app-panel .home-transition{height:440px}
.bb-app-panel :is(.audio-under-banner,.top-sports,.today-carousel,main){background:#000;color:#fff}
.bb-app-panel .platform-footer{padding-bottom:48px}
.bb-app-panel .skip{position:absolute;top:18px;left:50%;transform:translate(-50%,-200%)}
.bb-app-panel .skip:focus{transform:translate(-50%,0);z-index:1200}
.bb-app-panel .app-splash{position:fixed;inset:0;border-radius:inherit}
.bb-app-panel #bb-toast{position:absolute;left:20px;right:20px;bottom:30px;transform:none;max-width:none;z-index:500}
.bb-app-panel .bb-drop>.bb-panel{position:fixed!important;inset:34px 16px auto!important;width:auto!important;max-width:none!important;max-height:calc(100% - 68px)!important;overflow:auto!important;transform:none!important;border-radius:16px;z-index:300}
.bb-app-panel .bb-panel .nested-menu>div,.bb-app-panel .bb-panel .community-entry>div,.bb-app-panel .bb-panel .church-entry>div{position:static!important;max-height:none!important}
.bb-app-panel [hidden]{display:none!important}

/* Same five-way navigation as the reference, outside the scrolling area. */
.bb-app .mobile-footer-tools{position:relative!important;inset:auto!important;display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr));align-items:stretch;gap:2px;width:100%;height:100%;padding:4px 6px;margin:0;border:1px solid #37373a;border-radius:30px;background:#080808!important;box-shadow:inset 0 1px #222;color:#fff;z-index:10}
.bb-app .mobile-footer-tools:before{display:none}
.bb-app .mobile-tool{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:4px;min-width:0;height:100%;margin:0;border-radius:23px;color:#fff!important;text-decoration:none!important}
.bb-app .mobile-tool svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.bb-app .mobile-tool:first-child svg,.bb-app .mobile-tool:nth-child(2) svg{fill:currentColor;stroke:none}
.bb-app .mobile-tool>span:last-child{max-width:100%;font-size:clamp(9px,2.5vw,13px);font-weight:800;letter-spacing:.01em;line-height:1.1;white-space:nowrap}
.bb-app .mobile-tool[aria-current=page]{background:#343941;box-shadow:inset 0 1px #4b5057}
.bb-app .mobile-tool-primary{background:#fff;color:#090b0f!important;margin-top:-4px;height:calc(100% + 4px);border:0;border-radius:23px;box-shadow:none}
.bb-app .mobile-tool-primary svg{width:29px;height:29px}
.bb-app button.mobile-tool-primary{padding:0;font:inherit;cursor:pointer;-webkit-appearance:none;appearance:none}
.bb-app button.mobile-tool-primary:disabled{opacity:1}
.bb-app .mobile-tool-account{padding-inline:2px;background:#000!important}
.bb-app .mobile-tool-account[aria-current=page]{box-shadow:inset 0 0 0 1px #555}
.bb-app .mobile-tool.mobile-tool-account>.mobile-tool-login{display:block;width:max-content;max-width:100%;font-family:Georgia,'Times New Roman',serif;font-size:clamp(1rem,4.65vw,1.375rem);font-weight:700;line-height:1.1;letter-spacing:-.055em;text-align:center;white-space:nowrap;color:#fff}
.bb-app .mobile-tool.mobile-tool-account.is-signed-in>.mobile-tool-login{font-size:clamp(.875rem,3.9vw,1.125rem)}
.bb-app .mobile-tool-login::after{content:'';display:block;width:100%;height:3px;margin-top:5px;background:#f00018}
.bb-app .mobile-tool:focus-visible,.bb-app-title a:focus-visible{outline:2px solid #f8a3ac;outline-offset:2px}

/* Text/email fallback when the device does not provide a native share sheet. */
.bb-share-dialog{box-sizing:border-box;width:min(420px,calc(100vw - 32px));max-height:calc(100dvh - 40px);margin:auto;padding:24px;overflow:auto;border:1px solid #444;border-top:3px solid #e91c2c;border-radius:22px;background:#101010;color:#fff;color-scheme:dark;font-family:Arial,sans-serif}
.bb-share-dialog::backdrop{background:#000b}
.bb-share-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}
.bb-share-heading h2{margin:0;font-family:Georgia,'Times New Roman',serif;font-size:1.5rem;line-height:1.2}
.bb-share-heading button{flex:0 0 44px;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:#262626;color:#fff;font:inherit;font-size:1.75rem;cursor:pointer}
.bb-share-options{display:grid;gap:10px}
.bb-share-options a,.bb-share-options button{display:block;box-sizing:border-box;width:100%;min-height:48px;margin:0;padding:14px 16px;border:1px solid #555;border-radius:12px;background:#202020;color:#fff;text-align:left;text-decoration:none;font:600 1rem/1.2 Arial,sans-serif;cursor:pointer}
.bb-share-options a:hover,.bb-share-options button:hover{background:#333;color:#fff}
.bb-share-dialog :is(a,button,input):focus-visible{outline:2px solid #f8a3ac;outline-offset:3px}
.bb-share-link{display:block;margin-top:20px;font-size:.875rem;line-height:1.5;color:#ccc}
.bb-share-link input{display:block;box-sizing:border-box;width:100%;min-height:44px;margin-top:6px;padding:10px;border:1px solid #555;border-radius:8px;background:#000;color:#fff;font:1rem/1.25 Arial,sans-serif}
.bb-share-dialog [data-share-feedback]{min-height:1.4em;margin:12px 0 0;font-size:.875rem;line-height:1.4}
@media(max-width:700px){
 .bb-app-panel .home-intro-shell .brand-topline{font-size:clamp(40px,16cqw,76px)}
 .bb-app-panel .home-intro-shell .brand-name{font-size:clamp(35px,13.3cqw,66px)}
 .bb-app-panel .intro-chapter h2{font-size:clamp(38px,15.5cqw,74px)}
 .bb-app-panel .home-intro-shell .masthead-conditions{grid-template-columns:minmax(0,1fr) minmax(116px,1.25fr) minmax(0,1fr);gap:5px}
 .bb-app-panel .masthead-conditions .bb-radio>summary{font-size:11px!important}
 .bb-app-panel .masthead-date{font-size:10px!important}
 .bb-app-panel .home-intro-shell .community-banner{width:calc(100% - 32px);margin-inline:16px}
 .bb-app-panel .home-intro-shell .community-banner .banner-label{flex-basis:88px;width:88px}
 .bb-app-panel .home-intro-shell .scroll-cue{font-size:10px;letter-spacing:.1em}
}
@media(min-width:701px){.bb-app-frame{grid-template-rows:84px minmax(0,1fr) 27px 80px;padding-inline:max(12px,env(safe-area-inset-left)) max(12px,env(safe-area-inset-right));padding-bottom:max(8px,env(safe-area-inset-bottom))}.bb-app-title{padding-bottom:12px}.bb-app-panel{border-radius:32px}.bb-app .mobile-footer-tools{max-width:640px;justify-self:center}.bb-app .mobile-tool>span:last-child{font-size:13px}}
@media(max-height:520px){.bb-app-frame{grid-template-rows:48px minmax(0,1fr) 20px 59px}.bb-app-title{padding-bottom:6px}.bb-app-title>a{font-size:23px}.bb-app-title>a:after{margin-top:5px;height:2px}.bb-app-panel{border-radius:24px}.bb-app .mobile-tool svg{width:21px;height:21px}}
@media(prefers-reduced-motion:reduce){.bb-app-scroll{scroll-behavior:auto}}

/* One black reading surface across current, archived and member pages.
   Inherit white text through nested content; retain the editorial red accents.
   Images and logos keep their original pixels, colors and source URLs. */
.bb-app-scroll{--paper:#000;--ink:#fff;--navy:#fff;--muted:#fff;--line:#343434;--blue:#000;--amber:#000;--red:#f05a5e;color-scheme:dark}
body.bb-app .bb-app-scroll *{color:inherit!important;background-color:transparent!important}
body.bb-app .bb-app-scroll :is(input,select,textarea,option,button,.bb-button,.bb-panel,.weather-widget,.brief-card,.event-card,.activity-card,.park-card,.metric-grid article,.bb-form,.forum-question,.forum-answer,.bucket-item,.cinema-card,.empty-state,.notice,.review-card,.recovery-note,.owner-claim,.status,.pill,.date-tile,.event-visual-label,.directory-drop>div){background-color:#000!important}
body.bb-app .bb-app-scroll :is(.weather-masthead,.masthead-copy,.latest-audio,.desk#weather,.home-transition,.app-splash){background:#000!important;box-shadow:none;backdrop-filter:none}
body.bb-app .bb-app-scroll :is(.weather-sky,.weather-masthead)::after,
body.bb-app .bb-app-scroll .home-intro-shell::after{display:none!important}
body.bb-app .bb-app-scroll :is(.red,.kicker,.nav-end,.calendar-date,.edition-date,.audio-kicker,.gas-focus-value,.radio-fallback,.app-install-status,.notice-list-heading,.footer-promise,.brand-promise,.stars,.park-facts dt,.form-status.error,.bb-panel h3,.event-list-links b,.sports-hub-card h3 span,.next-game .eyebrow,.ticker-down,.notice-separator,.notice-track[data-severity=danger]){color:var(--red)!important}
body.bb-app .bb-app-scroll :is(a:hover,a:focus-visible){color:var(--red)!important}
body.bb-app .bb-app-scroll :is(.community-entry summary,.church-entry summary,.directory-drop>summary,.refine-search>summary)::after,
body.bb-app .bb-app-scroll :is(.event-card .venue,.event-card .time)::before{color:var(--red)!important}
body.bb-app .bb-app-scroll .bucket-item.complete h3::before{color:#fff}
body.bb-app .bb-app-scroll :is(input,textarea)::placeholder{color:#fff;opacity:.72}
body.bb-app .bb-app-scroll :is(input,select,textarea,button,.bb-button){border-color:#666;accent-color:var(--red)}
body.bb-app .bb-app-scroll :is(button[aria-pressed=true],.auth-tabs button[aria-pressed=true]){border-color:var(--red);box-shadow:inset 0 -2px var(--red)}
body.bb-app .bb-app-scroll :is(.bb-radio>summary,.youtube-mark){background-color:#c5283a!important;color:#fff!important}
body.bb-app .bb-app-scroll :is(.brand-red-rule,.app-splash-brand i){background-color:#e21f2f!important}
body.bb-app .bb-app-scroll .bb-panel{border-color:#444;border-top-color:var(--red);box-shadow:0 14px 35px #000c}
body.bb-app .bb-app-scroll .bb-panel a:hover{background-color:#171717!important}
body.bb-app .bb-app-scroll .banner-label,
body.bb-app .bb-app-scroll .intro-repeat-alert>strong{border-inline:1px solid #444}
.bb-app-panel #bb-toast{background:#000;border:1px solid #555;color:#fff}

/* Lower cover banner travels left; the live upper banner travels right.
   Matching repeated groups keep the lower loop continuous without flipped text. */
.bb-app-panel .intro-repeat-alert .intro-alert-track{display:flex;flex:0 0 auto;width:max-content;animation:bb-alert-left 24s linear infinite}
.bb-app-panel .intro-repeat-alert .intro-alert-track>span{display:block;flex:0 0 auto;padding:0 24px 0 0;animation:none}
.bb-app-panel .intro-repeat-alert:hover .intro-alert-track{animation-play-state:paused}
@keyframes bb-alert-left{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.bb-app-panel .intro-repeat-alert .intro-alert-track{animation:none;transform:none}}

/* A single centered contact line in the fixed gap above the action bar. */
.bb-app-panel .home-intro-shell .masthead-copy{display:none!important}
.bb-app-panel .home-intro-shell .community-banner{margin-top:12px}
.bb-app .bb-app-contact{display:flex;align-items:center;justify-content:center;flex-wrap:nowrap;gap:clamp(2px,.6vw,6px);min-width:0;max-width:100%;margin:0;padding:0 2px;background:#000;color:#fff;font:400 clamp(.5625rem,2.5vw,.6875rem)/1 Arial,sans-serif;letter-spacing:0;text-align:center;white-space:nowrap}
.bb-app .bb-app-contact a{display:inline-flex;align-items:center;flex:0 0 auto;height:100%;color:inherit;text-decoration:none}
.bb-app .bb-app-contact>span{flex:0 0 auto}
.bb-app .bb-app-contact a:hover{color:#f05a5e}
.bb-app .bb-app-contact a:focus-visible{outline:1px solid #f8a3ac;outline-offset:1px}
