/*!
 * Nirwachan Pro — design system
 * One stylesheet for the dashboard, newsroom and embeds.
 *
 *  1. Fonts & tokens          6. Hero & live ribbon
 *  2. Palettes & dark mode    7. Dashboard sections
 *  3. Base & typography       8. Dialogs, tray, dock
 *  4. Controls                9. Newsroom & articles
 *  5. Header & navigation    10. Embeds, motion, print
 */

/* 1. Fonts & tokens ------------------------------------------------------ */
@font-face{font-family:"NTE Devanagari";font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/noto-sans-devanagari-devanagari-400-normal.woff2") format("woff2");unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+25CC,U+A830-A839,U+A8E0-A8FF}
@font-face{font-family:"NTE Devanagari";font-style:normal;font-weight:600;font-display:swap;src:url("../fonts/noto-sans-devanagari-devanagari-600-normal.woff2") format("woff2");unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+25CC,U+A830-A839,U+A8E0-A8FF}
@font-face{font-family:"NTE Devanagari";font-style:normal;font-weight:700;font-display:swap;src:url("../fonts/noto-sans-devanagari-devanagari-700-normal.woff2") format("woff2");unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+25CC,U+A830-A839,U+A8E0-A8FF}
@font-face{font-family:"NTE Display";font-style:normal;font-weight:700;font-display:swap;src:url("../fonts/mukta-devanagari-700-normal.woff2") format("woff2");unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+25CC,U+A830-A839,U+A8E0-A8FF}
@font-face{font-family:"NTE Display";font-style:normal;font-weight:700;font-display:swap;src:url("../fonts/mukta-latin-700-normal.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

:root{
  --nte-font:"NTE Devanagari",system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue","Nirmala UI",sans-serif;
  --nte-display:"NTE Display","NTE Devanagari",system-ui,-apple-system,"Segoe UI",sans-serif;
  --nte-mono:ui-monospace,"SFMono-Regular",Menlo,Consolas,monospace;

  /* Brand (Evergreen palette by default). */
  --nte-brand:#0f9f94;
  --nte-brand-ink:#0a7168;
  --nte-brand-soft:#e2f5f2;
  --nte-accent:#d6283a;
  --nte-accent-soft:#fde8ea;
  --nte-hero-a:#0d4a52;
  --nte-hero-b:#07111d;
  --nte-glow-a:#36e0cf;
  --nte-glow-b:#ff5a6a;
  --nte-glow-c:#3f7bff;

  /* Neutrals. */
  --nte-ink:#0d1b2a;
  --nte-ink-2:#2a3b4d;
  --nte-muted:#56687b;
  --nte-faint:#627283;
  --nte-bg:#f3f5f8;
  --nte-surface:#ffffff;
  --nte-surface-2:#f6f8fa;
  --nte-surface-3:#edf1f5;
  --nte-line:#e3e8ee;
  --nte-line-strong:#cdd6e0;
  --nte-night:#07111d;

  /* Status. Raw colours for dots, bars and borders; *-ink is text-safe (AA) on surfaces and soft fills;
     *-solid is a pill fill that carries --nte-on-solid text at AA. */
  --nte-live:#e5293c;
  --nte-live-ink:#c81e33;
  --nte-live-soft:#fdeaec;
  --nte-live-solid:#c81e33;
  --nte-amber:#d98a0b;
  --nte-amber-ink:#975400;
  --nte-amber-soft:#fff3dc;
  --nte-amber-solid:#b45309;
  --nte-green:#119a4f;
  --nte-green-ink:#0b7a3e;
  --nte-green-soft:#e2f6ea;
  --nte-green-solid:#0b7a3e;
  --nte-pending:#627283;
  --nte-on-solid:#ffffff;
  /* Text tinted with a party colour: color-mix(in srgb,var(--party) var(--nte-tone),var(--nte-ink)). */
  --nte-tone:65%;

  /* Shape & depth. */
  --nte-radius-sm:10px;
  --nte-radius:14px;
  --nte-radius-lg:20px;
  --nte-pill:999px;
  --nte-shadow-xs:0 1px 2px rgb(13 27 42/.05);
  --nte-shadow-sm:0 1px 2px rgb(13 27 42/.04),0 4px 12px -4px rgb(13 27 42/.08);
  --nte-shadow:0 2px 4px rgb(13 27 42/.04),0 14px 30px -12px rgb(13 27 42/.16);
  --nte-shadow-lg:0 30px 70px -28px rgb(8 18 32/.42);

  /* Rhythm. */
  --nte-shell:1320px;
  --nte-gutter:clamp(16px,3.6vw,32px);
  --nte-section-gap:clamp(28px,4vw,48px);
  --nte-head-gap:clamp(12px,1.4vw,16px);
  --nte-card-pad:clamp(16px,1.6vw,20px);
  --nte-ease:cubic-bezier(.2,.8,.2,1);
}
/* Derived from the palette, so they are declared where the palette classes live (body). */
body{
  --nte-ring:0 0 0 3px color-mix(in srgb,var(--nte-brand) 30%,transparent);
  /* Fill for brand buttons with white text: the bright brand is mixed toward its ink until AA. */
  --nte-brand-solid:color-mix(in srgb,var(--nte-brand) 30%,var(--nte-brand-ink));
  --nte-on-brand:#ffffff;
}

/* 2. Palettes & dark mode ----------------------------------------------- */
body.nte-palette-nepal{--nte-brand:#c8102e;--nte-brand-ink:#9d0c24;--nte-brand-soft:#fde7eb;--nte-accent:#003893;--nte-accent-soft:#e3ebfb;--nte-hero-a:#0d2f78;--nte-hero-b:#060f2a;--nte-glow-a:#ff4d6a;--nte-glow-b:#4d86ff;--nte-glow-c:#ffffff}
body.nte-palette-blue{--nte-brand:#2f5fd0;--nte-brand-ink:#2347a3;--nte-brand-soft:#e8eefd;--nte-accent:#e8483f;--nte-accent-soft:#fdeceb;--nte-hero-a:#1b3a85;--nte-hero-b:#0b1430;--nte-glow-a:#6f9bff;--nte-glow-b:#ff7a6e;--nte-glow-c:#7ce3ff}
body.nte-palette-plum{--nte-brand:#8a4cc2;--nte-brand-ink:#6d3a9b;--nte-brand-soft:#f3ebfb;--nte-accent:#ef5d60;--nte-accent-soft:#fdecec;--nte-hero-a:#4b2a72;--nte-hero-b:#170e26;--nte-glow-a:#c08bff;--nte-glow-b:#ff7f9f;--nte-glow-c:#6fd8ff}
body.nte-palette-emerald{--nte-brand:#14945a;--nte-brand-ink:#0e6e43;--nte-brand-soft:#e2f5ea;--nte-accent:#f0a020;--nte-accent-soft:#fff3dd;--nte-hero-a:#0f4a35;--nte-hero-b:#06150f;--nte-glow-a:#4fe39a;--nte-glow-b:#ffc35a;--nte-glow-c:#5ac8ff}

[data-nte-mode=dark]{
  color-scheme:dark;
  --nte-ink:#e9eff6;
  --nte-ink-2:#c6d2df;
  --nte-muted:#97a9bc;
  --nte-faint:#8094a8;
  --nte-bg:#060d16;
  --nte-surface:#0c1724;
  --nte-surface-2:#101e2e;
  --nte-surface-3:#142538;
  --nte-line:#1b2b3d;
  --nte-line-strong:#29405a;
  --nte-live-ink:#ff8090;
  --nte-live-soft:rgb(229 41 60/.18);
  --nte-live-solid:#ff7a88;
  --nte-amber-ink:#f5b94a;
  --nte-amber-soft:rgb(217 138 11/.16);
  --nte-amber-solid:#f5b94a;
  --nte-green-ink:#5ad995;
  --nte-green-soft:rgb(17 154 79/.18);
  --nte-green-solid:#4fd68a;
  --nte-pending:#8094a8;
  --nte-on-solid:#07131c;
  --nte-tone:60%;
  --nte-shadow-xs:0 1px 2px rgb(0 0 0/.4);
  --nte-shadow-sm:0 1px 2px rgb(0 0 0/.35),0 6px 18px -8px rgb(0 0 0/.55);
  --nte-shadow:0 1px 2px rgb(0 0 0/.35),0 18px 40px -16px rgb(0 0 0/.7);
}
/* Dark brands are bright, so brand fills carry dark ink instead of white. */
[data-nte-mode=dark] body{--nte-brand:#2fc7b9;--nte-brand-ink:#5fd9cd;--nte-brand-soft:rgb(47 199 185/.14);--nte-accent-soft:rgb(214 40 58/.18);--nte-brand-solid:var(--nte-brand);--nte-on-brand:#07131c}
[data-nte-mode=dark] body.nte-palette-nepal{--nte-brand:#ff5a72;--nte-brand-ink:#ff8597;--nte-brand-soft:rgb(255 90 114/.14);--nte-accent:#7aa5ff}
[data-nte-mode=dark] body.nte-palette-blue{--nte-brand:#82a6ff;--nte-brand-ink:#a9c1ff;--nte-brand-soft:rgb(130 166 255/.15)}
[data-nte-mode=dark] body.nte-palette-plum{--nte-brand:#c99bf5;--nte-brand-ink:#dcbcfa;--nte-brand-soft:rgb(201 155 245/.15)}
[data-nte-mode=dark] body.nte-palette-emerald{--nte-brand:#4fd690;--nte-brand-ink:#80e3b0;--nte-brand-soft:rgb(79 214 144/.14)}
/* Custom palette (any colour the editor picks): a fill that stays AA with its text even for light brands. */
body.nte-palette-custom{--nte-brand-solid:color-mix(in srgb,var(--nte-brand) 52%,#000)}
[data-nte-mode=dark] body.nte-palette-custom{--nte-brand-solid:color-mix(in srgb,var(--nte-brand) 75%,#fff)}

body.nte-width-focused{--nte-shell:1160px}
body.nte-density-compact{--nte-section-gap:clamp(22px,3vw,36px);--nte-card-pad:14px}
html:has(> body.nte-text-large){font-size:106.25%}
html:has(> body.nte-readable){font-size:112.5%}
html:has(> body.nte-text-large.nte-readable){font-size:118.75%}

/* 3. Base & typography -------------------------------------------------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:72px}
body{margin:0;background:var(--nte-bg);color:var(--nte-ink);font:400 1rem/1.7 var(--nte-font);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;overflow-x:hidden}
img,svg,video{max-width:100%;height:auto}
svg{flex-shrink:0}
a{color:var(--nte-brand-ink);text-decoration:none;text-underline-offset:3px}
a:hover{text-decoration:underline}
h1,h2,h3,h4{font-family:var(--nte-display);font-weight:700;line-height:1.3;color:var(--nte-ink);margin:0 0 .4em}
h1{font-size:clamp(1.9rem,3.6vw,2.9rem);line-height:1.2}
h2{font-size:clamp(1.35rem,1.9vw,1.65rem)}
h3{font-size:1.125rem}
p{margin:0 0 1em}
small{font-size:.8125rem}
kbd{font:600 .72rem/1 var(--nte-mono);padding:4px 6px;border-radius:6px;border:1px solid var(--nte-line-strong);border-bottom-width:2px;background:var(--nte-surface);color:var(--nte-muted)}
[hidden]{display:none!important}
/* Focus: an opaque 2px ring in the text-safe brand ink (AA against surfaces in every palette, light and dark). */
:focus-visible{outline:2px solid var(--nte-brand-ink);outline-offset:2px;border-radius:6px}
::selection{background:color-mix(in srgb,var(--nte-brand) 25%,transparent)}
.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.nte-skip{position:fixed;left:16px;top:-80px;z-index:1000;background:var(--nte-brand-solid);color:var(--nte-on-brand);box-shadow:var(--nte-shadow);padding:10px 16px;border-radius:10px;font-weight:700;transition:top .2s}
.nte-skip:focus{top:12px}
.nte-shell{width:100%;max-width:calc(var(--nte-shell) + var(--nte-gutter)*2);margin-inline:auto;padding-inline:var(--nte-gutter)}
.nte-muted{color:var(--nte-muted)}
/* Eyebrows: Devanagari is never letter-spaced (it breaks the shirorekha); only Latin marked lang="en" is tracked. */
.nte-eyebrow{display:inline-flex;align-items:center;flex-wrap:wrap;gap:4px 8px;margin:0 0 6px;font:700 .8125rem/1.35 var(--nte-font);letter-spacing:0;text-transform:none;color:var(--nte-brand-ink)}
.nte-eyebrow::before{content:"";width:16px;height:3px;border-radius:3px;background:currentColor}
.nte-eyebrow[lang|=en],.nte-eyebrow [lang|=en]{font-size:.6875rem;letter-spacing:.14em;text-transform:uppercase}
.nte-eyebrow-light{color:color-mix(in srgb,var(--nte-glow-a) 55%,#fff)}
.nte-eyebrow-hot{color:var(--nte-live-ink)}
.nte-empty{padding:28px;text-align:center;color:var(--nte-muted);background:var(--nte-surface);border:1px dashed var(--nte-line-strong);border-radius:var(--nte-radius);margin:0}
.nte-empty-large{padding:56px 24px}
.nte-empty-large .nte-site-search{max-width:520px;margin:18px auto}

/* 4. Controls ----------------------------------------------------------- */
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
button:disabled{opacity:.5;cursor:not-allowed}
.nte-dashboard button,.nte-dialog button,.nte-header button,.nte-compare-tray button,.nte-share button,.nte-site-search button,.nte-posts button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:40px;padding:8px 15px;border:1px solid var(--nte-line-strong);border-radius:var(--nte-radius-sm);background:var(--nte-surface);color:var(--nte-ink);font:600 .875rem/1.2 var(--nte-font);transition:background .15s,border-color .15s,color .15s,box-shadow .15s,transform .15s}
.nte-dashboard button:hover,.nte-dialog button:hover,.nte-share button:hover{border-color:var(--nte-brand);background:var(--nte-brand-soft);color:var(--nte-brand-ink)}
.nte-dashboard button svg,.nte-dialog button svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.nte-dashboard input:not([type=checkbox]):not([type=radio]),.nte-dashboard select,.nte-dialog input,.nte-site-search input{width:100%;min-height:44px;padding:9px 13px;border:1px solid var(--nte-line-strong);border-radius:var(--nte-radius-sm);background:var(--nte-surface);color:var(--nte-ink);font:500 .9375rem/1.3 var(--nte-font);transition:border-color .15s,box-shadow .15s}
.nte-dashboard select{appearance:none;padding-right:36px;background-image:linear-gradient(45deg,transparent 50%,var(--nte-muted) 50%),linear-gradient(135deg,var(--nte-muted) 50%,transparent 50%);background-position:calc(100% - 18px) 52%,calc(100% - 13px) 52%;background-size:5px 5px;background-repeat:no-repeat}
.nte-dashboard input:focus,.nte-dashboard select:focus,.nte-dialog input:focus,.nte-site-search input:focus{outline:none;border-color:var(--nte-brand);box-shadow:var(--nte-ring)}
.nte-dashboard :is(input,select):focus-visible,.nte-dialog :is(input,select):focus-visible{outline:2px solid var(--nte-brand-ink);outline-offset:1px;border-color:var(--nte-brand-ink)}
.nte-dashboard label{display:grid;gap:6px;font:600 .75rem/1.3 var(--nte-font);color:var(--nte-muted);letter-spacing:0}
.nte-button,a.nte-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 22px;border-radius:var(--nte-pill);border:0;background:var(--nte-brand-solid);color:var(--nte-on-brand);font:700 .9375rem/1.2 var(--nte-font);text-decoration:none;box-shadow:0 6px 16px -10px var(--nte-brand);transition:transform .15s,filter .15s,box-shadow .15s}
.nte-button:hover{color:var(--nte-on-brand);text-decoration:none;filter:brightness(1.08);transform:translateY(-1px);box-shadow:0 10px 22px -12px var(--nte-brand)}
.nte-dashboard .nte-link-btn,.nte-link-btn{min-height:0;padding:6px 2px;border:0;background:none;color:var(--nte-brand-ink);font:700 .875rem/1.2 var(--nte-font)}
.nte-dashboard .nte-link-btn:hover,.nte-link-btn:hover{background:none;color:var(--nte-brand-ink);text-decoration:underline}
.nte-dashboard .nte-more-btn{display:flex;margin:20px auto 0;min-width:240px;border-radius:var(--nte-pill);border-color:color-mix(in srgb,var(--nte-brand) 55%,var(--nte-line));color:var(--nte-brand-ink);background:var(--nte-surface)}
.nte-dashboard .nte-more-btn:hover{background:var(--nte-brand-solid);border-color:var(--nte-brand-solid);color:var(--nte-on-brand)}
.nte-count-pill{display:inline-flex;align-items:center;min-height:28px;padding:3px 12px;border-radius:var(--nte-pill);background:var(--nte-brand-soft);color:var(--nte-brand-ink);font:700 .8125rem/1.2 var(--nte-font);font-variant-numeric:tabular-nums;white-space:nowrap}
.nte-count-pill:empty{display:none}

/* Segmented controls & pressed states. */
.nte-tabs,.nte-kind-tabs,.nte-omni-types,.nte-editorial-tablist{display:inline-flex;flex-wrap:wrap;gap:4px;padding:4px;border-radius:13px;background:var(--nte-surface-3);border:1px solid var(--nte-line)}
.nte-dashboard .nte-tabs button,.nte-kind-tabs button,.nte-dialog .nte-omni-types button,.nte-dialog .nte-editorial-tablist button,.nte-dashboard .nte-editorial-tablist button{min-height:36px;padding:7px 14px;border:0;border-radius:10px;background:transparent;color:var(--nte-muted);box-shadow:none}
.nte-dashboard .nte-tabs button[aria-pressed=true],.nte-kind-tabs button[aria-pressed=true],.nte-dialog .nte-omni-types button[aria-pressed=true],.nte-dialog .nte-editorial-tablist button[aria-pressed=true]{background:var(--nte-surface);color:var(--nte-brand-ink);box-shadow:var(--nte-shadow-sm)}
.nte-dashboard .nte-tabs button:hover,.nte-kind-tabs button:hover{background:color-mix(in srgb,var(--nte-surface) 60%,transparent);color:var(--nte-ink)}
[data-nte-mode=dark] .nte-dashboard .nte-tabs button[aria-pressed=true],[data-nte-mode=dark] .nte-kind-tabs button[aria-pressed=true],[data-nte-mode=dark] .nte-dialog .nte-omni-types button[aria-pressed=true],[data-nte-mode=dark] .nte-dialog .nte-editorial-tablist button[aria-pressed=true]{background:var(--nte-surface-2)}

/* Status badges. */
/* Status: विजयी / अन्तिम = green, अग्रता = amber, मतगणना जारी = live red (pulsing), बाँकी = grey. */
.nte-badge{display:inline-flex;align-items:center;gap:6px;flex-shrink:0;height:24px;padding:0 10px;border-radius:var(--nte-pill);font:700 .75rem/1 var(--nte-font);white-space:nowrap;background:var(--nte-surface-3);color:var(--nte-muted);box-shadow:inset 0 0 0 1px color-mix(in srgb,currentColor 18%,transparent);margin:0}
.nte-badge::before{content:"";position:relative;width:7px;height:7px;border-radius:50%;background:currentColor;flex-shrink:0}
.nte-badge.nte-counting{background:var(--nte-live-soft);color:var(--nte-live-ink)}
.nte-badge.nte-counting::before{background:var(--nte-live);box-shadow:0 0 0 0 color-mix(in srgb,var(--nte-live) 55%,transparent);animation:nte-live-dot 1.6s var(--nte-ease) infinite}
.nte-badge.nte-final{background:var(--nte-green-soft);color:var(--nte-green-ink)}
.nte-badge.nte-final::before{content:"✓";width:auto;height:auto;background:none;font-size:.75rem;line-height:1}

/* 5. Header & navigation ------------------------------------------------ */
.nte-progress{position:fixed;inset:0 0 auto;height:3px;z-index:200;pointer-events:none}
.nte-progress span{display:block;height:100%;transform:scaleX(0);transform-origin:left;background:linear-gradient(90deg,var(--nte-brand),var(--nte-glow-c),var(--nte-accent))}
.nte-demo-banner{background:repeating-linear-gradient(-45deg,#ffd76a,#ffd76a 14px,#ffcf4f 14px,#ffcf4f 28px);color:#3d2a00;text-align:center;font:700 .8125rem/1.4 var(--nte-font);padding:7px 16px}
.nte-topline{background:var(--nte-night);color:rgb(255 255 255/.78);font-size:.75rem;line-height:1}
.nte-topline .nte-shell{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:36px}
.nte-topline-tag{display:inline-flex;align-items:center;gap:8px;font-weight:600}
.nte-topline-tag b{color:var(--nte-glow-a)}
.nte-clock{font-variant-numeric:tabular-nums;white-space:nowrap;opacity:.9}
.nte-pulse{position:relative;display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--nte-live);flex-shrink:0}
.nte-pulse::after{content:"";position:absolute;inset:-4px;border-radius:50%;border:2px solid var(--nte-live);animation:nte-ping 1.8s var(--nte-ease) infinite}

.nte-header{position:relative;z-index:60;background:var(--nte-surface);border-bottom:1px solid var(--nte-line)}
.nte-header-inner{display:flex;align-items:center;gap:22px;min-height:72px}
.nte-brand-wrap{flex-shrink:0;min-width:0}
.nte-brand{display:flex;align-items:center;gap:12px;color:var(--nte-ink);text-decoration:none}
.nte-brand:hover{text-decoration:none}
.custom-logo-link img{display:block;max-height:56px;width:auto}
.nte-logo{position:relative;display:inline-grid;place-items:center;width:44px;height:44px;border-radius:13px;background:conic-gradient(from 210deg,var(--nte-brand),var(--nte-glow-c),var(--nte-accent),var(--nte-brand));color:#fff;font:700 1.5rem/1 var(--nte-display);box-shadow:0 10px 24px -12px var(--nte-brand);flex-shrink:0}
.nte-logo::before{content:"";position:absolute;inset:2px;border-radius:11px;background:linear-gradient(150deg,var(--nte-brand),var(--nte-brand-ink))}
.nte-logo{isolation:isolate}
.nte-logo::before{z-index:-1}
.nte-logo>span{position:absolute;right:-3px;bottom:-3px;width:14px;height:14px;border-radius:50%;background:var(--nte-live);border:3px solid var(--nte-surface)}
/* Dark mode brands are bright: the glyph takes the dark on-brand ink (AA), as on every brand fill. */
[data-nte-mode=dark] .nte-logo{color:var(--nte-on-brand)}
.nte-brand-text{display:grid;line-height:1.15;min-width:0}
.nte-brand-text b{font:700 1.375rem/1.2 var(--nte-display);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nte-brand-text small{font-size:.75rem;font-weight:600;color:var(--nte-muted);white-space:nowrap}
.nte-brand-text small [lang|=en]{font-size:.625rem;letter-spacing:.12em;text-transform:uppercase}
.nte-primary-nav{flex:1;min-width:0}
.nte-primary-nav ul{list-style:none;margin:0;padding:0;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:2px}
.nte-primary-nav li{position:relative}
.nte-primary-nav a{display:block;padding:9px 13px;border-radius:10px;color:var(--nte-ink-2);font:600 .9375rem/1.3 var(--nte-font);text-decoration:none}
.nte-primary-nav a:hover,.nte-primary-nav .current-menu-item>a:not([href*="#"]),.nte-primary-nav .current_page_item>a,.nte-primary-nav .current-menu-ancestor>a{background:var(--nte-brand-soft);color:var(--nte-brand-ink)}
.nte-primary-nav .menu-item-has-children>a::after{content:"";display:inline-block;width:6px;height:6px;margin:0 0 3px 8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);opacity:.6}
.nte-primary-nav .sub-menu{position:absolute;top:100%;left:0;z-index:70;display:grid;min-width:220px;padding:8px;background:var(--nte-surface);border:1px solid var(--nte-line);border-radius:14px;box-shadow:var(--nte-shadow);opacity:0;visibility:hidden;transform:translateY(6px);transition:.18s var(--nte-ease)}
.nte-primary-nav li:hover>.sub-menu,.nte-primary-nav li:focus-within>.sub-menu{opacity:1;visibility:visible;transform:none}
.nte-header-actions{display:flex;align-items:center;gap:8px;margin-left:auto;flex-shrink:0}
.nte-header .nte-icon-btn{width:42px;height:42px;min-height:42px;padding:0;border-radius:50%;border:1px solid var(--nte-line);background:var(--nte-surface-2);color:var(--nte-ink-2)}
.nte-header .nte-icon-btn:hover{border-color:var(--nte-brand);color:var(--nte-brand-ink);background:var(--nte-brand-soft)}
.nte-icon-btn svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.nte-icon-sun{display:none}
[data-nte-mode=dark] .nte-icon-sun{display:block}
[data-nte-mode=dark] .nte-icon-moon{display:none}
.nte-edition{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:0 18px;border-radius:var(--nte-pill);background:var(--nte-brand-solid);color:var(--nte-on-brand);font:700 .875rem/1 var(--nte-font);white-space:nowrap;text-decoration:none;box-shadow:0 6px 16px -10px var(--nte-brand);transition:transform .15s,filter .15s}
.nte-edition:hover{color:var(--nte-on-brand);text-decoration:none;filter:brightness(1.08);transform:translateY(-1px)}
.nte-edition b{font-weight:700}
.nte-header-search{border-top:1px solid var(--nte-line);padding:14px 0;background:var(--nte-surface-2)}
.nte-header-search .nte-site-search{max-width:640px;margin-inline:auto}

.nte-section-nav{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--nte-surface) 86%,transparent);backdrop-filter:saturate(1.6) blur(14px);-webkit-backdrop-filter:saturate(1.6) blur(14px);border-bottom:1px solid var(--nte-line)}
.nte-section-nav .nte-shell{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;scroll-snap-type:x proximity}
.nte-section-nav .nte-shell::-webkit-scrollbar{display:none}
.nte-section-nav a{position:relative;flex-shrink:0;padding:14px 13px 13px;color:var(--nte-ink-2);font:600 .875rem/1.1 var(--nte-font);white-space:nowrap;text-decoration:none;scroll-snap-align:start;transition:color .15s}
.nte-section-nav a:hover{color:var(--nte-brand-ink);text-decoration:none}
.nte-section-nav a:focus-visible{outline-offset:-3px}
.nte-section-nav a::after{content:"";position:absolute;left:12px;right:12px;bottom:-1px;height:3px;border-radius:3px 3px 0 0;background:var(--nte-brand);transform:scaleX(0);transition:transform .25s var(--nte-ease)}
.nte-section-nav a:is([aria-current=true],[aria-current=page]){color:var(--nte-brand-ink);font-weight:700}
.nte-section-nav a:is([aria-current=true],[aria-current=page])::after{transform:scaleX(1)}
body:not(.nte-dashboard-page) .nte-section-nav{position:relative}

@media (min-width:901px){
  .nte-header .nte-menu-toggle{display:none}
}
@media (max-width:1100px){
  .nte-edition{display:none}
}
@media (max-width:900px){
  .nte-header-inner{min-height:66px;gap:12px}
  .nte-navigation-ready .nte-primary-nav{position:absolute;top:100%;left:0;right:0;display:none;padding:12px var(--nte-gutter) 18px;background:var(--nte-surface);border-bottom:1px solid var(--nte-line);box-shadow:var(--nte-shadow)}
  .nte-navigation-ready .nte-primary-nav.is-open{display:block}
  .nte-primary-nav ul{flex-direction:column;align-items:stretch}
  .nte-primary-nav a{padding:12px 14px;font-size:1rem}
  .nte-primary-nav .sub-menu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;padding:0 0 0 14px}
  .nte-logo{width:40px;height:40px;font-size:1.3rem;border-radius:12px}
  .nte-brand-text b{font-size:1.15rem}
}
@media (max-width:560px){
  .nte-brand-text small{display:none}
  .nte-topline-tag b,.nte-topline-tag{font-size:.6875rem}
  .nte-header .nte-icon-btn{width:40px;height:40px;min-height:40px}
}

/* 6. Hero & live ribbon ------------------------------------------------- */
/* No bottom padding: the footer margin is the one gap above the footer on every page. */
.nte-dashboard{padding-top:clamp(18px,2.6vw,30px);padding-bottom:0}
.nte-dashboard:focus{outline:none}
.nte-dashboard>*+*{margin-top:var(--nte-section-gap)}
.nte-dashboard>.nte-live-ribbon,.nte-dashboard>.nte-local-controls,.nte-dashboard>.nte-quick-actions{margin-top:16px}
.nte-dashboard>.nte-turnout,.nte-dashboard>.nte-stats+.nte-turnout{margin-top:clamp(24px,3vw,32px)}

.nte-hero{position:relative;isolation:isolate;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,.95fr);gap:clamp(24px,4vw,56px);align-items:center;padding:clamp(24px,4vw,52px) clamp(22px,4.4vw,56px);border-radius:var(--nte-radius-lg);color:#fff;background:radial-gradient(120% 140% at 0% 0%,var(--nte-hero-a) 0%,transparent 55%),radial-gradient(90% 120% at 100% 100%,color-mix(in srgb,var(--nte-hero-a) 70%,var(--nte-accent)) 0%,transparent 60%),var(--nte-hero-b);box-shadow:var(--nte-shadow-lg)}
.nte-hero::before{content:"";position:absolute;inset:0;z-index:-1;background-image:linear-gradient(rgb(255 255 255/.035) 1px,transparent 1px),linear-gradient(90deg,rgb(255 255 255/.035) 1px,transparent 1px);background-size:44px 44px;mask-image:radial-gradient(80% 90% at 70% 40%,#000 0%,transparent 75%);-webkit-mask-image:radial-gradient(80% 90% at 70% 40%,#000 0%,transparent 75%)}
.nte-aurora{position:absolute;inset:0;z-index:-2;overflow:hidden;pointer-events:none}
.nte-aurora i{position:absolute;border-radius:50%;filter:blur(80px);opacity:.42;animation:nte-float 18s ease-in-out infinite alternate}
.nte-aurora i:nth-child(1){width:46%;aspect-ratio:1;left:-10%;top:-30%;background:var(--nte-glow-a)}
.nte-aurora i:nth-child(2){width:38%;aspect-ratio:1;right:-6%;top:10%;background:var(--nte-glow-b);opacity:.26;animation-duration:22s;animation-delay:-6s}
.nte-aurora i:nth-child(3){width:34%;aspect-ratio:1;left:35%;bottom:-40%;background:var(--nte-glow-c);opacity:.24;animation-duration:26s;animation-delay:-12s}
.nte-hero.nte-paused .nte-aurora i,.nte-hero.nte-paused .nte-orbit{animation-play-state:paused}
.nte-hero-copy{min-width:0}
.nte-hero h1{color:#fff;font-size:clamp(2rem,4vw,3.25rem);line-height:1.15;margin:8px 0 12px;text-wrap:balance}
.nte-hero-sub{max-width:600px;margin:0 0 22px;color:rgb(255 255 255/.8);font-size:clamp(1rem,1.3vw,1.125rem);line-height:1.65}
.nte-live-pill{display:inline-flex;align-items:center;gap:6px;padding:4px 10px 4px 8px;border-radius:var(--nte-pill);background:color-mix(in srgb,var(--nte-live) 85%,#000);color:#fff;font-size:.6875rem;letter-spacing:.12em;line-height:1.2;box-shadow:0 0 0 4px rgb(229 41 60/.22)}
.nte-live-pill i{width:7px;height:7px;border-radius:50%;background:#fff;animation:nte-blink 1.2s infinite}
.nte-eyebrow:has(.nte-live-pill)::before{display:none}
.nte-hero-search{display:flex;align-items:center;gap:10px;max-width:640px;padding:7px 7px 7px 18px;border-radius:var(--nte-pill);background:#fff;box-shadow:0 18px 40px -18px rgb(0 0 0/.6);transition:box-shadow .2s}
.nte-hero :focus-visible{outline-color:#fff}
.nte-hero-search :focus-visible{outline-color:var(--nte-hero-b)}
/* Keyboard focus in the search field: an opaque glow ring around the whole pill (the field itself has no outline). */
.nte-hero-search:focus-within{box-shadow:0 0 0 3px var(--nte-glow-a),0 18px 40px -18px rgb(0 0 0/.6)}
.nte-hero-search svg{width:20px;height:20px;fill:none;stroke:#5d6f82;stroke-width:2.2;stroke-linecap:round}
.nte-dashboard .nte-hero-search input[type=search]{flex:1;min-width:0;min-height:44px;border:0;padding:0;background:transparent;color:#0d1b2a;font-size:1rem;box-shadow:none}
.nte-dashboard .nte-hero-search input[type=search]:focus,.nte-dashboard .nte-hero-search input[type=search]:focus-visible{box-shadow:none;outline:none}
.nte-hero-search input::placeholder{color:#7d8b99}
.nte-hero-search kbd{background:#f2f5f9;color:#5d6f82;border-color:#d7dee6}
.nte-dashboard .nte-hero-search button{min-height:46px;padding:0 22px;border:0;border-radius:var(--nte-pill);background:var(--nte-brand-solid);color:var(--nte-on-brand);box-shadow:0 8px 18px -10px var(--nte-brand)}
.nte-dashboard .nte-hero-search button:hover{background:var(--nte-brand-solid);color:var(--nte-on-brand);filter:brightness(1.1)}
.nte-hero-meta{display:flex;flex-wrap:wrap;align-items:center;gap:14px 22px;margin-top:20px}
/* Room for the connected message from the start, so the countdown does not jump to a new line when it arrives. */
.nte-status{display:inline-flex;align-items:center;gap:9px;min-width:min(100%,17em);font-size:.8125rem;color:rgb(255 255 255/.82)}
.nte-dot{position:relative;width:9px;height:9px;border-radius:50%;background:#35e08a;box-shadow:0 0 0 4px rgb(53 224 138/.18)}
.nte-dot::after{content:"";position:absolute;inset:-4px;border-radius:50%;border:2px solid #35e08a;animation:nte-ping 2.4s var(--nte-ease) infinite}
.nte-countdown{display:inline-flex;align-items:center;flex-wrap:wrap;gap:10px 14px;padding:8px 10px 8px 14px;border-radius:14px;background:rgb(255 255 255/.08);border:1px solid rgb(255 255 255/.14);backdrop-filter:blur(8px)}
.nte-countdown-label{font:700 .75rem/1.2 var(--nte-font);color:rgb(255 255 255/.8)}
.nte-countdown-units{display:flex;gap:6px}
.nte-countdown-units>span{display:grid;justify-items:center;min-width:46px;padding:5px 6px;border-radius:10px;background:rgb(0 0 0/.22)}
.nte-countdown-units b{font:700 1.25rem/1 var(--nte-display);font-variant-numeric:tabular-nums}
.nte-countdown-units small{font-size:.625rem;opacity:.72}
.nte-hero-tools{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:18px}
.nte-dashboard .nte-hero-tools button{min-height:36px;padding:6px 13px;border-color:rgb(255 255 255/.18);background:rgb(255 255 255/.06);color:rgb(255 255 255/.9);font-size:.8125rem}
.nte-dashboard .nte-hero-tools button:hover{background:rgb(255 255 255/.16);border-color:rgb(255 255 255/.4);color:#fff}
.nte-dashboard .nte-hero-tools button[aria-pressed=true]{background:#fff;color:var(--nte-hero-b)}
#nte-share-status{font-size:.8125rem;color:rgb(255 255 255/.85)}
#nte-share-status a{color:var(--nte-glow-a)}

.nte-hero-art{display:grid;justify-items:center;gap:22px}
.nte-hero-ring{position:relative;width:min(240px,62vw);aspect-ratio:1}
.nte-hero-ring svg{width:100%;height:100%;transform:rotate(-90deg)}
.nte-ring-stop-a{stop-color:var(--nte-glow-a)}
.nte-ring-stop-b{stop-color:var(--nte-glow-c)}
.nte-ring-stop-c{stop-color:var(--nte-glow-b)}
.nte-ring-track{fill:none;stroke:rgb(255 255 255/.1);stroke-width:14}
.nte-ring-fill{fill:none;stroke:url(#nte-ring-grad);stroke-width:14;stroke-linecap:round;stroke-dasharray:100;stroke-dashoffset:100;transition:stroke-dashoffset 1.4s var(--nte-ease);filter:drop-shadow(0 0 10px color-mix(in srgb,var(--nte-glow-a) 60%,transparent))}
.nte-ring-center{position:absolute;inset:0;display:grid;place-content:center;text-align:center}
.nte-ring-center b{font:700 clamp(2.2rem,4vw,3rem)/1 var(--nte-display);letter-spacing:0}
.nte-ring-center span{margin-top:6px;font-size:.75rem;letter-spacing:0;color:rgb(255 255 255/.7)}
.nte-orbit{position:absolute;inset:-14px;border-radius:50%;border:1px dashed rgb(255 255 255/.14);animation:nte-spin 40s linear infinite}
.nte-orbit i{position:absolute;width:9px;height:9px;border-radius:50%;background:var(--nte-glow-a);box-shadow:0 0 12px var(--nte-glow-a)}
.nte-orbit i:nth-child(1){top:-5px;left:50%}
.nte-orbit i:nth-child(2){bottom:12%;right:2%;background:var(--nte-glow-b);box-shadow:0 0 12px var(--nte-glow-b)}
.nte-orbit i:nth-child(3){bottom:12%;left:2%;background:var(--nte-glow-c);box-shadow:0 0 12px var(--nte-glow-c)}
/* Reserved height = two rows of KPI tiles, so the hero does not grow when the numbers arrive. */
.nte-hero-kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(calc(1.5125rem + 1.16875rem + 26px),auto);gap:10px;width:100%;max-width:380px;min-height:calc(2*(1.5125rem + 1.16875rem + 26px) + 10px)}
.nte-kpi{display:grid;grid-template-columns:auto 1fr;align-items:center;column-gap:10px;padding:12px 14px;border-radius:14px;background:rgb(255 255 255/.07);border:1px solid rgb(255 255 255/.12);backdrop-filter:blur(10px)}
.nte-kpi i{grid-row:span 2;width:10px;height:28px;border-radius:6px;background:var(--nte-glow-a)}
.nte-kpi-amber i{background:#ffb938}
.nte-kpi-green i{background:#35e08a}
.nte-kpi-ink i{background:var(--nte-glow-c)}
.nte-kpi b{font:700 1.375rem/1.1 var(--nte-display);font-variant-numeric:tabular-nums;white-space:nowrap}
.nte-kpi small{font-size:.6875rem;line-height:1.7;color:rgb(255 255 255/.68);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nte-kpi.is-placeholder b{opacity:.5}
.nte-no-hero-art .nte-hero{grid-template-columns:1fr}
.nte-no-hero-art .nte-hero-art{display:none}

.nte-live-ribbon{display:flex;align-items:center;gap:14px;padding:7px 7px 7px 8px;border-radius:var(--nte-radius);background:var(--nte-surface);border:1px solid var(--nte-line);box-shadow:var(--nte-shadow-sm);overflow:hidden}
.nte-ribbon-label{display:inline-flex;align-items:center;gap:9px;flex-shrink:0;padding:8px 14px;border-radius:var(--nte-radius-sm);background:color-mix(in srgb,var(--nte-live) 85%,#000);color:#fff;font:700 .8125rem/1.1 var(--nte-font)}
.nte-ribbon-label .nte-pulse{background:#fff}
.nte-ribbon-label .nte-pulse::after{border-color:#fff}
.nte-feed-viewport{flex:1;min-width:0;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent)}
#nte-live-feed{display:flex;align-items:center;gap:26px;width:max-content;font-size:.875rem;color:var(--nte-muted);white-space:nowrap}
#nte-live-feed.is-marquee{animation:nte-marquee var(--nte-marquee,30s) linear infinite}
.nte-live-ribbon:hover #nte-live-feed.is-marquee,.nte-live-ribbon:focus-within #nte-live-feed.is-marquee{animation-play-state:paused}
.nte-feed-item{display:inline-flex;align-items:center;gap:6px}
.nte-feed-item::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--party,var(--nte-brand))}
.nte-feed-item b{color:var(--nte-ink);font-weight:700}
.nte-feed-item small{margin-left:4px;padding:2px 7px;border-radius:6px;background:var(--nte-surface-3);font-size:.6875rem;color:var(--nte-muted);font-variant-numeric:tabular-nums}
.nte-dashboard #nte-feed-pause{flex-shrink:0;min-height:34px;padding:5px 12px;font-size:.75rem;border-radius:10px}

@media (max-width:980px){
  .nte-hero{grid-template-columns:1fr}
  .nte-hero-art{grid-template-columns:auto 1fr;align-items:center;justify-items:stretch}
  .nte-hero-ring{width:170px}
  .nte-hero-kpis{max-width:none}
}
@media (max-width:640px){
  .nte-hero{border-radius:20px;padding:24px 18px}
  .nte-hero-art{grid-template-columns:1fr;justify-items:stretch}
  /* Phones: the KPI tiles carry the same numbers as the ring, so the ring steps aside for the results. */
  .nte-hero-ring{display:none}
  .nte-hero-tools{gap:6px}
  .nte-hero-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .nte-hero-search{padding-left:14px}
  .nte-hero-search kbd{display:none}
  .nte-dashboard .nte-hero-search button{padding:0 16px}
  .nte-live-ribbon{flex-wrap:wrap}
  .nte-feed-viewport{order:3;flex-basis:100%}
  .nte-dashboard #nte-feed-pause{margin-left:auto}
  .nte-countdown-units>span{min-width:40px}
}

/* 7. Dashboard sections ------------------------------------------------- */
.nte-panel{background:var(--nte-surface);border:1px solid var(--nte-line);border-radius:var(--nte-radius);padding:var(--nte-card-pad);box-shadow:var(--nte-shadow-xs)}
/* One header pattern for every section: eyebrow, h2, and an optional note or tools on the right. */
.nte-section-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:10px 24px;margin-bottom:var(--nte-head-gap)}
.nte-section-head h2{margin:0;line-height:1.25}
.nte-section-head>span,.nte-section-head>.nte-muted{max-width:46ch;padding-bottom:3px;font-size:.875rem;line-height:1.5;color:var(--nte-muted)}
.nte-section-head>.nte-count-pill{color:var(--nte-brand-ink)}
.nte-section-head-compact{margin-bottom:12px}
.nte-head-tools{display:flex;flex-wrap:wrap;align-items:center;gap:8px}

/* Election picker. */
.nte-command{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px 32px;align-items:center;padding:clamp(18px,2.2vw,26px);border-radius:var(--nte-radius-lg);background:var(--nte-surface);border:1px solid var(--nte-line);box-shadow:var(--nte-shadow-xs);position:relative;overflow:hidden}
.nte-command::before{content:"";position:absolute;left:0;top:18px;bottom:18px;width:4px;border-radius:0 4px 4px 0;background:var(--nte-brand)}
.nte-command h2{margin:0 0 4px}
.nte-command-copy p{margin:0;font-size:.875rem}
.nte-command-controls{position:relative;z-index:1;display:grid;gap:12px;justify-items:end}
.nte-finder-tools{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:flex-end;gap:10px}
.nte-select-label{min-width:240px}
.nte-dashboard .nte-omni-trigger{min-height:44px;min-width:300px;justify-content:flex-start;gap:10px;padding:0 10px 0 14px;border-radius:var(--nte-radius-sm);color:var(--nte-muted);font-weight:500;background:var(--nte-surface)}
.nte-omni-trigger span{flex:1;text-align:left}
.nte-local-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) minmax(0,1.3fr);gap:12px;align-items:end;padding:16px 18px;border-radius:var(--nte-radius);background:var(--nte-brand-soft);border:1px solid color-mix(in srgb,var(--nte-brand) 25%,transparent)}
.nte-local-controls p{margin:0;font-size:.8125rem;color:var(--nte-brand-ink);align-self:center}
.nte-watchlist{padding:20px;border-radius:var(--nte-radius);background:var(--nte-surface);border:1px solid var(--nte-line)}
.nte-watch-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}
.nte-dashboard .nte-watch-card{display:grid;justify-items:start;gap:2px;min-height:0;padding:14px 16px;border-radius:14px;text-align:left;background:var(--nte-surface-2)}
.nte-watch-card small{color:var(--nte-muted);font-weight:500}
.nte-watch-card b{font:700 1rem/1.3 var(--nte-display)}
.nte-watch-card span{font-weight:500;color:var(--nte-ink-2)}
.nte-watch-card strong{font:700 1.125rem/1.2 var(--nte-display);color:var(--nte-brand-ink)}
@media (max-width:900px){
  .nte-command{grid-template-columns:1fr}
  .nte-command-controls,.nte-finder-tools{justify-items:stretch;justify-content:stretch}
  .nte-kind-tabs{display:grid;grid-template-columns:repeat(3,1fr)}
  .nte-finder-tools{display:grid;grid-template-columns:1fr}
  .nte-select-label,.nte-dashboard .nte-omni-trigger{min-width:0;width:100%}
  .nte-local-controls{grid-template-columns:repeat(3,minmax(0,1fr))}
  .nte-local-controls p{grid-column:1/-1}
}
@media (max-width:560px){.nte-local-controls{grid-template-columns:1fr}.nte-omni-trigger kbd{display:none}.nte-dashboard .nte-kind-tabs button{padding:7px 6px;font-size:.8125rem;white-space:nowrap}}

/* Key figures. */
.nte-portal-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.nte-portal-overview:empty{display:none}
.nte-overview-tile{--tone:var(--nte-brand);position:relative;display:grid;gap:2px;padding:18px 20px 16px;border-radius:var(--nte-radius);background:var(--nte-surface);border:1px solid var(--nte-line);box-shadow:var(--nte-shadow-xs);color:var(--nte-ink);text-decoration:none;overflow:hidden;transition:transform .2s var(--nte-ease),box-shadow .2s,border-color .2s}
.nte-overview-tile:hover{transform:translateY(-2px);box-shadow:var(--nte-shadow-sm);border-color:var(--nte-line-strong);color:var(--nte-ink);text-decoration:none}
.nte-overview-tile::before{content:"";position:absolute;inset:0 0 auto;height:3px;background:var(--tone)}
.nte-overview-tile:nth-child(2){--tone:var(--nte-accent)}
.nte-overview-tile:nth-child(3){--tone:var(--nte-amber)}
.nte-overview-tile:nth-child(4){--tone:#3f7bff}
.nte-tile-index{position:absolute;top:16px;right:16px;font:700 .75rem/1 var(--nte-display);color:var(--nte-muted)}
.nte-overview-tile>span:nth-child(2){font:600 .8125rem/1.3 var(--nte-font);color:var(--nte-muted)}
.nte-overview-tile strong{margin:2px 0;font:700 clamp(1.85rem,2.8vw,2.375rem)/1.1 var(--nte-display);font-variant-numeric:tabular-nums}
.nte-overview-tile small{color:var(--nte-muted);position:relative;z-index:1}
@media (max-width:900px){.nte-portal-overview{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Turnout. */
.nte-turnout-grid{display:flex;flex-wrap:wrap;gap:14px}
.nte-turnout-grid>*{flex:1 1 280px;min-width:0}
.nte-turnout-card{display:grid;align-content:start;gap:4px;padding:20px;border-radius:var(--nte-radius);background:var(--nte-surface);border:1px solid var(--nte-line);box-shadow:var(--nte-shadow-xs)}
.nte-turnout-card h3{margin:4px 0 0;font-size:.9375rem;color:var(--nte-muted)}
.nte-turnout-card strong{font:700 2rem/1.1 var(--nte-display);font-variant-numeric:tabular-nums}
.nte-turnout-card>small{color:var(--nte-brand-ink);font-weight:700}
.nte-ballot-label{justify-self:start;align-self:start;width:max-content;max-width:100%;height:auto;padding:3px 10px;border-radius:var(--nte-pill);background:var(--nte-brand-soft);color:var(--nte-brand-ink);font:700 .75rem/1.4 var(--nte-font)}
.nte-turnout-pair{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}
.nte-turnout-pair div,.nte-voter-line{display:flex;justify-content:space-between;gap:8px;padding:8px 10px;border-radius:var(--nte-radius-sm);background:var(--nte-surface-2);font-size:.8125rem;font-variant-numeric:tabular-nums}
.nte-voter-line{margin-top:6px}
/* Voter card: the three counts sit side by side, so the row of turnout cards ends level without empty space. */
.nte-turnout-card:has(>.nte-voter-line){grid-template-columns:repeat(3,minmax(0,1fr));column-gap:8px}
.nte-turnout-card:has(>.nte-voter-line)>:not(.nte-voter-line){grid-column:1/-1}
.nte-turnout-card>.nte-voter-line{display:grid;align-content:start;justify-content:stretch;gap:1px;min-width:0;margin-top:6px}
.nte-turnout-card>.nte-voter-line>*{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nte-turnout-card>.nte-voter-line span{color:var(--nte-muted)}
.nte-turnout-card a{margin-top:8px;font-size:.8125rem;font-weight:700}

/* Featured stories. */

/* Seat distribution. */
.nte-mandate{padding:clamp(18px,2.6vw,32px)}
.nte-mandate-heading{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:14px}
.nte-mandate-heading h2{margin:0 0 4px}
#nte-mandate-scope{margin:0;font-size:.875rem}
#nte-mandate-message:not(:empty){margin:16px 0 0;padding:14px 16px;border-radius:12px;background:var(--nte-amber-soft);color:var(--nte-ink-2);font-weight:600}
.nte-mandate-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(20px,3vw,40px);align-items:center;margin-top:12px}
#nte-hemicycle svg{display:block;width:100%;max-width:640px;margin:auto}
#nte-hemicycle g{transition:fill .4s}
.nte-seat-total{font:700 46px/1 var(--nte-display);fill:var(--nte-ink)}
.nte-seat-caption{font:600 13px/1 var(--nte-font);fill:var(--nte-muted)}
.nte-local-metric{display:grid;justify-items:center;padding:36px 16px;text-align:center}
.nte-local-metric strong{font:700 4rem/1 var(--nte-display);color:var(--nte-brand)}
.nte-mandate-legend{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 14px;margin-top:8px}
.nte-mandate-key{display:inline-flex;align-items:center;gap:7px;font:600 .75rem/1.4 var(--nte-font);color:var(--nte-ink-2)}
.nte-mandate-key::before{content:"";width:10px;height:10px;border-radius:3px;background:var(--party)}
.nte-mandate-table{width:100%;border-collapse:separate;border-spacing:0 6px;font-size:.875rem}
.nte-mandate-table th,.nte-mandate-table td{padding:9px 10px;text-align:right}
.nte-mandate-table thead th{padding-top:0;padding-bottom:2px;font:700 .75rem/1.2 var(--nte-font);color:var(--nte-muted)}
.nte-mandate-table thead th:first-child,.nte-mandate-table tbody th{text-align:left}
.nte-mandate-table tbody th{position:relative;padding-left:16px;font-weight:700;color:var(--nte-ink);border-radius:10px 0 0 10px;background:var(--nte-surface-2)}
.nte-mandate-table tbody th::before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:4px;border-radius:4px;background:var(--party)}
.nte-mandate-table tbody td{background:var(--nte-surface-2);font-variant-numeric:tabular-nums;font-weight:600}
.nte-mandate-table tbody td:last-child{border-radius:0 10px 10px 0;font:700 1rem/1 var(--nte-display)}
/* Seat share: a slim rounded bar along the foot of the cell (party-tinted track, party fill), not a full-height block. */
.nte-mandate-table td.nte-seat-bar{position:relative}
.nte-mandate-table td.nte-seat-bar::after{content:"";position:absolute;left:10px;right:10px;bottom:6px;height:4px;border-radius:4px;background:linear-gradient(var(--party),var(--party)) 0 0/var(--seat-width,0%) 100% no-repeat,color-mix(in srgb,var(--party) 14%,var(--nte-line));pointer-events:none}
.nte-mandate-note{margin:18px 0 0;padding-top:14px;border-top:1px solid var(--nte-line);font-size:.8125rem;color:var(--nte-muted)}
@media (max-width:900px){.nte-mandate-grid{grid-template-columns:1fr}}
@media (max-width:600px){.nte-mandate-legend{gap:2px 14px}.nte-mandate-key{min-height:32px}}

/* Quick actions. */
.nte-quick-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.nte-quick-actions a,.nte-dashboard .nte-quick-actions button{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;min-height:0;padding:14px 16px;border-radius:var(--nte-radius);background:var(--nte-surface);border:1px solid var(--nte-line);color:var(--nte-ink);text-align:left;text-decoration:none;box-shadow:var(--nte-shadow-xs);font-weight:400;transition:transform .2s var(--nte-ease),border-color .2s,box-shadow .2s}
.nte-quick-actions a:hover,.nte-dashboard .nte-quick-actions button:hover{border-color:color-mix(in srgb,var(--nte-brand) 55%,var(--nte-line));background:var(--nte-surface);color:var(--nte-ink);text-decoration:none;transform:translateY(-2px);box-shadow:var(--nte-shadow-sm)}
.nte-quick-actions a:hover .nte-action-arrow,.nte-quick-actions button:hover .nte-action-arrow{color:var(--nte-brand-ink)}
.nte-action-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:var(--nte-brand-soft);color:var(--nte-brand-ink)}
.nte-action-icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linejoin:round}
.nte-quick-actions b{display:block;font:700 .9375rem/1.3 var(--nte-display)}
.nte-quick-actions small{color:var(--nte-muted)}
.nte-action-arrow{color:var(--nte-faint);font-weight:700}
@media (max-width:760px){.nte-quick-actions{grid-template-columns:1fr}}

/* Results: filters. */
.nte-toolbar{display:grid;grid-template-columns:repeat(5,minmax(0,1fr)) minmax(0,1.5fr) auto;gap:12px;align-items:end;padding:14px 16px 16px;border-radius:var(--nte-radius);background:var(--nte-surface);border:1px solid var(--nte-line);box-shadow:var(--nte-shadow-xs)}
.nte-toolbar.nte-simple-toolbar{grid-template-columns:repeat(2,minmax(0,1fr)) minmax(0,1.6fr) auto auto}
.nte-dashboard #nte-reset{min-height:44px}
.nte-dashboard .nte-more-filters{min-height:44px;border-style:dashed;color:var(--nte-brand-ink)}
.nte-dashboard .nte-more-filters[aria-expanded=true]{border-style:solid;background:var(--nte-brand-soft)}
.nte-simple-toolbar .nte-extra-filter:not([hidden]){animation:nte-rise .25s var(--nte-ease)}
.nte-toolbar.nte-simple-toolbar:has(.nte-extra-filter:not([hidden])){grid-template-columns:repeat(5,minmax(0,1fr)) minmax(0,1.5fr) auto auto}
.nte-active-filters{display:flex;flex-wrap:wrap;gap:8px}
.nte-active-filters:not(:empty){margin-top:12px}
.nte-dashboard .nte-filter-chip{min-height:30px;padding:4px 12px;border-radius:var(--nte-pill);border-color:transparent;background:var(--nte-ink);color:var(--nte-surface);font-size:.75rem}
.nte-dashboard .nte-filter-chip:hover{background:var(--nte-live-solid);border-color:transparent;color:var(--nte-on-solid)}
.nte-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:22px;margin-top:18px;align-items:start}
.nte-layout-main{min-width:0}
.nte-views{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}
.nte-views::-webkit-scrollbar{display:none}
.nte-dashboard .nte-views button{flex-shrink:0;min-height:36px;padding:6px 14px;border-radius:var(--nte-pill);font-size:.8125rem;background:var(--nte-surface);border-color:var(--nte-line)}
.nte-dashboard .nte-views button[aria-pressed=true]{background:var(--nte-ink);border-color:var(--nte-ink);color:var(--nte-surface)}
.nte-results-tools{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin:12px 0 4px}
.nte-dashboard .nte-sort{display:flex;align-items:center;gap:8px;font-size:.8125rem}
.nte-dashboard .nte-sort select{width:auto;min-height:36px;padding-top:6px;padding-bottom:6px}
.nte-results-actions{display:flex;gap:8px;margin-left:auto}
.nte-dashboard .nte-results-actions button{min-height:36px;font-size:.8125rem}
#nte-auto-pause[aria-pressed=true]{background:var(--nte-amber-soft);border-color:var(--nte-amber);color:var(--nte-amber-ink)}
.nte-results-hint{margin:6px 0 10px;font-size:.8125rem;color:var(--nte-muted)}
#nte-message:not(:empty){margin:10px 0;padding:10px 14px;border-radius:10px;background:var(--nte-amber-soft);color:var(--nte-ink-2);font-size:.875rem;font-weight:600}
.nte-results{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:16px}
.nte-results>.nte-empty,.nte-results>.nte-skeleton-wrap,.nte-results>.nte-skeleton-text{grid-column:1/-1}
.nte-skeleton-wrap{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:16px}
.nte-skeleton{height:280px;border-radius:var(--nte-radius);background:linear-gradient(100deg,var(--nte-surface) 30%,var(--nte-surface-3) 50%,var(--nte-surface) 70%);background-size:300% 100%;border:1px solid var(--nte-line);animation:nte-shimmer 1.6s linear infinite}
.nte-skeleton-text{margin:0;text-align:center;color:var(--nte-muted);font-size:.875rem}

/* Result card. */
.nte-card{position:relative;display:flex;flex-direction:column;gap:12px;padding:var(--nte-card-pad);padding-top:calc(var(--nte-card-pad) + 3px);border-radius:var(--nte-radius);background:var(--nte-surface);border:1px solid var(--nte-line);box-shadow:var(--nte-shadow-xs);overflow:hidden;transition:transform .2s var(--nte-ease),box-shadow .2s,border-color .2s}
.nte-card::before{content:"";position:absolute;inset:0 0 auto;height:3px;background:var(--lead,var(--nte-line-strong))}
.nte-card:hover{transform:translateY(-2px);box-shadow:var(--nte-shadow-sm);border-color:var(--nte-line-strong)}
.nte-card-head{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding-right:38px}
.nte-card-head h3{margin:1px 0;font-size:1.1875rem;line-height:1.3}
.nte-location{margin:0;font:600 .75rem/1.35 var(--nte-font);color:var(--nte-muted)}
.nte-card.is-hot .nte-location::after{content:" · 🔥 हट सिट";color:var(--nte-live-ink);font-weight:700}
.nte-card-head small{display:block;max-width:100%;font-size:.75rem;line-height:1.45;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nte-card-head>div{min-width:0;max-width:100%}
/* Pending with no votes: the strip would only repeat the "बाँकी" badge. */
.nte-card.is-pending .nte-lead:not(.has-leader){display:none}
.nte-dashboard .nte-bookmark{position:absolute;top:calc(var(--nte-card-pad) - 2px);right:calc(var(--nte-card-pad) - 8px);width:36px;height:36px;min-height:36px;padding:0;border-radius:50%;border-color:transparent;background:transparent;font-size:0;color:var(--nte-faint)}
.nte-dashboard .nte-bookmark::before{content:"☆";font-size:1.3rem;line-height:1}
.nte-dashboard .nte-bookmark[aria-pressed=true]{color:#f2a900}
.nte-dashboard .nte-bookmark[aria-pressed=true]::before{content:"★"}
.nte-dashboard .nte-bookmark:hover{background:var(--nte-amber-soft);color:#f2a900;border-color:transparent}
.nte-lead{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:var(--nte-radius-sm);background:var(--nte-surface-2);font:700 .8125rem/1.3 var(--nte-font);color:var(--nte-ink-2)}
.nte-lead.has-leader{background:color-mix(in srgb,var(--lead) 10%,var(--nte-surface));color:color-mix(in srgb,var(--lead) var(--nte-tone),var(--nte-ink))}
.nte-lead.has-leader::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--lead);flex-shrink:0}
.is-final .nte-lead.has-leader::before{content:"✓";width:auto;height:auto;background:none;color:var(--lead);font-size:.875rem}
.nte-candidate-row{display:grid;gap:7px}
.nte-candidate{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:12px}
.nte-avatar{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;overflow:hidden;background:color-mix(in srgb,var(--party,var(--nte-brand)) 18%,var(--nte-surface-2));color:var(--party,var(--nte-brand-ink));font:700 1.125rem/1 var(--nte-display);box-shadow:0 0 0 2px var(--nte-surface),0 0 0 4px color-mix(in srgb,var(--party,var(--nte-line)) 70%,transparent)}
.nte-avatar img{width:100%;height:100%;object-fit:cover}
.nte-person{display:grid;justify-items:start;gap:1px;min-width:0}
.nte-dashboard .nte-profile-link{min-height:0;padding:0;border:0;background:none;color:var(--nte-ink);font:700 .9375rem/1.35 var(--nte-display);text-align:left;white-space:normal}
.nte-dashboard .nte-profile-link:hover{background:none;color:var(--nte-brand-ink);text-decoration:underline}
.nte-candidate-row.is-winner .nte-profile-link::after{content:"✓ विजयी";display:inline-block;margin-left:6px;padding:0 7px;border-radius:var(--nte-pill);background:var(--nte-green-solid);color:var(--nte-on-solid);font:700 .6875rem/1.6 var(--nte-font);vertical-align:2px}
.nte-candidate-row.is-leader .nte-profile-link::after{content:"अग्रता";display:inline-block;margin-left:6px;padding:0 7px;border-radius:var(--nte-pill);background:var(--nte-amber-solid);color:var(--nte-on-solid);font:700 .6875rem/1.6 var(--nte-font);vertical-align:2px}
.nte-identity-line{display:flex;flex-wrap:wrap;align-items:center;gap:5px;font-size:.75rem;color:var(--nte-muted);line-height:1.3}
.nte-party-logo,.nte-election-symbol{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:50%;overflow:hidden;background:var(--nte-surface-2);flex-shrink:0;font-size:.625rem}
.nte-party-logo img,.nte-election-symbol img{width:100%;height:100%;object-fit:contain}
.nte-party-name{font-weight:600;color:color-mix(in srgb,var(--party,var(--nte-muted)) var(--nte-tone),var(--nte-ink))}
.nte-symbol-label{color:var(--nte-faint)}
.nte-dashboard .nte-compare-toggle{min-height:0;padding:2px 0;border:0;background:none;color:var(--nte-muted);font-size:.6875rem;font-weight:700}
.nte-dashboard .nte-compare-toggle:hover{background:none;color:var(--nte-brand-ink)}
.nte-dashboard .nte-compare-toggle[aria-pressed=true]{color:var(--nte-brand-ink)}
.nte-votes{display:grid;justify-items:end;line-height:1.15}
.nte-votes b{font:700 1.0625rem/1.15 var(--nte-display);font-variant-numeric:tabular-nums}
.nte-votes small{font-size:.75rem;color:var(--nte-muted);font-weight:600}
.nte-track{height:6px;border-radius:6px;background:var(--nte-surface-3);overflow:hidden}
.nte-track span{display:block;height:100%;border-radius:6px;background:color-mix(in srgb,var(--party,var(--nte-brand)) 55%,var(--nte-surface-3));transition:width .9s var(--nte-ease)}
.nte-candidate-row.is-winner .nte-track span,.nte-candidate-row.is-leader .nte-track span,.nte-track .nte-top{background:var(--party,var(--nte-brand))}
.nte-details summary{cursor:pointer;padding:6px 0;color:var(--nte-brand-ink);font:700 .8125rem/1.3 var(--nte-font);list-style:none}
.nte-details summary::-webkit-details-marker{display:none}
.nte-details summary::before{content:"＋ "}
.nte-details[open] summary::before{content:"− "}
.nte-details>div{margin-top:10px}
.nte-card-foot{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:auto;padding-top:12px;border-top:1px solid var(--nte-line);font-size:.8125rem;color:var(--nte-muted)}
.nte-card-foot>span{margin-right:auto;font-weight:600}
.nte-dashboard .nte-card-foot button{min-height:30px;padding:4px 10px;border-radius:8px;font-size:.75rem;background:var(--nte-surface-2);border-color:transparent;color:var(--nte-brand-ink)}
@media (max-width:600px){
  .nte-dashboard .nte-card-foot button{min-height:40px;padding:6px 14px}
  .nte-details summary{display:flex;align-items:center;min-height:40px;padding:0}
  /* Names stay where they are: a 32px hit area grows into the empty space above the name (never over the
     party line below it, nor over the '+ तुलना' hit area of the row above, 07-interactions). */
  .nte-dashboard .nte-profile-link{position:relative}
  .nte-dashboard .nte-profile-link::before{content:"";position:absolute;inset:-10px -6px 0}
}
.nte-card-foot a{font-weight:700;font-size:.75rem}
.nte-results-list{grid-template-columns:1fr}
.nte-results-list .nte-card{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(0,2fr);column-gap:24px;align-items:start}
.nte-results-list .nte-card>*{grid-column:2}
.nte-results-list .nte-card .nte-card-head,.nte-results-list .nte-card .nte-lead{grid-column:1}
.nte-results-list .nte-card .nte-card-head{grid-row:1}
.nte-results-list .nte-card .nte-lead{grid-row:2;align-self:start}
.nte-results-list .nte-card .nte-candidate-row:first-of-type{grid-row:1}
.nte-results-list .nte-card .nte-card-foot{grid-column:1/-1}

/* Party standing aside. */
.nte-layout-aside{position:sticky;top:64px;display:grid;gap:16px}
.nte-standing-panel h2{font-size:1.25rem;margin:0}
.nte-standing-panel>p.nte-muted{margin:2px 0 12px;font-size:.8125rem}
.nte-party-header{display:grid;grid-template-columns:1fr 46px 50px;gap:6px;padding:0 10px 6px;font:700 .75rem/1.2 var(--nte-font);color:var(--nte-muted)}
.nte-party-header span:not(:first-child){text-align:right}
.nte-party{position:relative;display:grid;grid-template-columns:1fr 46px 50px;gap:6px;align-items:center;padding:9px 10px 9px 14px;margin-bottom:6px;border-radius:var(--nte-radius-sm);background:var(--nte-surface-2);font-size:.875rem}
.nte-party::before{content:"";position:absolute;left:0;top:7px;bottom:7px;width:4px;border-radius:4px;background:var(--party,var(--nte-line-strong))}
.nte-party strong{text-align:right;font:700 1.0625rem/1 var(--nte-display);font-variant-numeric:tabular-nums}
.nte-party>span:last-child{text-align:right;color:var(--nte-amber-ink);font-weight:700;font-variant-numeric:tabular-nums}
.nte-party-identity{display:flex;align-items:center;gap:7px;min-width:0}
.nte-party-identity b{font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nte-info h3{font-size:1rem;margin-bottom:6px}
.nte-info p{font-size:.8125rem;color:var(--nte-ink-2)}
.nte-info #nte-source a{display:inline-block;margin-bottom:12px;font-weight:700;font-size:.8125rem}
.nte-dashboard .nte-info #nte-print{width:100%}
@media (max-width:1100px){.nte-layout{grid-template-columns:1fr}.nte-layout-aside{position:static;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}}
/* Tablets: the election name is never squeezed and no button is left alone on a row.
   Full toolbar (simple filters off): wrapping fields. Simple toolbar: one row; open extra filters: three columns. */
@media (min-width:641px) and (max-width:1100px){
  .nte-toolbar{display:flex;flex-wrap:wrap;align-items:flex-end}
  .nte-toolbar>label{flex:1 1 170px;min-width:0}
  .nte-toolbar>label:first-child{flex-basis:100%}
  .nte-toolbar>label.nte-search{flex:2 1 240px}
  .nte-toolbar>button{flex:0 0 auto}
  .nte-toolbar.nte-simple-toolbar{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) minmax(0,1.3fr) auto auto}
  .nte-toolbar.nte-simple-toolbar:has(.nte-extra-filter:not([hidden])){display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto auto}
  .nte-toolbar.nte-simple-toolbar:has(.nte-extra-filter:not([hidden]))>label:first-child{grid-column:1/-1}
  .nte-toolbar.nte-simple-toolbar:has(.nte-extra-filter:not([hidden]))>label:nth-child(4){grid-column:3/-1}
  .nte-toolbar.nte-simple-toolbar:has(.nte-extra-filter:not([hidden]))>.nte-search{grid-column:span 2}
}
@media (min-width:641px) and (max-width:900px){
  .nte-toolbar.nte-simple-toolbar{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr) auto auto}
  .nte-toolbar.nte-simple-toolbar>label:first-child{grid-column:1/-1}
}
@media (max-width:640px){
  .nte-toolbar,.nte-toolbar.nte-simple-toolbar,.nte-toolbar.nte-simple-toolbar:has(.nte-extra-filter:not([hidden])){grid-template-columns:1fr 1fr}
  .nte-toolbar .nte-search{grid-column:1/-1}
  .nte-results{grid-template-columns:1fr}
  .nte-results-list .nte-card{grid-template-columns:1fr}
  .nte-results-list .nte-card>*{grid-column:1!important;grid-row:auto!important}
  .nte-results-actions{margin-left:0}
}

/* Hot seats. */
.nte-hot-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:16px}
.nte-hot-card{position:relative;display:flex;flex-direction:column;gap:6px;padding:0 0 14px;border-radius:var(--nte-radius);background:var(--nte-surface);border:1px solid var(--nte-line);box-shadow:var(--nte-shadow-xs);overflow:hidden;transition:transform .2s var(--nte-ease),box-shadow .2s}
.nte-hot-card:hover{transform:translateY(-2px);box-shadow:var(--nte-shadow-sm)}
.nte-hot-head{padding:15px 44px 13px 18px;background:linear-gradient(135deg,color-mix(in srgb,var(--lead) 72%,#0b1622),color-mix(in srgb,var(--lead) 48%,#0b1622)) color-mix(in srgb,var(--lead) 48%,#0b1622);color:#fff}
.nte-hot-card:not(.is-final):not(.is-counting) .nte-hot-head{background:linear-gradient(135deg,#4a5a6b,#26313d) #26313d}
.nte-hot-head h3{margin:0;color:#fff;font-size:1.125rem}
.nte-hot-head small{color:rgb(255 255 255/.82);font-weight:600}
.nte-hot-head::after{content:"🔥";position:absolute;right:14px;top:13px;font-size:1.0625rem}
.nte-hot-person{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:10px;margin:0 12px;padding:8px 6px;border-radius:var(--nte-radius-sm)}
.nte-hot-person.is-leader{background:color-mix(in srgb,var(--party) 10%,var(--nte-surface))}
.nte-hot-person .nte-avatar{width:42px;height:42px}
.nte-hot-photo{display:block;width:100%;height:100%}
.nte-hot-photo img{width:100%;height:100%;object-fit:cover}
.nte-hot-info{display:grid;justify-items:start;min-width:0}
.nte-hot-votes{display:grid;justify-items:end}
.nte-hot-votes b{font:700 1rem/1.2 var(--nte-display);font-variant-numeric:tabular-nums}
.nte-win,.nte-leading{padding:0 7px;border-radius:var(--nte-pill);font:700 .6875rem/1.6 var(--nte-font);color:var(--nte-on-solid)}
.nte-win{background:var(--nte-green-solid)}
.nte-leading{background:var(--nte-amber-solid)}
.nte-dashboard .nte-hot-details{margin:6px 14px 0;min-height:38px;border-radius:var(--nte-radius-sm);font-size:.8125rem;background:var(--nte-surface-2);border-color:transparent;color:var(--nte-brand-ink)}

/* Map. */

/* Provinces. */
.nte-province-cards{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:12px}
.nte-dashboard .nte-province-card{display:grid;grid-template-columns:minmax(0,1fr);justify-items:start;justify-content:stretch;align-content:start;gap:3px;min-height:0;padding:16px;border-radius:var(--nte-radius);text-align:left;font-weight:400;border-color:var(--nte-line);box-shadow:var(--nte-shadow-xs);transition:transform .2s var(--nte-ease),border-color .2s,box-shadow .2s}
.nte-dashboard .nte-province-card:hover{transform:translateY(-2px);box-shadow:var(--nte-shadow-sm)}
.nte-province-card b{font:700 1rem/1.2 var(--nte-display)}
.nte-province-card strong{font:700 2rem/1.1 var(--nte-display);color:var(--nte-brand-ink);font-variant-numeric:tabular-nums}
.nte-province-card small{color:var(--nte-muted);font-size:.75rem;line-height:1.4}
.nte-province-progress{width:100%;height:6px;margin:6px 0 2px;border-radius:6px;background:var(--nte-surface-3);overflow:hidden}
.nte-province-progress span{display:block;height:100%;border-radius:6px;background:linear-gradient(90deg,var(--nte-brand),var(--nte-glow-c))}
.nte-dashboard .nte-province-card[aria-pressed=true]{background:var(--nte-ink);border-color:var(--nte-ink);color:var(--nte-surface)}
.nte-province-card[aria-pressed=true] strong,.nte-province-card[aria-pressed=true] small{color:inherit}
/* Seven provinces: one row on desktop; 4 + 3 (wider) on tablets; pairs plus a full-width last card on phones. */
@media (min-width:641px) and (max-width:1180px){
  .nte-province-cards{grid-template-columns:repeat(12,minmax(0,1fr))}
  .nte-province-cards>*{grid-column:span 3}
  .nte-province-cards>:nth-child(4n+1):nth-last-child(3),.nte-province-cards>:nth-child(4n+2):nth-last-child(2),.nte-province-cards>:nth-child(4n+3):last-child{grid-column:span 4}
  .nte-province-cards>:nth-child(4n+1):nth-last-child(2),.nte-province-cards>:nth-child(4n+2):last-child{grid-column:span 6}
  .nte-province-cards>:nth-child(4n+1):last-child{grid-column:1/-1}
}
@media (max-width:640px){.nte-province-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.nte-province-cards>:nth-child(odd):last-child{grid-column:1/-1}}

/* Party cards: equal widths at every size (4 / 3 / 2 a row), a short last row stays left-aligned. (Phones: swipe strip, 07.) */
.nte-party-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}
@media (min-width:1180px){.nte-party-cards{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (min-width:900px) and (max-width:1179px){.nte-party-cards{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (min-width:641px) and (max-width:899px){.nte-party-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
.nte-party-cards>.nte-empty{grid-column:1/-1}
/* Hot seats. Desktop: 12 tracks, four cards a row; counts that divide by three use three a row, and a short last row
   shares the width, so the section never ends with empty cells. (Phones: swipe strip, 07-interactions.) */
@media (min-width:1180px){
  .nte-hot-cards{grid-template-columns:repeat(12,minmax(0,1fr))}
  .nte-hot-cards>*{grid-column:span 3}
  .nte-hot-cards>:nth-child(4n+1):nth-last-child(2),.nte-hot-cards>:nth-child(4n+2):last-child{grid-column:span 6}
  .nte-hot-cards>:nth-child(4n+1):nth-last-child(3),.nte-hot-cards>:nth-child(4n+2):nth-last-child(2),.nte-hot-cards>:nth-child(4n+3):last-child{grid-column:span 4}
  .nte-hot-cards:is(:has(>:nth-child(3n):last-child):not(:has(>:nth-child(4n):last-child)),:has(>:nth-child(4n+1):last-child):has(>:nth-child(3n+2):last-child))>*{grid-column:span 4}
  .nte-hot-cards:has(>:nth-child(4n+1):last-child)>:nth-child(3n+1):nth-last-child(2),.nte-hot-cards:has(>:nth-child(4n+1):last-child)>:nth-child(3n+2):last-child{grid-column:span 6}
}
/* Laptops/tablets: three a row; a remainder of one becomes 2 + 2, a remainder of two shares the row. */
@media (min-width:900px) and (max-width:1179px){
  .nte-hot-cards{grid-template-columns:repeat(12,minmax(0,1fr))}
  .nte-hot-cards>*{grid-column:span 4}
  .nte-hot-cards>:nth-child(3n+1):nth-last-child(4),.nte-hot-cards>:nth-child(3n+2):nth-last-child(3),.nte-hot-cards>:nth-child(3n+3):nth-last-child(2),.nte-hot-cards>:nth-child(3n+4):last-child,.nte-hot-cards>:nth-child(3n+1):nth-last-child(2),.nte-hot-cards>:nth-child(3n+2):last-child{grid-column:span 6}
}
@media (min-width:641px) and (max-width:899px){
  .nte-hot-cards{display:flex;flex-wrap:wrap}
  .nte-hot-cards>*{flex:1 1 300px;min-width:0}
}
.nte-rich-party{position:relative;display:grid;align-content:start;gap:8px;padding:96px 18px 18px;border-radius:var(--nte-radius);background:var(--nte-surface);border:1px solid var(--nte-line);box-shadow:var(--nte-shadow-sm);overflow:hidden}
.nte-rich-party::before{content:"";position:absolute;inset:0 0 auto;height:58px;background:linear-gradient(120deg,var(--party),color-mix(in srgb,var(--party) 55%,#000))}
.nte-rich-party::after{content:"";position:absolute;inset:0 0 auto;height:58px;background:radial-gradient(circle at 85% -20%,rgb(255 255 255/.35),transparent 50%)}
.nte-party-emblem{position:absolute;left:18px;top:24px;z-index:1;display:grid;place-items:center;width:62px;height:62px;border-radius:50%;background:var(--nte-surface);border:4px solid var(--nte-surface);box-shadow:var(--nte-shadow-sm);overflow:hidden;font:700 1.5rem/1 var(--nte-display);color:var(--party)}
.nte-party-emblem img{width:100%;height:100%;object-fit:contain}
.nte-rich-party h3{margin:0;font-size:1.1875rem}
.nte-party-leader{margin:0;font-size:.8125rem;color:var(--nte-muted)}
.nte-party-result{display:grid;gap:2px;padding:10px 12px;border-radius:12px;background:var(--nte-surface-2);font-size:.8125rem;color:var(--nte-muted)}
.nte-dashboard button.nte-party-result{display:grid;justify-items:start;justify-content:stretch;min-height:0;border-color:transparent;text-align:left;font-weight:500;background:var(--nte-surface-2)}
.nte-dashboard button.nte-party-result:hover{background:color-mix(in srgb,var(--party) 10%,var(--nte-surface));border-color:color-mix(in srgb,var(--party) 40%,transparent);color:inherit}
.nte-party-result b{font:700 .9375rem/1.3 var(--nte-display);color:var(--nte-ink)}
.nte-dashboard .nte-party-open{margin-top:4px;border-color:color-mix(in srgb,var(--party) 50%,var(--nte-line));color:color-mix(in srgb,var(--party) var(--nte-tone),var(--nte-ink))}
.nte-dashboard .nte-party-open:hover{background:var(--party);border-color:var(--party);color:#fff}

/* Candidate Explorer. */
.nte-people-explorer{overflow:hidden;padding:clamp(18px,2.6vw,30px);border-radius:var(--nte-radius-lg);background:var(--nte-surface);border:1px solid var(--nte-line);box-shadow:var(--nte-shadow-xs)}
.nte-people-hero{position:relative;overflow:hidden;display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:18px;margin:calc(clamp(18px,2.6vw,30px)*-1) calc(clamp(18px,2.6vw,30px)*-1) 22px;padding:clamp(24px,3.4vw,40px);background:radial-gradient(90% 140% at 100% 0%,color-mix(in srgb,var(--nte-accent) 45%,transparent),transparent 60%),linear-gradient(135deg,var(--nte-hero-a),var(--nte-hero-b)) var(--nte-hero-b);color:#fff}
.nte-people-hero h2{color:#fff;font-size:clamp(1.7rem,3vw,2.5rem);line-height:1.2;margin:4px 0 8px}
.nte-people-hero span{color:rgb(255 255 255/.78)}
.nte-people-note{max-width:340px;padding:12px 14px;border-radius:14px;background:rgb(255 255 255/.08);border:1px solid rgb(255 255 255/.16);font-size:.8125rem;color:rgb(255 255 255/.85)}
.nte-people-controls{display:grid;gap:14px;margin-bottom:18px}
.nte-people-filters{display:grid;grid-template-columns:minmax(0,1.6fr) repeat(5,minmax(0,1fr));gap:10px}
.nte-people-tools{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;font-size:.8125rem;color:var(--nte-muted)}
/* Columns divide the page size (12): 6 / 4 / 3 / 2 a row, so a full page never leaves an orphan row. */
.nte-people-grid-new{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.nte-people-grid-new>.nte-empty,.nte-people-grid-new>p{grid-column:1/-1}
@media (min-width:1340px){.nte-people-grid-new{grid-template-columns:repeat(6,minmax(0,1fr))}}
@media (min-width:641px) and (max-width:899px){.nte-people-grid-new{grid-template-columns:repeat(3,minmax(0,1fr))}}
.nte-person-card{--person-color:var(--nte-brand);position:relative;display:flex;flex-direction:column;gap:6px;padding:12px;border-radius:var(--nte-radius);background:var(--nte-surface);border:1px solid var(--nte-line);box-shadow:var(--nte-shadow-xs);transition:transform .25s var(--nte-ease),box-shadow .25s,border-color .25s}
.nte-person-card:hover{transform:translateY(-3px);box-shadow:var(--nte-shadow-sm);border-color:var(--nte-line-strong)}
.nte-person-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px;font:700 .75rem/1.3 var(--nte-font);color:color-mix(in srgb,var(--person-color) var(--nte-tone),var(--nte-ink))}
.nte-person-card-top>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nte-person-state{flex-shrink:0;padding:3px 8px;border-radius:var(--nte-pill);background:var(--nte-surface-3);color:var(--nte-ink-2)}
.nte-person-state[data-state=elected]{background:var(--nte-green-solid);color:var(--nte-on-solid)}
.nte-person-state[data-state=leading]{background:var(--nte-amber-solid);color:var(--nte-on-solid)}
.nte-person-state[data-state=lost]{background:var(--nte-surface-3);color:var(--nte-muted)}
.nte-person-card-photo{display:grid;place-items:center;aspect-ratio:4/5;border-radius:var(--nte-radius-sm);overflow:hidden;background:linear-gradient(160deg,color-mix(in srgb,var(--person-color) 30%,var(--nte-surface)),color-mix(in srgb,var(--person-color) 70%,#000));color:#fff;font:700 3rem/1 var(--nte-display)}
.nte-person-card-photo img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--nte-ease)}
.nte-person-card:hover .nte-person-card-photo img{transform:scale(1.04)}
.nte-person-card h3{margin:6px 0 0;font-size:1.0625rem}
.nte-person-place{margin:0;font-size:.8125rem;color:var(--nte-muted)}
.nte-person-card-total{display:flex;align-items:baseline;justify-content:space-between;padding:8px 10px;border-radius:var(--nte-radius-sm);background:var(--nte-surface-2)}
.nte-person-card-total small{color:var(--nte-muted)}
.nte-person-card-total strong{font:700 1.125rem/1 var(--nte-display);font-variant-numeric:tabular-nums;color:color-mix(in srgb,var(--person-color) var(--nte-tone),var(--nte-ink))}
.nte-dashboard .nte-person-open{min-height:38px;border-radius:var(--nte-radius-sm);font-size:.8125rem;margin-top:auto}
.nte-dashboard .nte-person-open:hover{background:color-mix(in srgb,var(--person-color) 80%,#000);border-color:transparent;color:#fff}
.nte-people-footnote{margin:16px 0 0;font-size:.75rem}
@media (max-width:1100px){.nte-people-filters{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:640px){.nte-people-filters{grid-template-columns:1fr 1fr}.nte-people-filters label:first-child{grid-column:1/-1}.nte-people-grid-new{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.nte-person-card{padding:8px;border-radius:16px}}

/* Portal: field chart, winners, manifestos. */
.nte-portal-pair{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:22px;align-items:start}
.nte-portal-pair>.nte-portal-section{min-width:0}
@media (max-width:1000px){.nte-portal-pair{grid-template-columns:1fr}}
.nte-portal-label{display:grid;gap:4px}
.nte-bar-chart{display:grid;gap:10px}
.nte-chart-row{display:grid;grid-template-columns:minmax(110px,180px) minmax(0,1fr) 44px;gap:12px;align-items:center;font-size:.875rem;font-weight:600}
.nte-chart-row>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nte-chart-track{height:12px;border-radius:12px;background:var(--nte-surface-3);overflow:hidden}
.nte-chart-track span{display:block;height:100%;border-radius:12px;transition:width .8s var(--nte-ease)}
.nte-chart-row strong{text-align:right;font:700 1rem/1 var(--nte-display);font-variant-numeric:tabular-nums}
.nte-table-wrap{overflow-x:auto}
.nte-table-wrap.nte-panel{padding:6px 10px}
.nte-editorial-table{width:100%;border-collapse:collapse;font-size:.875rem}
.nte-editorial-table th{padding:12px 10px;text-align:left;font:700 .75rem/1.2 var(--nte-font);color:var(--nte-muted);border-bottom:1px solid var(--nte-line);white-space:nowrap}
.nte-editorial-table td{padding:10px;border-bottom:1px solid var(--nte-line);vertical-align:middle}
.nte-editorial-table tbody tr:last-child td{border-bottom:0}
.nte-editorial-table tbody tr:hover td{background:var(--nte-surface-2)}
.nte-editorial-table td small{display:block;color:var(--nte-muted);font-size:.75rem}
/* Column name repeated inside a cell for the phone layout, where the header row is hidden. */
.nte-cell-label{display:none}
.nte-number{text-align:right;font:700 .9375rem/1 var(--nte-display);font-variant-numeric:tabular-nums;white-space:nowrap}
/* Phones: table rows become two-line entries (name + votes, then the other cells) instead of squeezed columns. */
@media (max-width:600px){
  .nte-editorial-table,.nte-editorial-table tbody{display:block;width:100%}
  .nte-editorial-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .nte-editorial-table tbody tr{display:flex;flex-wrap:wrap;align-items:center;column-gap:17px;row-gap:3px;padding:11px 2px;border-bottom:1px solid var(--nte-line)}
  .nte-editorial-table tbody tr:last-child{border-bottom:0}
  .nte-editorial-table tbody tr::after{content:"";order:2;flex-basis:100%;height:0}
  .nte-editorial-table td{display:block;order:3;padding:0;border:0;font-size:.8125rem;line-height:1.45;color:var(--nte-muted)}
  /* A 60% basis keeps the name, the number and the line break apart however narrow the number is (0 or 3 digits). */
  .nte-editorial-table td:first-child{order:1;flex:1 1 60%;min-width:0;font-size:.9375rem;color:var(--nte-ink)}
  .nte-editorial-table td.nte-number{order:2;margin-left:auto;font-size:1rem;color:var(--nte-ink)}
  .nte-editorial-table tbody tr:has(>td:first-child .nte-profile-identity){padding-left:48px}
  .nte-editorial-table tbody tr:has(>td:first-child .nte-profile-identity)>td:first-child{margin-left:-46px}
  /* "·" between the cells of a line, drawn in the gap (no layout space). ui.js marks a cell that opens a new line
     (.nte-line-start), and its separator is dropped, so no line ever starts with "·". */
  .nte-editorial-table td:not(:first-child):not(.nte-number)~td:not(.nte-number){position:relative}
  .nte-editorial-table td:not(:first-child):not(.nte-number)~td:not(.nte-number)::before{content:"·";position:absolute;top:0;right:calc(100% + 6px);color:var(--nte-faint)}
  .nte-editorial-table tbody tr>td.nte-line-start:not(:first-child):not(.nte-number):not(:has(>.nte-text-link+small))::before{content:none}
  .nte-editorial-table .nte-cell-label{display:inline;margin-right:4px}
  /* Runner-up (name + party/votes): its own line with a label, never a stray separator at the start of a line. */
  .nte-editorial-table tbody td:not(:first-child):has(>.nte-text-link+small){flex-basis:100%}
  .nte-editorial-table tbody td:not(:first-child):not(.nte-number):has(>.nte-text-link+small)::before{content:"प्रतिस्पर्धी:";position:static;margin-right:6px;color:var(--nte-muted)}
  .nte-editorial-table tbody tr:hover td{background:none}
  .nte-editorial-table td small{display:inline;margin-left:4px}
}
.nte-dashboard .nte-profile-identity,.nte-dialog .nte-profile-identity{display:inline-flex;align-items:center;gap:10px;min-height:0;padding:2px;border:0;background:none;text-align:left;font-weight:700;color:var(--nte-ink)}
.nte-dashboard .nte-profile-identity:hover,.nte-dialog .nte-profile-identity:hover{background:none;color:var(--nte-brand-ink)}
.nte-profile-identity>span:last-child{display:grid;line-height:1.3}
.nte-profile-identity small{font-weight:500;color:var(--nte-muted)}
.nte-portal-avatar{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;overflow:hidden;background:var(--nte-brand-soft);color:var(--nte-brand-ink);font:700 .9375rem/1 var(--nte-display);flex-shrink:0}
.nte-portal-avatar img{width:100%;height:100%;object-fit:cover}
.nte-dashboard .nte-text-link,.nte-dialog .nte-text-link{min-height:0;padding:0;border:0;background:none;color:var(--nte-brand-ink);font-weight:700;text-align:left}
.nte-dashboard .nte-text-link:hover,.nte-dialog .nte-text-link:hover{background:none;text-decoration:underline}
/* Manifestos: a 6-track grid so the last row never leaves a hole (1 card → full row, 2 cards → halves). */
.nte-manifesto-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}
.nte-manifesto-grid>*{grid-column:span 2}
.nte-manifesto-grid>.nte-empty{grid-column:1/-1}
@media (min-width:1001px){
  .nte-manifesto-grid>:nth-child(3n+1):last-child{grid-column:1/-1}
  .nte-manifesto-grid>:nth-child(3n+2):last-child,.nte-manifesto-grid>:nth-child(3n+1):nth-last-child(2){grid-column:span 3}
}
@media (min-width:601px) and (max-width:1000px){
  .nte-manifesto-grid>*{grid-column:span 3}
  .nte-manifesto-grid>:nth-child(odd):last-child{grid-column:1/-1}
}
@media (max-width:600px){.nte-manifesto-grid>*{grid-column:1/-1}}
.nte-manifesto-card{position:relative;display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px 16px;border-radius:var(--nte-radius);background:var(--nte-surface);border:1px solid var(--nte-line);color:var(--nte-ink);text-decoration:none;box-shadow:var(--nte-shadow-xs);overflow:hidden;transition:transform .2s var(--nte-ease),border-color .2s,box-shadow .2s}
.nte-manifesto-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--party)}
.nte-manifesto-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--party) 60%,var(--nte-line));box-shadow:var(--nte-shadow-sm);color:var(--nte-ink);text-decoration:none}
.nte-document-symbol{display:grid;place-items:center;width:48px;height:48px;border-radius:var(--nte-radius-sm);overflow:hidden;background:var(--nte-surface-2);font:700 1.25rem/1 var(--nte-display);color:color-mix(in srgb,var(--party) var(--nte-tone),var(--nte-ink))}
.nte-document-symbol img{width:100%;height:100%;object-fit:contain}
.nte-manifesto-card small{display:block;color:var(--nte-muted);font-weight:600}
.nte-manifesto-card b{font:700 .9375rem/1.3 var(--nte-display)}
.nte-document-open{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--nte-surface-2);color:var(--nte-brand-ink);font-weight:700}

/* Insights, directory, FAQ, changes. */
.nte-insight-columns{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.nte-insight-columns h3{display:flex;align-items:center;gap:8px;font-size:1.0625rem}
.nte-insight-close h3 span{color:var(--nte-amber-ink)}
.nte-insight-wide h3 span{color:var(--nte-green-ink)}
.nte-dashboard .nte-race-row{display:flex;width:100%;justify-content:space-between;gap:12px;min-height:0;margin-bottom:8px;padding:10px 12px;border-radius:var(--nte-radius-sm);text-align:left;font-weight:400;border-color:var(--nte-line);background:var(--nte-surface-2)}
.nte-race-row>span{display:grid;min-width:0}
.nte-race-row b{font:700 .9375rem/1.3 var(--nte-display)}
.nte-race-row small{color:var(--nte-muted);font-size:.75rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nte-race-row strong{flex-shrink:0;align-self:center;padding:4px 10px;border-radius:var(--nte-pill);background:var(--nte-surface);font:700 .8125rem/1.2 var(--nte-display);font-variant-numeric:tabular-nums}
.nte-insight-close .nte-race-row strong{background:var(--nte-amber-soft);color:var(--nte-amber-ink)}
.nte-insight-wide .nte-race-row strong{background:var(--nte-green-soft);color:var(--nte-green-ink)}
@media (max-width:760px){.nte-insight-columns{grid-template-columns:1fr}}
.nte-directory-toolbar{display:grid;grid-template-columns:minmax(0,2fr) 1fr 1fr;gap:10px;margin-bottom:8px}
.nte-discovery-section>p.nte-muted{font-size:.8125rem}
#nte-directory-results.nte-table-wrap{padding:6px 10px;border-radius:var(--nte-radius);background:var(--nte-surface);border:1px solid var(--nte-line)}
@media (max-width:640px){.nte-directory-toolbar{grid-template-columns:1fr 1fr}.nte-directory-toolbar label:first-child{grid-column:1/-1}}
.nte-help{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.6fr);gap:28px;padding:clamp(18px,2.6vw,32px)}
.nte-faq{display:grid;gap:10px}
.nte-faq details{border-radius:14px;background:var(--nte-surface-2);border:1px solid var(--nte-line);overflow:hidden}
.nte-faq summary{cursor:pointer;display:flex;justify-content:space-between;gap:12px;padding:14px 16px;font:700 .9375rem/1.4 var(--nte-display);list-style:none}
.nte-faq summary::-webkit-details-marker{display:none}
.nte-faq summary::after{content:"+";flex-shrink:0;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--nte-surface);color:var(--nte-brand-ink);font-family:var(--nte-font)}
.nte-faq details[open] summary::after{content:"−"}
.nte-faq details p{margin:0;padding:0 16px 16px;color:var(--nte-ink-2);font-size:.9375rem}
@media (max-width:860px){.nte-help{grid-template-columns:1fr}}
.nte-change-center details{border-radius:var(--nte-radius);background:var(--nte-surface);border:1px solid var(--nte-line);padding:4px 18px;box-shadow:var(--nte-shadow-xs)}
.nte-change-center summary{cursor:pointer;display:flex;align-items:center;gap:10px;padding:12px 0;font:700 1rem/1.3 var(--nte-display)}
.nte-change-icon{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--nte-brand-soft);color:var(--nte-brand-ink)}
.nte-change-actions{display:flex;flex-wrap:wrap;align-items:end;gap:10px;margin-bottom:10px}
.nte-change-actions label{min-width:200px}
.nte-change-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;border-top:1px solid var(--nte-line)}
.nte-change-row div{display:grid}
.nte-change-row small{color:var(--nte-muted)}
#nte-change-list{padding-bottom:12px}

/* Newsroom section on the dashboard. */
.nte-news-section .nte-section-head{margin-bottom:16px}

/* 8. Dialogs, tray, dock ------------------------------------------------ */
.nte-dialog{width:min(960px,calc(100vw - 24px));max-height:min(88vh,920px);padding:clamp(18px,3vw,32px);border:0;border-radius:var(--nte-radius-lg);background:var(--nte-surface);color:var(--nte-ink);box-shadow:var(--nte-shadow-lg);overflow:auto}
.nte-dialog::backdrop{background:rgb(4 10 18/.62);backdrop-filter:blur(5px)}
.nte-dialog[open]{animation:nte-pop .28s var(--nte-ease)}
.nte-dialog form[method=dialog]{position:sticky;top:0;z-index:5;height:0;display:flex;justify-content:flex-end}
.nte-dialog .nte-dialog-close{width:40px;height:40px;min-height:40px;padding:0;margin:-8px -8px 0 0;border-radius:50%;background:var(--nte-surface-2);border-color:var(--nte-line);font-size:1rem}
.nte-dialog h2{margin-right:44px}
#nte-profile-content>.nte-eyebrow,.nte-editorial-profile>.nte-eyebrow{margin-right:44px}
.nte-editorial-profile>h2{font-size:clamp(1.4rem,2.6vw,2rem)}
.nte-person-hero{display:grid;grid-template-columns:160px minmax(0,1fr);gap:22px;align-items:center;margin:14px 0 18px;padding:18px;border-radius:20px;background:linear-gradient(135deg,color-mix(in srgb,var(--profile-party,var(--nte-brand)) 14%,var(--nte-surface)),var(--nte-surface-2));border:1px solid color-mix(in srgb,var(--profile-party,var(--nte-brand)) 25%,var(--nte-line))}
.nte-person-portrait{display:grid;place-items:center;width:160px;aspect-ratio:4/5;border-radius:18px;overflow:hidden;background:color-mix(in srgb,var(--profile-party,var(--nte-brand)) 30%,var(--nte-surface-2));font:700 3rem/1 var(--nte-display);color:#fff;box-shadow:var(--nte-shadow)}
.nte-person-portrait img{width:100%;height:100%;object-fit:cover}
.nte-person-hero h3{margin:8px 0 2px;font-size:1.5rem}
.nte-person-hero p{margin:0 0 2px;font-weight:600;color:var(--nte-ink-2)}
.nte-profile-demographic{font-weight:500!important;color:var(--nte-muted)!important;font-size:.875rem}
.nte-profile-tag{display:inline-flex;padding:4px 12px;border-radius:var(--nte-pill);background:color-mix(in srgb,var(--profile-party,var(--nte-brand)) 78%,#000);color:#fff;font:700 .75rem/1.4 var(--nte-font)}
.nte-person-total{display:block;margin:10px 0 12px;font:700 2rem/1 var(--nte-display);font-variant-numeric:tabular-nums;color:color-mix(in srgb,var(--profile-party,var(--nte-brand)) var(--nte-tone),var(--nte-ink))}
.nte-profile-education{padding:10px 14px;border-radius:12px;background:var(--nte-surface-2);font-weight:600;font-size:.875rem}
.nte-profile-layout{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:20px;align-items:start}
.nte-editorial-tabs{display:grid;gap:14px}
.nte-editorial-panel{min-width:0;max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}
.nte-dialog .nte-editorial-table{min-width:0}
.nte-profile-prose{font-size:1rem;line-height:1.8;color:var(--nte-ink-2)}
.nte-rich-content h2,.nte-rich-content h3,.nte-rich-content h4{margin:1em 0 .4em}
.nte-rich-content ul,.nte-rich-content ol{padding-left:1.2em}
.nte-rich-content blockquote{margin:1em 0;padding:10px 16px;border-left:4px solid var(--nte-brand);background:var(--nte-surface-2);border-radius:0 12px 12px 0}
.nte-person-timeline{position:relative;list-style:none;margin:0;padding:0 0 0 22px}
.nte-person-timeline::before{content:"";position:absolute;left:6px;top:6px;bottom:6px;width:2px;background:var(--nte-line-strong)}
.nte-person-timeline li{position:relative;padding:6px 0 12px;font-weight:600}
.nte-person-timeline li::before{content:"";position:absolute;left:-21px;top:12px;width:12px;height:12px;border-radius:50%;background:var(--nte-brand);box-shadow:0 0 0 3px var(--nte-surface)}
.nte-dialog .nte-history-link{display:flex;width:100%;justify-content:flex-start;margin-top:8px;text-align:left}
.nte-profile-rivals{display:grid;gap:8px;padding:14px;border-radius:18px;background:var(--nte-surface-2);border:1px solid var(--nte-line)}
.nte-profile-rivals h3{font-size:.9375rem;margin:0 0 4px}
.nte-dialog .nte-rival{display:grid;grid-template-columns:36px minmax(0,1fr);justify-content:stretch;gap:10px;min-height:0;padding:8px;border-radius:12px;text-align:left;background:var(--nte-surface)}
.nte-rival>span:last-child{display:grid;line-height:1.3}
.nte-rival small{color:var(--nte-muted);font-weight:500}
.nte-rival strong{font:700 .875rem/1.2 var(--nte-display);font-variant-numeric:tabular-nums;color:var(--nte-brand-ink)}
.nte-share{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:4px 0}
.nte-share-label{margin-right:4px;font:700 .75rem/1 var(--nte-font);color:var(--nte-muted)}
/* Narrow phones: the label takes its own line, so the 40px buttons stay together instead of leaving one alone on a row. */
@media (max-width:380px){.nte-share-label{flex-basis:100%;margin:0 0 2px}}
.nte-share-btn,.nte-dialog .nte-share-btn,.nte-share button.nte-share-btn{display:inline-grid;place-items:center;width:40px;height:40px;min-height:40px;padding:0;border-radius:50%;border:1px solid var(--nte-line);background:var(--nte-surface);color:var(--nte-ink-2);text-decoration:none;transition:transform .15s,background .15s,color .15s}
.nte-share-btn svg{width:18px;height:18px;fill:currentColor}
.nte-share-btn:hover{transform:translateY(-2px);color:#fff!important;text-decoration:none}
.nte-share-facebook:hover{background:#1877f2!important;border-color:#1877f2!important}
.nte-share-x:hover{background:#111!important;border-color:#111!important}
.nte-share-whatsapp:hover{background:#25d366!important;border-color:#25d366!important}
.nte-share-viber:hover{background:#7360f2!important;border-color:#7360f2!important}
.nte-share-copy:hover{background:var(--nte-brand-solid)!important;border-color:var(--nte-brand-solid)!important;color:var(--nte-on-brand)!important}
.nte-dialog .nte-share-copy{width:auto;padding:0 14px;border-radius:var(--nte-pill);font-size:.75rem}
.nte-share-status{font-size:.75rem;color:var(--nte-brand-ink);font-weight:700}
.nte-source-link{display:inline-block;margin-top:14px;font-weight:700}
.nte-area-dialog-list{display:grid;gap:8px;margin:12px 0}
.nte-area-dialog-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;border-radius:var(--nte-radius-sm);background:var(--nte-surface-2)}
.nte-area-dialog-row>div{min-width:0}
.nte-area-dialog-row>b{flex-shrink:0;font-variant-numeric:tabular-nums}
.nte-profile-avatar,.nte-profile-party-logo{display:grid;place-items:center;width:96px;height:96px;border-radius:50%;overflow:hidden;background:var(--nte-brand-soft);font:700 2rem/1 var(--nte-display);color:var(--nte-brand-ink)}
.nte-profile-avatar img,.nte-profile-party-logo img{width:100%;height:100%;object-fit:cover}
.nte-profile-vote{font:700 1.75rem/1.1 var(--nte-display);color:var(--nte-brand-ink)}
.nte-profile-actions{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
.nte-dialog .nte-party-emblem{position:static;width:72px;height:72px;margin-bottom:10px;border:1px solid var(--nte-line)}
.nte-comparison{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-top:14px}
.nte-comparison-card{display:grid;justify-items:start;gap:4px;padding:16px;border-radius:18px;background:var(--nte-surface-2);border:1px solid var(--nte-line)}
.nte-comparison-photo{display:block;width:72px;height:72px;border-radius:50%;overflow:hidden}
.nte-comparison-photo img{width:100%;height:100%;object-fit:cover}
.nte-comparison-card h3{margin:6px 0 0}
.nte-comparison-votes{font:700 1.5rem/1.1 var(--nte-display);font-variant-numeric:tabular-nums;color:var(--nte-brand-ink)}
@media (max-width:760px){
  .nte-person-hero{grid-template-columns:96px minmax(0,1fr);gap:14px;padding:12px}
  .nte-person-portrait{width:96px;border-radius:14px}
  .nte-person-hero h3{font-size:1.2rem}
  .nte-person-total{font-size:1.5rem}
  .nte-profile-layout{grid-template-columns:1fr}
  .nte-dialog{max-height:92vh;border-radius:18px}
  .nte-dialog .nte-tabs,.nte-dialog .nte-editorial-tablist{display:flex;flex-wrap:nowrap;max-width:100%;overflow-x:auto;scrollbar-width:none}
  .nte-dialog .nte-editorial-tablist button{flex-shrink:0}
}

/* Quick Find. */
.nte-search-dialog{width:min(720px,calc(100vw - 24px));margin-top:8vh;align-self:start}
.nte-search-dialog h2{font-size:1.5rem;margin-bottom:14px}
.nte-omni-field{display:flex;align-items:center;gap:10px;padding:0 14px;border-radius:14px;border:2px solid var(--nte-brand);background:var(--nte-surface);box-shadow:var(--nte-ring)}
.nte-omni-field svg{width:20px;height:20px;fill:none;stroke:var(--nte-brand);stroke-width:2.2;stroke-linecap:round}
.nte-dialog .nte-omni-field input{border:0;box-shadow:none;padding-left:0;min-height:54px;font-size:1.0625rem}
.nte-dialog .nte-omni-field input:focus,.nte-dialog .nte-omni-field input:focus-visible{box-shadow:none;outline:none}
.nte-omni-field:focus-within{border-color:var(--nte-brand-ink)}
.nte-omni-types{margin:12px 0 4px}
#nte-omni-status{margin:8px 0;font-size:.8125rem;color:var(--nte-muted)}
#nte-omni-results{display:grid;gap:6px}
.nte-dialog .nte-omni-result{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;justify-content:stretch;min-height:0;padding:10px 12px;border-radius:12px;text-align:left;font-weight:400;border-color:var(--nte-line)}
.nte-dialog .nte-omni-result:focus{outline:none;border-color:var(--nte-brand);background:var(--nte-brand-soft)}
.nte-omni-kind{align-self:center;padding:3px 9px;border-radius:var(--nte-pill);background:var(--nte-surface-3);font:700 .6875rem/1.4 var(--nte-font);color:var(--nte-ink-2)}
.nte-omni-result>span:nth-child(2){display:grid;min-width:0}
.nte-omni-result b{font:700 .9375rem/1.3 var(--nte-display)}
.nte-omni-result small{color:var(--nte-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nte-omni-arrow{align-self:center;color:var(--nte-faint)}
.nte-omni-footnote{margin:14px 0 0;font-size:.75rem;color:var(--nte-muted)}

/* Guide. */
#nte-guide{width:min(620px,calc(100vw - 24px))}
.nte-guide-steps{counter-reset:step;list-style:none;margin:16px 0 0;padding:0;display:grid;gap:12px}
.nte-guide-steps li{counter-increment:step;position:relative;padding:14px 16px 14px 60px;border-radius:16px;background:var(--nte-surface-2)}
.nte-guide-steps li::before{content:counter(step);position:absolute;left:14px;top:14px;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--nte-brand-solid);color:var(--nte-on-brand);font:700 .9375rem/1 var(--nte-display)}
.nte-guide-steps strong{font-family:var(--nte-display)}
.nte-guide-steps p{margin:2px 0 0;font-size:.875rem;color:var(--nte-ink-2)}

/* Comparison tray. */
.nte-compare-tray{position:fixed;left:50%;bottom:22px;z-index:80;display:flex;align-items:center;gap:10px;padding:8px 8px 8px 18px;border-radius:var(--nte-pill);background:var(--nte-ink);color:var(--nte-surface);box-shadow:var(--nte-shadow-lg);transform:translateX(-50%);animation:nte-rise .3s var(--nte-ease)}
#nte-compare-count{font-weight:700;font-size:.875rem;white-space:nowrap}
.nte-compare-tray button{min-height:38px!important;border-radius:var(--nte-pill)!important}
.nte-compare-tray #nte-compare-open{background:var(--nte-brand-solid);border-color:var(--nte-brand-solid);color:var(--nte-on-brand)}
.nte-compare-tray #nte-compare-clear{background:transparent;border-color:rgb(255 255 255/.25);color:inherit}

/* Mobile dock. */
.nte-dock{display:none}
@media (max-width:780px){
  .nte-dock{position:fixed;left:12px;right:12px;bottom:calc(10px + env(safe-area-inset-bottom));z-index:90;display:grid;grid-template-columns:repeat(5,1fr);align-items:end;padding:6px;border-radius:22px;background:color-mix(in srgb,var(--nte-surface) 88%,transparent);backdrop-filter:saturate(1.6) blur(16px);-webkit-backdrop-filter:saturate(1.6) blur(16px);border:1px solid var(--nte-line);box-shadow:var(--nte-shadow-lg);transition:transform .3s var(--nte-ease)}
  .nte-dock.is-tucked{transform:translateY(130%)}
  /* Keyboard focus never lands under the dock or the back-to-top button (which sits above the dock on the dashboard). */
  html{scroll-padding-bottom:calc(110px + env(safe-area-inset-bottom))}
  html:has(>body.nte-dashboard-page){scroll-padding-bottom:calc(156px + env(safe-area-inset-bottom))}
  .nte-dock a,.nte-dock button{display:grid;justify-items:center;gap:2px;min-height:52px;padding:6px 2px;border:0;border-radius:16px;background:none;color:var(--nte-muted);font:700 .625rem/1.2 var(--nte-font);text-decoration:none}
  .nte-dock a:hover,.nte-dock button:hover{color:var(--nte-brand-ink);text-decoration:none}
  .nte-dock svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
  .nte-dock .nte-dock-main{width:56px;height:56px;margin:-22px auto 0;place-content:center;border-radius:50%;background:var(--nte-brand-solid);color:var(--nte-on-brand);box-shadow:0 10px 24px -8px var(--nte-brand)}
  .nte-dock .nte-dock-main span{display:none}
  .nte-dashboard-page .nte-footer{padding-bottom:110px}
  .nte-dashboard-page .nte-to-top{bottom:96px}
  .nte-dashboard-page .nte-compare-tray{bottom:96px}
}

/* Back to top. */
.nte-to-top{position:fixed;right:20px;bottom:22px;z-index:85;display:grid;place-items:center;width:50px;height:50px;padding:0;border:0;border-radius:50%;background:var(--nte-surface);color:var(--nte-ink);box-shadow:var(--nte-shadow);cursor:pointer;transition:transform .2s}
.nte-to-top:hover{transform:translateY(-3px)}
.nte-to-top svg{width:50px;height:50px;position:absolute;inset:0;transform:rotate(-90deg)}
.nte-top-track{fill:none;stroke:var(--nte-line);stroke-width:3}
.nte-top-ring{fill:none;stroke:var(--nte-brand);stroke-width:3;stroke-linecap:round;stroke-dasharray:100;stroke-dashoffset:100}
.nte-to-top path{fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;transform:rotate(90deg);transform-origin:22px 22px}
.nte-to-top svg{overflow:visible}

/* Footer. */
/* The footer owns the space above it; page containers end without bottom padding, so the gap is the same everywhere. */
.nte-footer{margin-top:clamp(48px,6vw,88px);background:var(--nte-night);color:rgb(255 255 255/.74);padding:clamp(36px,5vw,56px) 0 24px;border-top:3px solid var(--nte-brand)}
.nte-footer-inner{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:28px 48px;align-items:start}
.nte-footer.has-widgets .nte-footer-inner{grid-template-columns:minmax(0,1.3fr) minmax(0,.8fr) minmax(0,1.6fr)}
.nte-footer a{color:rgb(255 255 255/.86)}
.nte-footer a:hover{color:#fff}
.nte-footer :focus-visible{outline-color:color-mix(in srgb,var(--nte-glow-a) 75%,#fff)}
.nte-footer-home{display:inline-flex;align-items:center;gap:12px;color:#fff;text-decoration:none}
.nte-footer-home:hover{text-decoration:none}
.nte-footer-home b{color:#fff;font:700 1.375rem/1.2 var(--nte-display)}
.nte-footer-brand .nte-logo>span{border-color:var(--nte-night)}
.nte-footer-tagline{margin:12px 0 0;color:rgb(255 255 255/.86);font-weight:600}
.nte-footer-note{max-width:52ch;margin:10px 0 0;font-size:.8125rem;line-height:1.65;color:rgb(255 255 255/.66)}
.nte-footer-title,.nte-footer-widgets .nte-widget-title{margin:4px 0 14px;padding:0;border:0;color:#fff;font:700 .9375rem/1.3 var(--nte-display)}
.nte-footer-links ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,max-content));gap:10px 32px}
.nte-footer-links a{font-weight:600;font-size:.9375rem;text-decoration:none}
.nte-footer-links a:hover{text-decoration:underline}
/* Widgets sit on the dark footer: no white card, readable light text. */
.nte-footer-widgets{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:24px}
.nte-footer-widgets .nte-widget{padding:0;border:0;border-radius:0;background:none;box-shadow:none;color:rgb(255 255 255/.74);font-size:.875rem;line-height:1.7}
.nte-footer-widgets .nte-widget :is(h1,h2,h3,h4,strong,b){color:#fff}
.nte-footer-widgets .nte-widget :is(h2,h3,h4){font-size:.9375rem;margin:0 0 10px}
.nte-footer-widgets .nte-widget p{margin:0 0 .7em}
.nte-footer-widgets .nte-widget ul{padding-left:0;list-style:none}
.nte-footer-widgets a{color:color-mix(in srgb,var(--nte-glow-a) 60%,#fff);text-decoration:underline;text-decoration-color:rgb(255 255 255/.3)}
.nte-footer-widgets input,.nte-footer-widgets select,.nte-footer-widgets textarea{max-width:100%;color:var(--nte-ink)}
.nte-footer-bottom{grid-column:1/-1;display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 24px;padding-top:18px;border-top:1px solid rgb(255 255 255/.1);font-size:.8125rem;color:rgb(255 255 255/.6)}
.nte-footer-bottom small{font-size:inherit}
@media (max-width:900px){.nte-footer.has-widgets .nte-footer-inner{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.nte-footer.has-widgets .nte-footer-widgets{grid-column:1/-1}}
@media (max-width:640px){.nte-footer-inner,.nte-footer.has-widgets .nte-footer-inner{grid-template-columns:1fr}}

/* 9. Newsroom & articles ------------------------------------------------ */
.nte-posts{padding-top:clamp(24px,3vw,40px);padding-bottom:0}
.nte-archive-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px 24px;margin-bottom:24px;padding-bottom:18px;border-bottom:1px solid var(--nte-line)}
.nte-archive-head h1{margin:0;font-size:clamp(1.75rem,3vw,2.5rem)}
.nte-archive-head>div:first-child{min-width:0}
.nte-archive-desc{max-width:65ch;margin-top:6px;color:var(--nte-muted)}
.nte-archive-desc p{margin:0}
.nte-archive-count{padding-bottom:6px}
.nte-archive-search{flex:0 0 100%;order:3}
.nte-archive-search .nte-site-search{max-width:560px}
.nte-news-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:20px}
.nte-news-card{min-width:0}
.nte-news-card a{display:flex;flex-direction:column;height:100%;border-radius:var(--nte-radius);background:var(--nte-surface);border:1px solid var(--nte-line);box-shadow:var(--nte-shadow-xs);color:var(--nte-ink);text-decoration:none;overflow:hidden;transition:transform .25s var(--nte-ease),box-shadow .25s,border-color .25s}
.nte-news-card a:hover{transform:translateY(-3px);box-shadow:var(--nte-shadow-sm);border-color:var(--nte-line-strong);color:var(--nte-ink);text-decoration:none}
.nte-news-card a:hover .nte-news-title{color:var(--nte-brand-ink)}
.nte-news-media{position:relative;display:block;aspect-ratio:16/9;overflow:hidden;background:var(--nte-surface-3)}
.nte-news-media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .6s var(--nte-ease)}
.nte-news-card a:hover .nte-news-media img{transform:scale(1.04)}
.nte-news-placeholder{display:grid;place-items:center;width:100%;height:100%;background:linear-gradient(135deg,var(--nte-hero-a),var(--nte-hero-b));color:rgb(255 255 255/.85);font:700 1.25rem/1 var(--nte-display)}
.nte-news-body{display:flex;flex-direction:column;gap:8px;flex:1;padding:16px 18px 18px}
.nte-news-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;font-size:.75rem;line-height:1.4;color:var(--nte-muted);font-variant-numeric:tabular-nums}
.nte-news-meta b{padding:2px 9px;border-radius:var(--nte-pill);background:var(--nte-brand-soft);color:var(--nte-brand-ink)}
.nte-news-title{margin:0;font:700 1.125rem/1.45 var(--nte-display);color:var(--nte-ink);transition:color .15s}
.nte-news-excerpt{color:var(--nte-muted);font-size:.875rem;line-height:1.65;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.nte-news-more{margin-top:auto;padding-top:2px;font:700 .8125rem/1.2 var(--nte-font);color:var(--nte-brand-ink)}
/* Lead-story grid on a 6-track grid: the lead story (4 tracks) sits beside up to three compact headlines,
   then full stories run in rows of three. The last row never leaves a hole: one leftover story becomes a
   wide horizontal card and two leftovers share the row. */
@media (min-width:900px){
  .nte-news-grid-feature{grid-template-columns:repeat(6,minmax(0,1fr))}
  .nte-news-grid-feature>.nte-news-card{grid-column:span 2}
  .nte-news-grid-feature>.nte-news-card:first-child{grid-column:span 4;grid-row:span 3}
  .nte-news-grid-feature>.nte-news-card:first-child:nth-last-child(3){grid-row:span 2}
  .nte-news-grid-feature>.nte-news-card:first-child:nth-last-child(2){grid-row:auto}
  .nte-news-grid-feature>.nte-news-card:first-child:last-child{grid-column:1/-1;grid-row:auto}
  .nte-news-grid-feature>.nte-news-card:nth-child(3n+5):last-child{grid-column:1/-1}
  .nte-news-grid-feature>.nte-news-card:nth-child(3n+6):last-child,.nte-news-grid-feature>.nte-news-card:nth-child(3n+5):nth-last-child(2){grid-column:span 3}
  /* Compact headline cards beside the lead (not when a lone second story fills that column). */
  .nte-news-grid-feature>.nte-news-card:nth-child(-n+4):not(:first-child):not(:nth-child(2):last-child) a{flex-direction:row}
  .nte-news-grid-feature>.nte-news-card:nth-child(-n+4):not(:first-child):not(:nth-child(2):last-child) .nte-news-media{flex:0 0 38%;aspect-ratio:auto;min-height:118px}
  .nte-news-grid-feature>.nte-news-card:nth-child(-n+4):not(:first-child):not(:nth-child(2):last-child) .nte-news-body{gap:6px;padding:12px 14px;min-width:0}
  .nte-news-grid-feature>.nte-news-card:nth-child(-n+4):not(:first-child):not(:nth-child(2):last-child) .nte-news-title{font-size:.9375rem;line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
  .nte-news-grid-feature>.nte-news-card:nth-child(-n+4):not(:first-child):not(:nth-child(2):last-child) :is(.nte-news-excerpt,.nte-news-more){display:none}
  /* Leftover stories in the last row: horizontal cards. */
  .nte-news-grid-feature>.nte-news-card:nth-child(3n+5):last-child a,.nte-news-grid-feature>.nte-news-card:nth-child(3n+6):last-child a,.nte-news-grid-feature>.nte-news-card:nth-child(3n+5):nth-last-child(2) a{flex-direction:row}
  .nte-news-grid-feature>.nte-news-card:nth-child(3n+5):last-child .nte-news-media,.nte-news-grid-feature>.nte-news-card:nth-child(3n+6):last-child .nte-news-media,.nte-news-grid-feature>.nte-news-card:nth-child(3n+5):nth-last-child(2) .nte-news-media{flex:0 0 42%;aspect-ratio:auto;min-height:190px}
  .nte-news-grid-feature>.nte-news-card:nth-child(3n+5):last-child .nte-news-body{justify-content:center;padding:24px 28px}
  .nte-news-grid-feature>.nte-news-card:nth-child(3n+5):last-child .nte-news-title{font-size:1.375rem}
  .nte-news-grid-feature>.nte-news-card:nth-child(-n+4):not(:first-child):not(:nth-child(2):last-child) .nte-news-media>*,.nte-news-grid-feature>.nte-news-card:nth-child(3n+5):last-child .nte-news-media>*,.nte-news-grid-feature>.nte-news-card:nth-child(3n+6):last-child .nte-news-media>*,.nte-news-grid-feature>.nte-news-card:nth-child(3n+5):nth-last-child(2) .nte-news-media>*{position:absolute;inset:0}
  /* The lead story. */
  .nte-news-grid-feature>.nte-news-card:first-child a{position:relative;min-height:440px;justify-content:flex-end;border:0;color:#fff;background:var(--nte-hero-b)}
  .nte-news-grid-feature>.nte-news-card:first-child:last-child a{min-height:380px}
  .nte-news-grid-feature>.nte-news-card:first-child .nte-news-media{position:absolute;inset:0;aspect-ratio:auto;height:100%}
  /* Scrim: the headline and dek sit on ≥ .85 black whatever the cover art (≥ 4.5:1 for the dek). */
  .nte-news-grid-feature>.nte-news-card:first-child .nte-news-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgb(5 12 20/0) 0,rgb(5 12 20/.3) 16%,rgb(5 12 20/.85) 36%,rgb(5 12 20/.94) 100%)}
  .nte-news-grid-feature>.nte-news-card:first-child .nte-news-body{position:relative;z-index:1;flex:0;max-width:760px;padding:28px 30px 30px}
  .nte-news-grid-feature>.nte-news-card:first-child .nte-news-title{font-size:clamp(1.6rem,2.4vw,2.1rem);line-height:1.35;color:#fff;text-wrap:balance}
  .nte-news-grid-feature>.nte-news-card:first-child a:hover .nte-news-title{color:#fff;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:6px}
  .nte-news-grid-feature>.nte-news-card:first-child .nte-news-excerpt{-webkit-line-clamp:2;font-size:1rem;color:rgb(255 255 255/.82)}
  .nte-news-grid-feature>.nte-news-card:first-child .nte-news-meta{color:rgb(255 255 255/.8)}
  .nte-news-grid-feature>.nte-news-card:first-child .nte-news-meta b{background:color-mix(in srgb,var(--nte-live) 85%,#000);color:#fff}
  .nte-news-grid-feature>.nte-news-card:first-child .nte-news-more{color:color-mix(in srgb,var(--nte-glow-a) 60%,#fff)}
}
/* Phones and tablets: lead story on top, then a compact thumbnail list (as news portals do). */
@media (max-width:899px){
  .nte-news-grid-feature{grid-template-columns:1fr;gap:12px}
  .nte-news-grid-feature>.nte-news-card:not(:first-child) a{flex-direction:row;align-items:stretch}
  .nte-news-grid-feature>.nte-news-card:not(:first-child) .nte-news-media{flex:0 0 clamp(112px,32%,220px);aspect-ratio:auto;min-height:100%}
  .nte-news-grid-feature>.nte-news-card:not(:first-child) .nte-news-media>*{position:absolute;inset:0}
  .nte-news-grid-feature>.nte-news-card:not(:first-child) .nte-news-placeholder{font-size:.875rem}
  .nte-news-grid-feature>.nte-news-card:not(:first-child) .nte-news-body{gap:6px;padding:12px 14px;min-width:0}
  .nte-news-grid-feature>.nte-news-card:not(:first-child) .nte-news-title{font-size:1rem;line-height:1.45}
  .nte-news-grid-feature>.nte-news-card:not(:first-child) .nte-news-excerpt{display:none}
  .nte-news-grid-feature>.nte-news-card:not(:first-child) .nte-news-more{display:none}
}
@media (min-width:600px) and (max-width:899px){
  .nte-news-grid-feature>.nte-news-card:not(:first-child) .nte-news-excerpt{display:-webkit-box;-webkit-line-clamp:2}
}
.navigation.pagination{margin-top:32px}
.nav-links{display:flex;flex-wrap:wrap;justify-content:center;gap:6px}
.nav-links .page-numbers{display:grid;place-items:center;min-width:42px;height:42px;padding:0 12px;border-radius:12px;background:var(--nte-surface);border:1px solid var(--nte-line);color:var(--nte-ink);font-weight:700;text-decoration:none}
.nav-links .page-numbers.current,.nav-links a.page-numbers:hover{background:var(--nte-brand-solid);border-color:var(--nte-brand-solid);color:var(--nte-on-brand)}

.nte-article-layout{padding-top:clamp(24px,3vw,44px);padding-bottom:0}
.nte-article-layout.has-sidebar{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:20px 48px;align-items:start}
.nte-article-layout.has-sidebar>*{grid-column:1}
.nte-article-layout.has-sidebar>.nte-sidebar{grid-column:2;grid-row:1 / span 6;position:sticky;top:70px}
.nte-article{max-width:820px;margin-inline:auto}
.nte-article-layout.has-sidebar .nte-article{max-width:none}
.nte-article-header{margin-bottom:22px}
.nte-article-kicker{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin-bottom:14px}
.nte-article-back{display:inline-flex;align-items:center;gap:6px;font:700 .8125rem/1.2 var(--nte-font);color:var(--nte-muted)}
.nte-article-back:hover{color:var(--nte-brand-ink)}
.nte-article-cat{display:inline-block;padding:4px 12px;border-radius:var(--nte-pill);background:var(--nte-brand-soft);color:var(--nte-brand-ink);font:700 .8125rem/1.3 var(--nte-font)}
.nte-article-cat:hover{text-decoration:none;background:var(--nte-brand-solid);color:var(--nte-on-brand)}
.nte-article-header h1{font-size:clamp(1.85rem,3.6vw,2.75rem);line-height:1.3;margin:0 0 12px;text-wrap:balance}
.nte-article-dek{font-size:1.1875rem;line-height:1.65;color:var(--nte-ink-2);margin:0 0 16px}
.nte-article-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;padding-top:14px;border-top:1px solid var(--nte-line);color:var(--nte-muted);font-size:.875rem;font-variant-numeric:tabular-nums}
.nte-article-meta>*+*::before{content:"";display:inline-block;width:4px;height:4px;margin:0 14px 2px 0;border-radius:50%;background:var(--nte-line-strong);vertical-align:middle}
.nte-article-meta>.nte-article-author::before{display:none}
.nte-article-author{display:inline-flex;align-items:center;gap:9px;color:var(--nte-ink);font-weight:700}
.nte-article-author img{border-radius:50%}
.nte-article-avatar{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--nte-brand-soft);color:var(--nte-brand-ink);font:700 .9375rem/1 var(--nte-display)}
.nte-article-figure{margin:0 0 28px}
.nte-article-image{display:block;width:100%;border-radius:var(--nte-radius-lg);box-shadow:var(--nte-shadow-sm)}
.nte-article-figure figcaption{margin-top:8px;font-size:.8125rem;color:var(--nte-muted)}
.nte-article-body{display:grid;grid-template-columns:44px minmax(0,1fr);gap:28px}
.nte-article-body>.nte-share{position:sticky;top:76px;align-self:start;flex-direction:column;gap:8px}
.nte-article-body>.nte-share .nte-share-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
/* Devanagari body copy: ~1.75 leading and a 68-character measure. */
.nte-article-content{font-size:1.125rem;line-height:1.75;color:var(--nte-ink-2);min-width:0;overflow-wrap:break-word}
.nte-article-content>*{max-width:100%}
.nte-article-content>:last-child{margin-bottom:0}
.nte-article-content>:is(p,ul,ol,dl,h2,h3,h4,h5,h6,blockquote,.wp-block-quote,pre){max-width:68ch}
.nte-article-content p{margin:0 0 1.15em}
.nte-article-content h2,.nte-article-content h3{margin:1.7em 0 .55em;line-height:1.35;color:var(--nte-ink)}
.nte-article-content h2{font-size:1.5rem}
.nte-article-content h3{font-size:1.25rem}
.nte-article-content a{color:var(--nte-brand-ink);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
.nte-article-content img{border-radius:var(--nte-radius)}
.nte-article-content ul,.nte-article-content ol{padding-left:1.3em}
.nte-article-content li{margin:.3em 0}
.nte-article-content blockquote,.nte-article-content .wp-block-quote{margin:1.7em 0;padding:18px 24px;border-left:4px solid var(--nte-brand);border-radius:0 var(--nte-radius) var(--nte-radius) 0;background:var(--nte-surface);box-shadow:var(--nte-shadow-xs);font:700 1.1875rem/1.65 var(--nte-display);color:var(--nte-ink)}
.nte-article-content blockquote p{margin:0}
.nte-article-content blockquote cite{display:block;margin-top:8px;font:600 .875rem/1.4 var(--nte-font);font-style:normal;color:var(--nte-muted)}
.nte-article-content table{width:100%;border-collapse:collapse;font-size:.9375rem;font-variant-numeric:tabular-nums}
.nte-article-content th,.nte-article-content td{padding:10px;border-bottom:1px solid var(--nte-line);text-align:left}
.nte-article-content th{color:var(--nte-ink);font-weight:700}
.nte-article-content pre{overflow:auto;padding:16px;border-radius:var(--nte-radius-sm);background:var(--nte-surface-3);font-size:.875rem}
.nte-article-content .alignwide{margin-inline:clamp(-80px,-6vw,0px)}
.nte-article-content .alignfull{margin-inline:calc(50% - 50vw);max-width:100vw}
.nte-article-content .wp-block-image figcaption,.nte-article-content .wp-caption-text{font-size:.8125rem;color:var(--nte-muted);text-align:center}
.nte-article-content .nte-embed{max-width:none;line-height:1.5}
.nte-article-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px;padding-top:20px;border-top:1px solid var(--nte-line)}
.nte-article-tags a{padding:6px 12px;border-radius:var(--nte-pill);background:var(--nte-surface);border:1px solid var(--nte-line);color:var(--nte-ink-2);font-size:.8125rem;font-weight:700;text-decoration:none}
.nte-article-tags a::before{content:"#";margin-right:2px;color:var(--nte-faint)}
.nte-article-tags a:hover{border-color:var(--nte-brand);color:var(--nte-brand-ink)}
.nte-related{margin-top:48px;padding-top:28px;border-top:1px solid var(--nte-line)}
.nte-article-layout:not(.has-sidebar)>.nte-related,.nte-article-layout:not(.has-sidebar)>.nte-comments{max-width:820px;margin-inline:auto}
.nte-related .nte-news-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:16px}
.nte-related .nte-news-title{font-size:1rem}
.nte-related .nte-news-excerpt{display:none}
@media (max-width:600px){
  .nte-related .nte-news-grid{gap:12px}
  .nte-related .nte-news-card a{flex-direction:row}
  .nte-related .nte-news-media{flex:0 0 112px;aspect-ratio:auto;min-height:96px}
  .nte-related .nte-news-media>*{position:absolute;inset:0}
  .nte-related .nte-news-body{padding:12px 14px;gap:6px}
  .nte-related .nte-news-more{display:none}
}
.nte-page-links{margin-top:24px;font-weight:700}
@media (max-width:1100px){.nte-article-layout.has-sidebar{grid-template-columns:1fr}.nte-article-layout.has-sidebar>.nte-sidebar{grid-column:1;grid-row:auto;position:static}}
@media (max-width:760px){.nte-article-body{grid-template-columns:1fr;gap:14px}.nte-article-body>.nte-share{position:static;flex-direction:row}.nte-article-body>.nte-share .nte-share-label{position:static;width:auto;height:auto;overflow:visible;clip:auto;margin:0 4px 0 0}.nte-article-content{font-size:1.0625rem}.nte-article-dek{font-size:1.0625rem}}
.nte-sidebar{display:grid;gap:20px}
.nte-widget{padding:20px;border-radius:var(--nte-radius);background:var(--nte-surface);border:1px solid var(--nte-line);box-shadow:var(--nte-shadow-xs)}
.nte-widget-title{font-size:1.0625rem;margin:0 0 12px;padding-bottom:10px;border-bottom:2px solid var(--nte-brand-soft)}
.nte-widget ul{margin:0;padding-left:1.1em}
.nte-widget li{margin:6px 0}
/* Shortcode embeds inside a sidebar widget: the widget is the card, so the embed drops its own chrome but keeps
   a little inset and visible overflow (no clipped first glyph of the Devanagari heading). */
.nte-sidebar .nte-embed{margin:0;padding:2px 0 0;box-shadow:none;border:0;border-radius:0;background:none;overflow:visible;font-size:.875rem}
.nte-sidebar .nte-embed-area::before,.nte-sidebar .nte-embed-hot::before{display:none}
.nte-sidebar .nte-embed-area,.nte-sidebar .nte-embed-hot{padding-top:2px}
.nte-sidebar .nte-embed-grid{flex-direction:column;gap:18px;margin:0}
.nte-sidebar .nte-embed-table th:nth-child(3),.nte-sidebar .nte-embed-table td:nth-child(3),.nte-sidebar .nte-embed-table th:nth-child(4),.nte-sidebar .nte-embed-table td:nth-child(4),.nte-sidebar .nte-embed-table tbody th img{display:none}
.nte-sidebar .nte-embed-count{font-size:1.375rem}
.nte-sidebar .nte-widget .wp-block-heading{font-size:1.0625rem;margin:0 0 10px}
.nte-site-search>div{display:flex;align-items:center;gap:8px;padding:5px 5px 5px 14px;border-radius:var(--nte-pill);background:var(--nte-surface);border:1px solid var(--nte-line-strong);transition:border-color .15s,box-shadow .15s}
.nte-site-search svg{width:18px;height:18px;fill:none;stroke:var(--nte-muted);stroke-width:2.2;stroke-linecap:round}
.nte-site-search input{flex:1;min-width:0;border:0!important;box-shadow:none!important;background:transparent!important;min-height:40px!important;padding:0!important;outline:none}
.nte-site-search button{min-height:40px!important;padding:6px 18px!important;border-radius:var(--nte-pill)!important;background:var(--nte-brand-solid)!important;border-color:var(--nte-brand-solid)!important;color:var(--nte-on-brand)!important}
.nte-site-search button:hover{filter:brightness(1.08)}
.nte-site-search>div:focus-within{border-color:var(--nte-brand);box-shadow:var(--nte-ring)}
.nte-site-search>div:has(input:focus-visible){border-color:var(--nte-brand-ink);outline:2px solid var(--nte-brand-ink);outline-offset:1px}
.nte-404{max-width:640px;margin:clamp(30px,6vw,80px) auto 0;text-align:center}
.nte-404-ballot{display:grid;place-items:center;width:136px;height:136px;margin:0 auto 24px;border-radius:30px;background:linear-gradient(135deg,var(--nte-brand),var(--nte-hero-b));color:#fff;font:700 2.75rem/1 var(--nte-display);box-shadow:var(--nte-shadow);transform:rotate(-6deg)}
[data-nte-mode=dark] .nte-404-ballot{background:linear-gradient(135deg,var(--nte-brand),var(--nte-brand-ink));color:var(--nte-on-brand)}
.nte-404 .nte-eyebrow{justify-content:center}
.nte-404 h1{font-size:clamp(1.75rem,3.4vw,2.5rem);text-wrap:balance}
.nte-404 .nte-site-search{margin:24px auto;max-width:520px}
.nte-404-links{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 18px;margin-top:20px;font-weight:700;font-size:.9375rem}
.nte-comments{margin-top:44px;padding-top:28px;border-top:1px solid var(--nte-line)}
.nte-comments-title,.nte-comments .comment-reply-title{font-size:1.375rem;margin:0 0 14px}
.nte-comment-list{list-style:none;margin:0 0 28px;padding:0}
.nte-comment-list .comment-body{padding:16px 18px;margin-bottom:12px;border-radius:var(--nte-radius);background:var(--nte-surface);border:1px solid var(--nte-line)}
.nte-comment-list .children{list-style:none;padding-left:clamp(12px,3vw,28px)}
.nte-comment-list .comment-content{line-height:1.75;color:var(--nte-ink-2)}
.comment-author{display:flex;align-items:center;gap:8px;font-weight:700}
.comment-author img{border-radius:50%}
.comment-author .says{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.comment-reply-link{font-weight:700;font-size:.8125rem}
.comment-form .required{color:var(--nte-live-ink)}
.comment-metadata{font-size:.75rem}
.comment-metadata a{color:var(--nte-muted)}
.comment-metadata .edit-link::before{content:"·";margin-right:6px;color:var(--nte-faint)}
/* "जवाफ रद्द गर्नुहोस्" next to the reply title. */
.nte-comments .comment-reply-title small{display:inline-block;margin-left:12px;font:600 .8125rem/1.4 var(--nte-font)}
.comment-respond{padding:clamp(18px,2.4vw,26px);border-radius:var(--nte-radius);background:var(--nte-surface);border:1px solid var(--nte-line)}
.comment-form{display:grid;gap:12px}
.comment-form p{margin:0}
.comment-notes,.logged-in-as{font-size:.875rem;color:var(--nte-muted)}
.comment-form label{display:block;margin-bottom:6px;font:600 .875rem/1.3 var(--nte-font);color:var(--nte-ink-2)}
.comment-form-cookies-consent{display:flex;align-items:flex-start;gap:8px}
.comment-form-cookies-consent label{margin:0;font-weight:500;color:var(--nte-muted)}
.comment-form textarea,.comment-form input[type=text],.comment-form input[type=email],.comment-form input[type=url]{width:100%;padding:10px 12px;border:1px solid var(--nte-line-strong);border-radius:var(--nte-radius-sm);background:var(--nte-surface);color:var(--nte-ink);font:500 1rem/1.5 var(--nte-font);transition:border-color .15s,box-shadow .15s}
.comment-form textarea{min-height:132px;height:150px;resize:vertical}
.comment-form :is(textarea,input):focus{outline:none;border-color:var(--nte-brand);box-shadow:var(--nte-ring)}
.comment-form :is(textarea,input):focus-visible{outline:2px solid var(--nte-brand-ink);outline-offset:1px;border-color:var(--nte-brand-ink)}
.comment-form input[type=submit]:focus-visible{outline-offset:2px}
@media (min-width:700px){.comment-form{grid-template-columns:repeat(3,minmax(0,1fr))}.comment-form>p{grid-column:1/-1}.comment-form>.comment-form-author,.comment-form>.comment-form-email,.comment-form>.comment-form-url{grid-column:auto}}
.comment-form .nte-button{cursor:pointer}

/* 10. Embeds (shortcodes) ---------------------------------------------- */
.nte-embed{margin:1.6em 0;padding:18px;border-radius:var(--nte-radius);background:var(--nte-surface);border:1px solid var(--nte-line);box-shadow:var(--nte-shadow-xs);font-family:var(--nte-font);font-size:.9375rem;line-height:1.5;color:var(--nte-ink);position:relative;overflow:hidden}
.nte-embed-area,.nte-embed-hot{padding-top:22px}
.nte-embed-area::before,.nte-embed-hot::before{content:"";position:absolute;inset:0 0 auto;height:4px;background:var(--lead)}
.nte-embed-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}
.nte-embed-kicker{display:block;font:700 .75rem/1.45 var(--nte-font);color:var(--nte-muted)}
.nte-article-content .nte-embed-title,.nte-embed-title{margin:2px 0 0;font:700 1.1875rem/1.3 var(--nte-display);color:var(--nte-ink)}
.nte-embed-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.nte-embed-row{display:grid;grid-template-columns:40px minmax(0,1fr) auto;grid-template-areas:"a p v" "b b b";align-items:center;gap:4px 12px}
.nte-embed-avatar{grid-area:a;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;overflow:hidden;background:color-mix(in srgb,var(--party) 18%,var(--nte-surface-2));color:var(--party);font:700 1rem/1 var(--nte-display);box-shadow:0 0 0 2px var(--nte-surface),0 0 0 4px color-mix(in srgb,var(--party) 70%,transparent)}
.nte-embed-avatar img,.nte-embed-portrait img{width:100%;height:100%;object-fit:cover;border-radius:0!important;margin:0!important}
.nte-embed-person{grid-area:p;display:grid;min-width:0;line-height:1.35}
.nte-embed-person b{font:700 .9375rem/1.35 var(--nte-display)}
.nte-embed-person em{font-style:normal;padding:0 7px;border-radius:var(--nte-pill);background:var(--nte-amber-solid);color:var(--nte-on-solid);font:700 .6875rem/1.6 var(--nte-font);vertical-align:2px}
.nte-embed-row.is-winner .nte-embed-person em{background:var(--nte-green-solid)}
.nte-embed-person small{color:var(--nte-muted);font-size:.75rem}
.nte-embed-votes{grid-area:v;display:grid;justify-items:end;line-height:1.2}
.nte-embed-votes b{font:700 1rem/1.2 var(--nte-display);font-variant-numeric:tabular-nums}
.nte-embed-votes small{font-size:.75rem;color:var(--nte-muted)}
.nte-embed-bar{grid-area:b;height:6px;border-radius:6px;background:var(--nte-surface-3);overflow:hidden}
.nte-embed-bar i{display:block;height:100%;border-radius:6px;background:color-mix(in srgb,var(--party) 55%,var(--nte-surface-3))}
.nte-embed-row.is-winner .nte-embed-bar i,.nte-embed-row.is-leader .nte-embed-bar i{background:var(--party)}
.nte-embed-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;margin-top:14px;padding-top:12px;border-top:1px solid var(--nte-line);font-size:.8125rem;color:var(--nte-muted)}
.nte-embed-link,.nte-article-content .nte-embed-link{font:700 .8125rem/1 var(--nte-font);color:var(--nte-brand-ink);text-decoration:none!important}
.nte-embed-empty,.nte-embed-missing{padding:12px 16px;border-radius:12px;background:var(--nte-amber-soft);font-size:.875rem}
.nte-embed-candidate{display:grid;grid-template-columns:120px minmax(0,1fr);gap:18px;align-items:center;border-left:5px solid var(--party)}
.nte-embed-portrait{display:grid;place-items:center;width:120px;aspect-ratio:4/5;border-radius:14px;overflow:hidden;background:color-mix(in srgb,var(--party) 25%,var(--nte-surface-2));font:700 2.4rem/1 var(--nte-display);color:#fff}
.nte-embed-candidate-body p{margin:2px 0}
.nte-embed-tag{display:inline-block;padding:3px 10px;border-radius:var(--nte-pill);background:var(--nte-surface-3);font:700 .6875rem/1.4 var(--nte-font)}
.nte-embed-tag.is-lead{background:color-mix(in srgb,var(--party) 78%,#000);color:#fff}
.nte-embed-party{display:flex;align-items:center;gap:6px;font-weight:700;color:color-mix(in srgb,var(--party) var(--nte-tone),var(--nte-ink))}
.nte-embed-party img{border-radius:50%;margin:0!important}
.nte-embed-area-name{color:var(--nte-muted);font-size:.8125rem}
.nte-embed-total b{font:700 1.5rem/1.1 var(--nte-display);font-variant-numeric:tabular-nums;color:color-mix(in srgb,var(--party) var(--nte-tone),var(--nte-ink))}
.nte-embed-count{font:700 1.75rem/1 var(--nte-display);color:var(--nte-brand-ink)}
.nte-embed-count small{font-size:1rem;color:var(--nte-muted)}
.nte-embed-stack{position:relative;display:flex;height:18px;margin:6px 0 30px;border-radius:9px;background:var(--nte-surface-3)}
.nte-embed-stack i{display:block;height:100%}
.nte-embed-stack i:first-child{border-radius:9px 0 0 9px}
.nte-embed-majority{position:absolute;top:-6px;bottom:-6px;width:2px;background:var(--nte-ink)}
.nte-embed-majority b{position:absolute;top:calc(100% + 3px);left:50%;transform:translateX(-50%);white-space:nowrap;font:700 .6875rem/1 var(--nte-font);color:var(--nte-ink-2)}
.nte-embed-table{width:100%;border-collapse:collapse;font-size:.875rem;margin:0!important}
.nte-embed-table th,.nte-embed-table td{padding:8px 6px!important;border:0!important;border-bottom:1px solid var(--nte-line)!important;text-align:right}
.nte-embed-table thead th{font:700 .75rem/1.2 var(--nte-font);color:var(--nte-muted)}
.nte-embed-table td{font-variant-numeric:tabular-nums}
.nte-embed-table th:first-child{text-align:left}
.nte-embed-table tbody th{display:flex;align-items:center;gap:7px;font-weight:700}
.nte-embed-table tbody th img{border-radius:50%;margin:0!important}
.nte-embed-party-dot{width:10px;height:10px;border-radius:3px;background:var(--party);flex-shrink:0}
/* Flex so a short last row stretches instead of leaving an empty cell. */
.nte-embed-grid{display:flex;flex-wrap:wrap;gap:14px;margin:1.6em 0}
.nte-embed-grid>*{flex:1 1 280px;min-width:0}
.nte-embed-grid .nte-embed{margin:0}
.nte-embed-countdown{background:linear-gradient(135deg,var(--nte-hero-a),var(--nte-hero-b));color:#fff;border:0}
.nte-embed-countdown .nte-countdown{background:none;border:0;padding:0}
@media (max-width:520px){.nte-embed-candidate{grid-template-columns:84px minmax(0,1fr)}.nte-embed-portrait{width:84px}}

/* Motion. */
@keyframes nte-ping{0%{transform:scale(.6);opacity:.9}100%{transform:scale(2.2);opacity:0}}
@keyframes nte-blink{50%{opacity:.25}}
@keyframes nte-live-dot{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--nte-live) 55%,transparent)}70%,100%{box-shadow:0 0 0 6px color-mix(in srgb,var(--nte-live) 0%,transparent)}}
@keyframes nte-spin{to{transform:rotate(360deg)}}
@keyframes nte-float{0%{transform:translate3d(0,0,0) scale(1)}100%{transform:translate3d(8%,10%,0) scale(1.15)}}
@keyframes nte-marquee{to{transform:translateX(-50%)}}
@keyframes nte-shimmer{to{background-position:-300% 0}}
@keyframes nte-rise{from{opacity:0;transform:translate(var(--tx,0),12px)}to{opacity:1;transform:translate(var(--tx,0),0)}}
.nte-compare-tray{--tx:-50%}
@keyframes nte-pop{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}
.nte-js .nte-reveal{opacity:0;transform:translateY(22px);transition:opacity .7s var(--nte-ease),transform .7s var(--nte-ease)}
.nte-js .nte-reveal.is-in{opacity:1;transform:none}
.nte-intro .nte-results>.nte-card{animation:nte-rise .55s var(--nte-ease) both}
.nte-intro .nte-results>.nte-card:nth-child(2){animation-delay:.06s}
.nte-intro .nte-results>.nte-card:nth-child(3){animation-delay:.12s}
.nte-intro .nte-results>.nte-card:nth-child(4){animation-delay:.18s}
.nte-intro .nte-results>.nte-card:nth-child(5){animation-delay:.24s}
.nte-intro .nte-results>.nte-card:nth-child(6){animation-delay:.3s}
.nte-counting-num{color:var(--nte-brand-ink)}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .nte-js .nte-reveal{opacity:1;transform:none}
}

/* Print: results on paper. Light tokens whatever the screen mode, no interactive chrome, dark text, strips wrap. */
@media print{
  [data-nte-mode=dark]{color-scheme:light;--nte-ink:#0d1b2a;--nte-ink-2:#2a3b4d;--nte-muted:#56687b;--nte-faint:#627283;--nte-bg:#fff;--nte-surface:#fff;--nte-surface-2:#f6f8fa;--nte-surface-3:#edf1f5;--nte-line:#e3e8ee;--nte-line-strong:#cdd6e0;--nte-live-ink:#c81e33;--nte-live-soft:#fdeaec;--nte-live-solid:#c81e33;--nte-amber-ink:#975400;--nte-amber-soft:#fff3dc;--nte-amber-solid:#b45309;--nte-green-ink:#0b7a3e;--nte-green-soft:#e2f6ea;--nte-green-solid:#0b7a3e;--nte-pending:#627283;--nte-on-solid:#fff;--nte-tone:65%}
  [data-nte-mode=dark] body{--nte-brand:#0f9f94;--nte-brand-ink:#0a7168;--nte-brand-soft:#e2f5f2;--nte-accent-soft:#fde8ea;--nte-brand-solid:color-mix(in srgb,var(--nte-brand) 30%,var(--nte-brand-ink));--nte-on-brand:#fff}
  [data-nte-mode=dark] body.nte-palette-nepal{--nte-brand:#c8102e;--nte-brand-ink:#9d0c24;--nte-brand-soft:#fde7eb;--nte-accent:#003893}
  [data-nte-mode=dark] body.nte-palette-blue{--nte-brand:#2f5fd0;--nte-brand-ink:#2347a3;--nte-brand-soft:#e8eefd}
  [data-nte-mode=dark] body.nte-palette-plum{--nte-brand:#8a4cc2;--nte-brand-ink:#6d3a9b;--nte-brand-soft:#f3ebfb}
  [data-nte-mode=dark] body.nte-palette-emerald{--nte-brand:#14945a;--nte-brand-ink:#0e6e43;--nte-brand-soft:#e2f5ea}
  body{background:#fff;color:#000}
  /* Navigation, live and interactive chrome. */
  .nte-skip,.nte-topline,.nte-header,.nte-section-nav,.nte-progress,.nte-demo-banner,.nte-dock,.nte-to-top,.nte-compare-tray,.nte-footer,.nte-dialog,
  .nte-aurora,.nte-hero-art,.nte-hero-search,.nte-hero-tools,.nte-live-pill,.nte-live-ribbon,.nte-command,.nte-local-controls,.nte-watchlist,.nte-quick-actions,
  #nte-refresh,#nte-filter-toggle,.nte-toolbar,.nte-active-filters,.nte-views,.nte-results-tools,.nte-results-hint,.nte-layout-aside .nte-info,
  .nte-tabs,.nte-portal-label,.nte-scroller-arrow,.nte-featured-section .nte-section-head>.nte-muted,.nte-province-section .nte-section-head>.nte-muted,.nte-directory-toolbar,.nte-discovery-section>p.nte-muted,
  .nte-map-section,.nte-people-explorer,.nte-change-center,.nte-help,.nte-news-section,
  .nte-bookmark,.nte-compare-toggle,.nte-card-foot button,.nte-hot-details,.nte-more-btn,.nte-party-actions,.nte-party-open,.nte-share,
  .nte-site-search,.nte-archive-search,.comment-respond,.comment-reply-link,.nte-article-back{display:none!important}
  /* Hero: plain heading on paper. */
  .nte-hero{background:none!important;color:#000;box-shadow:none;padding:0;grid-template-columns:1fr;border-radius:0}
  .nte-hero::before{display:none}
  .nte-hero :is(h1,.nte-hero-sub,.nte-eyebrow,.nte-status,.nte-countdown,.nte-countdown-label,.nte-countdown-units b,.nte-countdown-units small){color:#000!important;opacity:1}
  .nte-hero .nte-eyebrow::before{background:#000}
  .nte-countdown{background:none;border-color:#bbb;backdrop-filter:none;-webkit-backdrop-filter:none}
  .nte-countdown-units>span{background:#f1f3f5}
  .nte-dot{box-shadow:none}
  .nte-dot::after{display:none}
  /* Horizontal strips print as wrapped rows. */
  .nte-featured-section .nte-featured,.nte-dashboard [data-nte-scroller]{flex-wrap:wrap!important;overflow:visible!important;-webkit-mask-image:none!important;mask-image:none!important}
  .nte-featured .nte-feature-card{break-inside:avoid}
  .nte-card,.nte-panel,.nte-hot-card,.nte-rich-party,.nte-province-card,.nte-turnout-card,.nte-news-card,.nte-overview-tile,.nte-feature-card,.nte-editorial-table tr{break-inside:avoid;box-shadow:none}
  .nte-section-head{break-after:avoid}
  .nte-layout{grid-template-columns:1fr}
  .nte-js .nte-reveal{opacity:1;transform:none}
  *{print-color-adjust:exact;-webkit-print-color-adjust:exact}
}
/* ===== District result map (winning party per district, floating result card) ===== */
.nte-map-section{
  --nte-map-empty:#e3e9ef;
  --nte-map-pending:#cdd6df;
  --nte-map-tie:#8d84ab;
  --nte-map-border:#ffffff;
  --nte-map-mix:#ffffff;
  --nte-map-halo:#ffffff;
  --nte-map-label:#16222f;
  --nte-map-label-muted:#5f7184;
  --nte-map-shadow:rgb(19 37 58/.20);
  --nte-map-canvas:linear-gradient(180deg,#f7fafc,#eef3f8);
  padding:clamp(18px,2.6vw,30px)
}
[data-nte-mode=dark] .nte-map-section{
  --nte-map-empty:#1c2a3b;
  --nte-map-pending:#283a4f;
  --nte-map-tie:#776f9c;
  --nte-map-border:#0e1b2a;
  --nte-map-mix:#0e1b2a;
  --nte-map-halo:#0a1420;
  --nte-map-label:#eef3f8;
  --nte-map-label-muted:#9db0c3;
  --nte-map-shadow:rgb(0 0 0/.6);
  --nte-map-canvas:linear-gradient(180deg,#0e1b2a,#0b1622)
}
.nte-map-section .nte-section-head{margin-bottom:8px}
.nte-map-lede{max-width:72ch;margin:0 0 16px;color:var(--nte-muted);font-size:.9375rem;line-height:1.6}
.nte-map-toolbar{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:12px;margin-bottom:14px}
.nte-map-toolbar label{display:grid;gap:5px;min-width:280px;font:600 .8125rem/1.3 var(--nte-font);color:var(--nte-ink-2)}
.nte-map-actions{display:flex;gap:6px}
.nte-dashboard .nte-map-actions button{min-width:42px;font-size:1rem}
.nte-dashboard .nte-map-actions button#nte-map-reset{font-size:.8125rem}
.nte-dashboard .nte-map-actions button[aria-disabled=true]{opacity:.45;cursor:default}
.nte-dashboard .nte-map-actions button[aria-disabled=true]:hover{background:var(--nte-surface);border-color:var(--nte-line-strong);color:var(--nte-ink)}
.nte-map-layout{display:grid;grid-template-columns:minmax(0,1.9fr) minmax(280px,1fr);gap:20px;align-items:start}
.nte-map-stage{min-width:0}

/* Canvas & SVG */
.nte-map-canvas{position:relative;width:100%;aspect-ratio:1.55;min-height:340px;max-height:600px;border-radius:var(--nte-radius);background:radial-gradient(color-mix(in srgb,var(--nte-muted) 16%,transparent) 1px,transparent 1.3px) 0 0/20px 20px,var(--nte-map-canvas);border:1px solid var(--nte-line);overflow:hidden;isolation:isolate}
.nte-map-canvas svg{display:block;width:100%;height:100%;touch-action:pan-y;user-select:none;-webkit-user-select:none;cursor:grab;-webkit-tap-highlight-color:transparent}
.nte-map-canvas.is-zoomed svg{touch-action:none}
.nte-map-canvas.is-dragging svg{cursor:grabbing}
.nte-map-canvas #nte-map-layer{filter:drop-shadow(0 calc(var(--nte-map-unit,3px)*8) calc(var(--nte-map-unit,3px)*12) var(--nte-map-shadow))}
.nte-map-district{cursor:pointer;outline:none;fill:var(--nte-map-empty);stroke:var(--nte-map-empty);transition:fill .4s var(--nte-ease),stroke .4s var(--nte-ease),opacity .25s,filter .15s}
.nte-map-district path,.nte-map-district polygon{stroke-width:1;vector-effect:non-scaling-stroke;stroke-linejoin:round}
.nte-map-district:hover{filter:brightness(1.07) saturate(1.06)}
.nte-map-district.is-dim{opacity:.26}
.nte-map-borders,.nte-map-outlines,.nte-map-labels{pointer-events:none}
/* 1.1 screen px plus ~2 map units: hairline at full view, and closes the small gaps between districts when zoomed. */
.nte-map-edge{fill:none;stroke:var(--nte-map-border);stroke-width:calc(var(--nte-map-unit,3px)*1.1 + 2px);stroke-linejoin:round}
.nte-map-outline{fill:none;stroke-linejoin:round;stroke-linecap:round}
.nte-map-outline.is-hover{stroke:color-mix(in srgb,var(--nte-ink) 72%,transparent);stroke-width:calc(var(--nte-map-unit,3px)*2);filter:drop-shadow(0 calc(var(--nte-map-unit,3px)*2) calc(var(--nte-map-unit,3px)*4) rgb(0 0 0/.3))}
.nte-map-outline.is-focus{stroke:var(--nte-brand);stroke-width:calc(var(--nte-map-unit,3px)*3)}
.nte-map-outline.is-selected{stroke:var(--nte-ink);stroke-width:calc(var(--nte-map-unit,3px)*2.6);filter:drop-shadow(0 calc(var(--nte-map-unit,3px)*3) calc(var(--nte-map-unit,3px)*5) rgb(0 0 0/.35))}
.nte-map-hatch.is-lead .nte-map-hatch-bg{fill:color-mix(in srgb,var(--hatch) 34%,var(--nte-map-mix))}
.nte-map-hatch.is-tie .nte-map-hatch-bg{fill:var(--nte-map-empty)}
.nte-map-hatch.is-tie .nte-map-hatch-line{fill:var(--nte-map-tie)}

/* Labels & party icons (counter-scaled in JS so they keep a constant on-screen size) */
.nte-map-label{transition:opacity .2s}
.nte-map-label.is-off,.nte-map-pin.is-off,.nte-map-name.is-off{display:none}
.nte-map-label.is-dim{opacity:.25}
.nte-map-name{font:600 var(--nte-map-name-size,11px)/1 var(--nte-font);fill:var(--nte-map-label);stroke:var(--nte-map-halo);stroke-width:3px;stroke-opacity:.92;stroke-linejoin:round;paint-order:stroke fill;letter-spacing:0}
/* Names and icons may sit over a neighbouring district; they still belong to their own district. */
.nte-map-name:not(.nte-map-measure),.nte-map-pin{pointer-events:visiblePainted;cursor:pointer}
.nte-map-leader{fill:none;stroke:var(--nte-map-label);stroke-width:1px;stroke-linecap:round;opacity:.7}
.nte-map-dot{fill:var(--nte-map-label);stroke:var(--nte-map-halo);stroke-width:1.5px;paint-order:stroke fill}
.nte-map-leader.is-off,.nte-map-dot.is-off{display:none}
.nte-map-label.is-empty .nte-map-name{fill:var(--nte-map-label-muted);font-weight:500}
.nte-map-measure{visibility:hidden}
.nte-map-pin-shadow{fill:rgb(8 18 32/.32)}
.nte-map-pin-ring{fill:#fff}
.nte-map-pin.is-lead .nte-map-pin-ring{stroke:var(--pin,#888);stroke-width:1.6px;stroke-dasharray:3 2.2}
.nte-map-pin-disc{fill:#8a99a8}
.nte-map-pin.has-img .nte-map-pin-disc{fill:#fff}
.nte-map-pin-initial{font:700 10px/1 var(--nte-font);fill:#fff}
.nte-map-pin.has-img .nte-map-pin-initial{display:none}
.nte-map-pin.is-lead .nte-map-pin-img,.nte-map-pin.is-lead .nte-map-pin-disc{opacity:.86}

/* On-canvas hints */
.nte-map-help{position:absolute;left:12px;bottom:10px;z-index:1;max-width:calc(100% - 24px);margin:0;padding:5px 10px;border-radius:var(--nte-pill);background:color-mix(in srgb,var(--nte-surface) 82%,transparent);backdrop-filter:blur(6px);color:var(--nte-muted);font:500 .6875rem/1.4 var(--nte-font);pointer-events:none}
.nte-map-help-touch{display:none}
@media (pointer:coarse){.nte-map-help-fine{display:none}.nte-map-help-touch{display:inline}}
.nte-map-wheel-hint{position:absolute;inset:auto 50% 50% auto;z-index:3;transform:translate(50%,50%);margin:0;padding:10px 16px;border-radius:12px;background:rgb(8 18 32/.82);color:#fff;font:600 .8125rem/1.4 var(--nte-font);text-align:center;opacity:0;pointer-events:none;transition:opacity .2s}
.nte-map-wheel-hint.is-on{opacity:1}

/* Floating result card */
.nte-map-card{position:absolute;left:0;top:0;z-index:4;display:flex;flex-direction:column;width:min(370px,calc(100% - 20px));max-height:calc(100% - 20px);border-radius:14px;background:var(--nte-surface);border:1px solid var(--nte-line);box-shadow:0 2px 4px rgb(13 27 42/.06),0 22px 48px -18px rgb(13 27 42/.42);color:var(--nte-ink);overflow:hidden;animation:nte-map-card-in .16s var(--nte-ease)}
.nte-map-card[hidden]{display:none}
.nte-map-card:not(.is-pinned){pointer-events:none}
.nte-map-card:focus{outline:none}
.nte-map-card:focus-visible{outline:2px solid var(--nte-brand-ink);outline-offset:2px}
.nte-map-card.is-pinned{box-shadow:0 0 0 2px color-mix(in srgb,var(--nte-ink) 12%,transparent),0 26px 56px -18px rgb(13 27 42/.5)}
[data-nte-mode=dark] .nte-map-card{background:var(--nte-surface-2);border-color:var(--nte-line-strong);box-shadow:0 26px 56px -18px rgb(0 0 0/.8)}
@keyframes nte-map-card-in{from{opacity:0;transform-origin:left center}to{opacity:1}}
.nte-map-card-head{display:flex;align-items:flex-start;gap:10px;padding:13px 14px 10px}
.nte-map-card-titles{flex:1;min-width:0}
.nte-map-card h3{margin:0;font:700 1.125rem/1.25 var(--nte-display)}
.nte-map-card-titles p{margin:2px 0 0;color:var(--nte-muted);font-size:.75rem}
.nte-map-section button.nte-map-card-close{flex-shrink:0;width:32px;min-height:32px;height:32px;padding:0;border-radius:50%;border-color:var(--nte-line);font-size:1.25rem;line-height:1}
.nte-map-verdict{display:flex;align-items:center;gap:10px;margin:0 14px 10px;padding:8px 10px;border-radius:10px;background:var(--nte-surface-3);font-size:.8125rem}
.nte-map-verdict.is-won,.nte-map-verdict.is-lead{background:color-mix(in srgb,var(--party) 11%,var(--nte-surface));border:1px solid color-mix(in srgb,var(--party) 28%,transparent)}
.nte-map-verdict.is-lead{background:repeating-linear-gradient(135deg,color-mix(in srgb,var(--party) 9%,var(--nte-surface)) 0 6px,color-mix(in srgb,var(--party) 4%,var(--nte-surface)) 6px 12px)}
.nte-map-verdict-text{display:grid;flex:1;min-width:0;line-height:1.3}
.nte-map-verdict-text small{color:var(--nte-muted);font-size:.6875rem;font-weight:600}
.nte-map-verdict-count{flex-shrink:0;padding:3px 9px;border-radius:var(--nte-pill);background:var(--party);color:#fff;font:700 .75rem/1.4 var(--nte-font)}
.nte-map-verdict-dot{width:10px;height:10px;flex-shrink:0;border-radius:50%;background:var(--nte-pending)}
.nte-map-verdict.is-tie .nte-map-verdict-dot{background:var(--nte-map-tie)}
.nte-map-card-body{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:0 14px 4px;scrollbar-width:thin}
.nte-map-card-empty{margin:4px 0 12px;color:var(--nte-muted);font-size:.875rem}
.nte-map-race{padding:10px 0 9px;border-top:1px solid var(--nte-line)}
.nte-map-race-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}
.nte-map-race-head .nte-badge{height:22px;padding:0 8px;font-size:.625rem}
.nte-map-section button.nte-map-race-title{min-height:0;padding:0;border:0;background:none;color:var(--nte-ink);font:700 .9375rem/1.3 var(--nte-display);text-align:left;justify-content:flex-start}
.nte-map-section button.nte-map-race-title:hover{background:none;color:var(--nte-brand-ink);text-decoration:underline;text-underline-offset:3px}
.nte-map-cands{display:grid;gap:6px;margin:0;padding:0;list-style:none}
.nte-map-cand{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:9px;padding:6px 8px;border-radius:10px;background:var(--nte-surface-2)}
[data-nte-mode=dark] .nte-map-cand{background:var(--nte-surface-3)}
.nte-map-cand.is-winner,.nte-map-cand.is-leader{background:color-mix(in srgb,var(--party) 9%,var(--nte-surface));box-shadow:inset 3px 0 0 var(--party)}
.nte-map-photo{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;overflow:hidden;background:color-mix(in srgb,var(--party) 16%,#fff);box-shadow:0 0 0 2px var(--nte-surface),0 0 0 3.5px color-mix(in srgb,var(--party) 70%,transparent);color:color-mix(in srgb,var(--party) 38%,#000);font:700 .9375rem/1 var(--nte-font)}
/* Initials stay >= 4.5:1 for any party colour, in both modes: a light chip with dark party ink. */
[data-nte-mode=dark] .nte-map-photo{background:color-mix(in srgb,var(--party) 22%,#e8edf3)}
.nte-map-photo img{width:100%;height:100%;object-fit:cover}
.nte-map-cand-main{display:grid;gap:2px;min-width:0}
.nte-map-cand-top{display:flex;align-items:center;gap:6px;min-width:0}
.nte-map-section button.nte-map-cand-name{display:block;min-width:0;min-height:0;padding:0;border:0;background:none;color:var(--nte-ink);font:700 .8125rem/1.3 var(--nte-font);text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nte-map-section button.nte-map-cand-name:hover{background:none;color:var(--nte-brand-ink);text-decoration:underline;text-underline-offset:2px}
.nte-map-flag{flex-shrink:0;padding:1px 7px;border-radius:var(--nte-pill);color:#fff;font:700 .625rem/1.6 var(--nte-font)}
.nte-map-flag.is-win{background:var(--nte-green)}
.nte-map-flag.is-win::before{content:"✓ "}
.nte-map-flag.is-lead{background:var(--nte-amber)}
.nte-map-cand-party{display:flex;align-items:center;gap:5px;min-width:0;font-size:.6875rem;color:var(--nte-muted)}
.nte-map-cand-party .nte-map-party{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nte-map-party{color:inherit;font-weight:600}
a.nte-map-party{text-decoration:none}
a.nte-map-party:hover{color:var(--nte-brand-ink);text-decoration:underline;text-underline-offset:2px}
.nte-map-bar{display:block;height:4px;margin-top:2px;border-radius:4px;background:color-mix(in srgb,var(--nte-muted) 18%,transparent);overflow:hidden}
.nte-map-bar i{display:block;height:100%;border-radius:inherit;background:var(--party);transition:width .5s var(--nte-ease)}
.nte-map-votes{display:grid;justify-items:end;line-height:1.2}
.nte-map-votes strong{font:700 .875rem/1.2 var(--nte-display);font-variant-numeric:tabular-nums}
.nte-map-votes strong.is-muted{color:var(--nte-faint)}
.nte-map-votes small{color:var(--nte-muted);font-size:.6875rem}
.nte-map-race-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:6px;font-size:.75rem;color:var(--nte-muted)}
.nte-map-margin b{color:var(--nte-ink);font-weight:700}
.nte-map-section button.nte-map-more{min-height:26px;margin-left:auto;padding:2px 10px;border-radius:var(--nte-pill);border-color:var(--nte-line);font-size:.71875rem}
.nte-map-card-foot{padding:10px 14px 12px;border-top:1px solid var(--nte-line)}
.nte-map-card-foot:empty{display:none}
.nte-map-card-tip{display:block;color:var(--nte-faint);font-size:.6875rem;text-align:center}
.nte-map-section button.nte-map-card-all{width:100%;min-height:36px;border-color:var(--nte-brand);background:var(--nte-brand);color:#fff;font-size:.8125rem}
.nte-map-section button.nte-map-card-all:hover{background:var(--nte-brand-ink);border-color:var(--nte-brand-ink);color:#fff}
[data-nte-mode=dark] .nte-map-section button.nte-map-card-all{color:#06131c}
.nte-map-card.is-compact .nte-map-cand{grid-template-columns:30px minmax(0,1fr) auto;padding:4px 7px;gap:8px}
.nte-map-card.is-compact .nte-map-photo{width:30px;height:30px;font-size:.8125rem}
.nte-map-card.is-compact .nte-map-race{padding:8px 0 7px}
.nte-map-card.is-compact .nte-map-bar{height:3px}

/* Party marks (logo / initial) */
.nte-map-logo{display:inline-grid;place-items:center;flex-shrink:0;width:18px;height:18px;border-radius:50%;overflow:hidden;background:var(--party-deep,var(--party,#8a99a8));color:#fff;font:700 .625rem/1 var(--nte-font);box-shadow:0 0 0 1.5px var(--nte-surface)}
.nte-map-logo img{width:100%;height:100%;object-fit:cover;background:#fff}
.nte-map-logo.is-lg{width:30px;height:30px;font-size:.8125rem;box-shadow:0 0 0 2px #fff,0 2px 6px rgb(0 0 0/.18)}

/* Side panel */
.nte-map-inspector{padding:20px;border-radius:var(--nte-radius);background:var(--nte-surface-2);border:1px solid var(--nte-line);overflow:auto;max-height:clamp(420px,46vw,660px);scrollbar-width:thin}
.nte-map-inspector h3{margin:0 0 12px;font-size:1.3125rem}
.nte-map-inspector .nte-map-verdict{margin:0 0 12px;background:var(--nte-surface)}
.nte-map-inspector .nte-map-verdict.is-won,.nte-map-inspector .nte-map-verdict.is-lead{background:color-mix(in srgb,var(--party) 10%,var(--nte-surface))}
.nte-map-kpis,.nte-map-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:14px}
.nte-map-metrics{grid-template-columns:1fr 1fr}
.nte-map-kpis div,.nte-map-metrics div{padding:10px 11px;border-radius:12px;background:var(--nte-surface);border:1px solid var(--nte-line);min-width:0}
.nte-map-kpis strong,.nte-map-metrics strong{display:block;font:700 1.1875rem/1.15 var(--nte-display);font-variant-numeric:tabular-nums}
.nte-map-kpis small,.nte-map-metrics small{display:block;color:var(--nte-muted);font-size:.6875rem;line-height:1.35}
.nte-map-standings{display:grid;gap:4px;margin:0 0 12px;padding:0;list-style:none}
.nte-map-standing{display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px 10px;border-radius:12px;background:var(--nte-surface);border:1px solid var(--nte-line)}
.nte-map-standing .nte-map-logo{width:30px;height:30px;font-size:.8125rem}
.nte-map-standing-main{display:grid;gap:4px;min-width:0}
.nte-map-standing-main .nte-map-party{font-size:.875rem;line-height:1.25;color:var(--nte-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nte-map-standing-main small{color:var(--nte-muted);font-size:.6875rem;line-height:1.3}
.nte-map-standing-bar{display:flex;height:6px;border-radius:6px;background:color-mix(in srgb,var(--nte-muted) 16%,transparent);overflow:hidden}
.nte-map-standing-bar i{display:block;height:100%;transition:width .5s var(--nte-ease)}
.nte-map-standing-bar i.is-won{background:var(--party)}
.nte-map-standing-bar i.is-lead{background:repeating-linear-gradient(135deg,var(--party) 0 2px,color-mix(in srgb,var(--party) 35%,transparent) 2px 5px)}
.nte-map-standing-count{display:grid;justify-items:center;min-width:40px;font:700 1.25rem/1 var(--nte-display);color:var(--party);font-variant-numeric:tabular-nums}
.nte-map-standing-count small{margin-top:2px;color:var(--nte-muted);font:600 .5625rem/1 var(--nte-font)}
.nte-map-hint{margin:6px 0 0;padding:8px 11px;border-radius:10px;background:var(--nte-surface);border:1px dashed var(--nte-line-strong);font-size:.75rem;color:var(--nte-muted)}
.nte-map-split{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 12px;padding:0;list-style:none}
.nte-map-split li{display:inline-flex;align-items:center;gap:6px;padding:4px 10px 4px 4px;border-radius:var(--nte-pill);background:var(--nte-surface);border:1px solid color-mix(in srgb,var(--party) 35%,var(--nte-line));font-size:.75rem}
.nte-map-split .nte-map-party{color:var(--nte-ink)}
.nte-map-split small{color:var(--nte-muted)}
.nte-map-areas{display:grid;gap:6px}
.nte-map-section button.nte-map-area{display:grid;justify-items:start;justify-content:stretch;gap:1px;min-height:0;padding:9px 12px;text-align:left;border-radius:10px;border-color:var(--nte-line);box-shadow:inset 3px 0 0 var(--party,var(--nte-line-strong))}
.nte-map-area small{color:var(--nte-muted);font-weight:500}
.nte-map-section button.nte-map-apply{width:100%;margin-top:12px;background:var(--nte-brand);border-color:var(--nte-brand);color:#fff}
.nte-map-section button.nte-map-apply:hover{background:var(--nte-brand-ink);border-color:var(--nte-brand-ink);color:#fff}
[data-nte-mode=dark] .nte-map-section button.nte-map-apply{color:#06131c}
.nte-map-section button.nte-map-back{width:100%;margin-top:8px;min-height:36px;border-color:transparent;background:transparent;color:var(--nte-brand-ink);font-size:.8125rem}

/* Legend */
.nte-map-legend{display:grid;gap:10px;margin-top:12px}
.nte-map-chips{display:flex;flex-wrap:wrap;gap:6px}
.nte-map-section button.nte-map-chip{min-height:34px;gap:7px;padding:3px 10px 3px 4px;border-radius:var(--nte-pill);border-color:color-mix(in srgb,var(--party) 40%,var(--nte-line));background:var(--nte-surface);font-size:.75rem;font-weight:600}
.nte-map-section button.nte-map-chip .nte-map-logo{width:24px;height:24px}
.nte-map-section button.nte-map-chip b{display:inline-grid;place-items:center;min-width:22px;height:20px;padding:0 6px;border-radius:var(--nte-pill);background:var(--party-deep,color-mix(in srgb,var(--party) 45%,#000));color:#fff;font-size:.6875rem;font-weight:700}
.nte-map-section button.nte-map-chip:hover{border-color:var(--party);background:color-mix(in srgb,var(--party) 9%,var(--nte-surface));color:var(--nte-ink)}
.nte-map-section button.nte-map-chip[aria-pressed=true]{border-color:var(--party);background:color-mix(in srgb,var(--party) 16%,var(--nte-surface));box-shadow:0 0 0 2px color-mix(in srgb,var(--party) 30%,transparent)}
.nte-map-keys{display:flex;flex-wrap:wrap;gap:6px 14px}
.nte-map-key{display:inline-flex;align-items:center;gap:6px;font:500 .71875rem/1.3 var(--nte-font);color:var(--nte-ink-2)}
.nte-map-key i{width:14px;height:14px;flex-shrink:0;border-radius:4px;background:var(--nte-map-empty);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--nte-ink) 10%,transparent)}
.nte-map-key i.is-won{background:var(--nte-ink-2)}
.nte-map-key i.is-lead{background:repeating-linear-gradient(135deg,var(--nte-ink-2) 0 2px,color-mix(in srgb,var(--nte-ink-2) 30%,var(--nte-map-mix)) 2px 5px)}
.nte-map-key i.is-tie{background:repeating-linear-gradient(135deg,var(--nte-map-tie) 0 2px,var(--nte-map-empty) 2px 5px)}
.nte-map-key i.is-pending{background:var(--nte-map-pending)}
.nte-map-key i.is-empty{background:var(--nte-map-empty)}

#nte-map-note{margin:14px 0 4px;font-size:.8125rem}
.nte-map-footnote{margin:0 0 10px;font-size:.75rem;color:var(--nte-faint);line-height:1.6}
.nte-map-directory summary{cursor:pointer;font-weight:700;color:var(--nte-brand-ink);font-size:.875rem}
#nte-map-district-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
.nte-dashboard #nte-map-district-list button{min-height:30px;gap:6px;padding:4px 10px;font-size:.75rem;border-radius:var(--nte-pill)}
.nte-dashboard #nte-map-district-list button[aria-pressed=true]{border-color:var(--nte-ink);box-shadow:0 0 0 1px var(--nte-ink)}
#nte-map-district-list i{width:9px;height:9px;border-radius:50%;background:var(--party,var(--nte-map-empty));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--nte-ink) 15%,transparent)}
#nte-map-district-list i.is-lead{background:repeating-linear-gradient(135deg,var(--party) 0 1.5px,color-mix(in srgb,var(--party) 30%,var(--nte-map-mix)) 1.5px 3.5px)}
#nte-map-district-list i.is-tie{background:var(--nte-map-tie)}
#nte-map-district-list i.is-pending{background:var(--nte-map-pending)}
#nte-map-district-list i.is-none{background:var(--nte-map-empty)}
.nte-map-sheet:empty{display:none}
/* Pinned card below the map (phones, tablets, narrow windows — chosen in map.js). */
.nte-map-card.is-sheet{position:static;width:auto;max-height:none;margin-top:10px;transform:none;animation:none;box-shadow:var(--nte-shadow-sm)}
.nte-map-card.is-sheet .nte-map-card-body{max-height:min(70vh,520px)}
[data-nte-mode=dark] .nte-map-card.is-sheet{box-shadow:none}

@media (max-width:1080px){.nte-map-layout{grid-template-columns:1fr}.nte-map-inspector{max-height:none}}
@media (max-width:900px){.nte-map-toolbar label{min-width:0;flex:1}}
@media (max-width:760px){
  .nte-map-section{padding:16px 12px}
  .nte-map-lede{font-size:.875rem}
  .nte-map-canvas{min-height:220px}
  .nte-map-help{display:none}
  .nte-map-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}
  .nte-map-inspector{padding:16px}
}
@media (max-width:600px){
  .nte-map-section button.nte-map-chip{min-height:36px}
}
@media (max-width:420px){
  .nte-map-toolbar{align-items:stretch}
  .nte-map-actions{width:100%}
  .nte-dashboard .nte-map-actions button#nte-map-reset{flex:1}
}
@media (prefers-reduced-motion:reduce){
  .nte-map-card{animation:none}
  .nte-map-district,.nte-map-bar i,.nte-map-standing-bar i{transition:none}
}

/* 11. Party pages & party links ---------------------------------------- */
/* Public party profile (/party/<slug>/) and directory (/party/). --party is set per page/card. */
.nte-pp{--party:var(--nte-brand);padding-bottom:0}
/* Derived tones are re-declared wherever --party changes (page, directory card). */
.nte-pp,.nte-pp-card{--party-ink:color-mix(in srgb,var(--party) 62%,var(--nte-ink));--party-soft:color-mix(in srgb,var(--party) 9%,var(--nte-surface));--party-line:color-mix(in srgb,var(--party) 28%,var(--nte-line))}
[data-nte-mode=dark] .nte-pp,[data-nte-mode=dark] .nte-pp-card{--party-ink:color-mix(in srgb,var(--party) 50%,#fff);--party-soft:color-mix(in srgb,var(--party) 14%,var(--nte-surface))}
.nte-pp a:not(.nte-pp-cta):not(.nte-share-btn):hover{text-decoration:none}

/* Image with an initial-letter fallback underneath (template helper nte_party_image()). */
.nte-pp-img{position:relative;display:grid;place-items:center;overflow:hidden;flex-shrink:0;background:var(--img-bg,var(--party-soft));color:var(--party-ink);font-family:var(--nte-display);font-weight:700;line-height:1}
.nte-pp-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:var(--img-bg,var(--party-soft))}
.nte-pp-initial{position:relative;line-height:1}

/* Breadcrumb. */
.nte-pp-crumbs ol{list-style:none;display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;margin:0;padding:18px 0 14px;font:600 .8125rem/1.4 var(--nte-font);color:var(--nte-muted)}
.nte-pp-crumbs li{display:inline-flex;align-items:center;gap:8px;min-width:0}
.nte-pp-crumbs li+li::before{content:"›";color:var(--nte-faint);font-size:1rem;line-height:1}
.nte-pp-crumbs a{color:var(--nte-ink-2)}
.nte-pp-crumbs a:hover{color:var(--party-ink)}
.nte-pp-crumbs [aria-current]{color:var(--nte-ink);font-weight:700}

/* Hero band in the party colour (deepened so white text always reads). */
.nte-pp-hero{position:relative;isolation:isolate;overflow:hidden;width:min(100% - var(--nte-gutter)*2,var(--nte-shell));margin-inline:auto;border-radius:var(--nte-radius-lg);color:#fff;background:#08121e;box-shadow:var(--nte-shadow-lg)}
.nte-pp-hero::before{content:"";position:absolute;inset:0;z-index:-2;background:radial-gradient(70% 90% at 0% 0%,color-mix(in srgb,var(--party) 62%,transparent),transparent 70%),radial-gradient(55% 80% at 100% 100%,color-mix(in srgb,var(--party) 38%,transparent),transparent 70%),linear-gradient(118deg,color-mix(in srgb,var(--party) 55%,#06101b) 0%,color-mix(in srgb,var(--party) 22%,#06101b) 58%,#06101b 100%)}
.nte-pp-hero::after{content:"";position:absolute;inset:0;z-index:-1;background-image:linear-gradient(rgb(255 255 255/.045) 1px,transparent 1px),linear-gradient(90deg,rgb(255 255 255/.045) 1px,transparent 1px);background-size:34px 34px;-webkit-mask-image:linear-gradient(100deg,transparent 30%,#000 90%);mask-image:linear-gradient(100deg,transparent 30%,#000 90%)}
.nte-pp-hero-inner{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(220px,280px);align-items:center;gap:clamp(20px,3vw,40px);padding:clamp(24px,4vw,50px)}
.nte-pp-logo{width:clamp(96px,10vw,140px);aspect-ratio:1;border-radius:50%;--img-bg:#fff;box-shadow:0 0 0 6px rgb(255 255 255/.14),0 22px 44px -18px rgb(0 0 0/.7)}
.nte-pp-logo img{inset:13%;width:74%;height:74%;object-fit:contain}
.nte-pp-logo .nte-pp-initial{font-size:clamp(2.6rem,4.4vw,3.6rem);color:color-mix(in srgb,var(--party) 85%,#000)}
.nte-pp-hero-text{min-width:0}
.nte-pp-kicker{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;margin:0 0 8px;font:700 .75rem/1.4 var(--nte-font);letter-spacing:.12em;text-transform:uppercase;color:rgb(255 255 255/.86)}
.nte-pp-kicker b{color:color-mix(in srgb,var(--party) 45%,#fff)}
.nte-pp-hero h1{margin:0 0 12px;color:#fff;font-size:clamp(2rem,4.4vw,3.35rem);line-height:1.12;text-wrap:balance;text-shadow:0 2px 18px rgb(0 0 0/.25)}
.nte-pp-leader{display:inline-flex;flex-wrap:wrap;align-items:center;gap:8px 10px;margin:0 0 14px;padding:5px 16px 5px 5px;border-radius:var(--nte-pill);background:rgb(255 255 255/.1);border:1px solid rgb(255 255 255/.18);font-size:.9375rem}
.nte-pp-leader span{padding:4px 11px;border-radius:var(--nte-pill);background:#fff;color:#0d1b2a;font:700 .75rem/1.2 var(--nte-font)}
.nte-pp-leader b{font-weight:700}
.nte-pp-desc{max-width:64ch;margin:0 0 20px;color:rgb(255 255 255/.86);font-size:1.0625rem;line-height:1.65}
.nte-pp-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px}
.nte-pp-cta{display:inline-flex;align-items:center;gap:8px;min-height:46px;padding:11px 22px;border-radius:var(--nte-pill);background:#fff;color:#0d1b2a;font:700 .9375rem/1.2 var(--nte-font);text-decoration:none;box-shadow:0 12px 26px -14px rgb(0 0 0/.6);transition:transform .15s var(--nte-ease),box-shadow .15s}
.nte-pp-cta:hover{color:#0d1b2a;text-decoration:none;transform:translateY(-1px);box-shadow:0 16px 30px -14px rgb(0 0 0/.7)}
.nte-pp-cta.is-soft{background:color-mix(in srgb,var(--party) 72%,#000);color:#fff}
.nte-pp-hero :focus-visible{outline-color:#fff}
.nte-pp-hero .nte-share{margin:0}
.nte-pp-hero .nte-share-label{color:rgb(255 255 255/.72)}
.nte-pp-hero .nte-share .nte-share-btn{background:rgb(255 255 255/.1);border-color:rgb(255 255 255/.24);color:#fff}
.nte-pp-hero .nte-share-status{color:#fff}

.nte-pp-scorecard{display:grid;justify-items:start;align-content:center;gap:4px;align-self:stretch;padding:22px 24px;border-radius:20px;background:rgb(255 255 255/.09);border:1px solid rgb(255 255 255/.18);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.nte-pp-score-label{font:700 .75rem/1.3 var(--nte-font);letter-spacing:.08em;text-transform:uppercase;color:rgb(255 255 255/.78)}
.nte-pp-score{font:700 clamp(3rem,6vw,4.5rem)/1 var(--nte-display);font-variant-numeric:tabular-nums;letter-spacing:0}
.nte-pp-score-split{font-size:.875rem;color:rgb(255 255 255/.86)}
.nte-pp-score-lead{display:inline-flex;align-items:center;gap:6px;margin-top:4px;padding:3px 10px;border-radius:var(--nte-pill);background:rgb(217 138 11/.28);color:#ffe3a8;font:700 .75rem/1.4 var(--nte-font)}
.nte-pp-score-lead::before{content:"";width:7px;height:7px;border-radius:50%;background:#ffc04d;animation:nte-blink 1.4s infinite}
.nte-pp-rank{width:100%;margin-top:10px;padding-top:10px;border-top:1px solid rgb(255 255 255/.16);font-size:.8125rem;color:rgb(255 255 255/.8)}
.nte-pp-rank b{font:700 1.0625rem/1 var(--nte-display);color:#fff}

/* Directory hero: overlapping party logos instead of one logo. */
.nte-pp-hero.is-directory{--party:var(--nte-brand)}
.nte-pp-stack{display:flex;align-items:center;padding-left:14px}
.nte-pp-stack>span{margin-left:-14px}
.nte-pp-stack-logo{width:56px;height:56px;border-radius:50%;--img-bg:#fff;box-shadow:0 0 0 3px color-mix(in srgb,var(--party) 70%,#08121e),0 10px 20px -10px rgb(0 0 0/.6)}
.nte-pp-stack-logo img{inset:10%;width:80%;height:80%;object-fit:contain}
.nte-pp-stack-logo .nte-pp-initial{color:var(--party-ink);font-size:1.4rem}

/* Body rhythm. */
.nte-pp-body{display:grid;gap:clamp(24px,3.2vw,40px);padding-top:clamp(18px,2.4vw,28px)}
.nte-pp-body>*{min-width:0}

/* Election switcher + last update. */
.nte-pp-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 20px}
.nte-pp-elections{display:flex;flex-wrap:wrap;align-items:center;gap:4px;margin:0;padding:5px;border-radius:14px;background:var(--nte-surface);border:1px solid var(--nte-line);box-shadow:var(--nte-shadow-xs)}
.nte-pp-elections.is-single{padding:9px 16px 9px 6px;font-size:.9375rem}
.nte-pp-elections-label{padding:0 6px 0 10px;font:700 .6875rem/1 var(--nte-font);letter-spacing:.1em;color:var(--nte-muted);text-transform:uppercase}
.nte-pp-election{display:inline-grid;gap:1px;padding:7px 14px;border-radius:10px;color:var(--nte-ink-2);font:700 .875rem/1.25 var(--nte-font);text-decoration:none;transition:background .15s,color .15s}
.nte-pp-election:hover{background:var(--nte-surface-3);color:var(--nte-ink)}
.nte-pp-election-kind{font:600 .6875rem/1.2 var(--nte-font);color:var(--nte-muted)}
.nte-pp-election.is-current{background:var(--nte-ink);color:var(--nte-surface);box-shadow:var(--nte-shadow-sm)}
.nte-pp-election.is-current .nte-pp-election-kind{color:color-mix(in srgb,var(--nte-surface) 72%,transparent)}
.nte-pp-updated{display:inline-flex;align-items:center;gap:9px;margin:0;font-size:.8125rem;color:var(--nte-muted)}
.nte-pp-updated time{font-weight:700;color:var(--nte-ink-2);font-variant-numeric:tabular-nums}

/* Stat tiles. */
.nte-pp-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0}
.nte-pp-stats.is-local{grid-template-columns:repeat(5,minmax(0,1fr))}
.nte-pp-stat{position:relative;display:grid;align-content:start;gap:2px;margin:0;padding:18px 18px 16px 20px;border-radius:var(--nte-radius);background:var(--nte-surface);border:1px solid var(--nte-line);box-shadow:var(--nte-shadow-xs);overflow:hidden}
.nte-pp-stat::before{content:"";position:absolute;left:0;top:14px;bottom:14px;width:4px;border-radius:0 4px 4px 0;background:var(--nte-line-strong)}
.nte-pp-stat dt{font:700 .75rem/1.3 var(--nte-font);color:var(--nte-muted);letter-spacing:0}
.nte-pp-stat dd{margin:0}
.nte-pp-stat-value{margin-top:6px!important;font:700 clamp(1.55rem,2.5vw,2.05rem)/1.1 var(--nte-display);color:var(--nte-ink);font-variant-numeric:tabular-nums}
.nte-pp-stat-note{font-size:.75rem;color:var(--nte-muted);line-height:1.45}
.nte-pp-stat.is-key{background:linear-gradient(140deg,var(--party-soft),var(--nte-surface) 75%);border-color:var(--party-line)}
.nte-pp-stat.is-key::before{background:var(--party)}
.nte-pp-stat.is-key .nte-pp-stat-value{color:var(--party-ink)}
.nte-pp-stat.is-won::before{background:var(--nte-green)}
.nte-pp-stat.is-leading::before{background:var(--nte-amber)}

/* Seat bar vs majority. */
.nte-pp-majority{padding:clamp(18px,2.4vw,26px);border-radius:var(--nte-radius);background:var(--nte-surface);border:1px solid var(--nte-line);box-shadow:var(--nte-shadow-xs)}
.nte-pp-majority-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:6px 18px;margin-bottom:16px}
.nte-pp-majority-head h2{margin:0;font-size:1.25rem}
.nte-pp-majority-head p{margin:0;max-width:70ch;color:var(--nte-muted);font-size:.875rem}
.nte-pp-majority-head b{color:var(--nte-ink)}
.nte-pp-bar{position:relative;display:flex;height:24px;margin:4px 0 40px;border-radius:12px;background:var(--nte-surface-3);box-shadow:inset 0 1px 2px rgb(13 27 42/.08)}
.nte-pp-bar i{display:block;height:100%;min-width:0;transition:width .6s var(--nte-ease)}
.nte-pp-bar i:first-child{border-radius:12px 0 0 12px}
.nte-pp-bar.is-stack i+i{box-shadow:inset 2px 0 0 var(--nte-surface)}
.nte-pp-bar .is-won{background:var(--party)}
.nte-pp-bar .is-pr{background:color-mix(in srgb,var(--party) 58%,var(--nte-surface))}
.nte-pp-bar .is-leading{background:repeating-linear-gradient(-45deg,color-mix(in srgb,var(--party) 42%,transparent) 0 5px,color-mix(in srgb,var(--party) 16%,transparent) 5px 10px)}
.nte-pp-bar-mark{position:absolute;top:-7px;bottom:-7px;width:0;border-left:2px dashed var(--nte-ink);pointer-events:none}
.nte-pp-bar-mark b{position:absolute;top:100%;left:0;margin-top:6px;transform:translateX(-50%);padding:3px 9px;border-radius:var(--nte-pill);background:var(--nte-ink);color:var(--nte-surface);font:700 .6875rem/1.3 var(--nte-font);white-space:nowrap}
.nte-pp-legend{list-style:none;display:flex;flex-wrap:wrap;gap:8px 20px;margin:0;padding:0;font-size:.8125rem;color:var(--nte-ink-2)}
.nte-pp-legend li{display:inline-flex;align-items:center;gap:7px}
.nte-pp-legend li::before{content:"";width:12px;height:12px;border-radius:4px;background:var(--key,var(--nte-surface-3));box-shadow:inset 0 0 0 1px rgb(13 27 42/.08)}
.nte-pp-legend b{font-variant-numeric:tabular-nums;color:var(--nte-ink)}
.nte-pp-legend a{color:var(--nte-ink-2);font-weight:600}
.nte-pp-legend a:hover{color:var(--nte-ink)}
.nte-pp-legend .is-won{--key:var(--party)}
.nte-pp-legend .is-pr{--key:color-mix(in srgb,var(--party) 58%,var(--nte-surface))}
.nte-pp-legend .is-leading{--key:repeating-linear-gradient(-45deg,color-mix(in srgb,var(--party) 42%,transparent) 0 3px,color-mix(in srgb,var(--party) 16%,transparent) 3px 6px)}

/* Section headings. */
.nte-pp-section{min-width:0}
.nte-pp-section-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:4px 16px;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--nte-line)}
.nte-pp-section-head h2{display:flex;align-items:center;gap:10px;margin:0;font-size:clamp(1.3rem,2vw,1.6rem)}
.nte-pp-section-head h2::before{content:"";width:5px;height:1.05em;border-radius:3px;background:var(--party)}
.nte-pp-section-head p{margin:0;color:var(--nte-muted);font-size:.875rem}
.nte-pp-count{display:inline-grid;place-items:center;min-width:30px;height:26px;padding:0 9px;border-radius:var(--nte-pill);background:var(--party-soft);color:var(--party-ink);font:700 .8125rem/1 var(--nte-font);font-variant-numeric:tabular-nums}
.nte-pp-all-link{font:700 .875rem/1.2 var(--nte-font);color:var(--party-ink)}

/* Status badges. */
.nte-pp-badge{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 10px;border-radius:var(--nte-pill);background:var(--nte-surface-3);color:var(--nte-muted);font:700 .6875rem/1 var(--nte-font);letter-spacing:.01em;white-space:nowrap}
.nte-pp-badge::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;flex-shrink:0}
.nte-pp-badge.is-won{background:var(--nte-green-soft);color:var(--nte-green-ink)}
.nte-pp-badge.is-won::before{content:"✓";width:auto;height:auto;background:none;font-size:.75rem}
.nte-pp-badge.is-leading{background:var(--nte-amber-soft);color:var(--nte-amber-ink)}
.nte-pp-badge.is-leading::before{animation:nte-blink 1.4s infinite}
.nte-pp-badge.is-counting{background:color-mix(in srgb,var(--nte-amber) 7%,var(--nte-surface-3));color:var(--nte-ink-2)}
.nte-pp-badge.is-counting::before{background:var(--nte-amber)}
.nte-pp-badge.is-lost{background:color-mix(in srgb,var(--nte-live) 9%,var(--nte-surface));color:color-mix(in srgb,var(--nte-live) 72%,var(--nte-ink))}
[data-nte-mode=dark] .nte-pp-badge.is-lost{color:color-mix(in srgb,var(--nte-live) 55%,#fff)}

/* Winner / leader cards. */
.nte-pp-people{list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,290px),1fr));gap:14px;margin:0;padding:0}
.nte-pp-person{display:grid;grid-template-columns:88px minmax(0,1fr);gap:14px;align-items:start;padding:14px;border-radius:var(--nte-radius);background:var(--nte-surface);border:1px solid var(--nte-line);box-shadow:var(--nte-shadow-xs);transition:transform .2s var(--nte-ease),box-shadow .2s,border-color .2s}
.nte-pp-person:hover{transform:translateY(-2px);box-shadow:var(--nte-shadow-sm);border-color:var(--party-line)}
.nte-pp-person.is-won{border-top:3px solid var(--nte-green)}
.nte-pp-person.is-leading{border-top:3px solid var(--nte-amber)}
.nte-pp-portrait{width:88px;aspect-ratio:4/5;border-radius:12px}
.nte-pp-portrait .nte-pp-initial{font-size:2.1rem}
.nte-pp-person-body{min-width:0}
.nte-pp-person h3{margin:8px 0 2px;font-size:1.0625rem;line-height:1.3}
.nte-pp-person h3 a{color:var(--nte-ink)}
.nte-pp-person h3 a:hover{color:var(--party-ink)}
.nte-pp-person-area{margin:0 0 8px;font-size:.8125rem;line-height:1.45}
.nte-pp-person-area a{font-weight:700;color:var(--nte-ink-2)}
.nte-pp-person-area a:hover{color:var(--party-ink)}
.nte-pp-person-area small{display:block;color:var(--nte-muted);font-size:.75rem}
.nte-pp-person-votes{margin:0;font-size:.8125rem;color:var(--nte-muted)}
.nte-pp-person-votes b{font:700 1.3rem/1.2 var(--nte-display);color:var(--party-ink);font-variant-numeric:tabular-nums}
.nte-pp-person-votes small{margin-left:4px;padding:1px 7px;border-radius:var(--nte-pill);background:var(--nte-surface-3);color:var(--nte-ink-2);font-weight:700;font-size:.6875rem}
.nte-pp-person-margin{margin:8px 0 0;padding-top:8px;border-top:1px dashed var(--nte-line);font-size:.8125rem;color:var(--nte-ink-2)}
.nte-pp-person-margin b{font-variant-numeric:tabular-nums;color:var(--nte-green-ink)}
.nte-pp-person.is-leading .nte-pp-person-margin b{color:var(--nte-amber-ink)}
.nte-pp-person-margin small{display:block;margin-top:2px;color:var(--nte-muted);font-size:.75rem}

/* Tables. */
.nte-pp-table-wrap{border-radius:var(--nte-radius);background:var(--nte-surface);border:1px solid var(--nte-line);box-shadow:var(--nte-shadow-xs);overflow-x:auto;-webkit-overflow-scrolling:touch}
.nte-pp-table{width:100%;border-collapse:collapse;font-size:.875rem}
.nte-pp-table thead th{padding:12px 14px;text-align:left;font:700 .6875rem/1.2 var(--nte-font);letter-spacing:.06em;text-transform:uppercase;color:var(--nte-muted);background:var(--nte-surface-2);border-bottom:1px solid var(--nte-line);white-space:nowrap}
.nte-pp-table td,.nte-pp-table tbody th,.nte-pp-table tfoot th{padding:11px 14px;border-bottom:1px solid var(--nte-line);text-align:left;vertical-align:middle;font-weight:400}
.nte-pp-table tbody tr:last-child>*{border-bottom:0}
.nte-pp-table tbody tr{transition:background .15s}
.nte-pp-table tbody tr:hover{background:color-mix(in srgb,var(--party) 4%,var(--nte-surface))}
.nte-pp-table .is-num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.nte-pp-table small{display:block;color:var(--nte-muted);font-size:.75rem;font-weight:500;line-height:1.35}
.nte-pp-who-inner{display:flex;align-items:center;gap:12px;min-width:180px}
.nte-pp-who-inner>span:last-child{display:grid;line-height:1.35}
.nte-pp-who a{font:700 .9375rem/1.35 var(--nte-display);color:var(--nte-ink)}
.nte-pp-who a:hover,.nte-pp-where a:hover{color:var(--party-ink)}
.nte-pp-avatar{width:40px;height:40px;border-radius:50%;box-shadow:0 0 0 2px var(--nte-surface),0 0 0 3px var(--party-line)}
.nte-pp-avatar .nte-pp-initial{font-size:1rem}
.nte-pp-where{min-width:170px;line-height:1.4}
.nte-pp-where a{font-weight:600;color:var(--nte-ink-2)}
.nte-pp-votes b{display:block;font:700 1rem/1.2 var(--nte-display);color:var(--nte-ink)}
.nte-pp-margin.is-up{color:var(--nte-green-ink);font-weight:700}
.nte-pp-margin.is-down{color:var(--nte-muted)}
.nte-pp-candidates tr.is-won>th{box-shadow:inset 3px 0 0 var(--nte-green)}
.nte-pp-candidates tr.is-leading>th{box-shadow:inset 3px 0 0 var(--nte-amber)}
.nte-pp-provinces tbody th{font-weight:700;color:var(--nte-ink)}
.nte-pp-provinces tfoot>tr>*{border-top:1px solid var(--nte-line-strong);border-bottom:0;background:var(--nte-surface-2);font-weight:700;color:var(--nte-ink)}
.nte-pp-votebar{min-width:130px}
.nte-pp-votebar::after{content:"";display:block;width:var(--w,0%);height:4px;margin:5px 0 0 auto;border-radius:4px;background:color-mix(in srgb,var(--party) 70%,var(--nte-surface))}

/* Candidate filter. */
.nte-pp-filter{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px;margin-bottom:14px}
.nte-pp-chips{display:flex;flex-wrap:wrap;gap:6px}
.nte-pp-chips button{display:inline-flex;align-items:center;gap:7px;min-height:38px;padding:7px 14px;border-radius:var(--nte-pill);border:1px solid var(--nte-line-strong);background:var(--nte-surface);color:var(--nte-ink-2);font:700 .8125rem/1.2 var(--nte-font);transition:background .15s,border-color .15s,color .15s}
.nte-pp-chips button b{padding:1px 7px;border-radius:var(--nte-pill);background:var(--nte-surface-3);color:var(--nte-ink-2);font-size:.6875rem;font-variant-numeric:tabular-nums}
.nte-pp-chips button:hover{border-color:var(--party);color:var(--nte-ink)}
.nte-pp-chips button[aria-pressed=true]{background:var(--nte-ink);border-color:var(--nte-ink);color:var(--nte-surface)}
.nte-pp-chips button[aria-pressed=true] b{background:color-mix(in srgb,var(--nte-surface) 20%,transparent);color:var(--nte-surface)}
.nte-pp-search{position:relative;display:block;flex:0 1 300px;min-width:0}
.nte-pp-search svg{position:absolute;left:13px;top:50%;width:17px;height:17px;transform:translateY(-50%);fill:none;stroke:var(--nte-muted);stroke-width:2;stroke-linecap:round;pointer-events:none}
.nte-pp-search input{width:100%;min-height:42px;padding:9px 14px 9px 38px;border:1px solid var(--nte-line-strong);border-radius:var(--nte-pill);background:var(--nte-surface);color:var(--nte-ink);font:500 .875rem/1.3 var(--nte-font)}
.nte-pp-search input:focus{outline:none;border-color:var(--party);box-shadow:0 0 0 3px color-mix(in srgb,var(--party) 22%,transparent)}
.nte-pp-note{margin:12px 0 0;color:var(--nte-muted);font-size:.8125rem}
.nte-pp-note a{font-weight:700}

/* Provinces + PR roster side by side. */
.nte-pp-split{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,440px),1fr));gap:clamp(24px,3.2vw,40px);align-items:start}
.nte-pp-split:empty{display:none}
.nte-pp-members{list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,230px),1fr));gap:10px;margin:0;padding:0}
.nte-pp-member{display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 12px;border-radius:14px;background:var(--nte-surface);border:1px solid var(--nte-line);box-shadow:var(--nte-shadow-xs)}
.nte-pp-member>span:nth-child(2){display:grid;min-width:0;line-height:1.3}
.nte-pp-member b{font:700 .9375rem/1.3 var(--nte-display);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nte-pp-member small{color:var(--nte-muted);font-size:.75rem}
.nte-pp-member .nte-pp-badge.is-pending{background:var(--nte-surface-3)}
.nte-pp-more summary{display:inline-flex;margin:14px 0 10px;cursor:pointer;font:700 .875rem/1.3 var(--nte-font);color:var(--party-ink)}

/* Manifesto documents. */
.nte-pp-docs{list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:12px;margin:0;padding:0}
.nte-pp-doc{display:grid;grid-template-columns:46px minmax(0,1fr) auto;align-items:center;gap:14px;height:100%;padding:14px 16px;border-radius:var(--nte-radius);background:var(--nte-surface);border:1px solid var(--nte-line);box-shadow:var(--nte-shadow-xs);color:var(--nte-ink);transition:border-color .15s,transform .15s,box-shadow .15s}
.nte-pp-doc:hover{border-color:var(--party);transform:translateY(-2px);box-shadow:var(--nte-shadow-sm);color:var(--nte-ink)}
.nte-pp-doc>span:nth-child(2){display:grid;min-width:0;line-height:1.35}
.nte-pp-doc b{font:700 .9375rem/1.35 var(--nte-display)}
.nte-pp-doc small{color:var(--nte-muted);font-size:.75rem}
.nte-pp-doc-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:12px;background:var(--party-soft);color:var(--party-ink)}
.nte-pp-doc-icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.nte-pp-doc-open{font-weight:700;color:var(--party-ink)}

/* Other parties. */
.nte-pp-chips-list{list-style:none;display:flex;flex-wrap:wrap;gap:10px;margin:0;padding:0}
.nte-pp-party-chip{display:inline-flex;align-items:center;gap:10px;min-height:50px;padding:6px 18px 6px 6px;border-radius:var(--nte-pill);background:var(--nte-surface);border:1px solid var(--nte-line);box-shadow:var(--nte-shadow-xs);color:var(--nte-ink);font:700 .9375rem/1.25 var(--nte-display);transition:border-color .15s,box-shadow .15s,transform .15s}
.nte-pp-party-chip:hover{color:var(--nte-ink);border-color:var(--chip);box-shadow:0 0 0 3px color-mix(in srgb,var(--chip) 16%,transparent);transform:translateY(-1px)}
.nte-pp-chip-logo{width:38px;height:38px;border-radius:50%;--img-bg:#fff;box-shadow:inset 0 0 0 2px var(--chip)}
.nte-pp-chip-logo img{inset:4px;width:calc(100% - 8px);height:calc(100% - 8px);object-fit:contain;border-radius:50%}
.nte-pp-chip-logo .nte-pp-initial{color:color-mix(in srgb,var(--chip) 62%,#0b1620);font-size:1rem}

/* Directory cards. */
.nte-pp-grid{list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:16px;margin:0;padding:0}
/* Three equal columns on wide screens: 3, 6 or 9 parties fill whole rows instead of leaving holes. */
@media (min-width:1024px){.nte-pp-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
.nte-pp-grid>li{min-width:0}
.nte-pp-card{position:relative;isolation:isolate;display:grid;align-content:start;gap:10px;height:100%;padding:0 20px 18px;border-radius:var(--nte-radius);background:var(--nte-surface);border:1px solid var(--nte-line);box-shadow:var(--nte-shadow-xs);color:var(--nte-ink);overflow:hidden;transition:transform .2s var(--nte-ease),box-shadow .2s,border-color .2s}
.nte-pp-card::before{content:"";position:absolute;inset:0 0 auto;z-index:-1;height:66px;background:radial-gradient(circle at 88% -30%,rgb(255 255 255/.32),transparent 55%),linear-gradient(120deg,var(--party),color-mix(in srgb,var(--party) 55%,#06101b))}
.nte-pp-card:hover{color:var(--nte-ink);transform:translateY(-3px);box-shadow:var(--nte-shadow);border-color:var(--party-line)}
.nte-pp-card-top{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;padding-top:28px}
.nte-pp-card-logo{width:76px;height:76px;border-radius:50%;--img-bg:#fff;border:4px solid var(--nte-surface);box-shadow:var(--nte-shadow-sm)}
.nte-pp-card-logo img{inset:10%;width:80%;height:80%;object-fit:contain}
.nte-pp-card-logo .nte-pp-initial{color:var(--party-ink);font-size:1.8rem}
.nte-pp-card-rank{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:34px;padding:0 10px;margin-bottom:22px;border-radius:var(--nte-pill);background:rgb(255 255 255/.92);color:#0d1b2a;font:700 .875rem/1 var(--nte-display);box-shadow:var(--nte-shadow-xs)}
.nte-pp-card-rank::before{content:"#";opacity:.5;margin-right:1px}
.nte-pp-card-name{margin:0;font:700 1.25rem/1.25 var(--nte-display);color:inherit}
.nte-pp-card-leader{margin-top:-6px;font-size:.8125rem;color:var(--nte-muted)}
.nte-pp-card-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:4px;padding:10px 6px;border-radius:12px;background:var(--nte-surface-2);text-align:center}
.nte-pp-card-stats>span{display:grid;gap:2px}
.nte-pp-card-stats>span+span{border-left:1px solid var(--nte-line)}
.nte-pp-card-stats b{font:700 1.3rem/1.1 var(--nte-display);font-variant-numeric:tabular-nums}
.nte-pp-card-stats>span:first-child b{color:var(--party-ink)}
.nte-pp-card-stats small{font-size:.6875rem;color:var(--nte-muted);font-weight:600}
.nte-pp-card-votes{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px 10px;font-size:.8125rem;color:var(--nte-muted)}
.nte-pp-card-votes b{color:var(--nte-ink);font-variant-numeric:tabular-nums}
.nte-pp-card-bar{grid-column:1/-1;height:6px;border-radius:6px;background:var(--nte-surface-3);overflow:hidden}
.nte-pp-card-bar i{display:block;height:100%;border-radius:6px;background:var(--party)}
.nte-pp-card-go{display:inline-flex;align-items:center;gap:6px;margin-top:2px;font:700 .875rem/1.2 var(--nte-font);color:var(--party-ink)}
.nte-pp-card:hover .nte-pp-card-go span{transform:translateX(3px)}
.nte-pp-card-go span{transition:transform .2s var(--nte-ease)}

/* Empty state & footnote. */
.nte-pp-empty{padding:clamp(30px,5vw,56px) 24px;text-align:center;border:1px dashed var(--nte-line-strong);border-radius:var(--nte-radius);background:var(--nte-surface)}
.nte-pp-empty h2{margin-bottom:8px;font-size:1.4rem}
.nte-pp-empty p{max-width:56ch;margin:0 auto 18px;color:var(--nte-muted)}
.nte-pp-disclaimer{margin:0;padding-top:18px;border-top:1px solid var(--nte-line);color:var(--nte-muted);font-size:.8125rem;text-align:center}

@media (max-width:1100px){
  .nte-pp-hero-inner{grid-template-columns:auto minmax(0,1fr)}
  .nte-pp-scorecard{grid-column:1/-1;justify-self:stretch;min-width:0;grid-template-columns:auto auto minmax(0,1fr);justify-content:start;align-items:end;column-gap:22px;padding:16px 20px}
  .nte-pp-score{grid-row:span 3}
  .nte-pp-score-label{grid-column:1/-1}
  .nte-pp-rank{width:auto;margin:0;padding:0;border:0}
  .nte-pp-stats.is-local{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:900px){
  .nte-pp-stats,.nte-pp-stats.is-local{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:720px){
  .nte-pp-hero{border-radius:var(--nte-radius)}
  .nte-pp-hero-inner{grid-template-columns:minmax(0,1fr);gap:16px;padding:22px 18px}
  .nte-pp-logo{width:84px}
  .nte-pp-hero h1{font-size:clamp(1.75rem,8vw,2.2rem)}
  .nte-pp-desc{font-size:.9375rem;margin-bottom:16px}
  .nte-pp-scorecard{grid-column:1;justify-self:stretch;grid-template-columns:auto minmax(0,1fr);column-gap:16px}
  .nte-pp-stack-logo{width:46px;height:46px}
  .nte-pp-toolbar{align-items:stretch}
  .nte-pp-elections{width:100%}
  .nte-pp-elections-label{flex-basis:100%;padding:6px 10px 4px}
  .nte-pp-election{flex:1 1 auto}
  /* Winner / leader cards become a swipeable row instead of a very long column. */
  .nte-pp-people{grid-auto-flow:column;grid-auto-columns:min(84%,320px);grid-template-columns:none;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:2px;padding:2px 2px 10px;margin-inline:-2px;scrollbar-width:thin}
  .nte-pp-person{scroll-snap-align:start}
  .nte-pp-person:hover{transform:none}
  .nte-pp-stat{padding:14px 14px 13px 16px}
  .nte-pp-filter{align-items:stretch}
  .nte-pp-search{flex-basis:100%}
  .nte-pp-chips{flex-wrap:nowrap;overflow-x:auto;margin-inline:-2px;padding:2px;scrollbar-width:none}
  .nte-pp-chips::-webkit-scrollbar{display:none}
  .nte-pp-chips button{flex-shrink:0}
  /* Candidate table → stacked cards. */
  .nte-pp-candidates,.nte-pp-candidates tbody{display:block}
  .nte-pp-candidates thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .nte-pp-candidates tbody tr{display:grid;grid-template-columns:minmax(0,1fr) auto auto;grid-template-areas:"who who state" "where where where" "votes rank margin";align-items:center;gap:8px 14px;padding:14px 14px 14px 16px;border-bottom:1px solid var(--nte-line)}
  .nte-pp-candidates tbody tr:last-child{border-bottom:0}
  .nte-pp-candidates tbody tr>*{padding:0;border:0}
  .nte-pp-candidates tr.is-won>th,.nte-pp-candidates tr.is-leading>th{box-shadow:none}
  .nte-pp-candidates tr.is-won{box-shadow:inset 3px 0 0 var(--nte-green)}
  .nte-pp-candidates tr.is-leading{box-shadow:inset 3px 0 0 var(--nte-amber)}
  .nte-pp-candidates .nte-pp-who{grid-area:who}
  .nte-pp-candidates .nte-pp-who-inner{min-width:0}
  .nte-pp-candidates .nte-pp-where{grid-area:where;min-width:0;padding-left:52px}
  .nte-pp-candidates .nte-pp-where small{display:none}
  .nte-pp-candidates tbody tr{align-items:end}
  .nte-pp-candidates .nte-pp-who,.nte-pp-candidates .nte-pp-statecell{align-self:center}
  .nte-pp-candidates .nte-pp-votes{grid-area:votes;text-align:left;padding-left:52px}
  .nte-pp-candidates .nte-pp-votes b,.nte-pp-candidates .nte-pp-votes small{display:inline;margin-right:6px}
  .nte-pp-candidates .nte-pp-rankcell{grid-area:rank}
  .nte-pp-candidates .nte-pp-margin{grid-area:margin}
  .nte-pp-candidates .nte-pp-statecell{grid-area:state}
  .nte-pp-candidates td[data-label]::before{content:attr(data-label);display:block;color:var(--nte-muted);font:600 .625rem/1.3 var(--nte-font);letter-spacing:.04em}
  .nte-pp-person{grid-template-columns:76px minmax(0,1fr)}
  .nte-pp-portrait{width:76px}
  .nte-pp-table td,.nte-pp-table tbody th,.nte-pp-table tfoot th,.nte-pp-table thead th{padding-inline:10px}
  .nte-pp-party-chip{min-height:44px;font-size:.875rem}
  .nte-pp-chip-logo{width:32px;height:32px}
}
@media (prefers-reduced-motion:reduce){
  .nte-pp *,.nte-pp *::before{animation:none!important;transition:none!important}
  .nte-pp-person:hover,.nte-pp-card:hover,.nte-pp-doc:hover,.nte-pp-party-chip:hover,.nte-pp-cta:hover{transform:none}
}
@media print{
  .nte-pp-hero{box-shadow:none;color:#000;background:none}
  .nte-pp-hero::before,.nte-pp-hero::after,.nte-pp-actions,.nte-pp-filter,.nte-pp-elections{display:none}
  .nte-pp-hero h1,.nte-pp-score-label,.nte-pp-score-split,.nte-pp-rank,.nte-pp-desc,.nte-pp-kicker{color:#000;text-shadow:none}
  .nte-pp-rank b,.nte-pp-score,.nte-pp-score-lead,.nte-pp-leader,.nte-pp-leader *{color:#000!important;background:none!important;border-color:#999!important}
  .nte-pp-scorecard{background:none;border-color:#999;-webkit-backdrop-filter:none;backdrop-filter:none}
  .nte-pp-search,.nte-pp-filter,.nte-pp-all-link,.nte-pp-others{display:none}
}

/* Party names as links elsewhere (dashboard tables, dialogs, embeds). Low specificity on purpose. */
a.nte-party-link{color:inherit;text-decoration:none;background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;transition:background-size .2s var(--nte-ease),color .15s}
a.nte-party-link:hover{color:var(--nte-brand-ink);text-decoration:none;background-size:100% 1px}
a.nte-party-link:focus-visible{background-size:100% 1px}
.nte-pp a.nte-party-link:hover{color:var(--party-ink)}

/* Seat table + hemicycle legend (mandate.js): each party opens its profile. */
.nte-mandate-table tbody tr.has-link{cursor:pointer}
.nte-mandate-table tbody tr.has-link:hover>*{background-color:color-mix(in srgb,var(--party,var(--nte-brand)) 7%,var(--nte-surface-2))}
.nte-mandate-party{display:inline-flex;align-items:center;gap:8px;min-width:0;color:var(--nte-ink);text-decoration:none}
.nte-mandate-party:hover{color:var(--nte-ink);text-decoration:none}
.nte-mandate-party>span:last-child{background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;transition:background-size .2s var(--nte-ease)}
.nte-mandate-party:hover>span:last-child,.nte-mandate-party:focus-visible>span:last-child{background-size:100% 1px}
.nte-mandate-party .nte-mandate-arrow{font-weight:700;color:var(--nte-muted);opacity:0;transform:translateX(-4px);transition:opacity .15s,transform .15s}
.nte-mandate-table tr:hover .nte-mandate-arrow,.nte-mandate-party:focus-visible .nte-mandate-arrow{opacity:1;transform:none}
.nte-mandate-logo{position:relative;display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;overflow:hidden;flex-shrink:0;background:#fff;box-shadow:0 0 0 1px var(--nte-line);color:color-mix(in srgb,var(--party,var(--nte-brand)) 40%,#0d1b2a);font:700 .75rem/1 var(--nte-display)}
.nte-mandate-logo img{position:absolute;inset:2px;width:calc(100% - 4px);height:calc(100% - 4px);object-fit:contain}
@media (max-width:560px){
  .nte-mandate-party{gap:6px}
  .nte-mandate-party .nte-mandate-arrow{display:none}
  .nte-mandate-logo{width:20px;height:20px}
}
a.nte-mandate-key{text-decoration:none;padding:3px 8px 3px 6px;margin:-3px -2px;border-radius:var(--nte-pill);transition:background .15s,color .15s}
a.nte-mandate-key:hover{background:color-mix(in srgb,var(--party) 12%,transparent);color:var(--nte-ink);text-decoration:none}

/* Party cards, chart labels and dialogs (portal.js). */
.nte-chart-row>a.nte-party-link:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nte-rich-party h3 a{color:inherit;text-decoration:none}
.nte-rich-party h3 a:hover{color:color-mix(in srgb,var(--party) 72%,var(--nte-ink))}
.nte-rich-party a.nte-party-emblem{text-decoration:none}
.nte-party-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-top:4px}
.nte-party-actions .nte-party-open{margin-top:0}
.nte-party-profile-link{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:40px;padding:8px 14px;border-radius:var(--nte-radius-sm);background:color-mix(in srgb,var(--party,var(--nte-brand)) 72%,#000);color:#fff;font:700 .875rem/1.2 var(--nte-font);text-decoration:none;box-shadow:0 8px 18px -12px var(--party,var(--nte-brand));transition:filter .15s,transform .15s}
.nte-party-profile-link:hover{color:#fff;text-decoration:none;filter:brightness(1.08);transform:translateY(-1px)}
.nte-dialog-party-head{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;margin-bottom:14px;padding-right:48px}
.nte-dialog-party-head .nte-party-emblem{margin:0;flex-shrink:0}
.nte-dialog-party-head h2{margin:0}
.nte-dialog-party-head>div{display:grid;gap:2px;min-width:0;flex:1 1 180px}
.nte-dialog-party-head .nte-party-profile-link{margin-left:auto}
.nte-dialog-party-head p{margin:0;color:var(--nte-muted)}
.nte-dialog .nte-party-profile-link{min-height:44px;padding:10px 18px;border-radius:var(--nte-pill)}
.nte-portal-avatar.is-broken{background:var(--nte-brand-soft)}
.nte-party-emblem.is-broken{background:color-mix(in srgb,var(--party,var(--nte-brand)) 12%,var(--nte-surface))}
@media (max-width:560px){
  .nte-dialog-party-head{padding-right:40px}
  .nte-dialog .nte-dialog-party-head .nte-party-emblem{width:56px;height:56px}
  .nte-dialog-party-head .nte-party-profile-link{flex:1 1 100%;margin-left:0}
}

/* Shortcode embeds: party links and image fallbacks. */
.nte-embed .nte-party-link{color:inherit}
.nte-embed-person small .nte-party-link:hover,.nte-embed-party .nte-party-link:hover,.nte-embed-table .nte-party-link:hover{color:var(--nte-brand-ink)}
.nte-embed-avatar.is-broken::after,.nte-embed-portrait.is-broken::after{content:attr(data-initial)}
.nte-embed-logo.is-broken{display:none}
@media (prefers-reduced-motion:reduce){
  a.nte-party-link,.nte-mandate-party>span:last-child,.nte-mandate-arrow,.nte-party-profile-link{transition:none}
}
/* Devanagari labels are never letter-spaced or uppercased (it breaks the headline stroke); only Latin text marked lang="en" is tracked. */
.nte-pp-kicker,.nte-pp-score-label,.nte-pp-elections-label,.nte-pp-badge,.nte-pp-table thead th,.nte-pp-candidates td[data-label]::before{letter-spacing:0;text-transform:none}
.nte-pp-kicker [lang|=en]{font-size:.6875rem;letter-spacing:.12em;text-transform:uppercase}
/* Dark mode: fallback initials sit on light chips so the party letter keeps AA contrast. */
[data-nte-mode=dark] .nte-pp-chip-logo,[data-nte-mode=dark] .nte-pp-card-logo,[data-nte-mode=dark] .nte-pp-stack-logo{--img-bg:#f4f7fa}
[data-nte-mode=dark] .nte-pp-chip-logo .nte-pp-initial,[data-nte-mode=dark] .nte-pp-card-logo .nte-pp-initial,[data-nte-mode=dark] .nte-pp-stack-logo .nte-pp-initial{color:color-mix(in srgb,var(--party,var(--chip)) 62%,#0b1620)}

/* 13. Interactions ------------------------------------------------------ */
/* Horizontal scrollers (ui.js → NTEScroller), "चर्चित अनुहार" cards, image
   fallbacks and the live-feed empty state. */

/* Scroller: edge fades only on the side that has more content. */
.nte-scroller{position:relative;min-width:0}
[data-nte-scroller].nte-sc-overflow{
  --nte-fade-l:0px;--nte-fade-r:0px;
  overscroll-behavior-x:contain;scrollbar-width:none;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 var(--nte-fade-l),#000 calc(100% - var(--nte-fade-r)),transparent 100%);
  mask-image:linear-gradient(90deg,transparent 0,#000 var(--nte-fade-l),#000 calc(100% - var(--nte-fade-r)),transparent 100%)
}
[data-nte-scroller].nte-sc-overflow::-webkit-scrollbar{display:none}
[data-nte-scroller].nte-sc-overflow:not(.nte-sc-start){--nte-fade-l:48px}
[data-nte-scroller].nte-sc-overflow:not(.nte-sc-end){--nte-fade-r:48px}
[data-nte-scroller=plain].nte-sc-overflow:not(.nte-sc-start){--nte-fade-l:28px}
[data-nte-scroller=plain].nte-sc-overflow:not(.nte-sc-end){--nte-fade-r:28px}
[data-nte-scroller].nte-sc-overflow img{-webkit-user-drag:none;user-select:none}
/* Keyboard focus and drag/arrow stops keep items clear of the 48px fades and 44px arrows
   (ui.js reveals a focused item inside the scroll-padding). Phone strips of near full-width
   cards (mode "mobile") keep their small padding. */
[data-nte-scroller=""]{scroll-padding-inline:56px}
[data-nte-scroller=plain]{scroll-padding-inline:32px}
.nte-sc-dragging,.nte-sc-gliding{scroll-snap-type:none!important;scroll-behavior:auto!important}
.nte-sc-dragging{user-select:none;-webkit-user-select:none}
.nte-sc-dragging>*{pointer-events:none}
@media (hover:hover) and (pointer:fine){
  [data-nte-scroller].nte-sc-overflow{cursor:grab}
  [data-nte-scroller]:not([data-nte-scroller=plain]).nte-sc-overflow :where(*):not(a,a *,button,button *,input,select,textarea),.nte-featured.nte-sc-overflow .nte-feature-open{cursor:grab}
  .nte-sc-dragging,.nte-sc-dragging *{cursor:grabbing!important}
}

/* Prev / next arrows (hidden by ui.js unless the strip overflows). */
.nte-scroller>button.nte-scroller-arrow{position:absolute;top:50%;z-index:3;display:grid;place-items:center;width:44px;height:44px;min-height:0;margin-top:-22px;padding:0;border:1px solid var(--nte-line);border-radius:50%;background:var(--nte-surface);color:var(--nte-ink);box-shadow:var(--nte-shadow);cursor:pointer;transition:opacity .2s var(--nte-ease),transform .2s var(--nte-ease),background .15s,border-color .15s,color .15s}
.nte-scroller>button.nte-scroller-arrow.is-prev{left:4px}
.nte-scroller>button.nte-scroller-arrow.is-next{right:4px}
.nte-scroller>button.nte-scroller-arrow:hover{border-color:var(--nte-brand-solid);background:var(--nte-brand-solid);color:var(--nte-on-brand);transform:scale(1.06)}
.nte-scroller>button.nte-scroller-arrow:disabled{opacity:0;pointer-events:none;transform:scale(.8)}
.nte-scroller>button.nte-scroller-arrow:focus-visible{outline:2px solid var(--nte-brand-ink);outline-offset:2px}
.nte-scroller>button.nte-scroller-arrow svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
[data-nte-mode=dark] .nte-scroller>button.nte-scroller-arrow{background:var(--nte-surface-3);border-color:var(--nte-line-strong)}
[data-nte-mode=dark] .nte-scroller>button.nte-scroller-arrow:hover{background:var(--nte-brand-solid);color:var(--nte-on-brand)}
@media (hover:none) and (pointer:coarse){.nte-scroller>button.nte-scroller-arrow{display:none}}

/* Grids that become swipeable strips on phones (hot seats, party cards). */
@media (max-width:640px){
  .nte-dashboard [data-nte-scroller=mobile]{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:2px;padding:4px 2px 14px;margin-inline:-2px}
  .nte-dashboard [data-nte-scroller=mobile]>*{flex:0 0 min(86%,340px);min-width:0;scroll-snap-align:start}
  .nte-dashboard [data-nte-scroller=mobile]>.nte-empty,.nte-dashboard [data-nte-scroller=mobile]>p{flex-basis:100%}
}

/* "चर्चित अनुहार" featured strip. */
.nte-featured-section .nte-featured{display:flex;gap:16px;overflow-x:auto;padding:6px 4px 18px;margin:0 -4px;scroll-snap-type:x mandatory;scroll-padding-inline:56px}
.nte-featured .nte-feature-card{
  position:relative;flex:0 0 192px;display:flex;flex-direction:column;align-items:center;gap:6px;min-width:0;
  padding:20px 14px 0;border:1px solid var(--nte-line);border-radius:var(--nte-radius-lg);text-align:center;scroll-snap-align:start;
  background:linear-gradient(180deg,color-mix(in srgb,var(--party,var(--nte-brand)) 11%,var(--nte-surface)) 0,var(--nte-surface) 112px);
  box-shadow:var(--nte-shadow-xs);color:var(--nte-ink);
  transition:transform .22s var(--nte-ease),box-shadow .22s var(--nte-ease),border-color .22s
}
.nte-featured .nte-feature-card:hover{transform:translateY(-4px);border-color:color-mix(in srgb,var(--party,var(--nte-brand)) 45%,var(--nte-line));box-shadow:var(--nte-shadow)}
.nte-sc-dragging .nte-feature-card:hover{transform:none}
.nte-feature-figure{position:relative;display:block;margin-bottom:10px}
.nte-featured .nte-feature-avatar{display:block;width:116px;height:116px;margin:0;padding:4px;border-radius:50%;background:conic-gradient(from 200deg,var(--party,var(--nte-brand)),color-mix(in srgb,var(--party,var(--nte-brand)) 40%,var(--nte-surface)),var(--party,var(--nte-brand)));overflow:visible}
.nte-featured .nte-feature-avatar img,.nte-featured .nte-feature-avatar .nte-initial{display:block;width:100%;height:100%;border-radius:50%;border:3px solid var(--nte-surface);background:var(--nte-surface-2)}
.nte-featured .nte-feature-avatar img{object-fit:cover;object-position:50% 24%}
.nte-featured .nte-feature-avatar .nte-initial{display:grid;place-items:center;background:color-mix(in srgb,var(--party,var(--nte-brand)) 16%,var(--nte-surface));color:var(--party,var(--nte-brand-ink));font:700 2.6rem/1 var(--nte-display)}
.nte-feature-badge{position:absolute;left:50%;bottom:-9px;z-index:1;transform:translateX(-50%);padding:3px 11px;border:2px solid var(--nte-surface);border-radius:var(--nte-pill);background:var(--nte-surface-3);color:var(--nte-ink-2);font:700 .6875rem/1.4 var(--nte-font);white-space:nowrap;box-shadow:var(--nte-shadow-xs)}
.nte-feature-card[data-state=won] .nte-feature-badge{background:var(--nte-green-solid);color:var(--nte-on-solid)}
.nte-feature-card[data-state=won] .nte-feature-badge::before{content:"✓ "}
.nte-feature-card[data-state=leading] .nte-feature-badge{background:var(--nte-amber-solid);color:var(--nte-on-solid)}
.nte-feature-card[data-state=lost] .nte-feature-badge,.nte-feature-card[data-state=trailing] .nte-feature-badge{background:var(--nte-surface-3);color:var(--nte-muted)}
.nte-feature-card[data-state=counting] .nte-feature-badge{background:var(--nte-live-soft);color:var(--nte-live-ink)}
.nte-feature-card[data-state=pending] .nte-feature-badge{background:var(--nte-surface-3);color:var(--nte-pending)}
.nte-featured .nte-feature-name{margin:2px 0 0;font:700 1rem/1.35 var(--nte-display);color:var(--nte-ink)}
.nte-featured .nte-feature-open,.nte-featured .nte-feature-open:hover{display:inline;min-height:0;padding:0;border:0;border-radius:0;background:none;color:inherit;font:inherit;text-align:center;box-shadow:none;transform:none}
.nte-featured .nte-feature-open::after{content:"";position:absolute;inset:0;z-index:1;border-radius:var(--nte-radius-lg)}
.nte-featured .nte-feature-open:focus-visible{outline:none}
/* Opaque ring in the text-safe brand ink (≥3:1 on the card in every palette and mode), like every other focus ring. */
.nte-featured .nte-feature-open:focus-visible::after{outline:3px solid var(--nte-brand-ink);outline-offset:-3px}
.nte-feature-party{position:relative;z-index:2;display:inline-flex;align-items:center;justify-content:center;gap:6px;max-width:100%;font-size:.8125rem;font-weight:600;line-height:1.35}
.nte-feature-logo{display:inline-grid;place-items:center;flex-shrink:0;width:22px;height:22px;border-radius:50%;overflow:hidden;background:color-mix(in srgb,var(--party,var(--nte-brand)) 16%,var(--nte-surface));color:var(--party,var(--nte-brand-ink));font:700 .6875rem/1 var(--nte-display)}
.nte-feature-logo img{width:100%;height:100%;object-fit:cover}
.nte-feature-party-name{min-width:0;color:color-mix(in srgb,var(--party,var(--nte-brand)) 72%,var(--nte-ink));text-align:left}
a.nte-feature-party-name{text-decoration:none}
a.nte-feature-party-name:hover{text-decoration:underline;text-underline-offset:3px}
[data-nte-mode=dark] .nte-feature-party-name{color:color-mix(in srgb,var(--party,var(--nte-brand)) 45%,var(--nte-ink))}
.nte-feature-area{font-size:.75rem;font-weight:500;color:var(--nte-muted)}
.nte-feature-votes{display:flex;align-items:baseline;justify-content:center;gap:5px;width:calc(100% + 28px);margin:auto -14px 0;padding:10px 14px 12px;border-top:1px solid var(--nte-line);font:700 1.125rem/1.2 var(--nte-display);color:var(--nte-ink)}
.nte-feature-votes small{font:600 .75rem/1 var(--nte-font);color:var(--nte-muted)}
.nte-feature-card[data-state=won] .nte-feature-votes b,.nte-feature-card[data-state=leading] .nte-feature-votes b{color:color-mix(in srgb,var(--party,var(--nte-brand)) 80%,var(--nte-ink))}
[data-nte-mode=dark] .nte-feature-card[data-state=won] .nte-feature-votes b,[data-nte-mode=dark] .nte-feature-card[data-state=leading] .nte-feature-votes b{color:color-mix(in srgb,var(--party,var(--nte-brand)) 50%,var(--nte-ink))}
.nte-featured-scroller>button.nte-scroller-arrow{top:calc(50% - 8px)}
@media (max-width:640px){
  .nte-featured-section .nte-featured{gap:12px}
  .nte-featured .nte-feature-card{flex-basis:168px;padding-top:16px}
  .nte-featured .nte-feature-avatar{width:100px;height:100px}
  .nte-featured-section .nte-section-head .nte-muted{font-size:.8125rem}
}

/* Initial-letter fallbacks when a photo or logo cannot load. */
.nte-avatar.is-initial,.nte-person-photo.is-initial,.nte-comparison-photo.is-initial,.nte-profile-avatar.is-initial,.nte-party-logo.is-initial,.nte-directory-logo.is-initial{display:grid;place-items:center}
.nte-person-photo.is-initial,.nte-comparison-photo.is-initial{background:color-mix(in srgb,var(--party,var(--nte-brand)) 16%,var(--nte-surface-2));color:var(--party,var(--nte-brand-ink));font:700 1.5rem/1 var(--nte-display)}
.nte-party-logo.is-initial,.nte-feature-logo.is-initial{font-weight:700;line-height:1}
/* Featured-strip logo chip without a logo: dark party-tone letter on a light chip in both
   modes (like the seat table), at least 4.5:1 for any party colour. */
.nte-feature-logo.is-initial{background:color-mix(in srgb,var(--party,var(--nte-brand)) 10%,#fff);color:color-mix(in srgb,var(--party,var(--nte-brand)) 40%,#0d1b2a);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--party,var(--nte-brand)) 35%,transparent)}
img[data-nte-fallback]{background:var(--nte-surface-3);object-fit:cover}

/* Live feed with no history yet: readable message, no fade mask, no pause button. */
.nte-live-ribbon.nte-feed-empty .nte-feed-viewport{-webkit-mask-image:none;mask-image:none}
.nte-live-ribbon.nte-feed-empty #nte-live-feed{width:auto;padding-inline:4px;white-space:normal;line-height:1.5;animation:none}

@media (prefers-reduced-motion:reduce){
  .nte-featured .nte-feature-card,.nte-scroller>button.nte-scroller-arrow{transition:none}
  .nte-featured .nte-feature-card:hover,.nte-scroller>button.nte-scroller-arrow:hover{transform:none}
}

/* Party names in result, hot-seat and comparison cards link to the party page: they keep
   the party colour and underline on hover (a.nte-party-link in 06-party.css). */
.nte-identity-line a.nte-party-name,.nte-identity-line a.nte-party-name:hover{color:color-mix(in srgb,var(--party,var(--nte-muted)) var(--nte-tone),var(--nte-ink))}

/* People explorer: party name (a link when the party has a page) beside the status badge. */
.nte-person-card .nte-person-card-top>.nte-person-party{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nte-person-card-top>a.nte-person-party:hover{color:inherit}
@media (max-width:480px){
  /* Two narrow columns: the badge moves under the party name, which may take two lines; the
     reserved height keeps the photos of neighbouring cards level. */
  .nte-person-card .nte-person-card-top{flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:5px;min-height:calc(3.9em + 11px)}
  .nte-person-card .nte-person-card-top>.nte-person-party{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;max-width:100%;white-space:normal}
}

/* Touch: the small "+ तुलना" toggle under a candidate gets a 32px-tall hit area that extends
   over the empty space below it (never over the party link above). */
@media (max-width:600px){
  .nte-dashboard .nte-compare-toggle{position:relative}
  .nte-dashboard .nte-compare-toggle::before{content:"";position:absolute;inset:0 -8px -15px}
}
