/* NewsPulse X 6.0 — precision layouts, calm glass, and comfortable touch targets. */
:root { --npu-space-section: clamp(28px, 4vw, 52px); --npu-safe-bottom: env(safe-area-inset-bottom, 0px); }
.np-wrap { width: 100%; max-width: min(var(--npu-wrap-width, var(--wrap, 1320px)), 100%); padding-inline: clamp(14px, 2.35vw, 28px); }
.np-layout > *, .np-hero > *, .np-card__body, .np-brand, .np-nav, .np-sec__head > *, .np-article, .np-sidebar, .np-list > * { min-width: 0; }
.np-layout { grid-template-columns: minmax(0, 1fr) minmax(280px, 330px); gap: clamp(20px, 2.4vw, 34px); }
.np-card--row { grid-template-columns: minmax(190px, 32%) minmax(0, 1fr); align-items: start; gap: clamp(14px, 2vw, 24px); }
.np-card--row .np-card__title, .np-card__title, .np-live__list a { overflow-wrap: anywhere; }
.np-sec__head { flex-wrap: wrap; }
.np-sec__title { min-width: 0; }
.np-rail { overscroll-behavior-inline: contain; -webkit-overflow-scrolling: touch; }
.np-article__head, .np-content h2, .np-content h3, .np-content h4 { scroll-margin-top: 112px; }
.np-content { max-width: 76ch; margin-inline: auto; }
.np-content pre, .np-content table, .np-content .wp-block-table { max-width: 100%; overflow-x: auto; }
.npu-tools { gap: 10px; }
.npu-toc { backdrop-filter: blur(var(--npu-glass-blur, 21px)); -webkit-backdrop-filter: blur(var(--npu-glass-blur, 21px)); }
.npu-fshare { padding: 8px; }
.npu-header-glass .np-drawer__panel { background: color-mix(in srgb, var(--npu-surface) var(--npu-glass-alpha, 76%), transparent) !important; -webkit-backdrop-filter: saturate(170%) blur(var(--npu-glass-blur, 21px)); backdrop-filter: saturate(170%) blur(var(--npu-glass-blur, 21px)); }
.npu-bg-ribbons::before {
  background: linear-gradient(132deg, transparent 0 43%, color-mix(in srgb, var(--npu-a) 3%, transparent) 43.1% 43.5%, transparent 43.6% 100%), linear-gradient(42deg, transparent 0 56%, color-mix(in srgb, var(--npu-b) 3%, transparent) 56.1% 56.5%, transparent 56.6% 100%), radial-gradient(ellipse at 12% 18%, color-mix(in srgb, var(--npu-a) 8%, transparent), transparent 50%), radial-gradient(ellipse at 88% 74%, color-mix(in srgb, var(--npu-b) 8%, transparent), transparent 47%);
  background-size: 170% 150%; animation: npu-ribbon-drift 32s ease-in-out infinite alternate;
}
@keyframes npu-ribbon-drift { from { background-position: 0% 0%; } to { background-position: 100% 85%; } }
::view-transition-old(root), ::view-transition-new(root) { animation-duration: 700ms; }
::view-transition-old(root) { animation: npu-theme-old 180ms ease-out both; }
::view-transition-new(root) { animation: npu-theme-reveal 720ms cubic-bezier(.2,.75,.2,1) both; }
@keyframes npu-theme-old { to { opacity: .94; } }
@keyframes npu-theme-reveal { from { clip-path: circle(0 at var(--np-theme-x, 50vw) var(--np-theme-y, 6vh)); } to { clip-path: circle(155vmax at var(--np-theme-x, 50vw) var(--np-theme-y, 6vh)); } }
html.np-theme-morph body, html.np-theme-morph .np-topbar, html.np-theme-morph .np-bar, html.np-theme-morph .np-ticker, html.np-theme-morph .np-article, html.np-theme-morph .np-card, html.np-theme-morph .np-box, html.np-theme-morph .np-live, html.np-theme-morph .np-author, html.np-theme-morph .np-drawer__panel, html.np-theme-morph .np-sec__head, html.np-theme-morph .np-sec__title, html.np-theme-morph .np-content, html.np-theme-morph .npu-tool, html.np-theme-morph .npu-toc, html.np-theme-morph .npu-panel__box, html.np-theme-morph .np-footer { transition: background-color 620ms ease, color 520ms ease, border-color 520ms ease, box-shadow 520ms ease; }
.np-theme-toggle .np-ico { transform-origin: 50% 50%; }
.np-theme-toggle:active { transform: scale(.88); }
@media (max-width: 1100px) { .np-layout { grid-template-columns: minmax(0, 1fr); } .np-side { position: static; } .np-hero { grid-template-columns: minmax(0, 1fr); } .np-live { max-height: none; } }
@media (min-width: 901px) and (max-width: 1100px) { .np-nav { display: none; } .np-burger { display: inline-grid; } .np-bar__in { gap: 12px; } .np-brand { flex: 1 1 auto; } }
@media (max-width: 900px) { .np-wrap { padding-inline: 18px; } .np-layout { gap: 24px; } .np-hero { margin-top: 18px; } .np-card--row { grid-template-columns: minmax(174px, 34%) minmax(0, 1fr); } .np-card--row .np-card__title { font-size: 23px; } .np-trio, .np-grid3 { grid-template-columns: repeat(2, minmax(0, 1fr)); } .np-ticker__track:focus-within .np-ticker__move { animation-play-state: paused; } }
@media (max-width: 640px) {
 .np-wrap { padding-inline: 15px; } .np-topbar__in { min-height: 38px; } .np-topbar__right { gap: 7px; } .np-topbar__right .np-iconbtn { width: 38px; height: 38px; }
 .np-bar__in { min-height: 64px; gap: 8px; } .np-header.is-stuck .np-bar__in { min-height: 56px; } .np-brand { flex: 1 1 0; }
 .np-brand__text { display: block; max-width: calc(100vw - 160px); overflow: hidden; font-size: 26px; white-space: nowrap; text-overflow: ellipsis; }
 .np-burger, .np-search-open, .npu-list-open { flex: 0 0 42px; width: 42px; height: 42px; }
 .np-ticker__label { gap: 7px; padding-inline: 12px 19px; font-size: 13px; } .np-ticker__set a { padding-block: 10px; margin-right: 22px; font-size: 14px; }
 .np-hero { margin-top: 12px; gap: 12px; } .np-slider { min-height: clamp(360px, 112vw, 470px); } .np-slide__cap { bottom: 72px; padding-inline: 18px; } .np-slider__nav { grid-template-columns: repeat(5, minmax(0, 1fr)); padding-inline: 16px; }
 .np-live { padding: 17px; } .np-sec { margin-block: 32px; } .np-sec__head { align-items: center; gap: 8px; } .np-sec__title { font-size: 24px; } .np-sec__link { white-space: nowrap; }
 .np-list .np-card--row, .np-card--row { grid-template-columns: minmax(102px, 31%) minmax(0, 1fr); align-items: start; gap: 11px; padding-block: 13px; }
 .np-card--row .np-card__media { aspect-ratio: 4 / 3; } .np-card--row .np-card__title { font-size: 18px; line-height: 1.25; }
 .np-card--row .np-card__ex { display: -webkit-box; overflow: hidden; font-size: 14px; line-height: 1.45; -webkit-box-orient: vertical; -webkit-line-clamp: 2; } .np-card--row .np-meta { gap: 4px 8px; font-size: 12px; }
 .np-trio, .np-grid3, .np-follow, .post-navigation .nav-links { grid-template-columns: 1fr; } .np-card--overlay { min-height: 290px; }
 .np-emag { gap: 16px; padding: 23px 19px; } .np-footer__grid { grid-template-columns: minmax(0, 1fr); }
 .np-article { padding: 22px 17px; } .np-article__title { overflow-wrap: anywhere; } .np-content { font-size: var(--np-fs, 18px); line-height: 1.8; }
 .np-content h2 { font-size: 29px; } .np-content h3 { font-size: 24px; } .np-content h4 { font-size: 21px; } .np-content blockquote { padding-inline: 21px; } .np-byline__stats { flex-wrap: wrap; gap: 9px 14px; }
 .npu-tools { gap: 8px; } .npu-tool { min-height: 42px; padding-inline: 12px; } .npu-toc { padding: 15px 16px; }
 .npu-fshare { bottom: calc(12px + var(--npu-safe-bottom)); max-width: calc(100vw - 96px); overflow-x: auto; } .npu-fshare a, .npu-fshare button { flex: 0 0 38px; width: 38px; height: 38px; }
 .single-post .np-totop { right: 14px; bottom: calc(72px + var(--npu-safe-bottom)); } .np-totop { right: 14px; bottom: calc(15px + var(--npu-safe-bottom)); }
 .npu-toast { bottom: calc(14px + var(--npu-safe-bottom)); padding: 11px 16px; } .npu-panel__box { width: min(92vw, 420px); padding: 20px; }
}
@media (max-width: 380px) { .np-brand__text { max-width: calc(100vw - 145px); font-size: 23px; } .np-bar__in { gap: 5px; } .np-ticker__label { font-size: 12px; } .np-card--row { grid-template-columns: minmax(92px, 29%) minmax(0, 1fr); gap: 9px; } .np-card--row .np-card__title { font-size: 17px; } .np-card--row .np-card__ex { display: none; } }
@media (hover: none) { .np-card:hover { transform: none; } .np-menu--categories > li > a:after { transition-duration: 0s; } .npu-rv { filter: none; } }
@media (prefers-reduced-motion: reduce) {
 ::view-transition-old(root), ::view-transition-new(root) { animation: none !important; } .npu-bg-ribbons::before { animation: none !important; } .np-theme-toggle:active { transform: none; }
 .np-ticker { overflow: visible; } .np-ticker__track { overflow: visible; mask-image: none; } .np-ticker__move { width: 100%; animation: none !important; transform: none !important; }
 .np-ticker__set[aria-hidden="true"] { display: none !important; } .np-ticker__set:first-child { width: 100%; display: flex; flex-wrap: wrap; }
 .np-ticker__set:first-child a { white-space: normal; overflow-wrap: anywhere; }
 html.np-theme-morph *, html.np-theme-morph *::before, html.np-theme-morph *::after { transition-duration: .01ms !important; }
}
@media print { .np-ticker__move, .npu-bg-ribbons::before { animation: none !important; }
