/*
 * Nation in Shorts theme styles.
 * Tokens follow SPEC section 8 and the approved design files (Main.dc.html, Desktop.dc.html, Kit.dc.html).
 * Edition tokens switch with body.edition-india / body.edition-world.
 * Category colours arrive per element as --ct (tint) and --ca (accent).
 * Breakpoints: mobile < 768px, desktop chrome >= 768px, full desktop >= 1024px.
 */

/* ---------- Tokens ---------- */
:root {
	--bg: #F7F7F5;
	--card: #FFFFFF;
	--subtle: #F1F1EE;
	--border: #E6E5E1;
	--ph: #E9E8E4;
	--ph-ic: #8A8780;
	--dot: #D4D3CE;
	--text: #1F2937;
	--text-2: #374151;
	--text-3: #4B5563;
	--muted: #5B6472;
	--off: #E5E7EB;
	--accent: #0369A1;
	--tint: #E0F2FE;
	--band: #F0F9FF;
	--r: 12px;
	--r-sm: 10px;
	--r-xs: 8px;
	--r-pill: 999px;
	--font: Inter, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	--head-m: 56px;
	--live-m: 42px;
	--nav-m: 64px;
	--head-d: 64px;
	--live-d: 44px;
	--ct: #F1F1EE;
	--ca: #5B6472;
}
body.edition-india { --accent: #0369A1; --tint: #E0F2FE; --band: #F0F9FF; }
body.edition-world { --accent: #B45309; --tint: #FEF3C7; --band: #FFFBEB; }

/* ---------- Base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-padding-top: calc(var(--head-m) + 8px); }
body {
	margin: 0;
	background: var(--bg);
	color: var(--text);
	font-family: var(--font);
	font-size: 15px;
	line-height: 1.5;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
	padding-bottom: calc(var(--nav-m) + env(safe-area-inset-bottom, 0px));
}
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
button { font: inherit; color: inherit; }
h1, h2, h3, p { margin: 0; }
:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; border-radius: 6px; }
.nis-header :focus-visible, .nis-since :focus-visible, .nis-cdlist :focus-visible, .nis-slaccent:focus-visible { outline-color: #FFFFFF; }
.nis-skip { position: absolute; left: 8px; top: -60px; z-index: 100; background: var(--text); color: #FFFFFF; padding: 10px 14px; border-radius: var(--r); font-weight: 600; }
.nis-skip:focus { top: 8px; }
.nis-sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.nis-main { display: block; min-height: 40vh; outline: none; }
.nis-flex1 { flex: 1; }
.nis-wrap { width: 100%; max-width: 1200px; margin: 0 auto; }
.nis-accent { color: var(--accent); }
.nis-muted { color: var(--muted); }
.nis-text3 { color: var(--text-3); }
.nis-ic { flex: none; display: block; }
.nis-clamp2, .nis-clamp3 { display: -webkit-box; -webkit-box-orient: vertical; overflow: hidden; }
.nis-clamp2 { -webkit-line-clamp: 2; line-clamp: 2; }
.nis-clamp3 { -webkit-line-clamp: 3; line-clamp: 3; }
.nis-ellipsis { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0; }
.nis-pad { padding: 0 16px; }
.nis-mb10 { margin-bottom: 10px !important; }
.nis-fs11 { font-size: 11px !important; }
.nis-kicker { font-size: 12px; font-weight: 700; letter-spacing: 0.06em; color: var(--accent); }
.nis-kicker--muted { color: var(--muted); }
.nis-empty { margin: 0; font-size: 14px; line-height: 1.5; color: var(--muted); }
.nis-note { font-size: 11px; color: var(--muted); }
[hidden] { display: none !important; }

/* Mobile / desktop switches */
.nis-only-d, .nis-only-dflex, .nis-only-dgrid, .nis-only-di { display: none !important; }
.nis-only-mflex { display: flex; }
.nis-only-mi { display: inline; }
@media (min-width: 768px) {
	.nis-only-m, .nis-only-mflex, .nis-only-mi { display: none !important; }
	.nis-only-d { display: block !important; }
	.nis-only-dflex { display: flex !important; }
	.nis-only-dgrid { display: grid !important; }
	.nis-only-di { display: inline !important; }
}

/* ---------- Skeletons ---------- */
.nis-skel { display: flex; flex-direction: column; gap: 10px; padding: 4px 0; }
.nis-skel--pad { padding: 14px 16px; }
.nis-skel--cards { flex-direction: row; padding: 0; }
.nis-skel--cards .nis-skel__row { width: 148px; height: 120px; flex: none; border-radius: var(--r); }
.nis-skel__row { display: block; height: 12px; border-radius: 6px; background: linear-gradient(90deg, var(--subtle), #E9E8E4, var(--subtle)); background-size: 200% 100%; animation: nis-shimmer 1.4s linear infinite; }
.nis-skel__row--big { height: 22px; width: 70%; }
.nis-skel__row--sm { width: 40%; }
.nis-skel__row--inv { width: 160px; height: 26px; background: rgba(255,255,255,0.22); animation: none; }
.nis-skel--rows .nis-skel__row { height: 60px; border-radius: var(--r); }
@keyframes nis-shimmer { from { background-position: 200% 0; } to { background-position: -200% 0; } }

/* ---------- Header ---------- */
.nis-header { position: sticky; top: 0; z-index: 50; background: var(--accent); color: #FFFFFF; transition: background 300ms ease; }
.nis-header__m { height: var(--head-m); display: flex; align-items: center; gap: 8px; padding: 0 10px 0 12px; }
.nis-header__d { display: none; height: var(--head-d); }
.nis-header__title { font-size: 15px; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; }
.nis-iconbtn { width: 40px; height: 40px; flex: none; display: flex; align-items: center; justify-content: center; border: 0; background: none; color: #FFFFFF; cursor: pointer; padding: 0; border-radius: var(--r); }
.nis-logo { display: inline-block; line-height: 1.15; padding-left: 4px; font-size: 17px; font-weight: 700; letter-spacing: -0.01em; white-space: nowrap; color: #FFFFFF; }
.nis-logo span { font-weight: 500; color: rgba(255,255,255,0.85); }
.nis-feedpick { height: 36px; display: flex; align-items: center; gap: 4px; border: 0; background: none; padding: 0 4px; font-size: 17px; font-weight: 700; color: #FFFFFF; cursor: pointer; }
.nis-toggle { display: flex; flex: none; padding: 3px; gap: 2px; border-radius: var(--r-pill); background: rgba(255,255,255,0.14); border: 1px solid rgba(255,255,255,0.24); }
.nis-toggle__seg { height: 30px; padding: 0 13px; border-radius: var(--r-pill); display: flex; align-items: center; font-size: 13px; font-weight: 600; color: #FFFFFF; background: transparent; transition: background 200ms ease, color 200ms ease; }
.nis-toggle__seg[aria-current="true"] { background: #FFFFFF; color: var(--accent); }
.nis-toggle--d .nis-toggle__seg { height: 32px; padding: 0 16px; font-size: 14px; }
.nis-header__drow { height: 100%; display: flex; align-items: center; gap: 28px; padding: 0 16px; }
.nis-logo--d { font-size: 21px; padding-left: 0; }
.nis-dnav { display: flex; gap: 2px; height: 100%; }
.nis-dnav a { height: 100%; display: flex; align-items: center; padding: 0 14px; border-top: 3px solid transparent; border-bottom: 3px solid transparent; font-size: 15px; font-weight: 600; color: rgba(255,255,255,0.8); }
.nis-dnav a[aria-current="page"] { color: #FFFFFF; border-bottom-color: #FFFFFF; }
.nis-dnav a:hover { color: #FFFFFF; }
.nis-dsearch { width: 300px; height: 40px; display: flex; align-items: center; gap: 10px; padding: 0 14px; border-radius: var(--r); border: 1px solid rgba(255,255,255,0.24); background: rgba(255,255,255,0.14); color: rgba(255,255,255,0.9); }
.nis-dsearch input { flex: 1; min-width: 0; border: 0; outline: none; background: none; font: inherit; font-size: 14px; color: #FFFFFF; }
.nis-dsearch input::placeholder { color: rgba(255,255,255,0.9); }
.nis-dsearch:focus-within { border-color: #FFFFFF; }
@media (min-width: 768px) {
	html { scroll-padding-top: calc(var(--head-d) + 8px); }
	body { padding-bottom: 0; }
	.nis-header__m { display: none; }
	.nis-header__d { display: block; }
}
@media (min-width: 768px) and (max-width: 1023px) {
	.nis-header__drow { gap: 16px; }
	.nis-dsearch { width: 200px; }
	.nis-dnav a { padding: 0 8px; }
}

/* ---------- LIVE marquee ---------- */
.nis-live { height: var(--live-m); display: flex; align-items: center; gap: 10px; padding-left: 16px; background: #FFFFFF; border-bottom: 1px solid var(--border); overflow: hidden; }
.nis-live.is-empty { display: none; }
.nis-live__badge { flex: none; display: flex; align-items: center; gap: 5px; height: 22px; padding: 0 8px; border-radius: 6px; background: var(--accent); color: #FFFFFF; font-size: 11px; font-weight: 700; letter-spacing: 0.06em; }
.nis-live__dot { width: 6px; height: 6px; border-radius: 50%; background: #FFFFFF; }
.nis-live__view { flex: 1; min-width: 0; height: 100%; overflow: hidden; display: flex; align-items: center; }
.nis-live__track { display: flex; width: max-content; animation: nis-marquee 40s linear infinite; }
.nis-live:hover .nis-live__track, .nis-live:focus-within .nis-live__track { animation-play-state: paused; }
.nis-live__set { display: flex; align-items: center; flex: none; }
.nis-live__item { flex: none; display: flex; align-items: center; gap: 10px; height: var(--live-m); padding: 0 18px 0 0; font-size: 13px; font-weight: 600; color: var(--text); white-space: nowrap; }
.nis-live__item:hover { color: var(--accent); }
.nis-live__idot { width: 6px; height: 6px; border-radius: 50%; background: var(--accent); flex: none; }
@keyframes nis-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media (min-width: 768px) {
	.nis-live { height: var(--live-d); gap: 14px; padding-left: 120px; }
	.nis-live__badge { height: 24px; padding: 0 9px; }
	.nis-live__item { height: var(--live-d); gap: 12px; padding-right: 28px; font-size: 14px; }
	.nis-live__idot { width: 7px; height: 7px; }
}
@media (min-width: 768px) and (max-width: 1023px) { .nis-live { padding-left: 16px; } }

/* ---------- Buttons ---------- */
.nis-btn { height: 44px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 0 18px; border: 0; border-radius: var(--r); background: var(--accent); color: #FFFFFF; font-size: 15px; font-weight: 600; cursor: pointer; text-align: center; }
.nis-btn:disabled { background: var(--off); color: var(--text-3); cursor: not-allowed; }
.nis-btn--block { display: flex; width: 100%; }
.nis-btn--h40 { height: 40px; padding: 0 14px; font-size: 14px; gap: 6px; }
.nis-btn2 { height: 44px; display: inline-flex; align-items: center; justify-content: center; gap: 6px; padding: 0 14px; border-radius: var(--r); border: 1px solid var(--border); background: #FFFFFF; color: var(--text); font-size: 14px; font-weight: 600; cursor: pointer; }
.nis-btn2--accent { border-color: var(--accent); color: var(--accent); }
.nis-btn2--accenttext { color: var(--accent); }
.nis-btn2--sm { height: 38px; font-size: 13px; }
.nis-btn2--sm2 { height: 34px; padding: 0 12px; font-size: 13px; }
.nis-btn2--h40 { height: 40px; }
.nis-btn2--flex { flex: 1; }
.nis-btn2--block { display: flex; width: 100%; background: none; }
.nis-btn2[aria-pressed="true"][data-nis-like] { color: var(--accent); }
.nis-btn2[aria-pressed="true"][data-nis-like] svg, .nis-circle[aria-pressed="true"] svg { fill: var(--accent); }

/* Follow: edition accent by default; inside a category it uses the category colour */
.nis-follow { height: 44px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 0 16px; border-radius: var(--r); border: 1px solid var(--accent); background: var(--accent); color: #FFFFFF; font-size: 14px; font-weight: 600; cursor: pointer; white-space: nowrap; flex: none; }
.nis-follow[aria-pressed="true"] { background: var(--tint); color: var(--accent); border-color: var(--accent); }
.nis-follow__ic { display: flex; }
.nis-follow__ic--on, .nis-follow[aria-pressed="true"] .nis-follow__ic--off { display: none; }
.nis-follow[aria-pressed="true"] .nis-follow__ic--on { display: flex; }
.nis-follow--sm { height: 34px; padding: 0 12px; font-size: 13px; }
.nis-follow--lg { height: 44px; }
.nis-follow--cat { border-color: var(--ca); background: var(--ca); color: #FFFFFF; }
.nis-follow--cat[aria-pressed="true"] { background: #FFFFFF; color: var(--ca); border-color: var(--ca); }

/* ---------- Media and labels ---------- */
.nis-media { position: relative; display: flex; align-items: center; justify-content: center; overflow: hidden; background: var(--ph); color: var(--ph-ic); }
.nis-media--cat { background: var(--ct); color: var(--ca); }
.nis-media--cat .nis-media__ic { opacity: 0.45; }
.nis-media.has-img { background: var(--ph); }
.nis-media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.nis-media__credit { position: absolute; bottom: 8px; left: 12px; right: 12px; font-size: 11px; color: #FFFFFF; text-shadow: 0 1px 2px rgba(0,0,0,0.6); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.nis-catline { display: block; height: 3px; flex: none; background: var(--ca); }
.nis-pill { align-self: flex-start; display: inline-block; background: var(--ct); color: var(--ca); font-size: 12px; font-weight: 600; line-height: 1.5; padding: 3px 10px; border-radius: var(--r); }
.nis-dotchip { position: absolute; top: 12px; left: 12px; z-index: 1; display: flex; align-items: center; gap: 6px; background: #FFFFFF; border-radius: var(--r-pill); padding: 4px 10px; font-size: 12px; font-weight: 600; line-height: 1.5; color: var(--text); }
.nis-dotchip__dot { width: 8px; height: 8px; border-radius: 50%; background: var(--accent); }
.nis-rank { position: absolute; top: 8px; left: 8px; z-index: 1; min-width: 28px; height: 24px; padding: 0 7px; border-radius: var(--r-xs); background: var(--accent); color: #FFFFFF; font-size: 12px; font-weight: 700; display: flex; align-items: center; justify-content: center; }
.nis-rank--tr { left: auto; right: 12px; top: 12px; min-width: 30px; height: 26px; padding: 0 8px; font-size: 13px; }
.nis-tag { position: absolute; top: 8px; left: 8px; z-index: 1; height: 22px; padding: 0 8px; border-radius: 6px; background: #FFFFFF; font-size: 11px; font-weight: 700; color: var(--text); display: flex; align-items: center; }
.nis-badge { font-size: 11px; font-weight: 700; color: var(--text-3); background: var(--subtle); padding: 2px 8px; border-radius: var(--r); white-space: nowrap; }
.nis-badge.is-new { color: #FFFFFF; background: var(--accent); }
.nis-badge--tint { color: var(--accent); background: var(--tint); padding: 3px 8px; }
.nis-score { flex: none; min-width: 26px; height: 24px; padding: 0 6px; border-radius: var(--r-xs); border: 1px solid var(--border); font-size: 12px; font-weight: 700; color: var(--text-2); display: flex; align-items: center; justify-content: center; }
.nis-chip { height: 34px; display: inline-flex; align-items: center; gap: 6px; padding: 0 12px; border-radius: var(--r); border: 1px solid var(--border); background: #FFFFFF; font-size: 13px; font-weight: 600; color: var(--text); white-space: nowrap; flex: none; }
.nis-chip--subtle { height: 30px; padding: 0 10px; background: var(--subtle); font-size: 12px; }
.nis-chip--36 { height: 36px; }
.nis-chip__n { font-weight: 500; color: var(--muted); }
a.nis-chip:hover { border-color: var(--accent); }
.nis-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.nis-fchip { height: 34px; flex: none; padding: 0 12px; border-radius: var(--r); border: 1px solid var(--border); background: #FFFFFF; color: var(--text); font-size: 13px; font-weight: 600; cursor: pointer; white-space: nowrap; }
.nis-fchip.is-on, .nis-fchip[aria-pressed="true"] { background: var(--tint); color: var(--accent); border-color: var(--tint); }
.nis-cities .nis-fchip { padding: 0 14px; }
.nis-cities .nis-fchip.is-on, .nis-cities .nis-fchip[aria-pressed="true"] { background: var(--accent); border-color: var(--accent); color: #FFFFFF; }
.nis-hscroll { display: flex; gap: 10px; overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
.nis-hscroll::-webkit-scrollbar { display: none; }
.nis-hscroll--pad { padding: 0 16px; scroll-padding: 0 16px; }
.nis-hscroll--bleed { margin: 0 -16px; padding: 0 16px; gap: 8px; }
.nis-cities { gap: 8px; }
.nis-tile { width: 36px; height: 36px; flex: none; border-radius: var(--r-sm); background: var(--accent); color: #FFFFFF; display: flex; align-items: center; justify-content: center; }
.nis-avatar { width: 38px; height: 38px; flex: none; border-radius: 50%; background: var(--tint); color: var(--accent); font-size: 13px; font-weight: 700; display: flex; align-items: center; justify-content: center; overflow: hidden; }
.nis-avatar--34 { width: 34px; height: 34px; font-size: 12px; }
.nis-avatar--sq { width: 40px; height: 40px; border-radius: var(--r-sm); }
.nis-avatar img { width: 100%; height: 100%; object-fit: cover; }

/* ---------- Sections ---------- */
.nis-sec { padding: 22px 16px; display: flex; flex-direction: column; gap: 12px; }
.nis-sec--flush { padding-left: 0; padding-right: 0; }
.nis-sec--since { padding: 12px 16px 20px; }
.nis-sec--stack { gap: 16px; }
.nis-sec--nobottom { padding-bottom: 0; }
.nis-sec--top0 { padding-top: 0; padding-bottom: 24px; }
.nis-band { background: var(--band); padding: 20px 16px; display: flex; flex-direction: column; gap: 10px; }
.nis-band--flush { padding-left: 0; padding-right: 0; gap: 12px; }
.nis-band--quiz { margin-bottom: 22px; }
.nis-shead { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.nis-shead--tile { align-items: center; justify-content: flex-start; gap: 10px; }
.nis-shead--center { align-items: center; }
.nis-shead__stack { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.nis-shead--tile .nis-shead__stack { gap: 0; }
.nis-shead__t { margin: 0; font-size: 18px; font-weight: 700; line-height: 1.3; display: flex; align-items: center; gap: 6px; }
.nis-shead__t--ent { font-size: 16px; }
.nis-shead__sub { font-size: 13px; color: var(--text-3); }
.nis-shead--tile .nis-shead__sub { font-size: 12px; }
.nis-shead__meta { font-size: 12px; color: var(--muted); white-space: nowrap; }
.nis-band .nis-shead__meta { color: var(--text-3); }
.nis-livemark { display: flex; align-items: center; gap: 6px; font-size: 12px; font-weight: 600; color: var(--accent); white-space: nowrap; }
.nis-livemark__dot { width: 7px; height: 7px; border-radius: 50%; background: var(--accent); }
.nis-list { display: flex; flex-direction: column; border-radius: var(--r); background: #FFFFFF; border: 1px solid var(--border); overflow: hidden; }
.nis-grid2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.nis-grid2--8 { gap: 8px; }
.nis-card { border-radius: var(--r); background: #FFFFFF; border: 1px solid var(--border); padding: 16px; display: flex; flex-direction: column; gap: 4px; }
.nis-card__t { margin: 0; font-size: 17px; font-weight: 700; }
.nis-card__sub { font-size: 12px; color: var(--muted); margin-bottom: 4px; }

/* ---------- Hero carousel (mobile) ---------- */
.nis-hero { padding: 16px 0 6px; display: flex; flex-direction: column; gap: 10px; }
.nis-hero__track { display: flex; gap: 10px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding: 0 16px; scroll-padding: 0 16px; }
.nis-hero__track::-webkit-scrollbar { display: none; }
.nis-dots { display: flex; justify-content: center; gap: 6px; padding-top: 2px; }
.nis-dots__d { width: 6px; height: 6px; border-radius: 3px; background: var(--dot); transition: width 200ms ease, background 200ms ease; }
.nis-dots__d.is-on { width: 18px; background: var(--accent); }

/* Story card (hero / marquee) */
.nis-scard { flex: none; display: flex; flex-direction: column; border-radius: var(--r); overflow: hidden; border: 1px solid var(--border); background: #FFFFFF; color: var(--text); }
.nis-scard--hero { width: 330px; max-width: calc(100vw - 60px); scroll-snap-align: start; }
.nis-scard--hero .nis-scard__media { height: 168px; }
.nis-scard__body { padding: 12px 14px 14px; display: flex; flex-direction: column; gap: 8px; }
.nis-scard__h { font-size: 19px; line-height: 1.3; font-weight: 700; }
.nis-scard__sf { font-size: 13px; line-height: 1.45; color: var(--text-3); }
.nis-scard--marquee { width: 340px; }
.nis-scard--marquee .nis-scard__media { height: 160px; }
.nis-scard--marquee .nis-scard__body { padding: 12px 16px 16px; }
.nis-scard--marquee .nis-scard__h { font-size: 18px; line-height: 1.35; }
.nis-scard:hover .nis-scard__h { color: var(--accent); }

/* ---------- Since your last visit ---------- */
.nis-since { border-radius: var(--r); background: var(--accent); color: #FFFFFF; padding: 16px; display: flex; flex-direction: column; gap: 12px; }
.nis-since__top { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.nis-since__stack { display: flex; flex-direction: column; gap: 2px; }
.nis-since__k { font-size: 12px; font-weight: 600; letter-spacing: 0.04em; color: rgba(255,255,255,0.85); }
.nis-since__count { font-size: 24px; font-weight: 700; line-height: 1.2; }
.nis-since__imp { font-size: 13px; color: rgba(255,255,255,0.9); }
.nis-since__bell { flex: none; width: 44px; height: 44px; border-radius: 50%; background: rgba(255,255,255,0.16); display: flex; align-items: center; justify-content: center; }
.nis-since__chips { display: flex; gap: 6px; flex-wrap: wrap; }
.nis-since__chips:empty { display: none; }
.nis-since__chip { height: 30px; display: flex; align-items: center; gap: 6px; padding: 0 10px; border-radius: var(--r); border: 1px solid rgba(255,255,255,0.3); background: rgba(255,255,255,0.12); color: #FFFFFF; font-size: 12px; font-weight: 600; }
.nis-since__chip b { font-weight: 700; }
.nis-since__cta { width: 100%; height: 46px; display: flex; align-items: center; justify-content: center; gap: 8px; border-radius: var(--r); background: #FFFFFF; color: var(--accent); font-size: 15px; font-weight: 700; }
.nis-streak { display: flex; flex-direction: column; gap: 6px; }
.nis-streak__row { display: flex; justify-content: space-between; gap: 8px; font-size: 12px; color: rgba(255,255,255,0.92); }
.nis-streak__bar { height: 6px; border-radius: 3px; background: rgba(255,255,255,0.22); overflow: hidden; }
.nis-streak__fill { height: 100%; border-radius: 3px; background: #FFFFFF; transition: width 300ms ease; }
.nis-since--d { padding: 20px; gap: 14px; }
.nis-since--d .nis-since__bell { display: none; }
.nis-since--d .nis-since__count { font-size: 28px; line-height: 1.15; }
.nis-since--d .nis-since__stack { gap: 14px; }
.nis-since--d .nis-since__imp { font-size: 14px; margin-top: -6px; }

/* ---------- Today at a glance ---------- */
.nis-sec--glance { gap: 0; }
.nis-glance { display: flex; flex-direction: column; gap: 12px; }
.nis-glance__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.nis-gtile { padding: 10px 12px; border-radius: var(--r); background: #FFFFFF; border: 1px solid var(--border); display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.nis-gtile.is-skel { gap: 8px; min-height: 84px; }
.nis-gtile__k { font-size: 12px; font-weight: 600; color: var(--text-3); }
.nis-gtile__k span { font-weight: 500; color: var(--muted); }
.nis-gtile__v { font-size: 18px; font-weight: 700; letter-spacing: -0.01em; overflow-wrap: anywhere; }
.nis-gtile__u { font-size: 11px; color: var(--text-3); }
.nis-chg { align-self: flex-start; font-size: 11px; font-weight: 700; padding: 2px 7px; border-radius: 6px; color: var(--accent); background: var(--tint); }
.nis-chg.is-flat { color: var(--text-3); background: var(--subtle); }
.nis-glance__more { width: 100%; height: 40px; font-size: 13px; color: var(--accent); }
.nis-glance--d { border-radius: var(--r); background: #FFFFFF; border: 1px solid var(--border); padding: 20px 22px; gap: 14px; }
.nis-glance--d .nis-shead { align-items: center; gap: 16px; }
.nis-glance--d .nis-shead__t { font-size: 22px; }
.nis-glance--d .nis-shead__sub { color: var(--muted); }
.nis-glance--d .nis-glance__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.nis-glance--d .nis-gtile { padding: 14px; background: var(--band); border: 0; gap: 3px; }
.nis-glance--d .nis-gtile__k { font-size: 13px; color: var(--text-2); }
.nis-glance--d .nis-gtile__v { font-size: 22px; }
.nis-glance--d .nis-chg { margin-top: 8px; font-size: 12px; padding: 3px 8px; }
.nis-cities--d { display: flex; gap: 6px; flex-wrap: wrap; justify-content: flex-end; }

/* ---------- Coming up ---------- */
.nis-cdwrap { padding-top: 0; gap: 12px; }
.nis-cdcard { width: 152px; flex: none; padding: 14px; border-radius: var(--r); background: #FFFFFF; border: 1px solid var(--border); color: var(--text); display: flex; flex-direction: column; gap: 2px; }
.nis-cdcard.is-skel { gap: 8px; min-height: 140px; }
.nis-cdcard__n { font-size: 34px; font-weight: 700; line-height: 1.05; color: var(--accent); }
.nis-cdcard__s { font-size: 12px; font-weight: 600; color: var(--muted); }
.nis-cdcard__t { font-size: 14px; font-weight: 700; line-height: 1.3; margin-top: 8px; }
.nis-cdcard__d { font-size: 12px; line-height: 1.4; color: var(--muted); }
.nis-cdcard.is-first { background: var(--accent); border-color: var(--accent); color: #FFFFFF; }
.nis-cdcard.is-first .nis-cdcard__n { color: #FFFFFF; }
.nis-cdcard.is-first .nis-cdcard__s, .nis-cdcard.is-first .nis-cdcard__d { color: rgba(255,255,255,0.85); }
.nis-cdlist { border-radius: var(--r); background: var(--accent); color: #FFFFFF; padding: 18px; display: flex; flex-direction: column; gap: 4px; }
.nis-cdlist__t { margin: 0; font-size: 18px; font-weight: 700; }
.nis-cdlist__sub { font-size: 12px; color: rgba(255,255,255,0.85); margin-bottom: 6px; }
.nis-cdrow { display: flex; align-items: center; gap: 14px; padding: 7px 0; border-bottom: 1px solid rgba(255,255,255,0.18); }
.nis-cdrow:last-child { border-bottom: 0; }
.nis-cdrow__n { width: 54px; flex: none; display: flex; flex-direction: column; align-items: center; padding: 6px 0; border-radius: var(--r-sm); background: rgba(255,255,255,0.14); min-height: 44px; }
.nis-cdrow__n b { font-size: 20px; line-height: 1.1; }
.nis-cdrow__n span { font-size: 9px; font-weight: 700; letter-spacing: 0.06em; }
.nis-cdrow__txt { display: flex; flex-direction: column; min-width: 0; }
.nis-cdrow__t { font-size: 14px; font-weight: 700; line-height: 1.3; }
.nis-cdrow__d { font-size: 12px; color: rgba(255,255,255,0.85); }
.nis-cdrow.is-skel .nis-skel__row { flex: 1; background: rgba(255,255,255,0.18); animation: none; }

/* ---------- Air and weather ---------- */
.nis-air--m { padding: 20px 0; }
.nis-aqcard { width: 148px; flex: none; padding: 12px; border-radius: var(--r); background: #FFFFFF; border: 1px solid var(--border); display: flex; flex-direction: column; gap: 4px; }
.nis-aqcard__n { font-size: 13px; font-weight: 600; }
.nis-aqcard__big { font-size: 26px; font-weight: 700; line-height: 1.1; }
.nis-aqcard__label { font-size: 12px; font-weight: 600; color: var(--text-2); }
.nis-bar { display: block; height: 6px; border-radius: 3px; background: var(--subtle); overflow: hidden; }
.nis-bar__fill { display: block; height: 100%; border-radius: 3px; background: var(--accent); }
.nis-aqcard__sub { font-size: 11px; color: var(--muted); }
.nis-air--d { padding: 18px; }
.nis-air--d .nis-card__t { font-size: 18px; }
.nis-air--d .nis-card__sub { color: var(--text-3); margin-bottom: 6px; }
.nis-aqrow { display: flex; align-items: center; gap: 12px; padding: 8px 0; border-bottom: 1px solid var(--border); }
.nis-aqrow:last-child { border-bottom: 0; }
.nis-aqrow__n { width: 84px; flex: none; font-size: 14px; font-weight: 600; }
.nis-aqrow__mid { flex: 1; display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.nis-aqrow__sub { font-size: 11px; color: var(--muted); }
.nis-aqrow__big { width: 56px; text-align: right; font-size: 18px; font-weight: 700; }

/* ---------- Storylines ---------- */
.nis-slcard { width: 240px; flex: none; display: flex; flex-direction: column; gap: 8px; padding: 14px; border-radius: var(--r); border: 1px solid var(--border); background: #FFFFFF; color: var(--text); }
.nis-slcard__top { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.nis-slcard__k { display: flex; align-items: center; gap: 6px; color: var(--accent); font-size: 12px; font-weight: 700; }
.nis-slcard__t { font-size: 17px; font-weight: 700; line-height: 1.3; }
.nis-slcard__l { display: flex; gap: 8px; align-items: flex-start; font-size: 13px; line-height: 1.45; color: var(--text-2); }
.nis-slcard__dot { width: 8px; height: 8px; flex: none; margin-top: 5px; border-radius: 50%; background: var(--accent); }
.nis-slcard__m { font-size: 12px; color: var(--muted); margin-top: auto; }
.nis-slcard:hover { border-color: var(--accent); }
.nis-slrow { width: 100%; display: flex; align-items: center; gap: 12px; padding: 12px 14px; border-radius: var(--r); border: 1px solid var(--border); background: #FFFFFF; color: var(--text); }
.nis-slrow__tile { width: 36px; height: 36px; flex: none; border-radius: var(--r-sm); background: var(--tint); color: var(--accent); display: flex; align-items: center; justify-content: center; }
.nis-slrow__txt { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.nis-slrow__k { font-size: 12px; color: var(--muted); }
.nis-slrow__t { font-size: 15px; font-weight: 700; }
.nis-slrow__m { font-size: 12px; color: var(--muted); }
.nis-slaccent { display: flex; flex-direction: column; gap: 8px; padding: 18px; border-radius: var(--r); background: var(--accent); color: #FFFFFF; }
.nis-slaccent__k { display: flex; align-items: center; gap: 6px; font-size: 12px; font-weight: 700; color: rgba(255,255,255,0.9); }
.nis-slaccent__t { font-size: 20px; font-weight: 700; }
.nis-slaccent__m { font-size: 13px; color: rgba(255,255,255,0.9); }
.nis-slstrip { height: 32px; width: 100%; display: flex; align-items: center; gap: 6px; padding: 0 10px; border-radius: var(--r); background: var(--tint); color: var(--accent); font-size: 12px; white-space: nowrap; overflow: hidden; }

/* ---------- Mini cards ---------- */
.nis-mcard { flex: none; display: flex; flex-direction: column; border-radius: var(--r); overflow: hidden; border: 1px solid var(--border); background: #FFFFFF; color: var(--text); }
.nis-mcard--top10 { width: 168px; }
.nis-mcard--top10 .nis-mcard__media { height: 96px; }
.nis-mcard--missed { width: 220px; }
.nis-mcard--missed .nis-mcard__media { height: 110px; }
.nis-mcard--grid .nis-mcard__media { height: 150px; }
.nis-mcard__body { padding: 10px 12px 12px; display: flex; flex-direction: column; gap: 6px; flex: 1; }
.nis-mcard__cat { font-size: 11px; font-weight: 700; letter-spacing: 0.04em; color: var(--muted); }
.nis-mcard__h { font-size: 14px; line-height: 1.4; font-weight: 600; }
.nis-mcard__m { font-size: 12px; color: var(--muted); }
.nis-mcard__m--end { margin-top: auto; }
.nis-mcard:hover .nis-mcard__h { color: var(--accent); }
.nis-seeall { width: 120px; flex: none; border-radius: var(--r); border: 1px dashed var(--accent); font-size: 14px; font-weight: 600; color: var(--accent); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; text-align: center; padding: 8px; }

/* ---------- List rows ---------- */
.nis-row { display: flex; align-items: center; gap: 12px; padding: 12px 14px; border-bottom: 1px solid var(--border); color: var(--text); text-align: left; }
.nis-list > .nis-row:last-child, .nis-row:last-child { border-bottom: 0; }
.nis-row__txt { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.nis-row__h { font-size: 14px; line-height: 1.4; font-weight: 600; }
.nis-row__m { font-size: 12px; color: var(--muted); }
.nis-row__thumb { width: 52px; height: 52px; flex: none; border-radius: var(--r-sm); }
.nis-row__n { width: 28px; flex: none; font-size: 22px; font-weight: 700; color: var(--accent); }
.nis-row__m--rank { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; color: var(--text-3); }
.nis-row__m--rank b { color: var(--text); }
a.nis-row:hover .nis-row__h, a.nis-row:hover .nis-row__bt { color: var(--accent); }
.nis-row--spot { padding: 12px 16px; }
.nis-row--spot .nis-row__thumb { width: 56px; height: 56px; }
.nis-row--plain { flex-direction: column; align-items: stretch; gap: 4px; padding: 12px 0; }
.nis-row--plain .nis-row__h { font-size: 15px; }
.nis-row--brief { padding: 0; border: 0; gap: 10px; align-items: flex-start; }
.nis-row__bn { width: 20px; flex: none; font-size: 13px; font-weight: 700; color: var(--accent); }
.nis-row__bt { font-size: 14px; line-height: 1.45; }
.nis-row--catthumb, .nis-row--line { padding: 12px 0; }
.nis-row--catthumb .nis-row__thumb { width: 64px; height: 64px; border-radius: var(--r); background: var(--ct); color: var(--ca); border-bottom: 3px solid var(--ca); }
.nis-row--catthumb .nis-row__thumb .nis-media__ic { opacity: 0.6; }
.nis-row--catthumb .nis-row__h { font-size: 15px; }
.nis-row--related { padding: 10px 0; }
.nis-row--related .nis-row__thumb { width: 72px; height: 56px; border-radius: var(--r-xs); }
.nis-row--related .nis-row__thumb .nis-media__ic { display: none; }
.nis-row--boxed { padding: 10px; border-radius: var(--r-sm); background: #FFFFFF; border: 1px solid var(--border) !important; }
.nis-row--boxed .nis-row__thumb { border-radius: var(--r-xs); }
.nis-row--boxed .nis-row__txt { gap: 3px; }
.nis-row--boxed .nis-row__h { line-height: 1.35; }
.nis-row--mini { padding: 8px 0; gap: 10px; align-items: flex-start; }
.nis-row__n--18 { width: 20px; font-size: 18px; }

/* ---------- Category spotlight ---------- */
.nis-spot { border-radius: var(--r); overflow: hidden; border: 1px solid var(--border); background: #FFFFFF; }
.nis-spot__head { background: var(--ct); padding: 14px 14px 14px 16px; display: flex; align-items: center; gap: 12px; }
.nis-spot__tile { width: 40px; height: 40px; flex: none; border-radius: var(--r); background: var(--ca); color: #FFFFFF; display: flex; align-items: center; justify-content: center; }
.nis-spot__ttl { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.nis-spot__name { margin: 0; font-size: 17px; font-weight: 700; color: var(--ca); }
.nis-spot__sub { font-size: 12px; color: var(--text-2); }
.nis-spot__see { height: 36px; display: flex; align-items: center; padding: 0 4px; font-size: 14px; font-weight: 600; color: var(--ca); }
.nis-spot__strip { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-bottom: 1px solid var(--border); }
.nis-spot__cell { padding: 10px 12px; display: flex; flex-direction: column; gap: 2px; border-right: 1px solid var(--border); min-width: 0; }
.nis-spot__cell:last-child { border-right: 0; }
.nis-spot__ck { font-size: 11px; color: var(--muted); }
.nis-spot__cv { font-size: 14px; font-weight: 700; }
.nis-spot__cc { font-size: 11px; font-weight: 600; color: var(--ca); }
.nis-spot__lead { display: flex; flex-direction: column; gap: 10px; padding: 14px 16px; border-bottom: 1px solid var(--border); color: var(--text); }
.nis-spot__img { height: 160px; border-radius: var(--r-sm); }
.nis-spot__lh { font-size: 18px; line-height: 1.35; font-weight: 700; }
.nis-spot__lm { font-size: 12px; color: var(--muted); }
.nis-spot__lead:hover .nis-spot__lh, .nis-spot__ritem:hover .nis-spot__rh { color: var(--ca); }
.nis-spot__rest { display: flex; flex-direction: column; }
.nis-spot--m .nis-spot__rest .nis-row { border-bottom: 1px solid var(--border) !important; }
.nis-spot__more { width: 100%; height: 46px; display: flex; align-items: center; justify-content: center; gap: 6px; font-size: 14px; font-weight: 600; color: var(--ca); }
.nis-spot--d .nis-spot__head { padding: 16px 20px; gap: 14px; }
.nis-spot--d .nis-spot__tile { width: 44px; height: 44px; }
.nis-spot--d .nis-spot__name { font-size: 20px; }
.nis-spot--d .nis-spot__sub { font-size: 13px; }
.nis-spot--d .nis-follow--sm { height: 36px; padding: 0 14px; }
.nis-spot--d .nis-spot__strip { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.nis-spot--d .nis-spot__cell { padding: 12px 20px; }
.nis-spot--d .nis-spot__ck, .nis-spot--d .nis-spot__cc { font-size: 12px; }
.nis-spot--d .nis-spot__cv { font-size: 17px; }
.nis-spot--d .nis-spot__body { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); }
.nis-spot--d .nis-spot__lead { gap: 12px; padding: 20px; border-bottom: 0; border-right: 1px solid var(--border); }
.nis-spot--d .nis-spot__img { height: 200px; }
.nis-spot--d .nis-spot__lh { font-size: 21px; line-height: 1.3; }
.nis-spot--d .nis-spot__lead .nis-spot__lm { font-size: 13px; }
.nis-spot__ritem { flex: 1; display: flex; flex-direction: column; gap: 10px; padding: 20px; border-bottom: 1px solid var(--border); color: var(--text); }
.nis-spot__ritem:last-child { border-bottom: 0; }
.nis-spot__rimg { height: 90px; border-radius: var(--r-sm); }
.nis-spot__rh { font-size: 15px; line-height: 1.4; font-weight: 600; }

/* ---------- Brief ---------- */
.nis-brief { background: var(--band); padding: 20px 16px; display: flex; flex-direction: column; gap: 12px; }
.nis-brief__box { display: flex; flex-direction: column; gap: 10px; padding: 14px 16px; border-radius: var(--r); background: #FFFFFF; border: 1px solid var(--border); }
.nis-brief__wa { width: 100%; }
.nis-brief--d { background: #FFFFFF; border: 1px solid var(--border); border-radius: var(--r); padding: 18px; }
.nis-brief--d .nis-brief__box { padding: 0; border: 0; }
.nis-brief--d .nis-row__bn { width: 18px; }
.nis-brief--d .nis-brief__wa { height: 42px; }

/* ---------- Entities ---------- */
.nis-ent { display: flex; align-items: center; gap: 10px; color: var(--text); text-align: left; min-width: 0; }
.nis-ent__txt { display: flex; flex-direction: column; min-width: 0; }
.nis-ent__n { font-size: 13px; font-weight: 600; line-height: 1.3; }
.nis-ent__s { font-size: 11px; color: var(--muted); line-height: 1.35; }
.nis-ent--card, .nis-ent--story { padding: 10px; border-radius: var(--r); border: 1px solid var(--border); background: #FFFFFF; }
.nis-ent--story .nis-avatar { width: 36px; height: 36px; font-size: 12px; }
.nis-ent--row { padding: 6px 0; gap: 12px; }
.nis-ent--row .nis-ent__txt { flex: 1; }
.nis-ent--row .nis-ent__n { font-size: 14px; }
.nis-ent__s--end { font-size: 12px; white-space: nowrap; }
.nis-ent--side { padding: 4px 0; gap: 12px; }
.nis-ent--side .nis-ent__n { font-size: 14px; }
.nis-ent--side .nis-ent__s { font-size: 12px; }
.nis-ent--player { flex: none; gap: 8px; padding: 8px 12px 8px 8px; border-radius: var(--r); border: 1px solid var(--border); background: #FFFFFF; }
.nis-ent--player .nis-avatar { width: 30px; height: 30px; font-size: 11px; }
.nis-ent--player .nis-ent__n { white-space: nowrap; }
a.nis-ent:hover .nis-ent__n { color: var(--accent); }

/* ---------- Scorecard, basket, quiz ---------- */
.nis-score-card { border-radius: var(--r); overflow: hidden; border: 1px solid var(--border); background: #FFFFFF; display: flex; flex-direction: column; }
.nis-score-card__head { background: var(--accent); color: #FFFFFF; padding: 12px 16px; display: flex; justify-content: space-between; align-items: center; gap: 10px; }
.nis-score-card__t { font-size: 14px; font-weight: 700; }
.nis-score-card__tag { font-size: 11px; font-weight: 700; letter-spacing: 0.04em; padding: 3px 8px; border-radius: 6px; background: rgba(255,255,255,0.18); white-space: nowrap; }
.nis-sc-row { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; padding: 12px 16px; border-bottom: 1px solid var(--border); }
.nis-sc-row__a { font-size: 15px; font-weight: 600; }
.nis-sc-row__r { display: flex; gap: 8px; align-items: baseline; }
.nis-sc-row__b { font-size: 17px; font-weight: 700; }
.nis-sc-row__c { font-size: 12px; color: var(--muted); }
.nis-score-card__foot { padding: 12px 16px; display: flex; flex-direction: column; gap: 4px; }
.nis-score-card__res { font-size: 14px; font-weight: 700; color: var(--accent); }
.nis-score-card__next { font-size: 13px; color: var(--text-2); }
.nis-score-card--d .nis-score-card__head { padding: 14px 18px; }
.nis-score-card--d .nis-score-card__t { font-size: 15px; }
.nis-score-card--d .nis-sc-row { padding: 14px 18px; }
.nis-score-card--d .nis-sc-row__a { font-size: 16px; }
.nis-score-card--d .nis-sc-row__b { font-size: 20px; }
.nis-score-card--d .nis-score-card__foot { padding: 14px 18px; }
.nis-bk-row { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 9px 0; border-bottom: 1px solid var(--border); }
.nis-bk-row:last-child { border-bottom: 0; }
.nis-bk-row__a { font-size: 14px; }
.nis-bk-row__r { display: flex; gap: 10px; align-items: center; }
.nis-bk-row__b { font-size: 14px; font-weight: 700; white-space: nowrap; }
.nis-bk-row__c { width: 96px; text-align: right; font-size: 12px; color: var(--text-3); }
.nis-basket--d { padding: 18px; }
.nis-basket--d .nis-card__t { font-size: 18px; }
.nis-basket--d .nis-card__sub { margin-bottom: 6px; }
.nis-basket--d .nis-bk-row__r { gap: 12px; }
.nis-basket--d .nis-bk-row__c { width: 100px; }
.nis-quiz { display: flex; flex-direction: column; gap: 12px; }
.nis-quiz__head { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.nis-quiz__head .nis-shead__sub { font-size: 12px; }
.nis-quiz__tag { height: 26px; padding: 0 10px; border-radius: var(--r); background: var(--accent); color: #FFFFFF; font-size: 12px; font-weight: 700; display: flex; align-items: center; white-space: nowrap; }
.nis-quiz__box { padding: 14px; border-radius: var(--r); background: #FFFFFF; border: 1px solid var(--border); display: flex; flex-direction: column; gap: 10px; }
.nis-quiz__q { font-size: 16px; line-height: 1.4; font-weight: 700; }
.nis-quiz__opts { display: flex; flex-direction: column; gap: 10px; }
.nis-quiz__opt { width: 100%; height: 44px; display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 0 14px; border-radius: var(--r); border: 1px solid var(--border); background: #FFFFFF; font-size: 14px; font-weight: 600; color: var(--text); cursor: pointer; text-align: left; }
.nis-quiz__opt span { font-size: 12px; font-weight: 700; }
.nis-quiz__opt.is-right { background: var(--tint); border-color: var(--accent); color: var(--accent); }
.nis-quiz__opt.is-wrong { background: var(--subtle); }
.nis-quiz__opt:disabled { cursor: default; }
.nis-quiz__note { font-size: 13px; line-height: 1.45; color: var(--text-2); }
.nis-band--quiz { padding: 20px 16px; }
.nis-quiz--d { border-radius: var(--r); background: var(--band); padding: 18px; }
.nis-quiz--d .nis-quiz__box { gap: 8px; }
.nis-quiz--d .nis-quiz__opts { gap: 8px; }
.nis-quiz--d .nis-quiz__q { font-size: 15px; }
.nis-quiz--d .nis-quiz__opt { height: 42px; }

/* ---------- Desktop home ---------- */
.nis-dpad { padding: 28px 16px 0; }
.nis-dmarq { background: var(--band); padding: 24px 0 28px; overflow: hidden; }
.nis-dmarq__head { margin-bottom: 16px; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 0 16px; }
.nis-dmarq__ttl { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.nis-kbadge { display: flex; align-items: center; gap: 6px; height: 26px; padding: 0 10px; border-radius: 6px; background: var(--accent); color: #FFFFFF; font-size: 11px; font-weight: 700; letter-spacing: 0.06em; }
.nis-dmarq__t { margin: 0; font-size: 24px; font-weight: 700; }
.nis-dmarq__sub { font-size: 13px; color: var(--text-3); }
.nis-dmarq__view { width: 100%; overflow: hidden; }
.nis-dmarq__track { display: flex; gap: 16px; width: max-content; padding-left: 120px; animation: nis-dmarq calc(var(--n, 6) * 8s) linear infinite; }
.nis-dmarq__view:hover .nis-dmarq__track, .nis-dmarq__view:focus-within .nis-dmarq__track { animation-play-state: paused; }
@keyframes nis-dmarq { from { transform: translateX(0); } to { transform: translateX(calc(var(--n, 6) * -356px)); } }
.nis-drow { display: grid; gap: 24px; padding-left: 16px; padding-right: 16px; align-items: stretch; }
.nis-drow--21 { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); }
.nis-drow--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.nis-drow--start { align-items: start; }
.nis-dpt24 { padding-top: 24px; }
.nis-dpt28 { padding-top: 28px; }
.nis-dpt40 { padding-top: 40px; }
.nis-dcol { display: flex; flex-direction: column; gap: 20px; min-width: 0; }
.nis-dcol--24 { gap: 24px; }
.nis-quick { padding: 18px; gap: 10px; flex: 1; }
.nis-card__t--17 { font-size: 17px; }
.nis-quick__a { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 8px 0; border-bottom: 1px solid var(--border); font-size: 14px; font-weight: 600; color: var(--text); }
.nis-quick__a:last-child { border-bottom: 0; }
.nis-quick__a:hover { color: var(--accent); }
.nis-dlocal { border-radius: var(--r); background: var(--band); padding: 18px; display: flex; flex-direction: column; gap: 10px; }
.nis-dlocal__list { display: flex; flex-direction: column; gap: 10px; }
.nis-dlocal .nis-hscroll--bleed { margin: 0; padding: 0; flex-wrap: wrap; }
.nis-dsec { padding: 40px 16px 0; display: flex; flex-direction: column; gap: 14px; }
.nis-dsec .nis-shead__t, .nis-dband .nis-shead__t, .nis-dmissed .nis-shead__t { font-size: 22px; }
.nis-dsec .nis-shead__meta, .nis-dband .nis-shead__meta { font-size: 13px; }
.nis-dgrid4 { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.nis-dgrid3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.nis-dgrid3--12 { gap: 12px; }
.nis-dgrid2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.nis-dgrid4 .nis-slcard { width: auto; gap: 10px; padding: 18px; }
.nis-dgrid4 .nis-slcard__t { font-size: 18px; }
.nis-dgrid4 .nis-slcard__l { font-size: 14px; }
.nis-dgrid4 .nis-slcard__dot { display: none; }
.nis-dband { margin-top: 40px; background: var(--band); padding: 32px 0; }
.nis-dband__in { display: flex; flex-direction: column; gap: 16px; padding: 0 16px; }
.nis-dgrid4 .nis-mcard--top10, .nis-dgrid3 .nis-mcard--missed, .nis-dgrid2 .nis-mcard--grid { width: auto; }
.nis-dgrid4 .nis-mcard--top10 .nis-mcard__media { height: 140px; }
.nis-dgrid4 .nis-mcard--top10 .nis-rank { top: 10px; left: 10px; min-width: 32px; height: 28px; padding: 0 8px; font-size: 14px; }
.nis-dgrid4 .nis-mcard__body, .nis-dgrid3 .nis-mcard__body { padding: 12px 14px 14px; }
.nis-dgrid4 .nis-mcard__h { font-size: 16px; }
.nis-seeall--d { width: auto; min-height: 240px; gap: 8px; font-size: 15px; }
.nis-dgrid3 .nis-mcard--missed .nis-mcard__media { height: 130px; }
.nis-dgrid3 .nis-mcard--missed .nis-tag { top: 10px; left: 10px; height: 24px; }
.nis-dgrid3 .nis-mcard__h { font-size: 15px; }
.nis-dmissed { display: flex; flex-direction: column; gap: 14px; }
.nis-dmissed .nis-shead__sub { font-size: 14px; }
.nis-bandcard { border-radius: var(--r); background: var(--band); padding: 18px; display: flex; flex-direction: column; gap: 10px; }
.nis-bandcard .nis-row--rank { align-items: flex-start; }
.nis-bandcard .nis-row__n { width: 24px; line-height: 1.1; }
.nis-bandcard--tight { gap: 4px; }
.nis-bandcard--tight .nis-card__t { margin-bottom: 6px; }
.nis-bandcard--tight .nis-row--mini { border-bottom: 1px solid var(--border); }
.nis-bandcard--tight .nis-row--mini:last-child { border-bottom: 0; }
.nis-dcol .nis-card { padding: 18px; gap: 10px; }
.nis-dcol .nis-card__t { font-size: 18px; }
@media (min-width: 768px) and (max-width: 1023px) {
	.nis-drow--21, .nis-drow--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.nis-dgrid4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.nis-glance--d .nis-glance__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.nis-dmarq__track { padding-left: 16px; }
	.nis-spot--d .nis-spot__body { grid-template-columns: 1fr; }
	.nis-spot--d .nis-spot__lead { border-right: 0; border-bottom: 1px solid var(--border); }
}

/* ---------- Explore ---------- */
.nis-explore { position: relative; }
.nis-xrail, .nis-xnav, .nis-xnext { display: none; }
.nis-xcol { position: relative; }
.nis-xfeed { height: calc(100vh - var(--head-m) - var(--live-m) - var(--nav-m)); height: calc(100dvh - var(--head-m) - var(--live-m) - var(--nav-m) - env(safe-area-inset-bottom, 0px)); overflow-y: auto; overscroll-behavior: contain; scroll-snap-type: y mandatory; scrollbar-width: none; outline: none; touch-action: pan-y; }
.nis-xfeed::-webkit-scrollbar { display: none; }
.nis-xslot { height: 100%; padding: 6px 10px; scroll-snap-align: start; scroll-snap-stop: always; }
.nis-xcard { height: 100%; display: flex; flex-direction: column; background: #FFFFFF; border: 1px solid var(--border); border-radius: var(--r); overflow: hidden; user-select: none; -webkit-user-select: none; }
.nis-xcard--empty { align-items: center; justify-content: center; padding: 24px; text-align: center; }
.nis-xcard__media { height: 30%; flex: none; }
.nis-xcard__media .nis-media__ic { opacity: 0.4; }
.nis-xcard__pos { position: absolute; top: 12px; right: 12px; z-index: 1; background: #FFFFFF; border-radius: var(--r-pill); padding: 4px 10px; font-size: 12px; font-weight: 600; line-height: 1.5; color: var(--text-2); }
.nis-xcard__body { flex: 1; min-height: 0; display: flex; flex-direction: column; padding: 14px 16px 12px; }
.nis-xcard__h { margin: 10px 0 0; font-size: 21px; line-height: 1.3; font-weight: 700; }
.nis-xcard__s { margin: 8px 0 0; flex: 1; min-height: 0; font-size: 15px; line-height: 1.5; color: var(--text-2); overflow: hidden; display: -webkit-box; -webkit-line-clamp: 10; -webkit-box-orient: vertical; }
.nis-inlinks a { color: var(--accent); font-weight: 600; text-decoration: underline; text-decoration-color: var(--tint); text-decoration-thickness: 2px; text-underline-offset: 3px; }
.nis-inlinks a:hover { text-decoration-color: var(--accent); }
.nis-xcard__row { display: flex; gap: 12px; align-items: flex-end; margin-top: 10px; flex: none; }
.nis-xcard__left { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 8px; }
.nis-xcard__chips { display: flex; gap: 6px; overflow-x: auto; scrollbar-width: none; }
.nis-xcard__chips:empty { display: none; }
.nis-xcard__acts { display: flex; gap: 8px; flex: none; }
.nis-circle { width: 44px; display: flex; flex-direction: column; align-items: center; gap: 2px; border: 0; background: none; padding: 0; cursor: pointer; color: var(--text); }
.nis-circle[aria-pressed="true"] { color: var(--accent); }
.nis-circle__ic { width: 42px; height: 42px; border-radius: 50%; border: 1px solid var(--border); background: #FFFFFF; display: flex; align-items: center; justify-content: center; }
.nis-circle__n { font-size: 11px; font-weight: 600; color: var(--text-2); }
.nis-xcard__read { margin-top: 12px; flex: none; }
.nis-xdots { position: absolute; right: 2px; top: 50%; transform: translateY(-50%); display: flex; flex-direction: column; gap: 4px; pointer-events: none; }
.nis-xdots span { width: 4px; height: 6px; border-radius: 2px; background: var(--dot); transition: height 200ms ease; }
.nis-xdots span.is-on { height: 18px; background: var(--accent); }
.nis-heartpop { position: absolute; left: 50%; top: 40%; z-index: 3; color: var(--accent); transform: translate(-50%, -50%) scale(0.6); opacity: 0; pointer-events: none; animation: nis-pop 700ms ease forwards; }
@keyframes nis-pop { 30% { opacity: 1; transform: translate(-50%, -50%) scale(1.1); } 100% { opacity: 0; transform: translate(-50%, -60%) scale(1); } }
.nis-xslot { position: relative; }
body.nis-view-explore .nis-main { min-height: 0; }
@media (min-width: 768px) {
	.nis-explore { display: flex; justify-content: center; gap: 32px; padding: 24px 16px; }
	.nis-xrail { width: 240px; flex: none; display: flex; flex-direction: column; gap: 18px; }
	.nis-xrail__group { display: flex; flex-direction: column; gap: 4px; }
	.nis-xrail__feed { height: 42px; display: flex; align-items: center; padding: 0 14px; border-radius: var(--r); border: 0; background: transparent; color: var(--text-2); font-size: 15px; font-weight: 600; text-align: left; cursor: pointer; }
	.nis-xrail__feed.is-on { background: var(--tint); color: var(--accent); }
	.nis-xrail__mix { padding: 14px; gap: 10px; }
	.nis-xrail__mixt { font-size: 14px; font-weight: 700; }
	.nis-xrail__mixs { font-size: 13px; line-height: 1.5; color: var(--text-3); }
	.nis-xrail__keys { display: flex; flex-direction: column; gap: 8px; font-size: 13px; color: var(--text-3); }
	.nis-xrail__keys b { color: var(--text); }
	.nis-xcol { width: 420px; flex: none; }
	.nis-xfeed { height: min(790px, calc(100vh - var(--head-d) - var(--live-d) - 48px)); overflow: hidden; scroll-behavior: smooth; }
	.nis-xslot { padding: 0 0 14px; }
	.nis-xcard__media .nis-media__ic { width: 72px; height: 72px; }
	.nis-xcard__pos { display: none; }
	.nis-xcard__body { padding: 16px 18px 14px; }
	.nis-xcard__h { font-size: 22px; }
	.nis-xcard__s { font-size: 16px; -webkit-line-clamp: 12; }
	.nis-xcard__chips { flex-wrap: wrap; }
	.nis-xcard__read { height: 46px; }
	.nis-xdots { display: none; }
	.nis-xnav { width: 56px; flex: none; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; }
	.nis-xnav__btn { width: 48px; height: 48px; border-radius: 50%; border: 1px solid var(--border); background: #FFFFFF; color: var(--text); display: flex; align-items: center; justify-content: center; cursor: pointer; }
	.nis-xnav__btn--next { border: 0; background: var(--accent); color: #FFFFFF; }
	.nis-xnav__pos { font-size: 13px; font-weight: 600; color: var(--text-3); }
	.nis-xnext { width: 300px; flex: none; display: flex; flex-direction: column; gap: 12px; }
	.nis-xnext [data-nis-upnext] { display: flex; flex-direction: column; gap: 12px; }
	.nis-xnext .nis-row { padding: 10px; border-radius: var(--r); border: 1px solid var(--border) !important; background: #FFFFFF; }
	.nis-xnext .nis-row__thumb { border-radius: var(--r-sm); }
	.nis-xnext .nis-row__h { font-size: 14px; line-height: 1.35; }
}
@media (min-width: 768px) and (max-width: 1199px) { .nis-xnext { display: none; } }
@media (min-width: 768px) and (max-width: 1023px) { .nis-xrail { display: none; } }

/* ---------- Article ---------- */
.nis-artwrap { padding: 14px 16px 32px; }
.nis-art { display: flex; flex-direction: column; gap: 14px; min-width: 0; }
.nis-crumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 4px; font-size: 12px; font-weight: 500; color: var(--muted); }
.nis-crumbs a:hover { text-decoration: underline; }
.nis-crumbs__cat { color: var(--ca); font-weight: 600; }
.nis-art__h { margin: 0; font-size: 25px; line-height: 1.28; font-weight: 700; }
.nis-art__sf { margin: 0; font-size: 16px; line-height: 1.5; color: var(--text-3); }
.nis-byline { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.nis-byline__who { display: flex; align-items: center; gap: 10px; }
.nis-byline__txt { display: flex; flex-direction: column; font-size: 12px; color: var(--muted); line-height: 1.4; }
.nis-byline__name { font-size: 13px; font-weight: 600; color: var(--text); }
.nis-byline__name:hover { color: var(--accent); }
.nis-byline__acts { gap: 8px; }
.nis-art__fig { margin: 0; display: flex; flex-direction: column; gap: 6px; }
.nis-art__figbox { position: relative; aspect-ratio: 16 / 9; border-radius: var(--r); overflow: hidden; border: 1px solid var(--border); background: var(--ct); display: flex; flex-direction: column; }
.nis-art__img { width: 100%; flex: 1; min-height: 0; object-fit: cover; }
.nis-art__ph { flex: 1; display: flex; align-items: center; justify-content: center; color: var(--ca); }
.nis-art__ph svg { opacity: 0.45; width: 60px; height: 60px; }
.nis-catline--art { height: 3px; }
.nis-art__fig figcaption, .nis-art__fig2 figcaption { font-size: 12px; color: var(--muted); }
.nis-box { padding: 14px 16px; border-radius: var(--r); background: #FFFFFF; border: 1px solid var(--border); display: flex; flex-direction: column; gap: 6px; }
.nis-box--tint { background: var(--tint); border: 0; }
.nis-box__k { font-size: 13px; font-weight: 700; color: var(--accent); }
.nis-box__p, .nis-box__p p { margin: 0; font-size: 15px; line-height: 1.5; }
.nis-art__body { display: flex; flex-direction: column; gap: 10px; font-size: 16px; line-height: 1.6; }
.nis-art__body > * { margin: 0; }
.nis-art__body h2 { margin: 4px 0 0; font-size: 19px; line-height: 1.35; font-weight: 700; }
.nis-art__body h3 { font-size: 17px; font-weight: 700; }
.nis-art__body ul, .nis-art__body ol { padding-left: 22px; }
.nis-art__body blockquote { margin: 0; padding: 4px 0 4px 14px; border-left: 3px solid var(--accent); color: var(--text-2); }
.nis-art__body img { border-radius: var(--r); }
.nis-art__body .wp-block-image, .nis-art__body figure { margin: 0; }
.nis-art__fig2 { margin: 4px 0 0; display: flex; flex-direction: column; gap: 6px; }
.nis-art__fig2 img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; border-radius: var(--r); border: 1px solid var(--border); background: var(--ph); }
.nis-art__sec { display: flex; flex-direction: column; gap: 8px; }
.nis-art__sec--src { gap: 6px; }
.nis-art__sec--rel { gap: 0; }
.nis-art__sec--rel .nis-art__st { margin-bottom: 2px; }
.nis-art__st { margin: 0; font-size: 17px; font-weight: 700; }
.nis-bgrow { display: flex; gap: 12px; padding: 8px 0; border-bottom: 1px solid var(--border); color: var(--text); }
.nis-bgrow__d { width: 92px; flex: none; font-size: 12px; font-weight: 600; color: var(--muted); line-height: 1.5; }
.nis-bgrow__t { font-size: 14px; line-height: 1.45; }
.nis-bgrow:hover .nis-bgrow__t { color: var(--accent); }
.nis-src { display: flex; align-items: center; gap: 8px; font-size: 14px; color: var(--text-2); }
.nis-src a:hover { color: var(--accent); text-decoration: underline; }
.nis-src__off { font-size: 11px; font-weight: 700; color: var(--accent); background: var(--tint); padding: 1px 7px; border-radius: var(--r-xs); }
.nis-art__acts { gap: 8px; width: 100%; }
.nis-artside { flex-direction: column; gap: 20px; }
.nis-sidesec { display: flex; flex-direction: column; gap: 4px; }
.nis-sidesec .nis-card__t { margin-bottom: 4px; }
.nis-sidesec .nis-row--related { border-bottom: 1px solid var(--border); }
.nis-artside .nis-card { padding: 18px; gap: 10px; }
.nis-page { padding: 18px 16px 32px; display: flex; flex-direction: column; gap: 14px; max-width: 760px; }
@media (min-width: 768px) {
	.nis-artwrap { padding: 32px 16px 0; display: grid; grid-template-columns: minmax(0, 760px) minmax(0, 1fr); gap: 56px; align-items: start; }
	.nis-art { gap: 18px; }
	.nis-crumbs { gap: 6px; font-size: 13px; }
	.nis-art__h { font-size: 40px; line-height: 1.2; letter-spacing: -0.01em; }
	.nis-art__sf { font-size: 20px; }
	.nis-byline { padding: 14px 0; border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); }
	.nis-byline__who { gap: 12px; }
	.nis-byline .nis-avatar { width: 40px; height: 40px; font-size: 13px; }
	.nis-byline__txt { font-size: 13px; }
	.nis-byline__name { font-size: 14px; }
	.nis-art__figbox { border: 0; }
	.nis-art__ph svg { width: 96px; height: 96px; opacity: 0.4; }
	.nis-catline--art { height: 4px; }
	.nis-art__fig { gap: 8px; }
	.nis-art__fig figcaption, .nis-art__fig2 figcaption { font-size: 13px; }
	.nis-box { padding: 18px 20px; gap: 8px; }
	.nis-box__p, .nis-box__p p { font-size: 17px; line-height: 1.6; }
	.nis-box--tint .nis-box__k { font-size: 14px; }
	.nis-box--tint { gap: 6px; }
	.nis-art__body { gap: 14px; font-size: 18px; line-height: 1.7; }
	.nis-art__body h2 { margin-top: 8px; font-size: 24px; }
	.nis-art__fig2 { margin-top: 6px; gap: 8px; }
	.nis-art__st { font-size: 20px; }
	.nis-bgrow { gap: 16px; padding: 10px 0; }
	.nis-bgrow__d { width: 140px; font-size: 13px; }
	.nis-bgrow__t { font-size: 16px; }
	.nis-src { font-size: 15px; }
	.nis-page { padding: 36px 16px 0; }
}
@media (min-width: 768px) and (max-width: 1023px) { .nis-artwrap { grid-template-columns: minmax(0, 1fr); gap: 32px; } }

/* ---------- Entity and storyline pages ---------- */
.nis-ehead { padding: 18px 16px 0; }
.nis-ehead__in { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; }
.nis-avatar--ent { width: 64px; height: 64px; font-size: 22px; }
.nis-ehead__txt { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.nis-ehead__k { font-size: 12px; font-weight: 600; color: var(--muted); }
.nis-ehead__h { margin: 0; font-size: 22px; line-height: 1.25; font-weight: 700; }
.nis-ehead__role { font-size: 13px; color: var(--text-3); }
.nis-ehead__follow { flex-basis: 100%; width: 100%; }
.nis-ehead__stats { gap: 28px; margin-top: 10px; }
.nis-ehead__stats > span { display: flex; flex-direction: column; }
.nis-ehead__stats b { font-size: 20px; }
.nis-ehead__stats span span { font-size: 12px; color: var(--text-3); }
.nis-ebody { padding: 18px 16px 32px; display: flex; flex-direction: column; gap: 18px; }
.nis-ebody__main, .nis-ebody__side { display: contents; }
.nis-o1 { order: 1; } .nis-o2 { order: 2; } .nis-o3 { order: 3; } .nis-o4 { order: 4; } .nis-o5 { order: 5; } .nis-o9 { order: 9; } .nis-o10 { order: 10; }
.nis-ebody__main > section, .nis-ebody__side > section { display: flex; flex-direction: column; gap: 10px; }
.nis-ebody__sls { gap: 8px !important; }
.nis-ai { padding: 14px 16px; border-radius: var(--r); background: var(--band); gap: 8px !important; }
.nis-ai__k { display: flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 700; color: var(--accent); }
.nis-ai__li { display: flex; gap: 8px; font-size: 14px; line-height: 1.5; }
.nis-ai__dot { width: 5px; height: 5px; border-radius: 50%; background: var(--accent); flex: none; margin-top: 8px; }
.nis-ai__note { font-size: 11px; color: var(--text-3); }
.nis-ai__body { display: flex; flex-direction: column; gap: 8px; }
.nis-ai__body p { margin: 0; font-size: 15px; line-height: 1.55; }
.nis-tl { position: relative; padding-left: 22px; display: flex; flex-direction: column; gap: 12px; }
.nis-tl::before { content: ""; position: absolute; left: 6px; top: 6px; bottom: 6px; width: 2px; background: var(--border); }
.nis-tl__item { position: relative; display: flex; flex-direction: column; gap: 6px; }
.nis-tl__dot { position: absolute; left: -21px; top: 3px; width: 12px; height: 12px; border-radius: 50%; background: var(--bg); border: 2px solid var(--accent); }
.nis-tl__date { font-size: 12px; font-weight: 600; color: var(--muted); }
.nis-tl__card { display: flex; gap: 10px; align-items: flex-start; padding: 12px; border-radius: var(--r); border: 1px solid var(--border); background: #FFFFFF; color: var(--text); }
.nis-tl__card:hover { border-color: var(--accent); }
.nis-tl__txt { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.nis-tl__h { font-size: 15px; line-height: 1.4; font-weight: 600; }
.nis-tl__s { font-size: 13px; line-height: 1.45; color: var(--text-3); }
.nis-fchips { gap: 8px; }
.nis-conn .nis-chips { gap: 8px; }
.nis-shero { padding: 18px 16px 0; }
.nis-shero__in { display: flex; flex-direction: column; gap: 18px; }
.nis-shero__txt { display: flex; flex-direction: column; gap: 6px; }
.nis-shero__k { display: flex; align-items: center; gap: 6px; font-size: 12px; font-weight: 600; color: var(--accent); }
.nis-shero__parent { font-size: 12px; color: var(--muted); text-decoration: underline; }
.nis-shero__h { margin: 0; font-size: 26px; line-height: 1.2; font-weight: 700; }
.nis-shero__meta { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; font-size: 13px; color: var(--text-3); }
.nis-status { height: 24px; padding: 0 10px; border-radius: var(--r); background: var(--tint); color: var(--accent); font-size: 12px; font-weight: 700; display: flex; align-items: center; }
.nis-status.is-done { background: var(--subtle); color: var(--text-3); }
.nis-shero__acts { display: flex; gap: 8px; width: 100%; }
.nis-shero__swipe { flex: 1.3; font-size: 14px; }
.nis-shero__follow { flex: 1; }
.nis-ebody--sl .nis-updates { gap: 10px; }
.nis-fact { padding: 12px; border-radius: var(--r); border: 1px solid var(--border); background: #FFFFFF; display: flex; flex-direction: column; gap: 2px; }
.nis-fact__k { font-size: 12px; color: var(--muted); }
.nis-fact__v { font-size: 16px; font-weight: 700; }
.nis-tl--sl .nis-tl__card { align-items: flex-start; }
@media (min-width: 768px) {
	.nis-ehead, .nis-shero { background: var(--band); padding: 36px 16px; }
	.nis-ehead__in { flex-wrap: nowrap; gap: 24px; }
	.nis-avatar--ent { width: 104px; height: 104px; font-size: 34px; background: var(--accent); color: #FFFFFF; }
	.nis-ehead__txt { gap: 4px; }
	.nis-ehead__k { font-size: 13px; color: var(--text-3); }
	.nis-ehead__h { font-size: 38px; }
	.nis-ehead__role { font-size: 16px; color: var(--text-2); }
	.nis-ehead__follow { flex-basis: auto; width: auto; height: 46px; padding: 0 22px; font-size: 15px; }
	.nis-ebody { padding: 32px 16px 0; display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: 40px; align-items: start; }
	.nis-ebody__main, .nis-ebody__side { display: flex; flex-direction: column; gap: 20px; min-width: 0; }
	.nis-ebody__main, .nis-ebody__side { order: 0; }
	.nis-ebody__side > section, .nis-ebody__main > section { order: 0; }
	.nis-ebody__main { gap: 16px; }
	.nis-ebody--sl .nis-ebody__main { gap: 28px; }
	.nis-ebody__main > section { gap: 16px; }
	.nis-ebody__main .nis-shead__t--ent { font-size: 22px; }
	.nis-ebody__main .nis-shead__meta { font-size: 13px; }
	.nis-ebody__side > section { padding: 18px; border-radius: var(--r); background: #FFFFFF; border: 1px solid var(--border); gap: 10px; }
	.nis-ebody__side .nis-shead__t--ent { font-size: 17px; }
	.nis-ebody__side .nis-ai { background: #FFFFFF; gap: 10px !important; }
	.nis-ebody__side .nis-ai__k { font-size: 14px; }
	.nis-ebody__side .nis-ai__note { color: var(--muted); }
	.nis-ebody__side .nis-ebody__sls { padding: 0; border: 0; background: none; }
	.nis-ebody__side .nis-slrow { padding: 16px; }
	.nis-ebody__side .nis-slrow__tile { width: 40px; height: 40px; }
	.nis-ebody__side .nis-slrow__t { font-size: 16px; }
	.nis-ebody__side .nis-conn, .nis-ebody__side .nis-subs { background: var(--band); border: 0; }
	.nis-ai--sofar { padding: 22px 24px; background: #FFFFFF; border: 1px solid var(--border); gap: 12px !important; }
	.nis-ai--sofar .nis-ai__k { font-size: 14px; }
	.nis-ai--sofar .nis-ai__body p { font-size: 17px; line-height: 1.65; }
	.nis-ai--sofar .nis-ai__note { font-size: 12px; color: var(--muted); }
	.nis-fchips { flex-wrap: wrap; margin: 0; padding: 0; overflow: visible; }
	.nis-fchips .nis-fchip { height: 36px; padding: 0 14px; font-size: 14px; }
	.nis-tl { padding-left: 150px; gap: 14px; }
	.nis-tl::before { left: 130px; top: 8px; bottom: 8px; }
	.nis-tl__date { position: absolute; left: -150px; top: 14px; width: 110px; text-align: right; font-size: 13px; }
	.nis-tl__dot { left: -27px; top: 16px; width: 14px; height: 14px; }
	.nis-tl__card { width: 100%; gap: 14px; padding: 14px 16px; }
	.nis-tl__h { font-size: 17px; }
	.nis-tl__s { font-size: 14px; }
	.nis-tl .nis-score { min-width: 30px; height: 26px; font-size: 13px; }
	.nis-tl--sl { gap: 12px; }
	.nis-tl--sl .nis-tl__date { top: 15px; }
	.nis-tl--sl .nis-tl__dot { top: 17px; }
	.nis-tl--sl .nis-tl__card { align-items: center; }
	.nis-tl--sl .nis-tl__h { font-size: 16px; }
	.nis-shero__in { flex-direction: row; align-items: flex-end; justify-content: space-between; gap: 24px; }
	.nis-shero__txt { gap: 8px; }
	.nis-shero__k { font-size: 13px; font-weight: 700; }
	.nis-shero__h { font-size: 42px; }
	.nis-shero__meta { gap: 10px; font-size: 15px; color: var(--text-2); }
	.nis-shero .nis-status { height: 26px; padding: 0 12px; background: var(--accent); color: #FFFFFF; }
	.nis-shero__acts { width: auto; gap: 10px; flex: none; }
	.nis-shero__swipe, .nis-shero__follow { flex: none; height: 46px; padding: 0 20px; font-size: 15px; }
	.nis-facts .nis-grid2 { gap: 10px; }
	.nis-fact { border: 0; border-radius: var(--r-sm); background: var(--band); }
	.nis-fact__k { color: var(--text-3); }
	.nis-fact__v { font-size: 17px; }
	.nis-players__list { flex-direction: column; gap: 8px; margin: 0; padding: 0; overflow: visible; }
	.nis-players .nis-ent--player { padding: 4px 0; border: 0; background: none; gap: 12px; }
	.nis-players .nis-avatar { width: 34px; height: 34px; font-size: 12px; }
	.nis-players .nis-ent__txt { flex-direction: row; flex: 1; justify-content: space-between; align-items: center; gap: 8px; }
	.nis-players .nis-ent__n { font-size: 14px; }
	.nis-players .nis-ent__s { font-size: 12px; }
	.nis-subs__list { flex-direction: column; flex-wrap: nowrap; gap: 10px; }
	.nis-subs__a { height: 40px; justify-content: space-between; padding: 0 14px; font-size: 14px; }
}
@media (min-width: 768px) and (max-width: 1023px) {
	.nis-ebody { grid-template-columns: minmax(0, 1fr); }
	.nis-tl { padding-left: 22px; }
	.nis-tl::before { left: 6px; }
	.nis-tl__date { position: static; width: auto; text-align: left; }
	.nis-tl__dot { left: -22px; top: 3px; }
	.nis-shero__in { flex-direction: column; align-items: flex-start; }
}

/* ---------- Category page ---------- */
.nis-chead { background: var(--ct); padding: 18px 16px 16px; }
.nis-chead__in { display: flex; flex-direction: column; gap: 8px; }
.nis-chead__id { display: flex; align-items: center; gap: 10px; }
.nis-chead__tile { display: none; }
.nis-chead__ic { color: var(--ca); display: flex; align-self: flex-start; margin-top: 2px; }
.nis-chead__txt { display: flex; flex-direction: column; gap: 8px; }
.nis-chead__h { margin: 0; font-size: 23px; line-height: 1.25; font-weight: 700; color: var(--ca); }
.nis-chead__d { margin: 0 0 0 -34px; font-size: 14px; line-height: 1.5; color: var(--text-2); }
.nis-chead__follow { align-self: flex-start; height: 40px; padding: 0 16px; font-size: 13px; gap: 6px; }
.nis-ctabs { background: #FFFFFF; border-bottom: 1px solid var(--border); }
.nis-ctabs__in { display: flex; gap: 2px; overflow-x: auto; scrollbar-width: none; padding: 0 8px; }
.nis-ctabs__in::-webkit-scrollbar { display: none; }
.nis-ctab { flex: none; height: 44px; display: flex; align-items: center; padding: 0 10px; border-bottom: 3px solid transparent; font-size: 14px; font-weight: 500; color: var(--muted); white-space: nowrap; }
.nis-ctab[aria-current="page"] { border-bottom-color: var(--ca); font-weight: 700; color: var(--text); }
.nis-ctab:hover { color: var(--text); }
.nis-cbody { padding: 16px 16px 32px; display: flex; flex-direction: column; gap: 20px; }
.nis-cbody__main, .nis-cbody__side { display: contents; }
.nis-cbody__side > section, .nis-clatest { display: flex; flex-direction: column; gap: 8px; }
.nis-clatest { gap: 0; }
.nis-clatest .nis-shead__t { margin-bottom: 2px; }
.nis-clatest .nis-row { border-bottom: 1px solid var(--border); }
.nis-m60 { padding: 14px 16px; gap: 6px !important; }
.nis-m60__row { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 8px 0; border-bottom: 1px solid var(--border); font-size: 14px; }
.nis-m60__row:last-child { border-bottom: 0; }
.nis-m60__row span:first-child { color: var(--text-2); }
.nis-m60__r { display: flex; gap: 10px; }
.nis-m60__c { width: 56px; text-align: right; color: var(--text-3); }
.nis-csl { width: 100%; display: flex; align-items: center; gap: 12px; padding: 12px 14px; border-radius: var(--r); border: 1px solid var(--border); background: #FFFFFF; color: var(--text); }
.nis-csl__txt { flex: 1; display: flex; flex-direction: column; min-width: 0; }
.nis-csl__t { font-size: 15px; font-weight: 600; }
.nis-csl__m { font-size: 12px; color: var(--muted); }
.nis-cents { padding: 0; border: 0; background: none; }
.nis-pager { display: flex; gap: 10px; justify-content: center; padding-top: 8px; }
.nis-clead { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); border-radius: var(--r); overflow: hidden; border: 1px solid var(--border); background: #FFFFFF; color: var(--text); }
.nis-clead__media { min-height: 280px; height: 100%; }
.nis-clead__media + .nis-catline { display: none; }
.nis-clead .nis-media--cat { border-bottom: 3px solid var(--ca); }
.nis-clead__body { padding: 24px; display: flex; flex-direction: column; gap: 10px; justify-content: center; }
.nis-clead__h { font-size: 26px; line-height: 1.3; font-weight: 700; }
.nis-clead__m { font-size: 13px; color: var(--muted); }
.nis-clead:hover .nis-clead__h { color: var(--ca); }
.nis-dgrid2 .nis-mcard--grid .nis-mcard__body { padding: 14px 16px 16px; }
.nis-dgrid2 .nis-mcard--grid .nis-mcard__h { font-size: 17px; }
@media (min-width: 768px) {
	.nis-chead { padding: 36px 16px 28px; }
	.nis-chead__in { flex-direction: row; align-items: flex-end; justify-content: space-between; gap: 24px; }
	.nis-chead__id { gap: 18px; }
	.nis-chead__tile { width: 64px; height: 64px; flex: none; border-radius: 16px; background: var(--ca); color: #FFFFFF; display: flex; align-items: center; justify-content: center; }
	.nis-chead__ic { display: none; }
	.nis-chead__txt { gap: 4px; }
	.nis-chead__h { font-size: 38px; }
	.nis-chead__d { margin: 0; font-size: 16px; }
	.nis-chead__follow { align-self: auto; height: 46px; padding: 0 22px; font-size: 15px; gap: 8px; }
	.nis-ctabs__in { padding: 0 16px; }
	.nis-ctab { height: 50px; padding: 0 12px; }
	.nis-cbody { padding: 32px 16px 0; display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: 32px; align-items: start; }
	.nis-cbody__main, .nis-cbody__side { display: flex; flex-direction: column; gap: 20px; min-width: 0; }
	.nis-cbody__side > section { padding: 18px; border-radius: var(--r); background: #FFFFFF; border: 1px solid var(--border); gap: 10px; }
	.nis-cbody__side .nis-shead__t--ent { font-size: 17px; }
	.nis-cbody__side .nis-csls { background: var(--band); border: 0; gap: 8px; }
	.nis-csl { padding: 12px; }
	.nis-csl__t { font-size: 14px; }
	.nis-m60 { gap: 6px !important; }
	.nis-m60__row { padding: 9px 0; }
	.nis-m60__r { gap: 12px; }
	.nis-m60__c { width: 60px; color: var(--accent); font-weight: 600; }
	.nis-catpage .nis-m60__c { color: var(--ca); }
}
@media (min-width: 768px) and (max-width: 1023px) { .nis-cbody { grid-template-columns: minmax(0, 1fr); } .nis-clead { grid-template-columns: 1fr; } }

/* ---------- Categories, Following, Search, archive ---------- */
.nis-cats, .nis-archive { padding: 18px 16px 28px; display: flex; flex-direction: column; }
.nis-pagehead { display: flex; flex-direction: column; gap: 4px; margin-bottom: 8px; }
.nis-pagehead--tight { margin-bottom: 0; }
.nis-pagehead__h { margin: 0; font-size: 22px; font-weight: 700; line-height: 1.25; }
.nis-pagehead__p { margin: 0; font-size: 14px; color: var(--text-3); }
.nis-catlist { display: flex; flex-direction: column; }
.nis-catrow { display: flex; align-items: center; gap: 14px; min-height: 52px; padding: 6px 0; border-bottom: 1px solid var(--border); color: var(--text); }
.nis-catrow__n { flex: 1; font-size: 15px; font-weight: 600; }
.nis-catgrid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.nis-catcard { display: flex; flex-direction: column; gap: 10px; padding: 18px; border-radius: var(--r); border: 1px solid var(--border); background: #FFFFFF; color: var(--text); }
.nis-catcard:hover { border-color: var(--accent); }
.nis-catcard__top { display: flex; align-items: center; justify-content: space-between; }
.nis-catcard__n { font-size: 12px; font-weight: 600; color: var(--muted); }
.nis-catcard__name { font-size: 17px; font-weight: 700; }
.nis-catcard__l { font-size: 13px; line-height: 1.45; color: var(--text-3); }
.nis-following { padding: 18px 16px 28px; display: flex; flex-direction: column; gap: 16px; }
.nis-following__side { display: flex; flex-direction: column; gap: 16px; }
.nis-following__rows { display: flex; flex-direction: column; gap: 8px; }
.nis-following__rows .nis-slrow__tile { border-radius: 50%; font-size: 12px; font-weight: 700; }
.nis-following__main { display: flex; flex-direction: column; }
.nis-following__main .nis-shead__t { margin-bottom: 2px; }
.nis-fstory { display: flex; flex-direction: column; gap: 4px; padding: 12px 0; border-bottom: 1px solid var(--border); color: var(--text); }
.nis-fstory__img { display: none; }
.nis-fstory__h { font-size: 15px; line-height: 1.4; font-weight: 600; }
.nis-fstory__m { font-size: 12px; color: var(--muted); }
.nis-search { padding: 16px 16px 28px; display: flex; flex-direction: column; gap: 16px; max-width: 820px; margin: 0 auto; }
.nis-search__h { margin: 0; font-size: 34px; font-weight: 700; text-align: center; }
.nis-search__form { display: flex; align-items: center; gap: 10px; height: 46px; padding: 0 14px; border-radius: var(--r); border: 1px solid var(--border); background: #FFFFFF; color: var(--muted); }
.nis-search__form svg { width: 19px; height: 19px; }
.nis-search__form input { flex: 1; min-width: 0; border: 0; outline: none; background: none; font: inherit; font-size: 15px; color: var(--text); }
.nis-search__form:focus-within { border-color: var(--accent); }
.nis-search__idle { display: flex; flex-direction: column; gap: 16px; }
.nis-search__sec { display: flex; flex-direction: column; gap: 10px; }
.nis-search__k { margin: 0; font-size: 16px; font-weight: 700; }
.nis-search__results { display: flex; flex-direction: column; }
.nis-sres { display: flex; align-items: center; gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--border); color: var(--text); }
.nis-sres__txt { flex: 1; display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.nis-sres__n { font-size: 15px; line-height: 1.4; font-weight: 600; }
.nis-sres__t { font-size: 12px; color: var(--muted); }
.nis-sres:hover .nis-sres__n { color: var(--accent); }
.nis-sres__none { padding: 8px 0 0; }
.nis-404 { gap: 16px; }
@media (min-width: 768px) {
	.nis-cats { padding: 36px 16px 0; gap: 20px; }
	.nis-archive { padding: 36px 16px 0; }
	.nis-pagehead__h { font-size: 34px; }
	.nis-pagehead__p { font-size: 16px; margin-top: 2px; }
	.nis-following { padding: 36px 16px 0; display: grid; grid-template-columns: 360px minmax(0, 1fr); gap: 40px; align-items: start; }
	.nis-following__side { gap: 12px; }
	.nis-following__side .nis-pagehead__p { font-size: 15px; margin-bottom: 6px; }
	.nis-following__rows { gap: 12px; }
	.nis-following__rows .nis-slrow { padding: 14px; }
	.nis-following__rows .nis-slrow__tile { width: 40px; height: 40px; font-size: 13px; }
	.nis-following__main { gap: 14px; padding-top: 6px; }
	.nis-following__main .nis-shead__t { font-size: 22px; }
	.nis-following__stories { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
	.nis-fstory { padding: 0; border-radius: var(--r); overflow: hidden; border: 1px solid var(--border); background: #FFFFFF; gap: 0; }
	.nis-fstory__img { display: block; height: 160px; background: var(--ph); position: relative; }
	.nis-fstory__img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
	.nis-fstory__txt { padding: 14px 16px 16px; display: flex; flex-direction: column; gap: 6px; }
	.nis-fstory__h { font-size: 17px; }
	.nis-search { padding-top: 48px; gap: 22px; }
	.nis-search__form { height: 58px; padding: 0 18px; gap: 12px; border-radius: 14px; border: 2px solid var(--accent); color: var(--accent); }
	.nis-search__form svg { width: 22px; height: 22px; }
	.nis-search__form input { font-size: 18px; }
	.nis-search__idle { gap: 12px; }
	.nis-search__k { font-size: 13px; letter-spacing: 0.06em; color: var(--muted); }
	.nis-search__sec + .nis-search__sec { margin-top: 12px; }
	.nis-search .nis-chips { gap: 10px; }
	.nis-search .nis-chip--36 { height: 40px; padding: 0 16px; font-size: 14px; gap: 8px; }
	.nis-search__results { border-radius: var(--r); background: #FFFFFF; border: 1px solid var(--border); overflow: hidden; }
	.nis-sres { padding: 14px 18px; }
	.nis-sres:last-child { border-bottom: 0; }
	.nis-sres__n { font-size: 16px; }
	.nis-sres__none { padding: 16px 18px; font-size: 15px; }
	.nis-search .nis-ent--card { padding: 14px; gap: 12px; }
	.nis-search .nis-ent--card .nis-avatar { width: 40px; height: 40px; }
	.nis-search .nis-ent__n { font-size: 14px; font-weight: 700; }
	.nis-search .nis-ent__s { font-size: 12px; }
}
@media (min-width: 768px) and (max-width: 1023px) { .nis-catgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .nis-following { grid-template-columns: minmax(0, 1fr); } }

/* ---------- Footer and bottom nav ---------- */
.nis-footer { background: var(--band); }
.nis-footer__d { display: none; }
.nis-footer__m { padding: 20px 16px 28px; display: flex; flex-direction: column; gap: 10px; }
.nis-footer__logo { font-size: 20px; font-weight: 700; }
.nis-footer__logo span { font-weight: 500; color: var(--text-3); }
.nis-footer__logo--m { font-size: 16px; }
.nis-footer__links { display: flex; flex-wrap: wrap; gap: 6px 16px; font-size: 13px; color: var(--text-2); }
.nis-footer__links a:hover, .nis-footer__col a:hover { color: var(--accent); }
.nis-footer__legal--m { font-size: 12px; color: var(--text-3); }
@media (min-width: 768px) {
	.nis-footer { margin-top: 56px; padding: 44px 0 28px; }
	.nis-footer__d { display: block; }
	.nis-footer__m { display: none; }
	.nis-footer__grid { display: grid; grid-template-columns: minmax(0, 1.4fr) repeat(4, minmax(0, 1fr)); gap: 40px; padding: 0 16px; }
	.nis-footer__brand { display: flex; flex-direction: column; gap: 10px; }
	.nis-footer__about { font-size: 14px; line-height: 1.55; color: var(--text-2); }
	.nis-footer__col { display: flex; flex-direction: column; gap: 8px; font-size: 14px; color: var(--text-2); }
	.nis-footer__col b { color: var(--text); margin-bottom: 4px; }
	.nis-footer__legal { margin-top: 28px; padding: 18px 16px 0; border-top: 1px solid var(--border); font-size: 12px; color: var(--text-3); }
}
@media (min-width: 768px) and (max-width: 1023px) { .nis-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.nis-bnav { position: fixed; left: 0; right: 0; bottom: 0; z-index: 60; height: calc(var(--nav-m) + env(safe-area-inset-bottom, 0px)); padding-bottom: env(safe-area-inset-bottom, 0px); display: flex; border-top: 1px solid var(--border); background: #FFFFFF; }
.nis-bnav__tab { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; color: var(--muted); }
.nis-bnav__pill { width: 54px; height: 28px; border-radius: 14px; display: flex; align-items: center; justify-content: center; background: transparent; transition: background 200ms ease; }
.nis-bnav__label { font-size: 11px; font-weight: 500; }
.nis-bnav__tab[aria-current="page"] { color: var(--accent); }
.nis-bnav__tab[aria-current="page"] .nis-bnav__pill { background: var(--tint); }
.nis-bnav__tab[aria-current="page"] .nis-bnav__label { font-weight: 700; }
@media (min-width: 768px) { .nis-bnav { display: none; } }

/* ---------- Onboarding ---------- */
.nis-onb { position: fixed; left: 0; right: 0; bottom: 0; top: var(--head-m); z-index: 70; background: var(--bg); overflow-y: auto; }
.nis-onb__dialog { min-height: 100%; padding: 24px 16px 20px; display: flex; flex-direction: column; outline: none; }
.nis-onb__title { margin: 8px 0 0; font-size: 26px; line-height: 1.25; font-weight: 700; }
.nis-onb__lede { margin: 8px 0 0; font-size: 15px; line-height: 1.5; color: var(--text-3); }
.nis-onb__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 20px; }
.nis-onb__opt { min-height: 52px; display: flex; align-items: center; gap: 10px; padding: 8px 12px; border-radius: var(--r); border: 1px solid var(--border); background: #FFFFFF; text-align: left; cursor: pointer; color: var(--text); transition: background 150ms ease; }
.nis-onb__ic { color: var(--text-3); }
.nis-onb__name { flex: 1; font-size: 13px; font-weight: 600; line-height: 1.3; }
.nis-onb__check { display: none; color: var(--accent); }
.nis-onb__opt[aria-pressed="true"] { background: var(--tint); border-color: var(--accent); }
.nis-onb__opt[aria-pressed="true"] .nis-onb__ic { color: var(--accent); }
.nis-onb__opt[aria-pressed="true"] .nis-onb__check { display: block; }
.nis-onb__actions { margin-top: auto; padding-top: 20px; display: flex; flex-direction: column-reverse; gap: 4px; }
.nis-onb__finish { width: 100%; height: 48px; }
.nis-onb__skip { width: 100%; height: 44px; border: 0; background: none; font-size: 14px; font-weight: 600; color: var(--text-3); cursor: pointer; }
body.nis-onb-open { overflow: hidden; }
@media (min-width: 768px) {
	.nis-onb { top: 0; background: rgba(31, 41, 55, 0.35); display: flex; justify-content: center; align-items: flex-start; padding: 48px 16px; }
	.nis-onb__dialog { width: 760px; max-width: 100%; min-height: 0; padding: 36px; border-radius: 16px; background: #FFFFFF; border: 1px solid var(--border); gap: 14px; }
	.nis-onb__title { margin: 0; font-size: 32px; }
	.nis-onb__lede { margin: 0; font-size: 16px; }
	.nis-onb__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 8px; }
	.nis-onb__opt { min-height: 56px; padding: 8px 14px; }
	.nis-onb__name { font-size: 14px; }
	.nis-onb__actions { flex-direction: row; justify-content: space-between; align-items: center; margin-top: 10px; padding-top: 0; }
	.nis-onb__finish { width: auto; padding: 0 28px; }
	.nis-onb__skip { width: auto; height: 46px; padding: 0 16px; font-size: 15px; }
}

/* ---------- Toast ---------- */
.nis-toast { position: fixed; left: 16px; right: 16px; bottom: calc(var(--nav-m) + 14px + env(safe-area-inset-bottom, 0px)); z-index: 80; padding: 12px 14px; border-radius: var(--r); background: var(--text); color: #FFFFFF; font-size: 13px; line-height: 1.45; }
@media (min-width: 768px) { .nis-toast { left: 50%; right: auto; bottom: 24px; transform: translateX(-50%); max-width: 560px; padding: 12px 18px; font-size: 14px; } }

/* ---------- Motion preferences ---------- */
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; scroll-behavior: auto !important; }
	.nis-live__track, .nis-dmarq__track { animation: none !important; transform: none !important; }
	.nis-live__view, .nis-dmarq__view { overflow-x: auto; scrollbar-width: none; }
	.nis-live__set[aria-hidden="true"], .nis-dmarq__track > [aria-hidden="true"] { display: none; }
	.nis-dmarq__track { padding-right: 16px; }
}

/* ---------- SEO pass: breadcrumb, byline, contents, FAQ, sources ---------- */
.nis-crumbs__l { display: flex; flex-wrap: wrap; align-items: center; gap: 4px; margin: 0; padding: 0; list-style: none; min-width: 0; width: 100%; }
.nis-crumbs__l li { display: inline-flex; align-items: center; gap: 4px; min-width: 0; }
.nis-crumbs__cur { flex: 1 1 120px; }
.nis-crumbs__cur span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--text-3); }
.nis-byline__line { font-size: 13px; color: var(--text-3); }
.nis-byline__line .nis-byline__name { font-size: 13px; }
.nis-aidisc { display: flex; align-items: flex-start; gap: 8px; margin: -4px 0 0; font-size: 12px; line-height: 1.45; color: var(--text-3); }
.nis-aidisc .nis-ic { margin-top: 1px; }
.nis-aidisc a { color: var(--accent); font-weight: 600; text-decoration: underline; text-decoration-color: var(--tint); text-decoration-thickness: 2px; text-underline-offset: 3px; }
.nis-aidisc a:hover { text-decoration-color: var(--accent); }
.nis-box--qa { background: var(--band); border-color: var(--tint); }
.nis-toc { border-radius: var(--r); background: #FFFFFF; border: 1px solid var(--border); }
.nis-toc__s { min-height: 46px; display: flex; align-items: center; gap: 8px; padding: 10px 14px; cursor: pointer; list-style: none; }
.nis-toc__s::-webkit-details-marker { display: none; }
.nis-toc__t { font-size: 15px; font-weight: 700; }
.nis-toc__n { flex: 1; font-size: 12px; color: var(--muted); }
.nis-toc__ic { color: var(--muted); transition: transform 200ms ease; }
.nis-toc__d[open] .nis-toc__ic { transform: rotate(180deg); }
.nis-toc__l { margin: 0; padding: 0 14px 14px 34px; display: flex; flex-direction: column; gap: 8px; font-size: 14px; line-height: 1.4; color: var(--text-2); }
.nis-toc__l li::marker { color: var(--accent); font-weight: 600; }
.nis-toc__l a:hover { color: var(--accent); text-decoration: underline; }
.nis-toc__sub { margin: 6px 0 0; padding: 0; list-style: none; display: flex; flex-wrap: wrap; gap: 4px 14px; font-size: 13px; color: var(--text-3); }
.nis-faq { gap: 10px; }
.nis-faq__item { padding: 12px 14px; border-radius: var(--r); background: #FFFFFF; border: 1px solid var(--border); display: flex; flex-direction: column; gap: 4px; }
.nis-faq__q { margin: 0; font-size: 15px; line-height: 1.4; font-weight: 700; }
.nis-faq__a { margin: 0; font-size: 14px; line-height: 1.55; color: var(--text-2); }
.nis-srclist { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 6px; }
.nis-src__txt { display: flex; flex-wrap: wrap; align-items: center; gap: 2px 8px; min-width: 0; }
.nis-src__txt a { overflow-wrap: anywhere; }
.nis-src__acc { font-size: 12px; color: var(--muted); }
.nis-art__body h2[id] { scroll-margin-top: calc(var(--head-m) + 12px); }
@media (min-width: 768px) {
	.nis-crumbs__l { gap: 6px; }
	.nis-crumbs__l li { gap: 6px; }
	.nis-byline__line, .nis-byline__line .nis-byline__name { font-size: 14px; }
	.nis-aidisc { margin-top: -8px; font-size: 13px; }
	.nis-toc__s { padding: 12px 18px; }
	.nis-toc__t { font-size: 16px; }
	.nis-toc__l { padding: 0 18px 16px 38px; font-size: 15px; gap: 9px; }
	.nis-art__body h2[id] { scroll-margin-top: calc(var(--head-d) + 12px); }
	.nis-faq__item { padding: 14px 18px; gap: 6px; }
	.nis-faq__q { font-size: 17px; }
	.nis-faq__a { font-size: 16px; line-height: 1.6; }
	.nis-artwrap--explainer .nis-artside { align-self: stretch; }
	.nis-toc--side { position: sticky; top: calc(var(--head-d) + 16px); max-height: calc(100vh - var(--head-d) - 32px); overflow-y: auto; }
	.nis-toc--side .nis-toc__s { cursor: default; }
	.nis-toc--side .nis-toc__ic { display: none; }
	.nis-toc--side .nis-toc__l { font-size: 14px; }
}

/* ---------- SEO pass: entity hub and storyline contents ---------- */
@media (max-width: 767px) {
	.nis-on1 { order: -1; }
	.nis-on2 { order: -2; }
}
.nis-profile { padding: 14px 16px; border-radius: var(--r); background: #FFFFFF; border: 1px solid var(--border); }
.nis-profile__asof { margin: 0; font-size: 12px; font-weight: 600; color: var(--muted); }
.nis-profile__body { display: flex; flex-direction: column; gap: 8px; font-size: 15px; line-height: 1.6; }
.nis-profile__body > * { margin: 0; }
.nis-profile__body h2, .nis-profile__body h3 { font-size: 16px; font-weight: 700; }
.nis-tlyear { display: flex; flex-direction: column; gap: 10px; }
.nis-tlyear + .nis-tlyear { margin-top: 6px; }
.nis-tlyear__h { margin: 0; font-size: 15px; font-weight: 700; color: var(--text-2); }
.nis-kft { width: 100%; border-collapse: collapse; border-radius: var(--r); background: #FFFFFF; border: 1px solid var(--border); border-style: hidden; box-shadow: 0 0 0 1px var(--border); font-size: 14px; }
.nis-kft th, .nis-kft td { padding: 9px 12px; border-bottom: 1px solid var(--border); text-align: left; vertical-align: top; }
.nis-kft tr:last-child th, .nis-kft tr:last-child td { border-bottom: 0; }
.nis-kft th { width: 40%; font-size: 12px; font-weight: 600; color: var(--muted); }
.nis-kft td { font-weight: 600; color: var(--text); overflow-wrap: anywhere; }
@media (min-width: 768px) {
	.nis-profile { padding: 22px 24px; }
	.nis-profile__body { font-size: 17px; line-height: 1.65; gap: 10px; }
	.nis-tlyear__h { font-size: 18px; }
	.nis-ebody__side > .nis-kfacts { padding: 18px; }
	.nis-ebody__side .nis-kft { box-shadow: none; background: none; }
	.nis-ebody__side .nis-kft th, .nis-ebody__side .nis-kft td { padding: 8px 0; }
	.nis-ebody__side .nis-kft th { padding-right: 10px; }
}

/* ---------- SEO pass: pagination, author ---------- */
.nis-chead__pg { margin: 0; font-size: 13px; font-weight: 600; color: var(--text-2); }
.nis-pager--num { flex-wrap: wrap; align-items: center; }
.nis-pager__n { min-width: 40px; height: 40px; padding: 0 10px; display: inline-flex; align-items: center; justify-content: center; border-radius: var(--r); border: 1px solid var(--border); background: #FFFFFF; font-size: 14px; font-weight: 600; color: var(--text); }
a.nis-pager__n:hover { border-color: var(--accent); color: var(--accent); }
.nis-pager__n.is-on { background: var(--accent); border-color: var(--accent); color: #FFFFFF; }
.nis-pager__gap { font-size: 14px; color: var(--muted); }
.nis-author { padding: 18px 16px 32px; display: flex; flex-direction: column; gap: 18px; }
.nis-ahead { display: flex; align-items: center; gap: 14px; }
.nis-ahead__n { font-size: 12px; color: var(--muted); margin-top: 2px; }
.nis-abody { display: flex; flex-direction: column; gap: 18px; }
.nis-abody__main { display: flex; flex-direction: column; gap: 18px; min-width: 0; }
.nis-asec { display: flex; flex-direction: column; gap: 8px; }
.nis-abio { display: flex; flex-direction: column; gap: 8px; font-size: 15px; line-height: 1.6; color: var(--text-2); }
.nis-abio p { margin: 0; }
.nis-alist { display: flex; flex-direction: column; }
.nis-alist .nis-row { border-bottom: 1px solid var(--border); }
.nis-astd { gap: 8px; }
.nis-astd__p { margin: 0 0 4px; font-size: 13px; line-height: 1.5; color: var(--text-3); }
@media (min-width: 768px) {
	.nis-author { padding: 32px 16px 0; gap: 32px; }
	.nis-ahead { padding: 28px; border-radius: var(--r); background: var(--band); gap: 24px; }
	.nis-ahead__n { font-size: 13px; }
	.nis-abody { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: 40px; align-items: start; }
	.nis-abody__main .nis-shead__t--ent { font-size: 22px; }
	.nis-abio { font-size: 17px; line-height: 1.65; }
	.nis-astd { padding: 18px; gap: 10px; }
}
@media (min-width: 768px) and (max-width: 1023px) { .nis-abody { grid-template-columns: minmax(0, 1fr); } }

/* ---------- SEO pass: daily data pages ---------- */
.nis-data { max-width: 880px; padding: 14px 16px 32px; display: flex; flex-direction: column; gap: 18px; }
.nis-data__head { display: flex; flex-direction: column; gap: 8px; }
.nis-data__date { margin: 0; font-size: 13px; color: var(--muted); }
.nis-data__sf { font-size: 15px; }
.nis-stale { background: #FEF3C7; border: 0; }
.nis-stale .nis-box__k { color: #B45309; }
.nis-dsec2 { display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.nis-dtiles { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.nis-dtile { padding: 12px 14px; gap: 3px; color: var(--text); }
.nis-dtile__v { font-size: 24px; font-weight: 700; line-height: 1.2; letter-spacing: -0.01em; overflow-wrap: anywhere; }
.nis-dtile .nis-chg { margin-top: 6px; }
.nis-dtile__src { margin-top: 4px; font-size: 11px; color: var(--muted); }
.nis-dtile__src a { text-decoration: underline; }
a.nis-dtile:hover { border-color: var(--accent); }
a.nis-dtile:hover .nis-gtile__k { color: var(--accent); }
.nis-aqiband { display: flex; align-items: flex-start; gap: 12px; padding: 14px 16px; border-radius: var(--r); background: #FFFFFF; border: 1px solid var(--border); border-left: 4px solid var(--aqc, var(--accent)); }
.nis-aqiband__dot { width: 12px; height: 12px; flex: none; margin-top: 4px; border-radius: 50%; background: var(--aqc, var(--accent)); }
.nis-aqiband__txt { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.nis-aqiband__l { font-size: 15px; font-weight: 700; }
.nis-aqiband__a { margin: 0; font-size: 14px; line-height: 1.5; color: var(--text-2); }
.nis-tablewrap { max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; border-radius: var(--r); border: 1px solid var(--border); background: #FFFFFF; }
.nis-dtable { width: 100%; border-collapse: collapse; font-size: 14px; }
.nis-dtable caption { caption-side: top; padding: 12px 14px 8px; text-align: left; font-size: 12px; color: var(--muted); }
.nis-dtable th, .nis-dtable td { padding: 10px 14px; border-top: 1px solid var(--border); white-space: nowrap; text-align: right; }
.nis-dtable th:first-child { text-align: left; }
.nis-dtable thead th { font-size: 12px; font-weight: 600; color: var(--text-3); background: var(--subtle); }
.nis-dtable tbody th { font-weight: 600; }
.nis-dtable tbody th a { color: var(--accent); }
.nis-dtable tbody th a:hover { text-decoration: underline; }
.nis-chart { margin: 0; padding: 14px 16px; border-radius: var(--r); background: #FFFFFF; border: 1px solid var(--border); display: flex; flex-direction: column; gap: 6px; }
.nis-chart__plot { display: flex; gap: 8px; height: 180px; }
.nis-chart__y { min-width: 44px; display: flex; flex-direction: column; justify-content: space-between; font-size: 11px; line-height: 1; color: var(--muted); text-align: right; }
.nis-chart__box { flex: 1; min-width: 0; }
.nis-chart__svg { display: block; width: 100%; height: 100%; overflow: visible; }
.nis-chart__grid { stroke: var(--border); stroke-width: 1; }
.nis-chart__area { fill: var(--tint); opacity: 0.6; stroke: none; }
.nis-chart__l1 { stroke: var(--accent); stroke-width: 2.5; stroke-linejoin: round; stroke-linecap: round; }
.nis-chart__l2 { stroke: var(--text-3); stroke-width: 2; stroke-dasharray: 5 4; stroke-linejoin: round; }
.nis-chart__x { display: flex; justify-content: space-between; padding-left: 52px; font-size: 11px; color: var(--muted); }
.nis-chart__cap { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 14px; font-size: 12px; color: var(--text-3); }
.nis-chart__key { display: inline-flex; align-items: center; gap: 6px; }
.nis-chart__sw { width: 14px; height: 3px; border-radius: 2px; background: var(--accent); }
.nis-chart__sw--2 { background: var(--text-3); }
.nis-chart__unit { margin-left: auto; color: var(--muted); }
.nis-dstats { margin-top: 2px; }
.nis-chip--all { color: var(--accent); }
.nis-dcards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.nis-dcards .nis-mcard--grid { width: auto; }
.nis-dcards .nis-mcard--grid .nis-mcard__media { height: 104px; }
.nis-data__srcs a { color: var(--accent); text-decoration: underline; }
.nis-data__disc { margin: 4px 0 0; font-size: 12px; }
@media (min-width: 768px) {
	.nis-data { padding: 32px 16px 0; gap: 24px; }
	.nis-data__date { font-size: 14px; }
	.nis-data__sf { font-size: 18px; }
	.nis-dtiles { grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 12px; }
	.nis-dtile { padding: 16px 18px; }
	.nis-dtile__v { font-size: 30px; }
	.nis-chart { padding: 18px 20px; }
	.nis-chart__plot { height: 240px; }
	.nis-chart__y { font-size: 12px; }
	.nis-chart__x { font-size: 12px; }
	.nis-dtable { font-size: 15px; }
	.nis-dcards { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
	.nis-dcards .nis-mcard--grid .nis-mcard__media { height: 120px; }
	.nis-dstats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

/* ---------- SEO pass: footer daily rates ---------- */
.nis-footer__links--rates b { width: 100%; font-size: 12px; font-weight: 700; color: var(--text); }
