
/* NewsPulse X 2.0 — editorial polish and responsive motion layer */
:root{
 --npx-ink:#101828;--npx-muted:#667085;--npx-paper:#f5f7fa;--npx-surface:#fff;
 --npx-line:rgba(16,24,40,.10);--npx-glow:0 18px 55px rgba(16,24,40,.12);
 --npx-radius:18px;--npx-ease:cubic-bezier(.22,.8,.22,1);
 --npx-accent:var(--np-red,#cc0000);--npx-accent-2:#ff6b35;
}
html{scroll-behavior:smooth;scroll-padding-top:100px}
body{background:var(--npx-paper);color:var(--npx-ink);-webkit-font-smoothing:antialiased}
body,button,input,textarea,select{font-family:var(--np-body,'Source Sans 3'),system-ui,sans-serif}
::selection{background:color-mix(in srgb,var(--npx-accent) 22%,transparent);color:inherit}
a{transition:color .22s var(--npx-ease)}
button,.np-btn{transition:transform .25s var(--npx-ease),box-shadow .25s var(--npx-ease),background .25s,color .25s}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid color-mix(in srgb,var(--npx-accent) 65%,white);outline-offset:3px}
.np-wrap{width:min(1320px,calc(100% - 48px))}
.np-topbar{background:#101828;color:#e7edf5;border-bottom:1px solid rgba(255,255,255,.09)}
.np-topbar a{color:inherit}
.np-bar{background:color-mix(in srgb,var(--npx-surface) 92%,transparent);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-bottom:1px solid var(--npx-line)}
.np-header.is-stuck .np-bar{box-shadow:0 10px 35px rgba(16,24,40,.10)}
.np-brand__text{letter-spacing:-.045em;font-weight:900}
.np-nav .np-menu>li>a{font-weight:750;letter-spacing:.01em;position:relative}
.np-nav .np-menu>li>a:after{content:"";position:absolute;left:0;right:100%;bottom:8px;height:2px;background:var(--npx-accent);transition:right .28s var(--npx-ease)}
.np-nav .np-menu>li:hover>a:after,.np-nav .np-menu>li.current-menu-item>a:after{right:0}
.np-iconbtn,.np-share__btn{border:1px solid var(--npx-line);background:var(--npx-surface);box-shadow:0 3px 12px rgba(16,24,40,.04)}
.np-iconbtn:hover,.np-share__btn:hover{transform:translateY(-3px);box-shadow:0 10px 25px rgba(16,24,40,.12);border-color:color-mix(in srgb,var(--npx-accent) 35%,var(--npx-line))}
.np-hero{gap:22px;margin-top:28px}
.np-slider{border-radius:var(--npx-radius);overflow:hidden;box-shadow:var(--npx-glow);isolation:isolate}
.np-slide__media:after{background:linear-gradient(180deg,transparent 20%,rgba(5,10,20,.12) 42%,rgba(5,10,20,.88) 100%)}
.np-slide__media img{transform:scale(1.015);transition:transform 8s linear}
.np-slide.is-active .np-slide__media img{transform:scale(1.11)}
.np-slide__cap{padding:clamp(22px,4vw,48px)}
.np-slide__title{max-width:850px;text-wrap:balance;letter-spacing:-.035em;text-shadow:0 3px 24px rgba(0,0,0,.28)}
.np-seg{border-radius:8px;overflow:hidden}
.np-live,.np-box,.np-card,.np-emag,.np-author,.np-article,.np-tabs{border-radius:var(--npx-radius)}
.np-live,.np-box{background:var(--npx-surface);border:1px solid var(--npx-line);box-shadow:0 8px 28px rgba(16,24,40,.045)}
.np-live{padding:22px}
.np-live__head h2,.np-sec__title{letter-spacing:-.035em}
.np-live__list li{padding:13px 0;border-bottom:1px solid var(--npx-line)}
.np-live__list a{font-weight:700;line-height:1.45}
.np-sec{margin-top:clamp(34px,5vw,64px)}
.np-sec__head{margin-bottom:20px;align-items:center}
.np-sec__title{font-size:clamp(24px,2.4vw,34px);font-weight:900}
.np-sec__title:before{height:1em;border-radius:3px}
.np-card{overflow:hidden;background:var(--npx-surface);border:1px solid var(--npx-line);box-shadow:0 5px 22px rgba(16,24,40,.045);transition:transform .35s var(--npx-ease),box-shadow .35s var(--npx-ease),border-color .35s}
.np-card:hover{transform:translateY(-6px);box-shadow:0 20px 45px rgba(16,24,40,.12);border-color:color-mix(in srgb,var(--npx-accent) 25%,var(--npx-line))}
.np-card__media,.np-slide__media{overflow:hidden;background:#dce3eb}
.np-card__media img{transition:transform .7s var(--npx-ease),filter .7s}
.np-card:hover .np-card__media img{transform:scale(1.055);filter:saturate(1.08)}
.np-pill{border-radius:999px;font-weight:800;letter-spacing:.035em}
.np-card__title a,.np-live__list a{transition:color .2s}
.np-card__title a:hover,.np-live__list a:hover{color:var(--npx-accent)}
.np-list .np-card{padding:14px;border-radius:14px}
.np-list .np-card+.np-card{margin-top:12px}
.np-btn{border-radius:999px;padding:13px 24px;font-weight:800;box-shadow:0 8px 20px color-mix(in srgb,var(--npx-accent) 18%,transparent)}
.np-btn:hover{transform:translateY(-2px);box-shadow:0 13px 28px color-mix(in srgb,var(--npx-accent) 25%,transparent)}
.np-band{padding:clamp(36px,5vw,68px) 0}
.np-band--dark{background:radial-gradient(ellipse at 90% 0%,rgba(255,107,53,.18),transparent 35%),#101828}
.np-band--ink{background:radial-gradient(ellipse at 5% 10%,rgba(204,0,0,.18),transparent 36%),#171f2d}
.np-emag{overflow:hidden;box-shadow:var(--npx-glow)}
.np-article{background:var(--npx-surface);padding:clamp(20px,4vw,54px);border:1px solid var(--npx-line);box-shadow:0 12px 42px rgba(16,24,40,.055)}
.np-article__title{letter-spacing:-.045em;text-wrap:balance;line-height:1.08}
.np-figure{border-radius:var(--npx-radius);overflow:hidden}
.np-content{font-size:var(--np-fs,20px);line-height:1.82;color:var(--npx-ink)}
.np-content p{margin:0 0 1.45em}
.np-content h2,.np-content h3{letter-spacing:-.03em;line-height:1.2;margin:1.7em 0 .65em}
.np-content img{border-radius:12px}
.np-content blockquote{border-left:4px solid var(--npx-accent);padding:18px 24px;background:color-mix(in srgb,var(--npx-accent) 5%,var(--npx-surface));border-radius:0 14px 14px 0}
.np-content a{text-decoration-thickness:1px;text-underline-offset:3px}
.np-progress i{background:linear-gradient(90deg,var(--npx-accent),var(--npx-accent-2))}
.np-drawer__panel,.np-search{backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px)}
.np-drawer__panel{box-shadow:25px 0 70px rgba(0,0,0,.22)}
.np-reveal{opacity:0;transform:translateY(22px);transition:opacity .65s var(--npx-ease),transform .65s var(--npx-ease);transition-delay:calc(var(--d,0)*55ms)}
.np-reveal.is-in{opacity:1;transform:none}
.np-rail{scroll-snap-type:x mandatory;scroll-padding:12px}
.np-rail>*{scroll-snap-align:start}
.np-rail::-webkit-scrollbar{height:7px}
.np-rail::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--npx-muted) 35%,transparent);border-radius:9px}
.np-footer{background:#0b1220}
.np-totop{box-shadow:0 12px 30px rgba(0,0,0,.18)}
/* Dark theme */
html[data-theme="dark"]{--npx-ink:#e8edf5;--npx-muted:#a4afbf;--npx-paper:#0b1220;--npx-surface:#121c2b;--npx-line:rgba(226,232,240,.12);--npx-glow:0 18px 55px rgba(0,0,0,.25)}
html[data-theme="dark"] body{background:var(--npx-paper);color:var(--npx-ink)}
html[data-theme="dark"] .np-bar{background:rgba(18,28,43,.91)}
html[data-theme="dark"] .np-card,html[data-theme="dark"] .np-live,html[data-theme="dark"] .np-box,html[data-theme="dark"] .np-article,html[data-theme="dark"] .np-author{background:var(--npx-surface);border-color:var(--npx-line)}
html[data-theme="dark"] .np-card__title a,html[data-theme="dark"] .np-live__list a{color:var(--npx-ink)}
html[data-theme="dark"] .np-topbar{background:#070c14}
html[data-theme="dark"] .np-content{color:#dce5f0}
html[data-theme="dark"] .np-content blockquote{background:rgba(255,255,255,.05)}
/* Responsive refinements */
@media(max-width:1024px){.np-wrap{width:min(100% - 36px,900px)}.np-hero{grid-template-columns:1fr}.np-live{margin-top:2px}.np-slide__title{font-size:clamp(28px,5vw,48px)}}
@media(max-width:767px){
 .np-wrap{width:calc(100% - 28px)}.np-topbar__right .np-iconbtn{width:30px;height:30px}
 .np-hero{margin-top:14px;gap:14px}.np-slider{border-radius:14px}
 .np-slide__cap{padding:18px}.np-slide__title{font-size:clamp(25px,7vw,36px);line-height:1.08}
 .np-slider__nav{gap:5px}.np-seg__title{font-size:10px}
 .np-live{padding:17px}.np-sec{margin-top:34px}.np-sec__title{font-size:25px}
 .np-list .np-card{padding:10px;gap:12px}.np-article{padding:20px 16px;border-radius:14px}
 .np-article__title{font-size:clamp(30px,8vw,42px)}.np-content{font-size:var(--np-fs,18px);line-height:1.75}
 .np-band{padding:34px 0}.np-share{gap:8px}
}
@media(hover:none){.np-card:hover{transform:none;box-shadow:0 5px 22px rgba(16,24,40,.045)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.np-reveal{opacity:1;transform:none}}

.npx-backtop{position:fixed;z-index:999;right:22px;bottom:22px;width:48px;height:48px;border:0;border-radius:50%;background:var(--npx-accent);color:#fff;font-size:25px;font-weight:800;box-shadow:0 10px 30px rgba(0,0,0,.2);opacity:0;visibility:hidden;transform:translateY(12px);transition:all .25s var(--npx-ease);cursor:pointer}
.npx-backtop.is-visible{opacity:1;visibility:visible;transform:none}
.npx-backtop:hover{transform:translateY(-4px);box-shadow:0 15px 35px rgba(0,0,0,.25)}
.npx-reading-toggle{margin:10px 0;padding:9px 15px;border:1px solid var(--npx-line);border-radius:999px;background:var(--npx-surface);color:var(--npx-ink);font-weight:750;cursor:pointer}
.npx-reading-toggle:hover{border-color:var(--npx-accent);color:var(--npx-accent)}
.npx-reading-mode .np-header,.npx-reading-mode .np-topbar,.npx-reading-mode .np-ticker,.npx-reading-mode .np-sidebar,.npx-reading-mode .np-side,.npx-reading-mode .np-footer,.npx-reading-mode .np-progress,.npx-reading-mode .np-related{display:none!important}
.npx-reading-mode .np-single{display:block;max-width:900px}
.npx-reading-mode .np-article{max-width:900px;margin:30px auto}
.npx-reading-mode .np-content{font-size:clamp(19px,2vw,23px);line-height:1.95}
.npx-motion{opacity:0;transform:translateY(18px);transition:opacity .7s var(--npx-ease),transform .7s var(--npx-ease)}
.npx-motion.npx-visible{opacity:1;transform:translateY(0)}
.np-card{transform:perspective(900px) rotateX(var(--npx-tilt-x,0deg)) rotateY(var(--npx-tilt-y,0deg));}
@media(max-width:767px){.npx-backtop{right:14px;bottom:14px;width:44px;height:44px}.npx-reading-mode .np-article{margin:14px auto}}
@media(prefers-reduced-motion:reduce){.npx-motion{opacity:1;transform:none}.np-card{transform:none}}


/* ==========================================================
   NewsPulse X 3.0 — category-first newsroom + contrast system
   ========================================================== */
:root{
  --npx-accent:var(--np-red,#cc0000);
  --npx-accent-2:#ff6b35;
  --npx-nav-height:68px;
}
html{color-scheme:light}
html[data-theme="dark"]{color-scheme:dark}
.np-nav{overflow-x:auto;overflow-y:visible;scrollbar-width:none;overscroll-behavior-x:contain}
.np-nav::-webkit-scrollbar{display:none}
.np-menu--categories{width:max-content;min-width:100%;gap:clamp(1px,.35vw,6px);align-items:center}
.np-menu--categories>li>a{
  display:flex;align-items:center;min-height:44px;padding:10px clamp(8px,.9vw,15px);
  border-radius:10px;font-family:var(--f-body);font-size:clamp(14px,1.05vw,16px);
  font-weight:800;letter-spacing:-.01em;color:var(--ink);transition:background .22s ease,transform .22s ease,color .12s ease;
}
.np-menu--categories>li>a:before{
  content:"";position:absolute;inset:3px;border-radius:8px;
  background:linear-gradient(115deg,color-mix(in srgb,var(--np-red) 11%,transparent),color-mix(in srgb,var(--npx-accent-2) 8%,transparent));
  opacity:0;transform:scale(.94);transition:opacity .25s ease,transform .25s ease;z-index:-1
}
.np-menu--categories>li>a:after{left:15px;right:15px;bottom:3px;height:2px;border-radius:5px}
.np-menu--categories>li:hover>a,.np-menu--categories>li.current-cat>a{color:var(--np-red)}
.np-menu--categories>li:hover>a:before,.np-menu--categories>li.current-cat>a:before{opacity:1;transform:scale(1)}
.np-menu--categories>li:hover>a{transform:translateY(-1px)}
.np-menu--categories>li.current-cat>a{font-weight:900}
.np-menu--categories>li.current-cat>a:after{transform:scaleX(1)}
/* Assamese category labels need a reliable glyph-capable font. */
.np-menu--categories a{font-family:var(--f-body),'Noto Sans Bengali',sans-serif}
.np-drawer__nav{margin-top:10px}
.np-menu--drawer.np-menu--categories{width:100%;min-width:0;display:block}
.np-menu--drawer.np-menu--categories>li>a{
  min-height:50px;padding:13px 12px;border-bottom:1px solid var(--line);border-radius:9px;
  font-size:18px;color:var(--ink)
}
.np-menu--drawer.np-menu--categories>li.current-cat>a{background:color-mix(in srgb,var(--np-red) 10%,var(--card));color:var(--np-red)}
.np-menu--drawer.np-menu--categories>li>a:before{display:none}
.np-menu--drawer.np-menu--categories>li>a:after{display:none}
/* Predictable contrast in both themes: never fade labels or controls. */
html[data-theme="light"],html:not([data-theme]){
  --ink:#151b27;--muted:#596579;--line:#e1e6ee;--bg:#f4f6fa;--card:#fff;--soft:#edf1f6;
}
html[data-theme="dark"]{
  --ink:#f1f5fb;--muted:#b0bdce;--line:#303d50;--bg:#0b1220;--card:#131e2e;--soft:#1c2a3d;
  --npx-ink:#f1f5fb;--npx-muted:#b0bdce;--npx-paper:#0b1220;--npx-surface:#131e2e;
}
html[data-theme="dark"] body{background:#0b1220;color:#f1f5fb}
html[data-theme="dark"] .np-bar,
html[data-theme="dark"] .np-box,
html[data-theme="dark"] .np-live,
html[data-theme="dark"] .np-card,
html[data-theme="dark"] .np-article,
html[data-theme="dark"] .np-author,
html[data-theme="dark"] .np-tabs,
html[data-theme="dark"] .np-searchform,
html[data-theme="dark"] .np-drawer__panel,
html[data-theme="dark"] .post-navigation a,
html[data-theme="dark"] .np-comments__list .comment-body{
  background-color:#131e2e;color:#f1f5fb;border-color:#303d50
}
html[data-theme="dark"] .np-menu--categories>li>a,
html[data-theme="dark"] .np-menu--drawer.np-menu--categories>li>a,
html[data-theme="dark"] .np-iconbtn,
html[data-theme="dark"] .np-searchform input,
html[data-theme="dark"] .np-tabs__nav button,
html[data-theme="dark"] .np-card__title a,
html[data-theme="dark"] .np-article__title,
html[data-theme="dark"] .np-content{color:#f1f5fb}
html[data-theme="dark"] .np-menu--categories>li:hover>a,
html[data-theme="dark"] .np-menu--categories>li.current-cat>a,
html[data-theme="dark"] .np-menu--drawer.np-menu--categories>li.current-cat>a{color:#ff7777}
html[data-theme="dark"] .np-card__ex,
html[data-theme="dark"] .np-meta,
html[data-theme="dark"] .np-content figcaption,
html[data-theme="dark"] .np-search__hint{color:#b0bdce}
html[data-theme="dark"] .np-iconbtn{background:#1c2a3d;border:1px solid #34445b}
html[data-theme="dark"] .np-iconbtn:hover{background:#293b53;color:#fff}
html[data-theme="dark"] .np-theme-toggle{color:#ffd166}
html[data-theme="dark"] .np-content blockquote{background:#1c2a3d;color:#edf3fb;border-color:#ff7777}
html[data-theme="dark"] .np-search{background:rgba(7,13,23,.96)}
html[data-theme="dark"] .np-searchform{border-color:#43536a}
html[data-theme="dark"] .np-searchform input::placeholder{color:#aebbd0}
html[data-theme="dark"] .np-tabs__nav{border-color:#303d50}
html[data-theme="dark"] .np-sec__head{border-color:#303d50}
html[data-theme="dark"] .np-content th,html[data-theme="dark"] .np-content td{border-color:#3a4a60}
html[data-theme="dark"] .np-tags a{border-color:#3a4a60}
html[data-theme="dark"] .np-progress{background:rgba(255,255,255,.05)}
/* Keep typography crisp while allowing only surface changes to animate. */
body,.np-bar,.np-card,.np-box,.np-live,.np-article,.np-iconbtn,.np-searchform,.np-drawer__panel{
  transition-property:background-color,border-color,box-shadow,transform;
  transition-duration:.24s;
  transition-timing-function:cubic-bezier(.22,.8,.22,1)
}
.np-menu a,.np-card__title a,.np-tabs__nav button,.np-iconbtn,.np-theme-toggle{
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility
}
.np-theme-toggle{flex:0 0 auto}
.np-theme-toggle .np-ico{transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.np-theme-toggle:hover .np-ico{transform:rotate(-18deg) scale(1.08)}
@media(max-width:1200px){
  .np-bar__in{gap:12px}
  .np-menu--categories>li>a{padding-inline:9px;font-size:14px}
}
@media(max-width:900px){
  .np-nav{display:none}
  .np-menu--drawer.np-menu--categories>li{animation:none}
  .np-drawer__panel{background:var(--card);color:var(--ink)}
}
@media(max-width:640px){
  .np-drawer__panel{width:min(88vw,390px)}
  .np-menu--drawer.np-menu--categories>li>a{font-size:19px;padding:14px 12px}
}
@media(prefers-reduced-motion:reduce){
  .np-menu--categories>li>a,.np-menu--categories>li>a:before,.np-theme-toggle .np-ico{transition:none}
}
