/* Category label colors + article readability (was front_labels_style) */
.cat-links a[href*="balboa-peninsula"],a[rel="category tag"][href*="balboa-peninsula"]{background:#dceff8!important;color:#145375!important;border-radius:4px!important;padding:3px 7px!important;font-weight:700!important;text-decoration:none!important}
.cat-links a[href*="/election/"],a[rel="category tag"][href*="/election/"]{background:#efe7fb!important;color:#584185!important;border-radius:4px!important;padding:3px 7px!important;font-weight:700!important;text-decoration:none!important}
.tbl-local-voices{outline:2px solid #438a67;outline-offset:-2px}
.tbl-balboa-peninsula:not(.tbl-local-voices){border-left:4px solid #3d88b1}
/* Better readability for opened articles only; homepage cards remain unchanged. */
body.single-post .entry-content,body.single-post .wp-block-post-content,body.single-post article .content,body.single-post .post-content{color:#20272b!important}
body.single-post .entry-content p,body.single-post .entry-content li,body.single-post .wp-block-post-content p,body.single-post .wp-block-post-content li,body.single-post article .content p,body.single-post .post-content p{color:#20272b!important;opacity:1!important;line-height:1.68!important}
body.single-post .entry-content h2,body.single-post .entry-content h3,body.single-post .wp-block-post-content h2,body.single-post .wp-block-post-content h3{color:#17252c!important}
body.single-post .entry-content a,body.single-post .wp-block-post-content a{color:#135a79}
@media(max-width:767px){body.single-post .entry-content,body.single-post .wp-block-post-content{font-size:17px!important;line-height:1.68!important}body.single-post .entry-content p,body.single-post .wp-block-post-content p{font-size:inherit!important}body.single-post main,body.single-post .site-main,body.single-post .site-content,body.single-post .content-area,body.single-post article,body.single-post .entry-content,body.single-post .wp-block-post-content{box-sizing:border-box;max-width:100%}body.single-post .entry-content,body.single-post .wp-block-post-content{padding-left:0!important;padding-right:0!important;margin-left:0!important;margin-right:0!important}body.single-post .site-main,body.single-post .content-area,body.single-post .entry-content,body.single-post .wp-block-post-content{min-width:0}body.single-post .site-content,body.single-post .site-main,body.single-post .content-area{padding-left:14px!important;padding-right:14px!important}body.single-post .wp-site-blocks .wp-block-group.alignwide,body.single-post .wp-site-blocks .wp-block-post-content{max-width:100%!important}body.single-post img{max-width:100%;height:auto}}

body.single-post{--tbl-article-ink:#111c25}
body.single-post :is(.entry-content,.wp-block-post-content,.post-content,.post-entry,.single-content,.article-content,.article-body,.elementor-widget-theme-post-content,.entry-body){color:var(--tbl-article-ink)!important;opacity:1!important}
body.single-post :is(.entry-content,.wp-block-post-content,.post-content,.post-entry,.single-content,.article-content,.article-body,.elementor-widget-theme-post-content,.entry-body) :is(p,li,blockquote,span,strong,em){color:var(--tbl-article-ink)!important;opacity:1!important;text-shadow:none!important}
body.single-post :is(.entry-content,.wp-block-post-content,.post-content,.post-entry,.single-content,.article-content,.article-body) :is(h1,h2,h3,h4){color:#101a22!important;opacity:1!important}
@media(max-width:767px){
 body.single-post :is(.site-content,.site-main,.content-area,.content-container,.site-inner,.site-container,.entry,.post,.single-post-content,.post-wrapper,.entry-content-wrap,.wp-site-blocks,.wp-block-post-content,.entry-content,.post-content,.article-content,.article-body){box-sizing:border-box!important}
 body.single-post :is(.site-content,.site-main,.content-area,.content-container,.site-inner,.entry,.post,.single-post-content,.post-wrapper,.entry-content-wrap,.wp-block-group:has(>.wp-block-post-content)){padding-left:10px!important;padding-right:10px!important}
 body.single-post :is(.entry-content,.wp-block-post-content,.post-content,.post-entry,.single-content,.article-content,.article-body,.elementor-widget-theme-post-content){width:100%!important;max-width:100%!important;margin-left:0!important;margin-right:0!important;padding-left:0!important;padding-right:0!important;font-size:18px!important;line-height:1.62!important}
 body.single-post :is(.entry-content,.wp-block-post-content,.post-content,.post-entry,.single-content,.article-content,.article-body) :is(p,li){font-size:18px!important;line-height:1.62!important}
 body.single-post :is(.entry-content,.wp-block-post-content,.post-content,.article-content,.article-body) .wp-block-group{max-width:100%!important}
}

.tbl-front-label{display:inline-block!important;font:700 11px/1.3 system-ui!important;letter-spacing:.055em!important;padding:5px 8px!important;border-radius:5px!important;margin:0 6px 7px 0!important;vertical-align:middle!important;text-transform:uppercase!important}.tbl-front-election{background:#eee6fb!important;color:#563c81!important}.tbl-front-peninsula{background:#dceff8!important;color:#145375!important}.tbl-front-local{background:#def1e5!important;color:#1d6545!important}.tbl-front-story-card{border:2px solid #9bb5c5!important;border-radius:14px!important;overflow:hidden!important;box-shadow:0 2px 9px rgba(21,59,73,.09)!important}.tbl-front-wedge-card:not(.tbl-front-local-card){border-color:#2477ac!important}.tbl-front-local-card{border-color:#399265!important;box-shadow:0 2px 9px rgba(23,84,57,.12)!important}.tbl-readbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:4px 0 18px}.tbl-readbar button{border:0;background:#21566a;color:white;border-radius:7px;padding:10px 15px;font:700 14px system-ui;cursor:pointer}.tbl-readbar .tbl-read-stop{background:#657782}.tbl-read-state{font:12px system-ui;color:#667782}

/* Compact public layout (was compact_public_layout) */
/* Compact public newspaper, preserve the masthead and category strip */
body.home :is(main,#main,.site-main,.site-content,.content-area),
body.front-page :is(main,#main,.site-main,.site-content,.content-area){padding-top:0!important;margin-top:0!important}
body.home :is(.tbl-front-story-card,article.post,.story-card,.news-card),
body.front-page :is(.tbl-front-story-card,article.post,.story-card,.news-card){margin-top:10px!important;margin-bottom:14px!important}
body.home :is(.tbl-front-story-card,article.post,.story-card,.news-card)>:first-child,
body.front-page :is(.tbl-front-story-card,article.post,.story-card,.news-card)>:first-child{margin-top:0!important}
body.home .tbl-front-story-card,body.front-page .tbl-front-story-card{padding:14px!important}
body.home .tbl-front-story-card :is(h1,h2,h3),body.front-page .tbl-front-story-card :is(h1,h2,h3){margin-top:8px!important;margin-bottom:9px!important}
body.home .tbl-front-story-card :is(p,.entry-summary,.excerpt),body.front-page .tbl-front-story-card :is(p,.entry-summary,.excerpt){margin-top:5px!important;margin-bottom:8px!important}
/* Opened WordPress articles */
body.single-post :is(main,#main,.site-main,.site-content,.content-area,.entry-header,.post-header){margin-top:0!important;padding-top:8px!important}
body.single-post :is(.entry-title,.wp-block-post-title,h1.entry-title){margin-top:4px!important;margin-bottom:12px!important}
@media(max-width:767px){
body.home :is(.tbl-front-story-card,article.post,.story-card,.news-card),body.front-page :is(.tbl-front-story-card,article.post,.story-card,.news-card){padding:12px!important;margin-top:8px!important;margin-bottom:12px!important}
body.home :is(main,#main,.site-main,.site-content,.content-area),body.front-page :is(main,#main,.site-main,.site-content,.content-area){padding-top:0!important}
body.single-post :is(main,#main,.site-main,.site-content,.content-area){padding-top:4px!important}
}


/* Bottom of articles (v4.6): two small boxes instead of two big ones. */
html body .tbl-tip.tbl-tip{margin:22px 0 8px!important;padding:12px 14px!important;border-left-width:4px!important;border-radius:12px!important}
html body .tbl-tip.tbl-tip .tbl-tip-title.tbl-tip-title{font:800 16px/1.25 system-ui,-apple-system,"Segoe UI",sans-serif!important;margin:0 0 8px!important}
html body .tbl-tip form{display:flex;gap:8px;align-items:flex-end;margin:0}
html body .tbl-tip .tbl-tip-input{flex:1;min-width:0;min-height:42px!important;height:42px;padding:10px 12px!important;resize:none;overflow:hidden;font-size:16px!important;line-height:1.35!important}
html body .tbl-tip:focus-within .tbl-tip-input{height:84px;overflow:auto}
html body .tbl-tip .tbl-tip-send{padding:11px 18px!important;font-size:15px!important;white-space:nowrap;flex:0 0 auto}
html body .tbl-share-block.tbl-share-block{margin:12px 0 8px!important;padding:12px 14px!important;border-radius:12px!important}
html body .tbl-share-block.tbl-share-block.tbl-share-block h2,html body.tbl-article .tbl-share-block.tbl-share-block.tbl-share-block h2{font:800 16px/1.25 system-ui,-apple-system,"Segoe UI",sans-serif!important;margin:0 0 8px!important}
html body .tbl-share-block .tbl-share-opts{display:flex;gap:8px;flex-wrap:wrap}
html body .tbl-share-block .tbl-sh-main,html body .tbl-share-block .tbl-share-native{width:auto;flex:1 1 140px;padding:11px 14px!important;font-size:15px!important;border-radius:999px!important}

/* Datelines (v4.7): every story opens the same way, NEWPORT BEACH | SECTION | DATE */
html body .tbl-front-story-card .tbl-card-sum .tbl-card-dl{font-weight:800!important;letter-spacing:.02em;color:inherit!important;opacity:1!important}
html body.tbl-article :is(.entry-content,.wp-block-post-content,.post-content,.article-content,.article-body,article,main) p.tbl-dl.tbl-dl,html body p.tbl-dl.tbl-dl.tbl-dl{margin:0 0 .7em!important;font:800 13px/1.4 system-ui,-apple-system,"Segoe UI",sans-serif!important;letter-spacing:.06em!important;text-transform:uppercase!important;color:#185d8e!important}

/* Whole card opens the story (v4.7.1): the headline link stretches over the entire card.
   Other links on the card (Read the story, photo) sit on top and go to the same story. */
html body .tbl-front-story-card.tbl-front-story-card{position:relative!important;cursor:pointer}
html body .tbl-front-story-card .tbl-card-title,html body .tbl-front-story-card .tbl-card-title a{position:static!important}
html body .tbl-front-story-card .tbl-card-title a::after{content:"";position:absolute;inset:0;z-index:1;border-radius:inherit}
html body .tbl-front-story-card :is(.tbl-card-more,.tbl-card-photo,.tbl-front-badges a){position:relative;z-index:2}

/* Endless scroll (v4.8.3): "More stories" loads by itself; while it does, it is just a quiet line of text. */
html body #tbl-more-stories.tbl-more-auto{background:none!important;border:0!important;box-shadow:none!important;color:#5b7183!important;font:600 14px/1.4 system-ui,-apple-system,sans-serif!important;padding:14px 0!important;cursor:default}
html body #tbl-more-stories.tbl-more-auto:not([disabled]){color:#185d8e!important;text-decoration:underline;cursor:pointer}

/* Desktop rows of three for stories without a photo (v4.9) */
@media (min-width:900px){
 html body .tbl-trio{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--tbl-trio-gap,24px);align-items:stretch;margin:0 0 var(--tbl-trio-gap,24px);width:100%;box-sizing:border-box}
 html body .tbl-trio>*{min-width:0;margin:0!important;height:100%;display:flex!important;flex-direction:column}
 html body .tbl-trio>* .tbl-front-story-card,html body .tbl-trio>.tbl-front-story-card{flex:1 1 auto;height:100%;margin:0!important;box-sizing:border-box}
 html body .tbl-trio .tbl-card-title{font-size:23px!important;line-height:1.2!important}
}
@media (min-width:900px){
 html.tbl-trios body .tbl-front-story-card.tbl-front-story-card.tbl-front-story-card{margin-top:0!important}
}

/* ===== Mini newspapers (v5.0) — Concept 3 "Refined Editorial", aged newsprint ===== */
html body .tbl-front-story-card.tbl-front-story-card.tbl-front-story-card.tbl-card-custom.tbl-card-custom.tbl-card-custom.tbl-paper.tbl-paper{background-color:#faf6ec!important;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 .4 0 0 0 0 .33 0 0 0 0 .2 0 0 0 .045 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>"),radial-gradient(ellipse at 50% 50%,rgba(0,0,0,0) 70%,rgba(150,120,70,.07) 100%)!important;background-size:180px 180px,100% 100%!important;color:#1b1814!important;border:1.5px solid #1b1814!important;border-radius:18px!important;box-shadow:0 6px 18px rgba(8,30,48,.10),0 1px 3px rgba(8,30,48,.06)!important;padding:12px 16px 14px!important;cursor:default;overflow:hidden!important;text-align:left!important}
html body .tbl-front-story-card.tbl-front-story-card.tbl-front-story-card.tbl-paper.tbl-paper .np-paper{width:100%;font-family:"Old Standard TT",Georgia,"Times New Roman",serif;color:#1b1814}
html body .tbl-front-story-card.tbl-front-story-card.tbl-front-story-card.tbl-paper.tbl-paper .np-top{display:flex!important;justify-content:space-between;gap:8px;font:700 9.5px/1.2 "Old Standard TT",Georgia,serif!important;letter-spacing:.14em;text-transform:uppercase;color:#3b3326!important;border-top:1px solid #1b1814!important;border-bottom:1px solid #1b1814!important;padding:4px 0 3px}
html body .tbl-front-story-card.tbl-front-story-card.tbl-front-story-card.tbl-paper.tbl-paper .np-mast{white-space:nowrap;overflow:hidden;font:400 38px/1.05 "UnifrakturMaguntia","Playfair Display",Georgia,"Times New Roman",serif!important;text-align:center;letter-spacing:0;color:#120f0b!important;margin:9px 0 3px}
html body .tbl-front-story-card.tbl-front-story-card.tbl-front-story-card.tbl-paper.tbl-paper .np-tag{font:italic 400 12.5px/1.3 "Old Standard TT",Georgia,serif!important;text-align:center;color:#3b3326!important;padding-bottom:8px;border-bottom:4px double #1b1814!important;margin-bottom:11px}
html body .tbl-front-story-card.tbl-front-story-card.tbl-front-story-card.tbl-paper.tbl-paper .np-sec{display:block!important;font:700 9.5px/1.2 "Old Standard TT",Georgia,serif!important;letter-spacing:.16em;text-transform:uppercase;color:#5e4f37!important;margin:0 0 4px}
html body .tbl-front-story-card.tbl-front-story-card.tbl-front-story-card.tbl-paper.tbl-paper a.np-hl,html body .tbl-front-story-card.tbl-front-story-card.tbl-front-story-card.tbl-paper.tbl-paper a.np-hl:visited{display:block;color:#120f0b!important;text-decoration:none!important;font:700 17px/1.18 "Playfair Display",Georgia,"Times New Roman",serif!important;margin:0 0 5px;letter-spacing:-.005em}
html body .tbl-front-story-card.tbl-front-story-card.tbl-front-story-card.tbl-paper.tbl-paper a.np-hl:hover{text-decoration:underline!important;text-decoration-thickness:1px!important}
html body .tbl-front-story-card.tbl-front-story-card.tbl-front-story-card.tbl-paper.tbl-paper .np-lead a.np-hl{font-size:25px!important;line-height:1.12!important;font-weight:800!important}
html body .tbl-front-story-card.tbl-front-story-card.tbl-front-story-card.tbl-paper.tbl-paper p.np-deck{font:400 13.5px/1.42 "Old Standard TT",Georgia,serif!important;color:#2e281f!important;margin:0!important;opacity:1!important;display:block!important;-webkit-line-clamp:unset!important;overflow:visible!important;text-align:left}
@media (max-width:899px){html body .tbl-front-story-card.tbl-front-story-card.tbl-front-story-card.tbl-paper.tbl-paper .np-lead p.np-deck::first-letter{float:left;font:900 34px/.82 "Playfair Display",Georgia,serif;margin:4px 6px 0 0;color:#120f0b}}
html body .tbl-front-story-card.tbl-front-story-card.tbl-front-story-card.tbl-paper.tbl-paper .np-lead{display:flex;gap:14px;align-items:flex-start;padding-bottom:11px;border-bottom:1px solid #1b1814!important;margin-bottom:11px}
html body .tbl-front-story-card.tbl-front-story-card.tbl-front-story-card.tbl-paper.tbl-paper .np-lead-text{flex:1 1 auto;min-width:0}
html body .tbl-front-story-card.tbl-front-story-card.tbl-front-story-card.tbl-paper.tbl-paper img.np-photo{flex:0 0 36%;width:36%;max-width:300px;aspect-ratio:4/3;object-fit:cover;filter:grayscale(1) sepia(.08) contrast(1.08);border:1px solid #1b1814!important;padding:3px;background:#fffdf7!important;border-radius:0;margin:0!important;display:block;box-shadow:0 1px 0 rgba(0,0,0,.06)}
html body .tbl-front-story-card.tbl-front-story-card.tbl-front-story-card.tbl-paper.tbl-paper .np-cols{display:grid;grid-template-columns:1fr 1fr;gap:0}
html body .tbl-front-story-card.tbl-front-story-card.tbl-front-story-card.tbl-paper.tbl-paper .np-col{padding:0 12px;min-width:0}
html body .tbl-front-story-card.tbl-front-story-card.tbl-front-story-card.tbl-paper.tbl-paper .np-col:first-child{padding-left:0}
html body .tbl-front-story-card.tbl-front-story-card.tbl-front-story-card.tbl-paper.tbl-paper .np-col:last-child{padding-right:0}
html body .tbl-front-story-card.tbl-front-story-card.tbl-front-story-card.tbl-paper.tbl-paper .np-col+.np-col{border-left:1px solid #1b1814!important}
html body .tbl-front-story-card.tbl-front-story-card.tbl-front-story-card.tbl-paper.tbl-paper .np-cols-3{grid-template-columns:1fr 1fr 1fr}
@media (max-width:899px){
 html body .tbl-front-story-card.tbl-front-story-card.tbl-front-story-card.tbl-card-custom.tbl-card-custom.tbl-card-custom.tbl-paper.tbl-paper{padding:10px 14px 12px!important}
 html body .tbl-front-story-card.tbl-front-story-card.tbl-front-story-card.tbl-paper.tbl-paper .np-top{font-size:8.5px!important;letter-spacing:.11em;padding:3px 0 2px}
 html body .tbl-front-story-card.tbl-front-story-card.tbl-front-story-card.tbl-paper.tbl-paper .np-mast{font-size:clamp(22px,7.6vw,31px)!important;line-height:1.05!important;margin:5px 0 1px!important}
 html body .tbl-front-story-card.tbl-front-story-card.tbl-front-story-card.tbl-paper.tbl-paper .np-tag{font-size:11px!important;padding-bottom:5px!important;border-bottom-width:3px!important;margin-bottom:8px!important}
 html body .tbl-front-story-card.tbl-front-story-card.tbl-front-story-card.tbl-paper.tbl-paper .np-sec{font-size:8.5px!important;margin-bottom:2px!important}
 html body .tbl-front-story-card.tbl-front-story-card.tbl-front-story-card.tbl-paper.tbl-paper .np-lead{padding-bottom:8px!important;margin-bottom:8px!important}
 html body .tbl-front-story-card.tbl-front-story-card.tbl-front-story-card.tbl-paper.tbl-paper .np-lead a.np-hl{font-size:20px!important;line-height:1.14!important;margin-bottom:3px!important}
 html body .tbl-front-story-card.tbl-front-story-card.tbl-front-story-card.tbl-paper.tbl-paper p.np-deck{font-size:12.5px!important;line-height:1.38!important;display:-webkit-box!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:2!important;overflow:hidden!important}
 html body .tbl-front-story-card.tbl-front-story-card.tbl-front-story-card.tbl-paper.tbl-paper .np-lead p.np-deck::first-letter{font-size:26px!important}
 html body .tbl-front-story-card.tbl-front-story-card.tbl-front-story-card.tbl-paper.tbl-paper img.np-photo{max-height:150px}
 html body .tbl-front-story-card.tbl-front-story-card.tbl-front-story-card.tbl-paper.tbl-paper .np-cols-3{grid-template-columns:1fr}
 html body .tbl-front-story-card.tbl-front-story-card.tbl-front-story-card.tbl-paper.tbl-paper .np-cols-3 .np-col{padding:0!important;border-left:0!important}
 html body .tbl-front-story-card.tbl-front-story-card.tbl-front-story-card.tbl-paper.tbl-paper .np-cols-3 .np-col+.np-col{border-top:1px solid #9c8a66!important;padding-top:8px!important;margin-top:8px}
 html body .tbl-front-story-card.tbl-front-story-card.tbl-front-story-card.tbl-paper.tbl-paper .np-cols-3 p.np-deck{display:none!important}
 html body .tbl-front-story-card.tbl-front-story-card.tbl-front-story-card.tbl-paper.tbl-paper .np-cols-2 a.np-hl{font-size:14.5px!important;line-height:1.18!important}
 html body .tbl-front-story-card.tbl-front-story-card.tbl-front-story-card.tbl-paper.tbl-paper .np-cols-2 p.np-deck{font-size:11.5px!important;text-align:left;-webkit-line-clamp:3!important}
 html body .tbl-front-story-card.tbl-front-story-card.tbl-front-story-card.tbl-paper.tbl-paper .np-col{padding:0 9px!important}
 html body .tbl-front-story-card.tbl-front-story-card.tbl-front-story-card.tbl-paper.tbl-paper .np-col:first-child{padding-left:0!important}
 html body .tbl-front-story-card.tbl-front-story-card.tbl-front-story-card.tbl-paper.tbl-paper .np-col:last-child{padding-right:0!important}
 html body .tbl-front-story-card.tbl-front-story-card.tbl-front-story-card.tbl-paper.tbl-paper .np-lead{flex-direction:column;gap:9px}
 html body .tbl-front-story-card.tbl-front-story-card.tbl-front-story-card.tbl-paper.tbl-paper img.np-photo{order:-1;flex:0 0 auto;width:100%;max-width:none;aspect-ratio:16/9}
}
@media (min-width:900px){
 html body .tbl-front-story-card.tbl-front-story-card.tbl-front-story-card.tbl-paper.tbl-paper .np-paper{display:flex;flex-direction:column;height:100%}
 html body .tbl-front-story-card.tbl-front-story-card.tbl-front-story-card.tbl-paper.tbl-paper .np-mast{font-size:clamp(30px,2.6vw,38px)!important;margin:7px 0 2px!important}
 html body .tbl-front-story-card.tbl-front-story-card.tbl-front-story-card.tbl-paper.tbl-paper .np-top{font-size:9.5px!important}
 html body .tbl-front-story-card.tbl-front-story-card.tbl-front-story-card.tbl-paper.tbl-paper .np-tag{font-size:12.5px!important}
 html body .tbl-front-story-card.tbl-front-story-card.tbl-front-story-card.tbl-paper.tbl-paper .np-lead{flex-direction:column;gap:10px}
 html body .tbl-front-story-card.tbl-front-story-card.tbl-front-story-card.tbl-paper.tbl-paper img.np-photo{order:-1;flex:0 0 auto;width:100%;max-width:none;aspect-ratio:16/9;max-height:210px}
 html body .tbl-front-story-card.tbl-front-story-card.tbl-front-story-card.tbl-paper.tbl-paper .np-lead a.np-hl{font-size:25px!important}
 html body .tbl-front-story-card.tbl-front-story-card.tbl-front-story-card.tbl-paper.tbl-paper p.np-deck{font-size:13.5px!important;display:-webkit-box!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:4!important;overflow:hidden!important;text-align:justify;hyphens:auto;-webkit-hyphens:auto}
 html body .tbl-front-story-card.tbl-front-story-card.tbl-front-story-card.tbl-paper.tbl-paper .np-cols{margin-top:auto}
 html body .tbl-front-story-card.tbl-front-story-card.tbl-front-story-card.tbl-paper.tbl-paper .np-cols a.np-hl{font-size:16.5px!important}
 html body .tbl-front-story-card.tbl-front-story-card.tbl-front-story-card.tbl-paper.tbl-paper .np-cols p.np-deck{font-size:12.5px!important;-webkit-line-clamp:3!important}
 /* no photo: bigger type and longer summaries fill the card evenly (no empty middle) */
 html body .tbl-front-story-card.tbl-front-story-card.tbl-front-story-card.tbl-paper.tbl-paper .np-paper:not(.np-has-photo) .np-lead{margin-top:auto!important;padding-top:6px}
 html body .tbl-front-story-card.tbl-front-story-card.tbl-front-story-card.tbl-paper.tbl-paper .np-paper:not(.np-has-photo) .np-lead a.np-hl{font-size:32px!important;line-height:1.1!important}
 html body .tbl-front-story-card.tbl-front-story-card.tbl-front-story-card.tbl-paper.tbl-paper .np-paper:not(.np-has-photo) .np-lead p.np-deck{font-size:15.5px!important;line-height:1.5!important;-webkit-line-clamp:7!important}
 html body .tbl-front-story-card.tbl-front-story-card.tbl-front-story-card.tbl-paper.tbl-paper .np-paper:not(.np-has-photo) .np-lead p.np-deck::first-letter{float:left;font:900 46px/.82 "Playfair Display",Georgia,serif;margin:5px 7px 0 0;color:#120f0b}
 html body .tbl-front-story-card.tbl-front-story-card.tbl-front-story-card.tbl-paper.tbl-paper .np-paper:not(.np-has-photo) .np-cols{margin-top:0!important;margin-bottom:auto!important}
 html body .tbl-front-story-card.tbl-front-story-card.tbl-front-story-card.tbl-paper.tbl-paper .np-paper:not(.np-has-photo) .np-cols a.np-hl{font-size:19px!important}
 html body .tbl-front-story-card.tbl-front-story-card.tbl-front-story-card.tbl-paper.tbl-paper .np-paper:not(.np-has-photo) .np-cols p.np-deck{font-size:13.5px!important;line-height:1.45!important;-webkit-line-clamp:6!important}
 html body .tbl-front-story-card.tbl-front-story-card.tbl-front-story-card.tbl-card-custom.tbl-card-custom.tbl-card-custom.tbl-paper.tbl-paper{padding:14px 20px 18px!important;height:100%;box-sizing:border-box}
 html body .tbl-duo{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--tbl-trio-gap,24px);align-items:stretch;margin:0 0 var(--tbl-trio-gap,24px);width:100%;box-sizing:border-box}
 html body .tbl-duo>*{min-width:0;margin:0!important;height:100%;display:flex!important;flex-direction:column}
 html body .tbl-duo>* .tbl-front-story-card,html body .tbl-duo>.tbl-front-story-card{flex:1 1 auto;height:100%;margin:0!important;box-sizing:border-box}
}

/* ===== Floating "Got a lead?" bar (v5.0) ===== */
html body .tbl-lead-bar{position:fixed;left:0;right:0;bottom:0;z-index:99990;box-sizing:border-box;background:var(--tbl-card-bg,#0b3a5c);color:#fff;border-radius:26px 26px 0 0;padding:14px 18px calc(16px + env(safe-area-inset-bottom));box-shadow:0 -10px 30px rgba(5,20,33,.28);transform:translate3d(0,110%,0);transition:transform .7s cubic-bezier(.22,.8,.24,1);font-family:system-ui,-apple-system,"Segoe UI",sans-serif;text-align:left}
html body .tbl-lead-bar.is-in{transform:translate3d(0,0,0)}
html body .tbl-lead-bar[hidden]{display:none!important}
html body .tbl-lead-bar .tbl-lead-h{margin:2px 44px 10px!important;padding:0!important;text-align:center!important;font:800 19px/1.2 system-ui,-apple-system,"Segoe UI",sans-serif!important;color:#fff!important;letter-spacing:-.01em!important;border:0!important}
html body .tbl-lead-bar .tbl-lead-x{position:absolute;top:8px;right:10px;width:40px;height:40px;padding:0;border:0!important;background:transparent!important;color:#fff!important;font:400 30px/40px system-ui,sans-serif!important;text-align:center;cursor:pointer;border-radius:50%;box-shadow:none!important}
html body .tbl-lead-bar .tbl-lead-x:hover,html body .tbl-lead-bar .tbl-lead-x:focus-visible{background:rgba(255,255,255,.14)!important;outline:none}
html body .tbl-lead-bar .tbl-lead-form{margin:0}
html body .tbl-lead-bar textarea{display:block;width:100%;box-sizing:border-box;min-height:46px;height:46px;max-height:120px;resize:none;border:0!important;border-radius:12px!important;padding:12px 14px!important;font:16px/1.35 system-ui,-apple-system,"Segoe UI",sans-serif!important;color:#0d1418!important;background:#fff!important;box-shadow:none!important;margin:0!important}
html body .tbl-lead-bar textarea::placeholder{color:#6f8494;opacity:1}
html body .tbl-lead-bar textarea:focus{outline:3px solid rgba(255,255,255,.45);outline-offset:1px}
html body .tbl-lead-bar .tbl-lead-send{display:block;width:100%;margin:10px 0 0!important;min-height:46px;border:0!important;border-radius:999px!important;background:#e9eff4!important;color:#0b2c48!important;font:800 16px/1 system-ui,-apple-system,"Segoe UI",sans-serif!important;cursor:pointer;box-shadow:none!important;padding:0 18px!important}
html body .tbl-lead-bar .tbl-lead-send:hover{background:#fff!important}
html body .tbl-lead-bar .tbl-lead-send[disabled]{opacity:.7;cursor:default}
html body .tbl-lead-bar .tbl-lead-msg{margin:8px 0 0!important;text-align:center;font:600 14px/1.35 system-ui,sans-serif!important;color:#d4e8f6!important}
html body .tbl-lead-bar .tbl-lead-msg:empty{display:none}
html body .tbl-lead-bar .tbl-lead-thanks{margin:6px 0 4px!important;text-align:center;font:600 16px/1.4 system-ui,sans-serif!important;color:#fff!important}
html body .tbl-lead-bar .bl-honey{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
html body .tbl-lead-bar .bl-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media (prefers-reduced-motion:reduce){html body .tbl-lead-bar{transition:none}}
/* computers: a normal-size panel centered on the bottom edge */
@media (min-width:783px){
 html body .tbl-lead-bar{left:50%;right:auto;width:min(600px,calc(100% - 32px));transform:translate3d(-50%,110%,0);padding:14px 22px 18px}
 html body .tbl-lead-bar.is-in{transform:translate3d(-50%,0,0)}
 html body .tbl-lead-bar .tbl-lead-form{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:start}
 html body .tbl-lead-bar .tbl-lead-send{margin:0!important;width:auto;min-width:130px}
 html body .tbl-lead-bar .tbl-lead-msg,html body .tbl-lead-bar .tbl-lead-thanks{grid-column:1/-1}
}
/* the floating "Front Page" button on articles sits above the bar */
html body.tbl-article .tbl-float-front.tbl-float-front.tbl-float-front{bottom:calc(16px + env(safe-area-inset-bottom) + var(--tbl-lead-h,0px))!important;transition:bottom .3s ease}

/* desktop rows: the theme's hero stays full width; cards inside a row never span the whole row */
@media (min-width:900px){
 html.tbl-trios body .tbl-hero{grid-column:1/-1!important;margin:0 0 var(--tbl-trio-gap,24px)!important}
 html body .tbl-duo>*,html body .tbl-trio>*{grid-column:auto!important;grid-row:auto!important;width:auto!important;max-width:none!important}
}


/* Tagline bar (v5.2.1): two lines on phones, the second a little bigger */
@media (max-width:782px){
 html body .tbl-tag1,html body .tbl-tag2{display:block}
 html body .tbl-tag2{font-size:1.12em;margin-top:2px}
}

/* Back-to-top arrow (phones) */
html body .tbl-top-btn{position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom) + var(--tbl-lead-h,0px));z-index:9992;width:48px;height:48px;border:2px solid #fff;border-radius:50%;background:var(--tbl-card-bg,#0b3a5c);color:#fff;display:grid;place-items:center;box-shadow:0 6px 16px rgba(5,20,33,.35),0 0 0 1px rgba(11,58,92,.25);cursor:pointer;opacity:0;visibility:hidden;transform:translateY(12px);transition:opacity .25s ease,transform .25s ease,visibility .25s,bottom .3s ease;padding:0}
html body .tbl-top-btn.on{opacity:1;visibility:visible;transform:none}
html body .tbl-top-btn:focus-visible{outline:3px solid #8fd0f5;outline-offset:2px}
@media (prefers-reduced-motion:reduce){html body .tbl-top-btn{transition:none}}

/* ===================== v5.5: better buttons ===================== */
/* "Listen to this story": a player card (round play button, title, who reads it, length). Share sits on its right. */
html body .tbl-readbar.tbl-readbar{display:flex!important;flex-wrap:wrap!important;align-items:center!important;gap:8px!important;margin:12px 0 18px!important;padding:8px!important;background:#fff!important;border:1px solid #d6e1e9!important;border-radius:16px!important;box-shadow:0 1px 3px rgba(11,44,72,.06)!important;box-sizing:border-box!important}
html body .tbl-readbar.tbl-readbar button{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif!important;cursor:pointer;margin:0!important;text-transform:none!important;letter-spacing:normal!important}
html body .tbl-readbar.tbl-readbar .tbl-read-start{flex:1 1 auto!important;min-width:0!important;display:flex!important;align-items:center!important;gap:12px!important;padding:2px 6px 2px 2px!important;background:transparent!important;color:#0b2c48!important;border:0!important;border-radius:12px!important;box-shadow:none!important;text-align:left!important}
html body .tbl-readbar .tbl-read-ico{flex:0 0 44px;width:44px;height:44px;border-radius:50%;background:var(--tbl-card-bg,#0b3a5c);color:#fff;display:flex;align-items:center;justify-content:center;transition:transform .15s,background .2s}
html body .tbl-readbar .tbl-read-ico svg{display:block}
html body .tbl-readbar .tbl-read-start:hover .tbl-read-ico{background:#185d8e;transform:scale(1.04)}
html body .tbl-readbar .tbl-read-text{display:flex;flex-direction:column;min-width:0;line-height:1.2}
html body .tbl-readbar .tbl-read-title{font:700 15.5px/1.2 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;color:#0b2c48}
html body .tbl-readbar .tbl-read-sub{margin-top:2px;font:500 12.5px/1.2 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;color:#5d7283}
html body .tbl-readbar.tbl-readbar .tbl-read-stop{flex:0 0 36px!important;width:36px!important;height:36px!important;padding:0!important;display:flex!important;align-items:center!important;justify-content:center!important;background:#fff!important;color:var(--tbl-navy,#0b3a5c)!important;border:1.5px solid #c3d3df!important;border-radius:50%!important;box-shadow:none!important}
html body .tbl-readbar.tbl-readbar .tbl-read-stop[hidden]{display:none!important}
html body .tbl-readbar.tbl-readbar .tbl-read-state{flex:1 0 100%;margin:0 0 0 58px;font:500 12.5px/1.3 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;color:#5d7283!important}
html body .tbl-readbar.tbl-readbar .tbl-read-state:empty{display:none}
html body .tbl-readbar.is-playing{border-color:#9cc3e0!important}
/* Share: a light outline button, clearly different from the player */
html body .tbl-share-pill.tbl-share-pill{display:inline-flex!important;align-items:center!important;gap:6px!important;height:40px!important;padding:0 14px 0 12px!important;margin:0!important;background:#f1f6fa!important;color:var(--tbl-navy,#0b3a5c)!important;border:1.5px solid #c3d3df!important;border-radius:999px!important;box-shadow:none!important;font:700 14px/1 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif!important;cursor:pointer}
html body .tbl-share-pill.tbl-share-pill:hover,html body .tbl-share-pill.tbl-share-pill:focus-visible{background:#e3eef6!important;border-color:#8fb3cf!important;color:var(--tbl-navy,#0b3a5c)!important}
html body .tbl-share-pill svg{display:block;flex:0 0 auto}
html body .tbl-readbar .tbl-share-in-bar{flex:0 0 auto}
/* Front Page: a small white "back" pill floating bottom-left (not another navy pill) */
html body.tbl-article .tbl-float-front.tbl-float-front.tbl-float-front{gap:4px!important;padding:8px 14px 8px 10px!important;background:rgba(255,255,255,.94)!important;color:var(--tbl-navy,#0b3a5c)!important;border:1px solid rgba(11,58,92,.18)!important;box-shadow:0 4px 14px rgba(8,30,48,.18)!important;font:700 14px/1.2 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif!important;-webkit-backdrop-filter:saturate(1.4) blur(8px);backdrop-filter:saturate(1.4) blur(8px)}
html body.tbl-article .tbl-float-front.tbl-float-front.tbl-float-front:hover,html body.tbl-article .tbl-float-front.tbl-float-front.tbl-float-front:focus{background:#fff!important;color:#185d8e!important}
html body.tbl-article .tbl-float-front svg{display:block;flex:0 0 auto}

/* ===================== v5.5: "Got a lead?" on phones ===================== */
/* Slides in from the left, edge to edge on every screen size, short: title + X on one line, box and Send it on the next. */
@media (max-width:782px){
 html body .tbl-lead-bar.tbl-lead-bar{left:0!important;right:0!important;width:100%!important;max-width:none!important;border-radius:16px 16px 0 0!important;padding:8px 12px calc(10px + env(safe-area-inset-bottom))!important;transform:translate3d(-105%,0,0);transition:transform .7s cubic-bezier(.22,.8,.24,1)}
 html body .tbl-lead-bar.tbl-lead-bar.is-in{transform:translate3d(0,0,0)}
 html body .tbl-lead-bar .tbl-lead-h.tbl-lead-h{margin:0 40px 6px 2px!important;text-align:left!important;font:800 15px/1.2 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif!important}
 html body .tbl-lead-bar .tbl-lead-x.tbl-lead-x{top:2px;right:4px;width:34px;height:34px;font:400 26px/34px system-ui,sans-serif!important}
 html body .tbl-lead-bar .tbl-lead-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end}
 html body .tbl-lead-bar textarea{min-height:40px!important;height:40px;padding:9px 12px!important;border-radius:10px!important;font-size:16px!important}
 html body .tbl-lead-bar .tbl-lead-send.tbl-lead-send{width:auto;min-height:40px;height:40px;margin:0!important;padding:0 16px!important;font-size:15px!important}
 html body .tbl-lead-bar .tbl-lead-msg,html body .tbl-lead-bar .tbl-lead-thanks{grid-column:1/-1;margin:2px 0 0!important;font-size:14px!important}
}
@media (max-width:782px) and (prefers-reduced-motion:reduce){html body .tbl-lead-bar.tbl-lead-bar{transition:none}}
html body .tbl-readbar.tbl-readbar .tbl-read-ico{color:#fff!important;background:var(--tbl-card-bg,#0b3a5c)!important}html body .tbl-readbar.tbl-readbar .tbl-read-ico svg *{fill:#fff!important}

/* v5.8.1: Front Page button is navy again (it was white on white); still a small pill, clearly unlike Listen/Share */
html body.tbl-article .tbl-float-front.tbl-float-front.tbl-float-front{background:var(--tbl-navy,#0b3a5c)!important;color:#fff!important;border:2px solid #fff!important;box-shadow:0 4px 16px rgba(8,30,48,.35)!important}
html body.tbl-article .tbl-float-front.tbl-float-front.tbl-float-front:hover,html body.tbl-article .tbl-float-front.tbl-float-front.tbl-float-front:focus{background:#185d8e!important;color:#fff!important}
/* v5.8.1: computers: "Got a lead?" is one slim row so it doesn't cover the top story */
@media (min-width:783px){
 html body .tbl-lead-bar.tbl-lead-bar{width:min(820px,calc(100% - 32px));display:flex;align-items:center;gap:14px;padding:10px 10px 10px 22px;border-radius:18px 18px 0 0}
 html body .tbl-lead-bar .tbl-lead-h.tbl-lead-h{margin:0!important;flex:0 0 auto;font-size:18px!important;text-align:left!important}
 html body .tbl-lead-bar .tbl-lead-form{flex:1 1 auto;min-width:0}
 html body .tbl-lead-bar textarea{min-height:42px!important;height:42px;padding:10px 14px!important}
 html body .tbl-lead-bar .tbl-lead-send.tbl-lead-send{min-height:42px;height:42px;min-width:110px}
 html body .tbl-lead-bar .tbl-lead-x.tbl-lead-x{position:static;order:3;flex:0 0 38px;width:38px;height:38px;font:400 28px/38px system-ui,sans-serif!important}
}

/* v5.8.6: the navy weather/surf strip always has white text and links (articles too) */
html body .tbl-pinned-strip.tbl-pinned-strip a,html body .tbl-pinned-strip.tbl-pinned-strip a:visited{color:#fff!important;text-decoration-color:rgba(255,255,255,.7)!important}
html body.tbl-article.tbl-article .tbl-pinned-strip.tbl-pinned-strip.tbl-pinned-strip.tbl-pinned-strip a,html body.tbl-article.tbl-article .tbl-pinned-strip.tbl-pinned-strip.tbl-pinned-strip.tbl-pinned-strip a:visited{color:#fff!important}
/* v5.9.1 phones: the back-to-top arrow sits bottom-center, easy to reach with either thumb */
@media (max-width:782px){
 html body .tbl-top-btn.tbl-top-btn{left:50%;right:auto;margin-left:-24px;bottom:calc(18px + env(safe-area-inset-bottom) + var(--tbl-lead-h,0px))}
}
/* v5.9.1 slim player: one row (play, title + time, stop, share icon), no extra status line */
html body .tbl-readbar.tbl-readbar{flex-wrap:nowrap!important;gap:6px!important;margin:4px 0 8px!important;padding:5px 6px 5px 5px!important;border-radius:999px!important}
html body .tbl-readbar.tbl-readbar .tbl-read-start{gap:10px!important;padding:0 4px 0 0!important}
html body .tbl-readbar.tbl-readbar .tbl-read-ico{flex:0 0 38px!important;width:38px!important;height:38px!important}
html body .tbl-readbar.tbl-readbar .tbl-read-title{font-size:15px!important}
html body .tbl-readbar.tbl-readbar .tbl-read-sub{font-size:12px!important;margin-top:1px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html body .tbl-readbar.tbl-readbar .tbl-read-stop{flex:0 0 34px!important;width:34px!important;height:34px!important}
html body .tbl-readbar.tbl-readbar .tbl-read-state{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important;margin:0!important;padding:0!important}
html body .tbl-readbar.tbl-readbar .tbl-share-in-bar{flex:0 0 auto!important;min-height:36px!important;padding:0 14px!important;margin:0!important}
@media (max-width:600px){
 html body .tbl-readbar.tbl-readbar .tbl-share-in-bar{width:38px!important;height:38px!important;min-height:0!important;padding:0!important;border-radius:50%!important;justify-content:center!important;display:inline-flex!important;align-items:center!important}
 html body .tbl-readbar.tbl-readbar .tbl-share-in-bar span{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important}
}
/* v5.9.4 phones: one slim band line, "Newport Beach News." left, "For Locals, By Locals." right */
@media (max-width:782px){
 html body .tbl-tagband.tbl-tagband{padding-top:7px!important;padding-bottom:7px!important}
 html body .tbl-tagline.tbl-tagline{display:flex!important;justify-content:space-between!important;align-items:center!important;gap:10px!important;margin:0!important;padding:0 14px!important;font-size:clamp(9.5px,2.95vw,12.5px)!important;line-height:1.2!important;letter-spacing:.07em!important;white-space:nowrap!important;text-align:left!important}
 html body .tbl-tagline .tbl-tag-l,html body .tbl-tagline .tbl-tag-r{flex:0 0 auto}
}
/* v5.9.4 bottom pop-up: the site navy with a white band on top; white typing box; sunset-coral button (never the same as the box) */
html body .tbl-lead-bar.tbl-lead-bar{background:var(--tbl-navy,#0b3a5c)!important;color:#fff!important;border-top:4px solid #fff!important;box-shadow:0 -6px 24px rgba(8,30,48,.3)!important}
html body .tbl-lead-bar.tbl-lead-bar textarea{background:#fff!important;color:#0b2c48!important;border:0!important;font-size:15px!important;padding-left:12px!important;padding-right:8px!important;white-space:nowrap;overflow:hidden}
html body .tbl-lead-bar.tbl-lead-bar textarea:focus{white-space:pre-wrap;overflow:auto}
html body .tbl-lead-bar.tbl-lead-bar textarea::placeholder{color:#5d7283!important;white-space:nowrap}
html body .tbl-lead-bar.tbl-lead-bar .tbl-lead-send{background:#ff6b57!important;color:#fff!important}
html body .tbl-lead-bar.tbl-lead-bar .tbl-lead-send:hover{background:#ff846f!important}
html body .tbl-lead-bar.tbl-lead-bar .tbl-lead-msg{color:#ffd2cc!important}
html body .tbl-lead-bar .tbl-pop-msg{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
html body .tbl-lead-bar .tbl-pop-text{flex:1 1 220px;margin:0!important;font:500 15.5px/1.4 system-ui,-apple-system,"Segoe UI",sans-serif!important;color:#fff!important}
html body .tbl-lead-bar .tbl-pop-btn{flex:0 0 auto;display:inline-flex;align-items:center;min-height:44px;padding:0 20px;border-radius:999px;background:#ff6b57;color:#fff!important;font:800 15.5px/1 system-ui,-apple-system,"Segoe UI",sans-serif;text-decoration:none!important}
html body .tbl-lead-bar .tbl-pop-btn:hover{background:#ff846f}
@media (max-width:782px){html body .tbl-lead-bar.tbl-lead-bar .tbl-lead-send{padding-left:16px!important;padding-right:16px!important;min-width:0!important;width:auto!important}}
/* v5.9.9 the little surfer riding on top of the Front Page button, a bit off center */
html body.tbl-article .tbl-float-front.tbl-float-front.tbl-float-front{overflow:visible!important}
html body .tbl-float-front .tbl-front-surfer{position:absolute;left:18%;bottom:calc(100% - 7px);width:40px;height:22px;overflow:visible;pointer-events:none;filter:drop-shadow(0 1px 1px rgba(255,255,255,.8))}

/* v5.10.12 less empty space under the footer: just enough room that the Front Page button never covers it */
html body.tbl-article.tbl-article{padding-bottom:calc(40px + env(safe-area-inset-bottom))!important}
/* v5.10.13 the drift is eased so it glides rather than jumps */
html body.tbl-article .tbl-float-front.tbl-float-front.tbl-float-front{transition:bottom .3s ease,transform .45s cubic-bezier(.22,.61,.36,1)!important;will-change:transform}
/* v5.10.14 desktop: the same round up arrow as phones, a bit bigger, bottom-center */
@media (min-width:783px){
 html body .tbl-top-btn.tbl-top-btn{width:56px;height:56px;left:50%;right:auto;margin-left:-28px;bottom:calc(18px + env(safe-area-inset-bottom))}
 html body .tbl-top-btn.tbl-top-btn svg{width:26px;height:26px}
}
/* 5.11.26 the Front Page button is now just a round back arrow (no words), about half the old size; the surfer still rides on top */
html body.tbl-article .tbl-float-front.tbl-float-front.tbl-float-front{width:48px!important;height:48px!important;padding:0!important;border-color:#ff6b57!important;gap:0!important;justify-content:center!important;align-items:center!important;border-radius:50%!important}
html body.tbl-article .tbl-float-front.tbl-float-front.tbl-float-front svg:not(.tbl-front-surfer){width:28px!important;height:28px!important;margin-left:-1px}
html body .tbl-float-front .tbl-front-surfer{left:calc(50% - 17px);width:34px;height:19px;bottom:calc(100% - 6px)}
@media (max-width:782px){
 html body.tbl-article .tbl-float-front.tbl-float-front.tbl-float-front{width:44px!important;height:44px!important;border-width:1.5px!important}
 html body.tbl-article .tbl-float-front.tbl-float-front.tbl-float-front svg:not(.tbl-front-surfer){width:25px!important;height:25px!important}
}
/* v5.10.26 phones: the jump between the top and bottom spots glides */
@media (max-width:782px){html body.tbl-article .tbl-float-front.tbl-float-front.tbl-float-front{transition:bottom .3s ease,transform .6s cubic-bezier(.22,.8,.3,1)!important}}

/* 5.11.21 tip box: optional reader photo */
html body .tbl-lead-pic{display:block;margin:8px 0 0;font:600 13px/1.3 -apple-system,BlinkMacSystemFont,sans-serif;color:inherit;cursor:pointer}
html body .tbl-lead-pic small{font-weight:400;opacity:.75}
html body .tbl-lead-pic input[type=file]{display:block;width:100%;margin-top:4px;font-size:13px;color:inherit}
/* Keep portrait article media from becoming page-height tall. */
html body.single-post .entry-content .tbl-lead-photo img,
html body.single-post .wp-block-post-content .tbl-lead-photo img,
html body.single-post .entry-content > figure img,
html body.single-post .wp-block-post-content > figure img,
html body.single-post .entry-content > img,
html body.single-post .wp-block-post-content > img{
  display:block!important;
  width:auto!important;
  max-width:100%!important;
  height:auto!important;
  max-height:min(58vh,540px)!important;
  object-fit:contain!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
html body.single-post .tbl-lead-photo video,
html body.single-post .entry-content video,
html body.single-post .wp-block-post-content video{
  display:block;
  max-width:100%;
  max-height:min(58vh,540px);
  margin-left:auto;
  margin-right:auto;
}

/* ===== 1.1.32 the floating "back" button is a little Newport Beach lifeguard tower: navy hut with the coral edge,
   white back arrow and BALBOA on the front, the surfer on the roof. No circle. Tap area 52 x 64 (phones 48 x 58). ===== */
html body.tbl-article .tbl-float-front.tbl-float-front.tbl-float-front.tbl-tower.tbl-tower{width:52px!important;height:64px!important;padding:0!important;border:0!important;border-radius:10px!important;background:transparent!important;box-shadow:none!important;overflow:visible!important;display:block!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
html body.tbl-article .tbl-float-front.tbl-float-front.tbl-float-front.tbl-tower.tbl-tower:hover,html body.tbl-article .tbl-float-front.tbl-float-front.tbl-float-front.tbl-tower.tbl-tower:focus{background:transparent!important}
html body.tbl-article .tbl-float-front.tbl-float-front.tbl-float-front.tbl-tower.tbl-tower svg.tbl-tower-art:not(.tbl-front-surfer){display:block;width:100%!important;height:100%!important;margin:0!important;overflow:visible;filter:drop-shadow(0 0 1.5px rgba(255,255,255,.95)) drop-shadow(0 4px 8px rgba(8,30,48,.28));transition:transform .18s ease}
html body.tbl-article .tbl-float-front.tbl-tower:hover .tbl-tower-art{transform:translateY(-2px)}
html body.tbl-article .tbl-float-front.tbl-tower:active .tbl-tower-art{transform:scale(.95)}
html body.tbl-article .tbl-float-front.tbl-tower:focus-visible{outline:3px solid #ea725a!important;outline-offset:3px}
/* the surfer stands on the roof's peak */
html body.tbl-article .tbl-float-front.tbl-float-front.tbl-tower .tbl-front-surfer{left:calc(50% - 13px)!important;bottom:calc(100% - 12px)!important;width:28px!important;height:16px!important}
/* "Back to Balboa": slides out beside the tower for a moment (first time per visit), and on hover / keyboard focus */
html body.tbl-article .tbl-float-front.tbl-tower .tbl-tower-say{position:absolute;left:calc(100% + 8px);top:38%;transform:translate(-6px,-50%);white-space:nowrap;padding:6px 11px;border-radius:999px;background:#0b3a5c;border:1.5px solid #ea725a;color:#fff;font:700 12.5px/1 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;letter-spacing:.02em;box-shadow:0 4px 12px rgba(8,30,48,.25);opacity:0;pointer-events:none;transition:opacity .25s ease,transform .25s ease}
html body.tbl-article .tbl-float-front.tbl-tower.is-saying .tbl-tower-say,html body.tbl-article .tbl-float-front.tbl-tower:hover .tbl-tower-say,html body.tbl-article .tbl-float-front.tbl-tower:focus-visible .tbl-tower-say{opacity:1;transform:translate(0,-50%)}
@media (max-width:782px){html body.tbl-article .tbl-float-front.tbl-float-front.tbl-float-front.tbl-tower.tbl-tower{width:48px!important;height:58px!important}}
/* live stories keep the tower (no green circle behind it) */
html body.tbl-article:has(.tbl-live-art) .tbl-float-front.tbl-float-front.tbl-float-front.tbl-float-front.tbl-tower{background:transparent!important;box-shadow:none!important;border:0!important}
@media (prefers-reduced-motion:reduce){html body.tbl-article .tbl-float-front.tbl-tower .tbl-tower-art,html body.tbl-article .tbl-float-front.tbl-tower .tbl-tower-say{transition:none}}

/* ===== 1.1.33 the tower button uses Eric's artwork (white arrow; a yellow-arrow version is in assets/img/tower-yellow.webp:
   swap the file name below to use it). No surfer or lettering on it; "Back to Balboa" still slides out beside it. ===== */
html body.tbl-article .tbl-float-front.tbl-float-front.tbl-float-front.tbl-tower.tbl-tower{width:58px!important;height:63px!important}
html body.tbl-article .tbl-float-front.tbl-tower .tbl-tower-art{display:block;width:100%;height:100%;background:url(img/tower-white.webp) center/contain no-repeat;filter:drop-shadow(0 4px 8px rgba(8,30,48,.3));transition:transform .18s ease}
html body.tbl-article .tbl-float-front.tbl-tower:hover .tbl-tower-art{transform:translateY(-2px)}
html body.tbl-article .tbl-float-front.tbl-tower:active .tbl-tower-art{transform:scale(.95)}
html body.tbl-article .tbl-float-front.tbl-tower .tbl-front-surfer{display:none!important}
html body.tbl-article .tbl-float-front.tbl-tower .tbl-tower-say{top:44%}
@media (max-width:782px){html body.tbl-article .tbl-float-front.tbl-float-front.tbl-float-front.tbl-tower.tbl-tower{width:52px!important;height:56px!important}}
@media (prefers-reduced-motion:reduce){html body.tbl-article .tbl-float-front.tbl-tower .tbl-tower-art{transition:none}}
html body.tbl-article .tbl-float-front.tbl-tower .tbl-tower-say{display:none!important}   /* 1.1.34 no pill */

/* ===== 1.1.35 the tower is easy to tap: an invisible hit area reaches about 12px past it on every side,
   and taps register right away (no double-tap-zoom wait) ===== */
html body.tbl-article .tbl-float-front.tbl-tower{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
html body.tbl-article .tbl-float-front.tbl-tower::before{content:"";position:absolute;inset:-12px;border-radius:14px;background:transparent;pointer-events:auto}
html body.tbl-article .tbl-float-front.tbl-tower .tbl-tower-art{pointer-events:none}

/* ===== 1.1.36 the tower's clickable box IS big now (the button itself is 80 x 84 px, the tower drawn in the middle),
   moved out 12px so the tower sits where it did. site.js also counts taps that land just around it. ===== */
html body.tbl-article .tbl-float-front.tbl-float-front.tbl-float-front.tbl-tower.tbl-tower{width:82px!important;height:87px!important;padding:12px!important;box-sizing:border-box!important;left:4px!important;bottom:calc(4px + env(safe-area-inset-bottom) + var(--tbl-lead-h,0px))!important}
html body.tbl-article .tbl-float-front.tbl-tower::before{display:none!important}
@media (max-width:782px){html body.tbl-article .tbl-float-front.tbl-float-front.tbl-float-front.tbl-tower.tbl-tower{width:76px!important;height:80px!important}}

/* ===== 1.2.0 the floating back button = THE LOCAL tower with the left arrow behind it (Eric's approved art).
   The art is 64 x 49 on phones (72 x 55 on computers) inside a bigger clear tap box. ===== */
html body.tbl-article .tbl-float-front.tbl-float-front.tbl-float-front.tbl-tower.tbl-tower{width:88px!important;height:73px!important;padding:12px!important}
@media (min-width:783px){html body.tbl-article .tbl-float-front.tbl-float-front.tbl-float-front.tbl-tower.tbl-tower{width:96px!important;height:79px!important}}
html body.tbl-article .tbl-float-front.tbl-tower .tbl-tower-art{background-image:url(img/tower-local-arrow.webp)!important}

/* ===== 1.2.25 computers: vertical (phone-held) videos in a story are much bigger, about as tall as the screen allows
   (they were capped at 540px tall, which made them skinny). Wide videos are unchanged; phones unchanged. ===== */
@media (min-width:783px){
 html body.single-post .tbl-lead-photo video,html body.single-post .entry-content video,html body.single-post .wp-block-post-content video{max-height:min(86vh,920px)!important;width:auto;height:auto}
}

/* ===== 1.2.29 the floating back tower gets a dark navy outline so it stands out on white story pages
   (the art is 10px larger each way to hold the outline, so the box grows to match) ===== */
html body.tbl-article .tbl-float-front.tbl-tower .tbl-tower-art{background-image:url(img/tower-local-arrow-yellow.webp)!important}
html body.tbl-article .tbl-float-front.tbl-float-front.tbl-float-front.tbl-tower.tbl-tower{width:93px!important;height:76px!important}
@media (min-width:783px){html body.tbl-article .tbl-float-front.tbl-float-front.tbl-float-front.tbl-tower.tbl-tower{width:101px!important;height:82px!important}}

/* 1.2.71 the same floating home tower is available on every public page except the homepage. */
html body.tbl-has-home-tower .tbl-float-front.tbl-tower{position:fixed!important;left:4px!important;right:auto!important;top:auto!important;
 bottom:calc(4px + env(safe-area-inset-bottom) + var(--tbl-lead-h,0px))!important;z-index:9991!important;display:block!important;
 width:93px!important;height:76px!important;max-width:none!important;padding:12px!important;box-sizing:border-box!important;
 border:0!important;border-radius:10px!important;background:transparent!important;color:transparent!important;box-shadow:none!important;
 text-decoration:none!important;overflow:visible!important;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:bottom .3s ease}
@media (min-width:783px){html body.tbl-has-home-tower .tbl-float-front.tbl-tower{width:101px!important;height:82px!important}}
html body.tbl-has-home-tower .tbl-float-front.tbl-tower .tbl-tower-art{display:block;width:100%;height:100%;background-image:url(img/tower-local-arrow-yellow.webp)!important;background-position:center!important;background-repeat:no-repeat!important;background-size:contain!important;filter:drop-shadow(0 4px 8px rgba(8,30,48,.3));transition:transform .18s ease}
html body.tbl-has-home-tower .tbl-float-front.tbl-tower:hover .tbl-tower-art{transform:translateY(-2px)}
html body.tbl-has-home-tower .tbl-float-front.tbl-tower:active .tbl-tower-art{transform:scale(.95)}
html body.tbl-has-home-tower .tbl-float-front.tbl-tower:focus-visible{outline:3px solid #ea725a!important;outline-offset:3px}
@media (prefers-reduced-motion:reduce){html body.tbl-has-home-tower .tbl-float-front.tbl-tower,html body.tbl-has-home-tower .tbl-float-front.tbl-tower .tbl-tower-art{transition:none}}
@media print{html body.tbl-has-home-tower .tbl-float-front.tbl-tower{display:none!important}}

/* 1.2.34 story page: "UPDATED  Originally published Oct 20, 2026 · Updated Oct 31, 2026" above an updated story's text */
html body .tbl-upd-line{margin:0 0 14px!important;font:600 13px/1.5 system-ui,-apple-system,sans-serif!important;color:#4a5d6e!important}
html body .tbl-upd-line .tbl-upd{display:inline-block;margin-right:8px;padding:1px 7px 0;border-radius:3px;background:#ffc72c;color:#0b2a44;font:800 10.5px/1.6 system-ui,-apple-system,sans-serif;letter-spacing:.08em;text-transform:uppercase;vertical-align:1px}
/* 1.2.36 editor's note added under an auto-updated story */
html body .tbl-fc-note{margin-top:22px!important;padding-top:12px!important;border-top:1px solid #5a91ac!important;font-size:.92em!important;color:#4a5d6e!important}

/* 1.2.53 Updated tag links to the About page; small "how we keep stories current" line at the end of every story */
html body .tbl-upd-line .tbl-upd-a{text-decoration:none!important}
html body .tbl-upd-line:has(+ .tbl-upd-what){margin-bottom:4px!important}
html body .tbl-upd-what{margin:0 0 16px!important;padding:0 0 0 10px!important;border-left:3px solid #ffc72c!important;font:500 13.5px/1.5 system-ui,-apple-system,sans-serif!important;color:#3d5162!important}
html body .tbl-upd-what b{color:#0b2a44;font-weight:700}
html body .tbl-promise{margin:22px 0 0!important;padding-top:10px!important;border-top:1px solid #5a91ac!important;font:500 12.5px/1.5 system-ui,-apple-system,sans-serif!important;color:#5d7283!important}
html body .tbl-promise a{color:#1d5f8a!important;font-weight:700;text-decoration:none!important;white-space:nowrap}
/* 1.2.53 sources: first 5 shown, the rest behind a small arrow toggle */
html body .tbl-src{margin:18px 0 0}
html body .tbl-src-label{margin:0 0 4px!important;font:800 11.5px/1.4 system-ui,-apple-system,sans-serif!important;letter-spacing:.08em;color:#0b3a5c!important}
html body .tbl-src-list{margin:0!important;padding:0 0 0 18px!important;font-size:.88em}
html body .tbl-src-list li{margin:2px 0!important}
html body .tbl-src-more{margin:2px 0 0}
html body .tbl-src-more>summary{display:inline-flex;align-items:center;gap:6px;cursor:pointer;list-style:none;font:700 13px/1.4 system-ui,-apple-system,sans-serif;color:#1d5f8a;padding:4px 0}
html body .tbl-src-more>summary::-webkit-details-marker{display:none}
html body .tbl-src-more>summary::before{content:"";width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(-45deg);transition:transform .2s ease}
html body .tbl-src-more[open]>summary::before{transform:rotate(45deg)}
html body .tbl-src-more>ul,html body .tbl-src-more>ol{margin-top:2px!important}
/* 1.2.62 one-story little newspaper: a story with no photo on a section / neighborhood page fills its card like the
   photo cards beside it (headline and summary centered in the page, "Read the story" at the foot) */
html body .tbl-front-story-card.tbl-front-story-card.tbl-front-story-card.tbl-paper-one.tbl-paper .np-paper{display:flex;flex-direction:column;height:100%;min-height:100%}
html body .tbl-front-story-card.tbl-front-story-card.tbl-front-story-card.tbl-paper-one.tbl-paper .np-lead{margin:14px 0 0!important;padding:0 0 14px!important;border-bottom:1px solid #1b1814!important;text-align:left}
html body .tbl-front-story-card.tbl-front-story-card.tbl-front-story-card.tbl-paper-one.tbl-paper .np-lead a.np-hl{font-size:30px!important;line-height:1.1!important;margin-bottom:8px!important}
html body .tbl-front-story-card.tbl-front-story-card.tbl-front-story-card.tbl-paper-one.tbl-paper .np-lead p.np-deck{font-size:15px!important;line-height:1.5!important;display:-webkit-box!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:8!important;overflow:hidden!important}
html body .tbl-front-story-card.tbl-front-story-card.tbl-front-story-card.tbl-paper-one.tbl-paper .np-lead p.np-deck::first-letter{float:left;font:900 46px/.82 "Playfair Display",Georgia,serif;margin:4px 7px 0 0}
html body .tbl-front-story-card.tbl-front-story-card.tbl-front-story-card.tbl-paper-one.tbl-paper a.np-more,html body .tbl-front-story-card.tbl-paper-one.tbl-paper a.np-more:visited{display:block;margin-top:auto;padding-top:14px;font:700 11px/1.2 "Old Standard TT",Georgia,serif!important;letter-spacing:.16em;text-transform:uppercase;color:#1b1814!important;text-decoration:none!important;text-align:right}
html body .tbl-front-story-card.tbl-paper-one.tbl-paper a.np-more:hover{text-decoration:underline!important}
@media (max-width:899px){html body .tbl-front-story-card.tbl-front-story-card.tbl-front-story-card.tbl-paper-one.tbl-paper .np-lead a.np-hl{font-size:24px!important}html body .tbl-front-story-card.tbl-front-story-card.tbl-front-story-card.tbl-paper-one.tbl-paper .np-lead p.np-deck{font-size:14px!important;-webkit-line-clamp:6!important}}
html body .tbl-front-story-card.tbl-paper-one.tbl-paper a.np-more::before{content:"";display:block;width:116px;height:116px;margin:4px auto 18px;background:url("img/badge-256.png") center/contain no-repeat;mix-blend-mode:multiply;opacity:.55;filter:grayscale(1) sepia(.15)}
@media (min-width:900px){html body .tbl-front-story-card.tbl-front-story-card.tbl-front-story-card.tbl-paper-one.tbl-paper .np-lead a.np-hl{font-size:33px!important}}
@media (max-width:899px){html body .tbl-front-story-card.tbl-paper-one.tbl-paper a.np-more::before{display:none}html body .tbl-front-story-card.tbl-front-story-card.tbl-front-story-card.tbl-paper-one.tbl-paper a.np-more{margin-top:0;padding-top:10px}}

/* ===== 1.2.65 (Eric): section, sub-topic and neighborhood pages: compact, uniform cards (like the phone cards) ======
   Smaller headline (3 lines at most), the date, a 2-line summary without the repeated "NEWPORT BEACH | SECTION | DATE"
   dateline, then "Read the story" right under it. Every card in a row ends up about the same height, no empty bottoms. */
html body.archive .tbl-front-story-card.tbl-front-story-card.tbl-front-story-card.tbl-card-custom.tbl-card-custom{padding:16px 16px 16px!important;gap:0!important}
html body.archive .tbl-front-story-card.tbl-front-story-card.tbl-front-story-card.tbl-card-custom.tbl-card-custom > .tbl-card-photo{margin:0 0 12px!important;border-radius:12px!important}
html body.archive .tbl-front-story-card.tbl-front-story-card.tbl-front-story-card.tbl-card-custom.tbl-card-custom .tbl-card-photo .tbl-card-img{aspect-ratio:16/9!important}
html body.archive .tbl-front-story-card.tbl-front-story-card.tbl-front-story-card.tbl-card-custom.tbl-card-custom .tbl-front-badges{margin:0 0 8px!important;gap:6px!important}
html body.archive .tbl-front-story-card.tbl-front-story-card.tbl-front-story-card.tbl-card-custom.tbl-card-custom .tbl-front-label{font-size:10.5px!important;padding:4px 8px!important;letter-spacing:.1em!important}
html body.archive .tbl-front-story-card.tbl-front-story-card.tbl-front-story-card.tbl-card-custom.tbl-card-custom .tbl-card-title,
html body.archive .tbl-front-story-card.tbl-front-story-card.tbl-front-story-card.tbl-card-custom.tbl-card-custom .tbl-card-title a{font:800 20px/1.22 system-ui,-apple-system,"SF Pro Display","Segoe UI",Roboto,sans-serif!important;letter-spacing:-.005em!important;text-decoration:none!important}
html body.archive .tbl-front-story-card.tbl-front-story-card.tbl-front-story-card.tbl-card-custom.tbl-card-custom .tbl-card-title{margin:0 0 6px!important;display:-webkit-box!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:3!important;overflow:hidden!important}
html body.archive .tbl-front-story-card.tbl-front-story-card.tbl-front-story-card.tbl-card-custom.tbl-card-custom .tbl-card-kicker{font:700 11px/1.3 system-ui,-apple-system,sans-serif!important;letter-spacing:.1em!important;margin:0 0 6px!important}
html body.archive .tbl-front-story-card.tbl-front-story-card.tbl-front-story-card.tbl-card-custom.tbl-card-custom .tbl-card-sum{font:400 14.5px/1.45 system-ui,-apple-system,"Segoe UI",sans-serif!important;margin:0 0 8px!important;-webkit-line-clamp:2!important;display:-webkit-box!important;-webkit-box-orient:vertical!important;overflow:hidden!important}
html body.archive .tbl-front-story-card.tbl-front-story-card.tbl-front-story-card.tbl-card-custom.tbl-card-custom .tbl-card-sum .tbl-card-dl{display:none!important}
html body.archive .tbl-front-story-card.tbl-front-story-card.tbl-front-story-card.tbl-card-custom.tbl-card-custom a.tbl-card-more{margin-top:auto!important;padding-top:4px!important;font:700 13px/1.3 system-ui,-apple-system,sans-serif!important}
/* the one-story newspaper on these pages: same compact size */
html body.archive .tbl-front-story-card.tbl-front-story-card.tbl-front-story-card.tbl-card-custom.tbl-paper-one.tbl-paper{padding:12px 16px 14px!important}
html body.archive .tbl-front-story-card.tbl-front-story-card.tbl-front-story-card.tbl-paper-one.tbl-paper .np-mast{font-size:26px!important;margin:5px 0 1px!important}
html body.archive .tbl-front-story-card.tbl-front-story-card.tbl-front-story-card.tbl-paper-one.tbl-paper .np-tag{font-size:11px!important;padding-bottom:5px!important;margin-bottom:8px!important}
html body.archive .tbl-front-story-card.tbl-front-story-card.tbl-front-story-card.tbl-paper-one.tbl-paper .np-lead{margin:6px 0 0!important;padding:0 0 10px!important}
html body.archive .tbl-front-story-card.tbl-front-story-card.tbl-front-story-card.tbl-paper-one.tbl-paper .np-paper .np-lead a.np-hl{font-size:22px!important;line-height:1.15!important;margin-bottom:6px!important;display:-webkit-box!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:4!important;overflow:hidden!important}
html body.archive .tbl-front-story-card.tbl-front-story-card.tbl-front-story-card.tbl-paper-one.tbl-paper .np-paper .np-lead p.np-deck{font-size:13.5px!important;line-height:1.45!important;-webkit-line-clamp:4!important}
html body.archive .tbl-front-story-card.tbl-front-story-card.tbl-front-story-card.tbl-paper-one.tbl-paper .np-paper .np-lead p.np-deck::first-letter{font-size:34px!important}
html body.archive .tbl-front-story-card.tbl-paper-one.tbl-paper a.np-more::before{width:64px!important;height:64px!important;margin:2px auto 10px!important}

/* 1.2.82 (Eric, Nov 1): "When I make the screen smaller, the articles go off the page." Nothing on any page may ever be
   wider than the window: no sideways scroll bar, and every section and card shrinks with the window instead of running
   off the right edge. overflow-x:clip (not hidden) keeps the sticky header and every scroll position working. */
html,body{overflow-x:clip!important;max-width:100%}
@supports not (overflow:clip){html,body{overflow-x:hidden!important}}
html body main,html body .shell{min-width:0;max-width:min(1160px,100%)}
html body .tbl-home{box-sizing:border-box!important;min-width:0!important;max-width:min(1200px,100%)!important}
html body .tbl-home>*,html body .tbl-home .tbl-tg>*,html body .tbl-home .tbl-hf-wrap>*{box-sizing:border-box;min-width:0!important;max-width:100%!important}
html body .tbl-home :is(.tbl-hc,.tbl-hc-track,.tbl-hc-slide,.tbl-hc-body,.tbl-hf,.tbl-hf-body,.tbl-hl,.tbl-hl-row,.tbl-hl-text,.tbl-tg-head){min-width:0}
html body .tbl-home :is(.tbl-hc-title,.tbl-hf-title,.tbl-hl-title,.tbl-hc-sum,.tbl-hf-sum){overflow-wrap:anywhere}
html body .tbl-home :is(img,video){max-width:100%}

/* 1.2.83 (Eric, Nov 1, phone screenshot): a story headline must never run off the right edge. On phones it is sized so
   the longest word fits; any word that still can't fit wraps instead of being cut off. */
html body.tbl-article .article-layout>h1,html body .article-layout h1{overflow-wrap:break-word;word-break:normal;hyphens:manual;max-width:100%}
@media (max-width:600px){html body.tbl-article .article-layout>h1,html body .article-layout>h1{font-size:clamp(25px,7.4vw,34px)!important;line-height:1.14!important}}
/* 1.2.88 (Eric, Nov 1) phones: stories stay left-aligned like most news sites, with 10px of room on each side so the text
   no longer runs right up against the edge of the story box. Photos, videos and embeds keep their full width. */
@media(max-width:767px){
 html body.single-post .article-layout > :is(.label-row,h1,.meta),
 html body.single-post .article-layout .entry-content > :not(figure,img,video,iframe,.tbl-lead-photo,.wp-block-image,.wp-block-video,.wp-block-embed,.wp-block-gallery,.wp-block-cover){margin-left:10px!important;margin-right:10px!important}
}
/* 1.2.94 (Eric, Nov 2) a tall phone photo (or video) at the top of a story: the full width of the story, the picture whole in
   the middle, and a soft blurred copy of it filling the sides. No tiny picture in a sea of white. */
html body.single-post .tbl-lead-photo.is-tall{margin-left:0!important;margin-right:0!important}
html body.single-post .tbl-lead-photo.is-tall .tbl-lead-frame{position:relative;display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:4/5;max-height:78vh;overflow:hidden;border-radius:12px;background:#0b2233;isolation:isolate}
html body.single-post .tbl-lead-photo.is-tall .tbl-lead-frame::before{content:"";position:absolute;inset:-40px;z-index:-1;background:var(--tbl-lead-bg) center/cover no-repeat;filter:blur(30px) saturate(1.1) brightness(.72);transform:scale(1.08)}
html body.single-post .tbl-lead-photo.is-tall .tbl-lead-frame img,
html body.single-post .tbl-lead-photo.is-tall .tbl-lead-frame > div > img{position:relative;display:block!important;width:auto!important;height:100%!important;max-width:100%!important;max-height:none!important;object-fit:contain!important;margin:0 auto!important;border-radius:0!important;box-shadow:0 8px 30px rgba(0,0,0,.35)}
html body.single-post .tbl-lead-photo.is-tall .tbl-lead-frame > div{height:100%!important}
html body.single-post .tbl-lead-photo.is-tall .tbl-lead-frame video{border-radius:0!important;max-height:none!important}
@media (min-width:768px){html body.single-post .tbl-lead-photo.is-tall .tbl-lead-frame{aspect-ratio:16/10;max-height:620px}}

/* ===== 1.2.111 (Eric, Nov 4) the tower drifts gently up and down inside the bottom 30% of the screen as the reader scrolls (site.js); no bouncing ===== */
html body.tbl-has-home-tower.tbl-has-home-tower .tbl-float-front.tbl-float-front.tbl-float-front.tbl-float-front.tbl-tower.tbl-tower.tbl-tower,html body.tbl-article.tbl-article .tbl-float-front.tbl-float-front.tbl-float-front.tbl-float-front.tbl-tower.tbl-tower.tbl-tower{bottom:calc(max(2px,env(safe-area-inset-bottom) - 32px) + var(--tbl-lead-h,0px))!important;animation:none!important;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:transform .5s ease-out!important}
html body .tbl-float-front .tbl-tower-art{pointer-events:none}
/* the theme's Published line moved under the Listen button */
html body.tbl-article .article-layout:has(.tbl-publine)>.meta{display:none!important}
html body.tbl-article.tbl-article.tbl-article .entry-content p.tbl-publine.tbl-publine{margin:0 0 8px!important;font:500 13px/1.4 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif!important;color:#4a6273!important}
html body .tbl-upd-what .tbl-upd-how{display:inline-block;margin-left:2px;color:#185d8e!important;font-weight:700;text-decoration:none!important;white-space:nowrap}
/* 1.2.113 (Eric, Nov 4) the up button and the tower sit lower: Safari's own bar already keeps them above the bottom of the phone, so the extra
   home-bar space was just a gap. The up button matches the slim gold-framed bars. */
html body .tbl-top-btn.tbl-top-btn.tbl-top-btn{display:inline-flex;align-items:center;justify-content:center;gap:4px;width:66px;height:30px;padding:0 8px 0 6px;margin-left:-33px;bottom:calc(max(12px,env(safe-area-inset-bottom) - 22px) + var(--tbl-lead-h,0px));border:1.5px solid rgba(240,181,58,.85);border-radius:8px;background:linear-gradient(100deg,rgba(11,44,72,.97),rgba(24,93,142,.9));color:#f0b53a;font:700 11px/1 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;letter-spacing:.13em;text-transform:uppercase;box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 8px 16px -8px rgba(11,44,72,.75);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
html body .tbl-top-btn.tbl-top-btn.tbl-top-btn svg{width:14px;height:14px}
html body .tbl-top-btn.tbl-top-btn.tbl-top-btn span{color:#fff}
/* iPhones: as low as Safari's bar allows */
@supports (-webkit-touch-callout:none){@media (max-width:782px){
 html body.tbl-has-home-tower.tbl-has-home-tower .tbl-float-front.tbl-float-front.tbl-float-front.tbl-float-front.tbl-tower.tbl-tower.tbl-tower,html body.tbl-article.tbl-article .tbl-float-front.tbl-float-front.tbl-float-front.tbl-float-front.tbl-tower.tbl-tower.tbl-tower{bottom:calc(-12px + var(--tbl-lead-h,0px))!important}
 html body .tbl-top-btn.tbl-top-btn.tbl-top-btn{bottom:calc(2px + var(--tbl-lead-h,0px))}
}}
/* 1.2.114 (Eric, Nov 4) the story text size rule was also blowing up the small lines above and below the story; keep them small */
html body.tbl-article.tbl-article.tbl-article .entry-content p.tbl-dl.tbl-dl.tbl-dl{font-size:11.5px!important;line-height:1.4!important;letter-spacing:.05em!important}
html body.tbl-article.tbl-article.tbl-article .entry-content p.tbl-upd-line.tbl-upd-line{font-size:13px!important;line-height:1.5!important}
html body.tbl-article.tbl-article.tbl-article .entry-content p.tbl-upd-what.tbl-upd-what{font-size:14px!important;line-height:1.45!important}
html body.tbl-article.tbl-article.tbl-article .entry-content p.tbl-promise.tbl-promise{font-size:13px!important;line-height:1.5!important}
