/*
Theme Name: Portal News
Theme URI: https://wordpress.org/themes/
Author: Portal News
Description: Light, colorful news-portal theme. Homepage with a lead story, trending topics, the 8 latest stories, a Most Popular rail and one block per category (most active first). Article pages where the next full article loads below as you read, author follow buttons, table of contents, Also read box and automatic author assignment. Works with any categories; sponsored categories stay off the homepage.
Version: 1.0.1
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: portal-news
Tags: news, blog, magazine, two-columns, right-sidebar, custom-logo, custom-menu, featured-images, threaded-comments
*/

:root{
  --bg:#ffffff; --soft:#f5f7fb; --fg:#141a2a; --muted:#5b6478; --line:#e3e7ef;
  --accent:#1d4ed8; --accent-soft:#e8efff; --up:#0f8a4c; --hot:#e11d48; --sun:#f5a524;
  --f-display:"Figtree",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --f-body:"Figtree",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --f-read:"Source Serif 4",Georgia,"Times New Roman",serif;
  --header-h:64px;
  color-scheme:light;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--f-body);font-size:16px;line-height:1.55}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
a:hover .t,a.t:hover{color:var(--accent)}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
h1,h2,h3,h4{font-family:var(--f-display);line-height:1.18;margin:0;text-wrap:balance;letter-spacing:-.2px}
.t{transition:color .15s}
.wrap{max-width:1220px;margin:0 auto;padding-inline:16px}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
.skip-link:focus{position:fixed;left:12px;top:12px;z-index:100;background:var(--bg);padding:10px 14px;border:2px solid var(--accent);clip:auto;width:auto;height:auto}
.cat{font-family:var(--f-display);font-weight:700;font-size:11.5px;letter-spacing:1px;text-transform:uppercase;color:var(--accent)}
.meta{color:var(--muted);font-size:13px}
.meta a:hover{color:var(--accent)}

/* Thumbnails */
.thumb{position:relative;display:block;aspect-ratio:16/9;border-radius:8px;overflow:hidden;background:var(--soft);max-width:100%}
.thumb img{width:100%;height:100%;object-fit:cover;transition:transform .35s}
a:hover .thumb img{transform:scale(1.03)}
.ph{position:absolute;inset:0;background:linear-gradient(135deg,hsl(var(--h) 85% 90%),hsl(calc(var(--h) + 40) 80% 82%))}
.ph::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 75% 25%,rgba(255,255,255,.75),transparent 45%)}
@media (prefers-reduced-motion:reduce){.thumb img{transition:none}a:hover .thumb img{transform:none}}

/* Header: logo + search */
.site-header{background:var(--bg);position:sticky;top:0;z-index:50;box-shadow:0 1px 0 var(--line)}
.admin-bar .site-header{top:32px}
@media (max-width:782px){.admin-bar .site-header{top:0}}
.hdr{display:flex;align-items:center;gap:22px;min-height:var(--header-h);padding-block:10px}
.logo{display:flex;align-items:center;flex-shrink:0}
.logo .custom-logo{max-height:44px;width:auto}
.wordmark{display:inline-flex;align-items:center;gap:9px;font-family:var(--f-display);font-weight:800;font-size:23px;letter-spacing:-.4px;white-space:nowrap;line-height:1}
.wm-mark{position:relative;width:34px;height:34px;border-radius:9px;background:var(--accent);color:#fff;display:grid;place-items:center;font-size:14px;letter-spacing:0}
.wm-mark::after{content:"";position:absolute;right:-3px;top:-3px;width:11px;height:11px;border-radius:50%;background:var(--sun);border:2px solid var(--bg)}
.wm-text b{color:var(--accent);font-weight:800}
.site-footer .wordmark{font-size:21px}
.hdr-search{flex:1;max-width:540px}
.hdr-search .search-form{display:flex;align-items:center;background:var(--soft);border:1px solid var(--line);border-radius:999px;padding:4px 4px 4px 16px;gap:6px}
.hdr-search .search-form label{flex:1;min-width:0;display:flex}
.hdr-search .search-field{flex:1;min-width:0;border:0;background:transparent;padding:7px 0;font:inherit;font-size:15px;color:var(--fg)}
.hdr-search .search-field:focus{outline:none}
.hdr-search .search-form:focus-within{border-color:var(--accent);background:var(--bg)}
.hdr-search .search-submit{border-radius:999px;padding:8px 16px;font-size:14px}
.hdr-actions{margin-left:auto;display:flex;gap:10px;align-items:center}
.hdr-date{font-size:13.5px;font-weight:700;color:var(--muted);white-space:nowrap}
.icon-btn{background:transparent;border:1px solid var(--line);border-radius:50%;width:38px;height:38px;cursor:pointer;font-size:17px;color:var(--fg);display:grid;place-items:center;padding:0}
.icon-btn:hover{border-color:var(--accent);color:var(--accent)}
.search-toggle{display:none}
.btn,.search-form .search-submit{background:var(--accent);color:#fff;border:0;border-radius:8px;padding:10px 16px;font-weight:700;font-family:var(--f-body);font-size:15px;cursor:pointer}
.search-form{display:flex;gap:8px}
.search-form .search-field{flex:1;min-width:0;border:1px solid var(--line);border-radius:8px;padding:10px 12px;font:inherit}
.hdr-search .search-form .search-field{border:0;padding:7px 0}

/* Category bar */
.catnav{border-top:1px solid var(--line)}
.catnav ul{list-style:none;margin:0;padding:0;display:flex;gap:2px;overflow-x:auto;scrollbar-width:none}
.catnav ul::-webkit-scrollbar{display:none}
.catnav li{flex-shrink:0}
.catnav .sub-menu{display:none}
.catnav a{display:block;padding:11px 12px 10px;font-weight:700;font-size:14.5px;color:var(--muted);white-space:nowrap;border-bottom:3px solid transparent}
.catnav a:hover{color:var(--fg)}
.catnav .current-menu-item>a,.catnav .current-cat>a,.catnav .current-post-ancestor>a,.catnav a.is-reading{color:var(--accent);border-bottom-color:var(--accent)}

/* Trending / now-reading strip */
.ticker{background:var(--accent-soft);font-size:14px}
.ticker-in{display:flex;align-items:center;gap:14px;min-height:38px;overflow:hidden}
.tick-tag{flex-shrink:0;background:var(--hot);color:#fff;font-weight:800;font-size:11px;letter-spacing:1px;text-transform:uppercase;padding:3px 8px;border-radius:4px}
.ticker.is-reading .tick-tag{background:var(--accent)}
.tick-now{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:600;color:var(--fg)}
.latest-ticker{flex:1;overflow:hidden;white-space:nowrap;mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent)}
.latest-ticker-in{display:inline-flex;gap:40px;animation:btm-tick 70s linear infinite}
.latest-ticker:hover .latest-ticker-in{animation-play-state:paused}
.latest-ticker a{color:var(--muted);font-weight:600}
.latest-ticker a:hover{color:var(--accent)}
@keyframes btm-tick{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.latest-ticker-in{animation:none}}

/* Section heads */
.sec{padding-block:24px}
.sec-hd{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px;border-bottom:2px solid var(--fg);padding-bottom:8px}
.sec-hd h2{font-size:21px;text-transform:uppercase;letter-spacing:.6px}
.sec-hd h2 a:hover{color:var(--accent)}
.sec-hd .subs{display:flex;gap:14px;flex-wrap:wrap;font-size:14px;font-weight:600;color:var(--muted);flex:1;justify-content:flex-end}
.sec-hd .subs a:hover,.more:hover{color:var(--accent)}
.more{font-weight:700;font-size:13px;color:var(--muted);white-space:nowrap}
.sec-hd .note{font-size:13px;color:var(--muted);font-weight:600}

/* Hero */
.top-grid{display:grid;grid-template-columns:2fr 1fr;gap:28px;padding-block:26px}
.lead h2{font-size:clamp(26px,3.3vw,38px);margin:12px 0 8px}
.lead p{color:var(--muted);margin:0 0 8px;max-width:62ch;font-size:17px}
.headlines{display:flex;flex-direction:column;min-width:0}
.headlines .hd{font-family:var(--f-display);font-weight:800;font-size:15px;text-transform:uppercase;letter-spacing:1px;padding-bottom:10px;border-bottom:2px solid var(--fg);margin-bottom:4px}
.headlines a{padding-block:12px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr 96px;gap:12px;align-items:start}
.headlines a:last-child{border-bottom:0}
.headlines h3{font-size:16.5px;margin-top:3px}

/* Trending 7 days */
.trending{background:var(--soft);padding-block:6px 26px;margin-bottom:8px}
.trend-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;counter-reset:tr}
.trend-grid a{display:grid;grid-template-columns:34px 1fr;gap:10px;counter-increment:tr;align-items:start;background:var(--bg);border-radius:10px;padding:14px}
.trend-grid a::before{content:counter(tr);font-family:var(--f-display);font-weight:900;font-size:30px;line-height:1;color:var(--accent)}
.trend-grid h3{font-size:16px;margin-top:3px}

/* Main + sticky sidebar */
.layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:40px;padding-bottom:48px;align-items:start}
.layout>*{min-width:0}
.sidebar{position:sticky;top:var(--side-top,90px);display:flex;flex-direction:column;gap:22px;padding-top:24px}
.sec-body{display:grid;grid-template-columns:1.25fr 1fr;gap:24px}
.sec-body .big h3{font-size:22px;margin:10px 0 6px}
.sec-body .big p{color:var(--muted);margin:0}
.list{display:flex;flex-direction:column;gap:16px;min-width:0}
.list a{display:grid;grid-template-columns:110px 1fr;gap:12px;align-items:start}
.list h4{font-size:15.5px;margin-top:2px}
.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.grid3 .card{display:flex;flex-direction:column;gap:6px}
.grid3 h4{font-size:16.5px}
.grid3 p{margin:0;color:var(--muted);font-size:14.5px}
.picks{background:var(--accent-soft);border-radius:12px;padding:6px 18px 20px;margin-block:12px}
.picks .sec-hd{border-bottom-color:var(--accent)}
.rows a{display:grid;grid-template-columns:200px 1fr;gap:18px;padding-block:16px;border-bottom:1px solid var(--line);align-items:start}
.rows h3{font-size:20px;margin:4px 0 6px}
.rows p{margin:0 0 6px;color:var(--muted);font-size:15px}
.view-all{display:block;text-align:center;border:1px solid var(--line);border-radius:8px;padding:12px;font-weight:700;margin-top:18px}
.view-all:hover{border-color:var(--accent);color:var(--accent)}

/* Sidebar widgets */
.widget,.box{border:1px solid var(--line);border-radius:10px;padding:18px}
.widget-title,.box h3,.widget h2,.widget .wp-block-heading,.widget .wp-block-search__label{display:block;font-family:var(--f-display);font-size:15px;text-transform:uppercase;letter-spacing:1px;margin:0 0 12px;padding-bottom:8px;border-bottom:2px solid var(--fg)}
.widget ul{list-style:none;margin:0;padding:0}
.widget .wp-block-group__inner-container>*:last-child{margin-bottom:0}
.wp-block-search__inside-wrapper{display:flex;gap:6px}
.wp-block-search__input{flex:1;min-width:0;border:1px solid var(--line);border-radius:8px;padding:9px 11px;font:inherit}
.wp-block-search__button{background:var(--accent);color:#fff;border:0;border-radius:8px;padding:9px 14px;font-weight:700;cursor:pointer;font:inherit}
.widget li{padding:7px 0;border-bottom:1px solid var(--line)}
.widget li:last-child{border-bottom:0}
.widget a:hover{color:var(--accent)}
.ol{counter-reset:n;display:flex;flex-direction:column;gap:14px}
.ol a{display:grid;grid-template-columns:28px 1fr;gap:8px;counter-increment:n}
.ol a::before{content:counter(n);font-family:var(--f-display);font-weight:900;font-size:24px;line-height:1;color:var(--accent)}
.ol h4{font-size:15px}
.mini{display:flex;flex-direction:column;gap:12px}
.mini a{display:grid;grid-template-columns:84px 1fr;gap:10px;align-items:start}
.mini h4{font-size:14.5px}
.cats-all a{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--line);font-weight:600;font-size:15px}
.cats-all a:last-child{border-bottom:0}
.cats-all a span{color:var(--muted);font-size:13px}
.cats-all a:hover{color:var(--accent)}

/* Single post */
.read-progress{position:fixed;left:0;right:0;top:0;height:3px;z-index:60;pointer-events:none}
.admin-bar .read-progress{top:32px}
.read-progress span{display:block;height:100%;background:var(--accent);transform:scaleX(0);transform-origin:0 50%}
.crumb{display:flex;gap:8px;flex-wrap:wrap;font-size:13.5px;color:var(--muted);padding-top:24px}
.crumb a:hover{color:var(--accent)}
.post-head{padding-block:16px 6px}
.cat-pill{display:inline-block;background:var(--accent-soft);color:var(--accent);font-family:var(--f-display);font-weight:800;font-size:12px;letter-spacing:1px;text-transform:uppercase;padding:6px 11px;border-radius:999px}
.cat-pill:hover{background:var(--accent);color:#fff}
.post-head h1{font-size:clamp(28px,4.2vw,44px);margin:14px 0 12px;font-weight:800;letter-spacing:-.6px;line-height:1.12}
.post-head .deck{font-size:19.5px;color:var(--muted);margin:0 0 18px;max-width:64ch;line-height:1.5}
.byline{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding-block:14px 12px;border-top:1px solid var(--line)}
.byline img.avatar{border-radius:50%;width:46px;height:46px;box-shadow:0 0 0 2px var(--bg),0 0 0 4px var(--accent-soft)}
.byline .who{flex:1;min-width:170px;display:flex;flex-direction:column;gap:2px}
.byline .who b{font-size:15.5px}
.byline .who b a{color:var(--accent)}
.byline .who b a:hover{text-decoration:underline}
.share{display:flex;gap:6px;flex-wrap:wrap;padding-bottom:16px;border-bottom:1px solid var(--line)}
.share a,.share button{border:1px solid var(--line);background:var(--bg);border-radius:999px;padding:7px 14px;font-family:var(--f-body);font-size:13.5px;font-weight:700;cursor:pointer;color:var(--fg);transition:background .15s,color .15s,border-color .15s}
.share a:hover,.share button:hover{background:var(--accent);border-color:var(--accent);color:#fff}
.featured{margin:22px 0 26px}
.featured .thumb{border-radius:14px}
.featured figcaption{font-size:13.5px;color:var(--muted);margin-top:8px}
.entry{font-family:var(--f-read);font-size:19px;line-height:1.72;max-width:72ch;overflow-wrap:break-word;color:#1f2637}
.entry h2,.entry h3,.entry h4,.entry .toc,.entry .also-read,.entry table,.entry blockquote{font-family:var(--f-display)}
.entry>p:first-of-type{font-size:20.5px;line-height:1.65;color:var(--fg)}
.entry p{margin:0 0 22px}
.entry h2{font-size:28px;margin:44px 0 16px;scroll-margin-top:100px;letter-spacing:-.4px}
.entry h2::before{content:"";display:block;width:44px;height:4px;border-radius:2px;background:var(--accent);margin-bottom:14px}
.entry h3{font-size:22px;margin:32px 0 12px;scroll-margin-top:100px}
.entry h4{font-size:19px;margin:26px 0 10px}
.entry a{color:var(--accent);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.entry a:hover{text-decoration-thickness:2px}
.entry ul,.entry ol{padding-left:26px;margin:0 0 22px}
.entry li{margin-bottom:8px;padding-left:4px}
.entry ul li::marker{color:var(--accent)}
.entry ol li::marker{color:var(--accent);font-family:var(--f-display);font-weight:800}
.entry strong{color:var(--fg)}
.entry img{border-radius:10px}
.entry figure{margin:28px 0}
.entry figcaption,.entry .wp-caption-text{font-size:13.5px;color:var(--muted);margin-top:8px}
.entry blockquote{margin:30px 0;padding:20px 24px;background:var(--soft);border-left:4px solid var(--accent);border-radius:0 12px 12px 0;font-family:var(--f-display);font-size:21px;font-weight:700;line-height:1.45}
.entry blockquote p:last-child{margin-bottom:0}
.entry blockquote cite{display:block;font-family:var(--f-body);font-size:14px;color:var(--muted);font-style:normal;margin-top:8px}
.entry table{width:100%;border-collapse:separate;border-spacing:0;font-size:15.5px;display:block;overflow-x:auto;border:1px solid var(--line);border-radius:10px;margin:0 0 24px}
.entry th{text-align:left;font-size:13px;text-transform:uppercase;letter-spacing:.6px;color:var(--fg);background:var(--soft);padding:11px 12px;border-bottom:1px solid var(--line)}
.entry td{padding:11px 12px;border-bottom:1px solid var(--line)}
.entry tr:last-child td{border-bottom:0}
.entry tr:nth-child(even) td{background:#fafbfd}
.toc{border:1px solid var(--line);background:var(--soft);border-radius:12px;padding:16px 20px;margin:6px 0 30px;font-family:var(--f-body)}
.toc summary{cursor:pointer;font-family:var(--f-display);font-weight:800;font-size:14px;text-transform:uppercase;letter-spacing:1px;list-style:none;display:flex;justify-content:space-between;align-items:center}
.toc summary::-webkit-details-marker{display:none}
.toc summary::after{content:"−";font-size:20px;color:var(--accent)}
.toc:not([open]) summary::after{content:"+"}
.entry .toc ol{margin:12px 0 0;padding-left:22px;columns:2;column-gap:28px;font-size:15.5px;line-height:1.45}
.entry .toc li{margin-bottom:8px;break-inside:avoid}
.entry .toc a{color:var(--fg);text-decoration:none}
.entry .toc a:hover{color:var(--accent);text-decoration:underline}
.entry .also-read{display:grid;grid-template-columns:130px 1fr;gap:16px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:12px;margin:6px 0 28px;color:var(--fg);text-decoration:none;background:var(--bg);transition:border-color .15s,box-shadow .15s}
.entry .also-read:hover{border-color:var(--accent);box-shadow:0 8px 22px rgba(20,30,50,.08)}
.entry .also-read small{display:block;font-family:var(--f-display);font-weight:800;font-size:12px;letter-spacing:1px;text-transform:uppercase;color:var(--accent);margin-bottom:4px}
.entry .also-read strong{font-family:var(--f-display);font-size:18px;line-height:1.3;display:block}
.entry .also-read:hover strong{color:var(--accent)}
.page-links{margin:20px 0;font-weight:700}
.tags{display:flex;gap:8px;flex-wrap:wrap;padding-block:20px;border-top:1px solid var(--line);margin-top:10px}
.tags b{font-size:14px;margin-right:4px;align-self:center}
.tags a{background:var(--soft);border-radius:999px;padding:6px 13px;font-size:14px;font-weight:600;color:var(--muted)}
.tags a:hover{background:var(--accent);color:#fff}
.author-box{display:grid;grid-template-columns:84px 1fr;gap:18px;padding:22px;background:var(--soft);border-radius:14px;margin-block:8px 26px}
.author-box img{border-radius:50%;width:84px;height:84px}
.author-box small{display:block;font-weight:700;font-size:12px;letter-spacing:1px;text-transform:uppercase;color:var(--muted);margin-bottom:2px}
.author-box h4{font-size:20px;margin-bottom:6px}
.author-box h4 a:hover{color:var(--accent)}
.author-box p{margin:0 0 8px;color:var(--muted);font-size:15px}
.author-box .links a{font-size:14px;font-weight:700;color:var(--accent)}
.prevnext{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:10px}
.prevnext a{border:1px solid var(--line);border-radius:12px;padding:16px 18px;display:block;transition:border-color .15s}
.prevnext a:hover{border-color:var(--accent)}
.prevnext small{display:block;font-weight:700;font-size:12px;letter-spacing:1px;text-transform:uppercase;color:var(--accent);margin-bottom:4px}
.prevnext .next{text-align:right}
.prevnext h4{font-size:16px}
.related{padding-block:26px 6px}
.rel-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.rcard{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--bg);transition:transform .2s,box-shadow .2s,border-color .2s}
.rcard:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(20,30,50,.10);border-color:transparent}
.rcard .thumb{border-radius:0}
.rc-body{display:flex;flex-direction:column;gap:7px;padding:14px 16px 16px;flex:1}
.rcard h3{font-size:17px;line-height:1.28}
.rc-ex{color:var(--muted);font-size:14.5px;line-height:1.5}
.rcard .meta{margin-top:auto;padding-top:6px;font-size:12.5px}
@media (prefers-reduced-motion:reduce){.rcard,.rcard:hover{transition:none;transform:none}}
.more-from .more-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 24px}
.more-list a{display:grid;grid-template-columns:110px 1fr;gap:12px;align-items:start}
.more-list h4{font-size:15.5px;margin-top:2px}

/* Endless lists */
.load-status{display:flex;justify-content:center;padding-top:6px;min-height:20px}
.load-status .view-all{width:100%;background:var(--bg);cursor:pointer;font:inherit;font-weight:700;color:var(--fg)}
.load-status.is-loading .view-all{color:var(--muted);cursor:progress}
.feed-end{color:var(--muted);font-size:14px;margin:18px 0 0}
.pagination.js-endless{display:none}

/* Category page: tinted hero band, split feature, numbered picks, 2-column card feed */
.cat-hero{background:linear-gradient(120deg,var(--accent-soft) 0%,#f3f7ff 55%,#eefaf4 100%);border-bottom:1px solid var(--line)}
.cat-hero .crumb{padding-top:18px}
.cat-hero-in{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;flex-wrap:wrap;padding-block:18px 14px}
.cat-hero-text{flex:1 1 420px;min-width:0}
.cat-eyebrow{display:inline-block;font-family:var(--f-display);font-weight:800;font-size:12px;letter-spacing:1.4px;text-transform:uppercase;color:var(--accent)}
.cat-hero h1{font-size:clamp(38px,6vw,64px);font-weight:900;font-stretch:85%;letter-spacing:-1px;line-height:1;margin:6px 0 12px;text-transform:uppercase}
.cat-desc{color:var(--muted);font-size:17px;max-width:62ch;margin:0}
.cat-stats{display:flex;gap:10px;margin:0;flex-wrap:wrap}
.cat-stats div{background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:10px 16px;min-width:110px}
.cat-stats dt{font-size:12px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:var(--muted)}
.cat-stats dd{margin:2px 0 0;font-family:var(--f-display);font-weight:800;font-size:22px;font-variant-numeric:tabular-nums}
.cat-chips{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding-bottom:18px}
.cat-chips::-webkit-scrollbar{display:none}
.cat-chips a{white-space:nowrap;background:var(--bg);border:1px solid var(--line);border-radius:999px;padding:7px 15px;font-weight:700;font-size:14px}
.cat-chips a:hover{border-color:var(--accent);color:var(--accent)}
.cat-chips a.on{background:var(--fg);border-color:var(--fg);color:#fff}
.cat-feature{display:grid;grid-template-columns:1.15fr 1fr;margin-top:26px;border-radius:16px;overflow:hidden;background:#f6f8fc;border:1px solid var(--line)}
.cat-feature .thumb{border-radius:0;aspect-ratio:auto;height:100%;min-height:300px}
.cf-body{display:flex;flex-direction:column;gap:12px;padding:26px 28px}
.cf-tag{align-self:flex-start;background:#fff1d6;color:#8a5300;font-weight:800;font-size:12px;letter-spacing:1px;text-transform:uppercase;padding:5px 10px;border-radius:6px}
.cf-body h2{font-size:clamp(23px,2.5vw,30px);line-height:1.15}
.cf-body p{margin:0;color:var(--muted);font-size:16px}
.cf-by{display:flex;align-items:center;gap:10px;margin-top:auto}
.cf-by b{display:block;font-size:14.5px}
.av{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--accent);color:#fff;font-weight:800;font-size:13px;flex-shrink:0}
.av.sm{width:24px;height:24px;font-size:10px;display:inline-grid;margin-right:7px;vertical-align:middle}
.cf-go{font-weight:800;color:var(--accent);font-size:14.5px}
.cat-picks{padding-block:30px 6px}
.pick-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.pick{position:relative;display:flex;flex-direction:column;gap:8px}
.pick-n{position:absolute;top:10px;left:10px;z-index:2;background:var(--bg);color:var(--accent);font-family:var(--f-display);font-weight:900;font-size:15px;padding:4px 9px;border-radius:8px;box-shadow:0 2px 8px rgba(20,30,50,.12)}
.pick h3{font-size:16.5px;line-height:1.28}
.cat-feed-sec{padding-block:26px 0}
.cat-feed{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 22px}
.fcard{display:flex;flex-direction:column;gap:12px}
.fcard .thumb{border-radius:12px}
.fc-body{display:flex;flex-direction:column;gap:6px}
.fcard h3{font-size:19px;line-height:1.25}
.fcard p{margin:0;color:var(--muted);font-size:15px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.fc-meta{color:var(--muted);font-size:13px;margin-top:2px}
@media (max-width:760px){
  .cat-feature{grid-template-columns:1fr}
  .cat-feature .thumb{min-height:0;aspect-ratio:16/9}
  .cf-body{padding:18px}
  .pick-row{grid-template-columns:1fr 1fr}
  .pick-row .pick:nth-child(3){display:none}
  .cat-feed{grid-template-columns:1fr}
  .cat-stats{width:100%}
  .cat-stats div{flex:1;min-width:0;padding:8px 12px}
  .cat-stats dd{font-size:18px}
}
.cat-chips-gap{height:8px}
.cat-desc p{margin:0}
.cat-feed .feed-end,.load-status .feed-end{text-align:center}

/* Archives */
.archive-head{padding-block:28px 6px}
.archive-head h1{font-size:clamp(28px,3.6vw,40px)}
.archive-head .desc{color:var(--muted);max-width:70ch;margin-top:8px}
.archive-head .subs{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.archive-head .subs a{border:1px solid var(--line);border-radius:6px;padding:5px 11px;font-size:14px;font-weight:600}
.archive-head .subs a:hover{border-color:var(--accent);color:var(--accent)}
.pagination{margin-top:26px}
.pagination .nav-links{display:flex;gap:6px;flex-wrap:wrap}
.pagination .page-numbers{border:1px solid var(--line);border-radius:8px;padding:8px 13px;font-weight:700}
.pagination .page-numbers.current{background:var(--accent);border-color:var(--accent);color:#fff}
.pagination a.page-numbers:hover{border-color:var(--accent);color:var(--accent)}
.empty{padding:40px 0;color:var(--muted)}

/* Comments */
.comments-area{margin-top:10px}
.comment-list{list-style:none;padding:0}
.comment-list .children{list-style:none;padding-left:24px}
.comment-body{border-bottom:1px solid var(--line);padding-block:14px}
.comment-meta{font-size:14px;display:flex;gap:10px;align-items:center}
.comment-meta img{border-radius:50%}
.comment-form input[type=text],.comment-form input[type=email],.comment-form input[type=url],.comment-form textarea{width:100%;border:1px solid var(--line);border-radius:8px;padding:10px;font:inherit}
.comment-form .submit{background:var(--accent);color:#fff;border:0;border-radius:8px;padding:11px 18px;font-weight:700;cursor:pointer;font:inherit}

/* Footer */
.site-footer{background:var(--soft);border-top:1px solid var(--line);padding-block:36px 26px;font-size:15px}
.f-grid{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:28px}
.site-footer h5{font-family:var(--f-display);font-size:14px;text-transform:uppercase;letter-spacing:1px;margin:0 0 12px}
.site-footer ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:7px;color:var(--muted)}
.site-footer ul a:hover{color:var(--accent)}
.site-footer .about{color:var(--muted);max-width:36ch;font-size:14.5px;margin-top:12px}
.copy{border-top:1px solid var(--line);margin-top:26px;padding-top:16px;color:var(--muted);font-size:13.5px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
.copy ul{flex-direction:row;flex-wrap:wrap;gap:14px}
.to-top{position:fixed;right:16px;bottom:16px;z-index:40;opacity:0;pointer-events:none;transition:opacity .2s;background:var(--bg)}
.to-top.show{opacity:1;pointer-events:auto}

/* WP core classes */
.alignleft{float:left;margin:0 20px 12px 0}.alignright{float:right;margin:0 0 12px 20px}.aligncenter{margin-inline:auto}
.wp-caption{max-width:100%}.sticky,.bypostauthor,.gallery-caption{}

@media (max-width:1040px){
  .layout{grid-template-columns:minmax(0,1fr)}
  .sidebar{position:static}
  .hdr{position:relative}
  .trend-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .f-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:760px){
  .search-toggle{display:grid}
  .hdr-date{display:none}
  .hdr-search{display:none;position:absolute;left:0;right:0;top:100%;max-width:none;background:var(--bg);padding:10px 16px;border-bottom:1px solid var(--line);z-index:5}
  .hdr-search.open{display:block}
}
@media (max-width:680px){
  .top-grid,.sec-body,.prevnext{grid-template-columns:1fr}
  .grid3{grid-template-columns:1fr 1fr}
  .list a{grid-template-columns:96px 1fr}
  .rows a{grid-template-columns:110px 1fr;gap:12px}
  .rows h3{font-size:17px}.rows p{display:none}
  .sec-hd .subs,.logo .tagline,.topbar .date{display:none}
  .entry{font-size:17.5px}
  .entry>p:first-of-type{font-size:18.5px}
  .entry h2{font-size:24px}
  .entry .also-read{grid-template-columns:96px 1fr}
  .entry .toc ol{columns:1}
  .rel-grid{grid-template-columns:1fr 1fr}
  .more-from .more-list{grid-template-columns:1fr}
  .wordmark{font-size:23px}
}
@media (max-width:460px){
  .grid3,.trend-grid,.rel-grid{grid-template-columns:1fr}
  .wordmark{font-size:20px;gap:5px}
  .author-box{grid-template-columns:1fr}
  .f-grid{grid-template-columns:1fr}
}

/* ==================================================================
 * v1.4.0 — Article page (news-portal style) + next-article stream.
 * Scoped to .post-unit / #btm-stream so the homepage is untouched.
 * ================================================================== */
.post-unit{grid-template-columns:minmax(0,1fr) 320px;gap:48px;padding-bottom:40px}
.post-unit article{max-width:780px}
.post-unit .crumb{font-family:var(--f-display);font-size:12.5px;font-weight:800;letter-spacing:1px;text-transform:uppercase;padding-top:26px}
.post-unit .crumb a{color:var(--accent)}
.post-unit .crumb a:first-child{color:var(--muted)}
.post-unit .post-head{padding-block:12px 0}
.post-unit .post-title{font-size:clamp(28px,3.8vw,42px);font-weight:800;letter-spacing:-.6px;line-height:1.12;margin:0 0 14px}
.post-unit .deck{font-size:20px;line-height:1.45;margin:0 0 20px}
.post-unit .byline{padding-block:14px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);gap:12px}
.post-unit .byline .by-avatar{flex-shrink:0}
.post-unit .byline .who{flex:0 1 auto;min-width:0}
.post-unit .byline .who b a{color:var(--fg)}
.post-unit .byline .who b a:hover{color:var(--accent);text-decoration:none}
.follow-btn{border:1.5px solid var(--accent);color:var(--accent);background:var(--bg);border-radius:999px;padding:5px 14px;font:700 13.5px var(--f-body);cursor:pointer;white-space:nowrap;transition:background .15s,color .15s}
.follow-btn:hover{background:var(--accent-soft)}
.follow-btn .f-on{display:none}
.follow-btn[aria-pressed="true"]{background:var(--accent);color:#fff}
.follow-btn[aria-pressed="true"] .f-on{display:inline}
.follow-btn[aria-pressed="true"] .f-off{display:none}
.share-icons{margin-left:auto;display:flex;gap:8px}
.share-icons a,.share-icons button{width:36px;height:36px;border-radius:50%;border:1px solid var(--line);background:var(--bg);color:var(--muted);display:grid;place-items:center;padding:0;cursor:pointer;transition:border-color .15s,color .15s}
.share-icons a:hover,.share-icons button:hover,.share-icons .is-copied{border-color:var(--accent);color:var(--accent)}
.post-unit .featured{margin:22px 0 0}
.post-unit .featured .thumb{border-radius:12px}
.post-unit .entry{margin-top:26px}
.post-unit .author-box{grid-template-columns:72px 1fr;margin-block:8px 10px}
.post-unit .author-box img{width:72px;height:72px}
.post-unit .author-box .links{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px}
.post-unit .f-count{font-size:14px;color:var(--muted)}
.post-unit .sidebar{padding-top:26px}
.post-unit .sidebar .widget{min-height:0}

.up-next{display:flex;align-items:center;gap:14px;padding-block:10px 0}
.up-next::before,.up-next::after{content:"";flex:1;height:2px;background:var(--fg)}
.up-next span{font-family:var(--f-display);font-weight:800;font-size:13px;letter-spacing:1.4px;text-transform:uppercase;background:var(--accent);color:#fff;padding:7px 16px;border-radius:999px}
.post-unit.is-new{animation:btm-rise .5s ease-out}
@keyframes btm-rise{from{opacity:.4;transform:translateY(16px)}to{opacity:1;transform:none}}
.stream-status{padding-bottom:20px}
.stream-loading{display:flex;justify-content:center;align-items:center;gap:10px;padding-block:28px;color:var(--muted);font-weight:600}
.stream-loading i{width:18px;height:18px;border-radius:50%;border:2.5px solid var(--line);border-top-color:var(--accent);animation:btm-spin .8s linear infinite}
@keyframes btm-spin{to{transform:rotate(360deg)}}
.stream-end{text-align:center;padding-block:30px 20px;color:var(--muted)}
.stream-end b{display:block;font-family:var(--f-display);font-size:20px;color:var(--fg);margin-bottom:6px}
.stream-end a{color:var(--accent);font-weight:700}
.stream-retry{max-width:420px;margin-inline:auto}

@media (max-width:1040px){
  .post-unit{grid-template-columns:minmax(0,1fr)}
  .post-unit .sidebar{position:static}
}
@media (max-width:620px){
  .share-icons{margin-left:0;width:100%}
  .post-unit .author-box{grid-template-columns:minmax(0,1fr)}
}
@media (prefers-reduced-motion:reduce){.post-unit.is-new,.stream-loading i{animation:none}}


/* ==================================================================
 * Portal News homepage
 * ================================================================== */
.home-portal{padding-bottom:20px}
.sec-title{display:flex;align-items:center;gap:8px;font-size:13.5px;font-weight:800;letter-spacing:1px;text-transform:uppercase;margin:0 0 14px}
.sec-title::before{content:"";width:4px;height:16px;border-radius:2px;background:var(--accent)}
.hp-lead{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:30px;padding-block:26px 10px}
.hp-main{display:flex;flex-direction:column;gap:8px}
.hp-main .thumb{border-radius:12px;margin-bottom:6px}
.hp-main h2{font-size:clamp(26px,3vw,36px);line-height:1.15;letter-spacing:-.6px;font-weight:800}
.hp-main p{margin:0;color:var(--muted);font-size:17px;max-width:62ch}
.hp-stack{display:flex;flex-direction:column}
.hp-stack a{display:grid;grid-template-columns:minmax(0,1fr) 124px;gap:14px;padding-block:16px;border-bottom:1px solid var(--line);align-items:start}
.hp-stack a:first-child{padding-top:0}
.hp-stack a:last-child{border-bottom:0}
.hp-stack .thumb{aspect-ratio:4/3}
.hp-stack h3{font-size:17.5px;line-height:1.28;margin:4px 0 6px}
.hp-topics{padding-block:22px 6px}
.chips{display:flex;gap:10px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}
.chips::-webkit-scrollbar{display:none}
.chips a{flex-shrink:0;display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:999px;padding:6px 14px 6px 6px;font-weight:700;font-size:14px;background:var(--bg)}
.chips a span{width:26px;height:26px;border-radius:50%;flex-shrink:0;background:linear-gradient(135deg,hsl(var(--h) 90% 78%),hsl(calc(var(--h) + 50) 85% 62%))}
.chips a:hover{border-color:var(--accent);color:var(--accent)}
.hp-feed{padding-top:26px}
.hp-feed .main-col>.sec-title{margin-bottom:6px}
.hp-feed .sidebar{padding-top:0}
.cat-block{padding-block:30px 6px}
.cb-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;border-bottom:2px solid var(--fg);padding-bottom:8px;margin-bottom:18px}
.cb-head h2{font-size:23px;letter-spacing:-.3px}
.cb-head h2 a:hover{color:var(--accent)}
.cb-head .more{color:var(--accent);font-size:14px}
.cb-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
.cb-grid .card{display:flex;flex-direction:column;gap:6px}
.cb-grid .card h4{font-size:16.5px;line-height:1.3}
.rows a{grid-template-columns:220px minmax(0,1fr)}
.rows h3{font-size:20px;letter-spacing:-.2px}
@media (max-width:1040px){
  .hp-lead{grid-template-columns:minmax(0,1fr)}
  .cb-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:620px){
  .cb-grid{grid-template-columns:minmax(0,1fr)}
  .rows a{grid-template-columns:minmax(0,1fr) 110px}
  .rows a .thumb{order:2;aspect-ratio:1}
  .rows h3{font-size:17px}
  .wordmark{font-size:20px}
  .wm-mark{width:30px;height:30px;font-size:12px}
}
