/* Moris Poll Pulse design system. Purple + pink carry ~90% of brand colour, yellow ~10% as signal accent. */
:root{
 --purple:#6a287a;--purple-d:#4a1757;--purple-dd:#2c0d35;--pink:#ee1d56;--pink-d:#c8103f;--yellow:#fdec07;
 --ink:#23122a;--ink-2:#5b4a62;--paper:#ffffff;--mist:#f8f3fa;--blush:#fff0f4;--line:#eadff0;
 --r-s:8px;--r-m:14px;--r-l:26px;--shadow:0 18px 40px -22px rgba(106,40,122,.45);
 --f-d:"Outfit","Noto Sans",system-ui,sans-serif;--f-b:"Poppins","Noto Sans","Noto Sans Devanagari","Noto Sans Bengali","Noto Sans Tamil","Noto Sans Telugu","Noto Sans Gurmukhi","Noto Sans Gujarati","Noto Sans Kannada","Noto Sans Malayalam","Noto Sans Oriya","Noto Nastaliq Urdu",system-ui,sans-serif;
 --wrap:1240px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}
body{margin:0;font-family:var(--f-b);color:var(--ink);background:var(--paper);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}a{color:var(--purple)}a:hover{color:var(--pink)}
h1,h2,h3,h4{font-family:var(--f-d);line-height:1.08;margin:0 0 .5em;letter-spacing:-.01em}
h1{font-size:clamp(2.4rem,5.4vw,4.6rem);font-weight:800}
h2{font-size:clamp(1.8rem,3.4vw,2.8rem);font-weight:800}
h3{font-size:1.3rem;font-weight:700}
p{margin:0 0 1em;max-width:70ch}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 22px}
:focus-visible{outline:3px solid var(--pink);outline-offset:3px;border-radius:4px}
.skip{position:absolute;left:-999px;top:0;background:var(--pink);color:#fff;padding:10px 16px;z-index:999}.skip:focus{left:10px}

/* Ticker */
.ticker{background:var(--purple-dd);color:#fff;font-size:.86rem;overflow:hidden;white-space:nowrap}
.ticker .wrap{display:flex;align-items:center;gap:14px;padding-top:8px;padding-bottom:8px}
.ticker b{background:var(--yellow);color:var(--purple-dd);padding:2px 10px;border-radius:30px;font-weight:700;flex:none}
.ticker-track{display:inline-flex;gap:48px;animation:tick 48s linear infinite}
.ticker-track span{opacity:.92}
@keyframes tick{to{transform:translateX(-50%)}}

/* Header */
.hdr{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--line)}
.hdr .wrap{display:flex;align-items:center;gap:22px;height:78px}
.logo img{height:58px;width:auto}
.nav{display:flex;gap:4px;margin-left:auto;align-items:center}
.nav>a,.nav>.dd>button{white-space:nowrap;font:600 .92rem var(--f-b);color:var(--ink);text-decoration:none;padding:10px 9px;border-radius:10px;background:none;border:0;cursor:pointer;display:flex;align-items:center;gap:6px}
.nav>a:hover,.nav>.dd>button:hover,.nav a.on{background:var(--mist);color:var(--purple)}
.dd{position:relative}
.mega{position:absolute;top:calc(100% + 8px);left:50%;transform:translateX(-50%);width:min(860px,92vw);background:#fff;border:1px solid var(--line);border-radius:var(--r-l);box-shadow:var(--shadow);padding:22px;display:none;grid-template-columns:repeat(4,1fr);gap:4px 14px}
.dd:hover .mega,.dd.open .mega{display:grid}
.mega a{font-size:.88rem;color:var(--ink);text-decoration:none;padding:6px 8px;border-radius:8px;display:flex;align-items:center;gap:8px}
.mega a img{width:22px;height:22px}
.mega a:hover{background:var(--blush);color:var(--pink-d)}
.mega h4{grid-column:1/-1;font-size:.95rem;color:var(--purple);margin:6px 0 4px}
.hdr-tools{display:flex;gap:8px;align-items:center}
.lang{font:600 .85rem var(--f-b);border:1.5px solid var(--line);border-radius:30px;padding:8px 12px;background:#fff;color:var(--ink)}
.btn{white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;gap:8px;font:700 .95rem var(--f-b);padding:13px 22px;border-radius:40px;border:0;cursor:pointer;text-decoration:none;transition:transform .15s,box-shadow .15s}
.btn-pink{background:var(--pink);color:#fff}.btn-pink:hover{background:var(--pink-d);color:#fff;transform:translateY(-1px);box-shadow:0 10px 24px -10px var(--pink)}
.btn-purple{background:var(--purple);color:#fff}.btn-purple:hover{background:var(--purple-d);color:#fff}
.btn-ghost{background:transparent;color:var(--purple);border:2px solid var(--purple)}.btn-ghost:hover{background:var(--purple);color:#fff}
.btn-yellow{background:var(--yellow);color:var(--purple-dd)}
.burger{display:none;background:none;border:0;width:44px;height:44px;border-radius:10px;cursor:pointer}
.burger span{display:block;height:2.5px;background:var(--purple);margin:6px 10px;border-radius:2px}

/* Generic sections */
.sec{padding:84px 0}.sec-tight{padding:56px 0}
.sec-mist{background:var(--mist)}.sec-blush{background:var(--blush)}
.sec-dark{background:var(--purple-dd);color:#f3e9f6}.sec-dark h2,.sec-dark h3{color:#fff}
.lead{font-size:1.15rem;color:var(--ink-2);max-width:62ch}
.sec-dark .lead{color:#dcc8e4}
.head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:34px;flex-wrap:wrap}
.head p{margin:0}
.grid{display:grid;gap:22px}.g2{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r-m);padding:24px}
.card h3{margin-bottom:.35em}.card p{color:var(--ink-2);font-size:.95rem;margin:0}
.ico{width:56px;height:56px;margin-bottom:12px}
.pill{display:inline-flex;align-items:center;gap:6px;font-size:.78rem;font-weight:700;padding:4px 11px;border-radius:30px;background:var(--mist);color:var(--purple)}
.pill.pink{background:var(--blush);color:var(--pink-d)}.pill.y{background:var(--yellow);color:var(--purple-dd)}
.crumb{font-size:.85rem;color:var(--ink-2);margin-bottom:14px}.crumb a{text-decoration:none}

/* Hero */
.hero{position:relative;overflow:hidden;background:radial-gradient(1100px 520px at 85% 10%,#fde3ec 0,transparent 60%),radial-gradient(900px 600px at 0% 100%,#efe1f4 0,transparent 55%),#fff;padding:64px 0 40px}
.hero-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:40px;align-items:center}
.hero h1 .l2{display:block;color:var(--pink)}
.hero .lead{margin:18px 0 26px}
.hero-ctas{display:flex;gap:12px;flex-wrap:wrap}
.pulse-line{width:100%;height:70px;display:block}
.pulse-line path{stroke-dasharray:1600;stroke-dashoffset:1600;animation:draw 2.4s .3s ease-out forwards}
@keyframes draw{to{stroke-dashoffset:0}}
.hemi-card{background:#fff;border-radius:var(--r-l);box-shadow:var(--shadow);border:1px solid var(--line);padding:22px 22px 16px}
.hemi-top{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:6px}
.seg{display:inline-flex;background:var(--mist);border-radius:30px;padding:4px}
.seg button{font:600 .82rem var(--f-b);border:0;background:none;padding:7px 14px;border-radius:30px;cursor:pointer;color:var(--ink-2)}
.seg button.on{background:var(--purple);color:#fff}
.hemi svg{width:100%;height:auto;display:block}
.hemi circle{transition:fill .5s}
.hemi-mid{text-anchor:middle;font-family:var(--f-d)}
.legend{display:flex;flex-wrap:wrap;gap:8px 14px;font-size:.82rem;margin-top:8px}
.legend i{display:inline-block;width:11px;height:11px;border-radius:3px;margin-right:6px;vertical-align:-1px}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--line);border-radius:var(--r-m);background:#fff;margin-top:40px}
.stats div{padding:20px 22px;border-right:1px solid var(--line)}.stats div:last-child{border:0}
.stats b{font:800 2rem var(--f-d);color:var(--purple);display:block}
.stats span{font-size:.86rem;color:var(--ink-2)}

/* Map */
.map-wrap{display:grid;grid-template-columns:1.15fr .85fr;gap:28px;align-items:start}
.map-box{position:relative;background:#fff;border:1px solid var(--line);border-radius:var(--r-l);padding:14px}
.map-box svg{width:100%;height:auto;display:block}
.map-box path.st{stroke:#fff;stroke-width:.8;cursor:pointer;transition:opacity .2s,filter .2s}
.map-box path.st:hover,.map-box path.st:focus{filter:brightness(1.08) drop-shadow(0 2px 4px rgba(0,0,0,.25));stroke:#23122a;stroke-width:1.4;outline:none}
.map-box path.sel{stroke:var(--ink);stroke-width:2}
.tip{position:fixed;pointer-events:none;z-index:80;background:var(--purple-dd);color:#fff;font-size:.82rem;padding:10px 12px;border-radius:10px;box-shadow:var(--shadow);max-width:260px;opacity:0;transition:opacity .12s}
.tip b{font-family:var(--f-d);font-size:.98rem;display:block;margin-bottom:2px}
.panel{background:#fff;border:1px solid var(--line);border-radius:var(--r-l);padding:24px;position:sticky;top:96px}
.panel h3{display:flex;align-items:center;gap:10px}
.panel h3 img{width:40px;height:40px}
.bars{display:flex;flex-direction:column;gap:9px;margin:14px 0}
.bar{display:grid;grid-template-columns:96px 1fr 44px;align-items:center;gap:10px;font-size:.88rem}
.bar .t{height:14px;background:var(--mist);border-radius:8px;overflow:hidden}
.bar .t i{display:block;height:100%;border-radius:8px;width:0;transition:width .8s cubic-bezier(.2,.8,.2,1)}
.bar b{text-align:right;font-family:var(--f-d)}
.bar .nm{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.stack{display:flex;height:22px;border-radius:12px;overflow:hidden;background:var(--mist)}
.stack i{display:block;height:100%}
.chip-row{display:flex;flex-wrap:wrap;gap:8px}
.chip{border:1.5px solid var(--line);background:#fff;border-radius:30px;padding:7px 13px;font:600 .82rem var(--f-b);cursor:pointer;color:var(--ink);text-decoration:none;display:inline-flex;gap:7px;align-items:center}
.chip img{width:20px;height:20px}
.chip:hover,.chip.on{border-color:var(--pink);color:var(--pink-d);background:var(--blush)}

/* Tables */
.tbl-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r-m);background:#fff}
table{width:100%;border-collapse:collapse;font-size:.92rem}
th,td{padding:12px 14px;text-align:left;border-bottom:1px solid var(--line)}
th{background:var(--mist);font-weight:700;color:var(--purple);white-space:nowrap}
tr:last-child td{border-bottom:0}
.pdot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:7px}

/* Forecast cards */
.fc{position:relative;background:#fff;border:1px solid var(--line);border-radius:var(--r-l);padding:24px;overflow:hidden}
.fc .meta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.fc h3{font-size:1.2rem}
.range{position:relative;height:30px;margin:6px 0}
.range .axis{position:absolute;inset:13px 0 auto;height:4px;background:var(--mist);border-radius:4px}
.range .band{position:absolute;top:8px;height:14px;border-radius:8px;opacity:.85}
.range .pt{position:absolute;top:4px;width:4px;height:22px;background:var(--ink);border-radius:2px}
.range .act{position:absolute;top:2px;width:14px;height:14px;transform:translate(-50%,0) rotate(45deg);background:var(--yellow);border:2px solid var(--purple-dd)}
.range .maj{position:absolute;top:0;bottom:0;border-left:2px dashed var(--pink)}
.fr{font-size:.86rem;margin-bottom:6px}.frh{display:flex;justify-content:space-between;gap:10px;align-items:baseline}.frh small{color:var(--ink-2)}
.ribbon{position:absolute;top:16px;right:-38px;transform:rotate(35deg);background:var(--yellow);color:var(--purple-dd);font-weight:800;font-size:.68rem;padding:4px 44px;letter-spacing:.02em}
.acc{font-family:var(--f-d);font-size:1.6rem;font-weight:800;color:var(--pink)}

/* Image placeholders: size label is printed so the design team can produce each creative at the exact size */
.ph{position:relative;background:repeating-linear-gradient(135deg,#f6eef9 0 14px,#fbf7fc 14px 28px);border:2px dashed #d7bfe0;border-radius:var(--r-m);display:flex;align-items:center;justify-content:center;text-align:center;color:var(--purple);font-weight:700;font-size:.9rem;padding:16px;aspect-ratio:var(--ar,2/1)}
.ph small{display:block;font-weight:500;color:var(--ink-2)}

/* Steps */
.steps{counter-reset:s;display:grid;gap:16px}
.step{display:grid;grid-template-columns:64px 1fr;gap:16px;align-items:start;background:#fff;border:1px solid var(--line);border-radius:var(--r-m);padding:20px}
.step::before{counter-increment:s;content:counter(s);width:52px;height:52px;border-radius:50%;background:var(--purple);color:#fff;display:grid;place-items:center;font:800 1.3rem var(--f-d)}
.step h3{margin:.1em 0 .2em}.step p{margin:0;color:var(--ink-2)}

/* Clients */
.logo-wall{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}
.logo-wall div{overflow-wrap:anywhere;border:1px solid var(--line);border-radius:12px;padding:14px;display:flex;align-items:center;gap:10px;font-size:.85rem;font-weight:600;background:#fff;min-height:64px}
.logo-wall i{flex:none;width:34px;height:34px;border-radius:9px;display:grid;place-items:center;color:#fff;font-style:normal;font-weight:800;font-family:var(--f-d);background:linear-gradient(135deg,var(--pink),var(--purple))}

/* Forms */
.form{display:grid;gap:14px}
.form label{font-weight:600;font-size:.9rem;display:grid;gap:6px}
.form input,.form select,.form textarea{font:inherit;padding:12px 14px;border:1.5px solid var(--line);border-radius:12px;background:#fff}
.form input:focus,.form select:focus,.form textarea:focus{border-color:var(--purple);outline:none;box-shadow:0 0 0 4px #efe1f4}
.note{font-size:.84rem;color:var(--ink-2)}
.notice{border-left:4px solid var(--pink);background:var(--blush);padding:14px 18px;border-radius:0 12px 12px 0;font-size:.92rem}

/* Prose (legal pages) */
.prose{max-width:820px}.prose h2{font-size:1.6rem;margin-top:1.6em}.prose h3{margin-top:1.3em}.prose li{margin-bottom:.4em}

/* Footer */
.ftr{background:var(--purple-dd);color:#d9c6e1;padding:64px 0 0;font-size:.92rem}
.ftr a{color:#f4e8f8;text-decoration:none}.ftr a:hover{color:var(--yellow)}
.ftr-top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr 1fr;gap:28px}
.ftr h4{color:#fff;font-size:1rem;margin-bottom:14px}
.ftr ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.ftr-brand img{height:64px;width:auto;background:#fff;border-radius:14px;padding:8px 12px;margin-bottom:16px}
.ftr-news{display:flex;gap:8px;margin-top:14px}.ftr-news input{flex:1;padding:12px 14px;border-radius:30px;border:0;font:inherit}
.ftr-bot{border-top:1px solid #4a2a55;margin-top:44px;padding:20px 0;display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;font-size:.82rem}
.ftr-legal{font-size:.8rem;color:#bfa7c9;max-width:none}
.by{display:flex;gap:14px;align-items:center}.by img{height:34px;width:auto}

/* Reveal: single orchestrated entrance */
.reveal{opacity:0;transform:translateY(16px);transition:opacity .7s,transform .7s}.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}.pulse-line path{stroke-dashoffset:0}}

/* Responsive */
@media (max-width:1240px){.nav{display:none}.burger{display:block;margin-left:auto}.nav.open{display:flex;position:fixed;inset:78px 0 0;background:#fff;flex-direction:column;align-items:stretch;padding:20px;overflow:auto;gap:2px}.nav.open .mega{position:static;transform:none;width:auto;box-shadow:none;grid-template-columns:repeat(2,1fr);display:none}.nav.open .dd.open .mega{display:grid}.dd:hover .mega{display:none}}
@media (max-width:1080px){.burger{display:block;margin-left:auto}
 .nav.open{display:flex;position:fixed;inset:78px 0 0;background:#fff;flex-direction:column;align-items:stretch;padding:20px;overflow:auto;gap:2px}
 .nav.open .mega{position:static;transform:none;width:auto;box-shadow:none;grid-template-columns:repeat(2,1fr);display:none}.nav.open .dd.open .mega{display:grid}
 .hero-grid,.map-wrap{grid-template-columns:1fr}.panel{position:static}.ftr-top{grid-template-columns:1fr 1fr}.g4{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.g2,.g3,.g4{grid-template-columns:1fr}.stats{grid-template-columns:1fr 1fr}.stats div:nth-child(2){border-right:0}.stats div{border-bottom:1px solid var(--line)}
 .sec{padding:58px 0}.ftr-top{grid-template-columns:1fr}.logo img{height:42px}.hdr-tools .btn{display:none}
 .bar{grid-template-columns:78px 1fr 36px}}
[dir=rtl] .bar{direction:ltr}

/* ---------- Track record strip ---------- */
.track{display:grid;grid-template-columns:auto auto 1fr;gap:0;border-radius:var(--r-l);overflow:hidden;background:linear-gradient(120deg,var(--purple) 0,#8a2d7d 55%,var(--pink) 100%);color:#fff;box-shadow:var(--shadow)}
.track>div{padding:26px 30px;border-right:1px solid rgba(255,255,255,.18)}.track>div:last-child{border:0}
.track b{display:block;font:800 clamp(2.6rem,5vw,3.8rem)/1 var(--f-d)}
.track span{font-size:.9rem;opacity:.92}
.track p{margin:0;font-size:.92rem;align-self:center;max-width:none}
.track .y{color:var(--yellow)}
@media(max-width:760px){.track{grid-template-columns:1fr 1fr}.track p{grid-column:1/-1}}

/* ---------- Prediction vs result table (reference format) ---------- */
.pvr{position:relative;background:#fff;border:1px solid var(--line);border-radius:var(--r-l);overflow:hidden;margin-bottom:22px}
.pvr-h{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:18px 22px;background:var(--purple-dd);color:#fff}
.pvr-h h3{margin:0;color:#fff;font-size:1.25rem}.pvr-h .pill{background:rgba(255,255,255,.14);color:#fff}
.pvr table{font-size:.9rem}.pvr th{background:#f4ebf7;text-align:center;white-space:normal}.pvr td{text-align:center;vertical-align:middle}
.pvr td:first-child,.pvr th:first-child{text-align:left}
.pvr .grp th{background:var(--purple);color:#fff;font-family:var(--f-d);font-size:.95rem}
.pvr .sep{border-left:3px solid var(--line)}
.pvr .mid{display:block;font-size:.78rem;color:var(--ink-2)}
.pvr .hit{color:#15803d;font-weight:700}.pvr .miss{color:var(--pink-d);font-weight:700}
.pvr-foot{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:18px 22px;border-top:1px solid var(--line);background:var(--mist)}
.cmp{display:flex;flex-direction:column;gap:8px}
.cmp-r{display:grid;grid-template-columns:70px 1fr;gap:10px;align-items:center;font-size:.82rem}
.cmp-b{position:relative;height:22px;background:#fff;border-radius:6px;overflow:hidden}
.cmp-b i{position:absolute;left:0;height:10px;border-radius:5px;width:0;transition:width 1s cubic-bezier(.2,.8,.2,1)}
.cmp-b i.p{top:1px;opacity:.45}.cmp-b i.a{bottom:1px}
.nopred{display:flex;gap:16px;align-items:center;padding:18px 22px;border:2px dashed #e3cfe9;border-radius:var(--r-m);background:repeating-linear-gradient(135deg,#fcf8fd 0 12px,#fff 12px 24px)}
.nopred img{width:54px;height:54px;flex:none}
.nopred b{font-family:var(--f-d);color:var(--purple)}

/* ---------- History explorer ---------- */
.hx{background:#fff;border:1px solid var(--line);border-radius:var(--r-l);padding:24px}
.hx-tabs{display:flex;gap:10px;flex-wrap:wrap;align-items:center;justify-content:space-between;margin-bottom:12px}
.tl{position:relative;display:flex;gap:10px;overflow-x:auto;padding:26px 6px 14px;scroll-snap-type:x mandatory}
.tl::before{content:"";position:absolute;left:0;right:0;top:44px;height:3px;background:linear-gradient(90deg,var(--purple),var(--pink))}
.yr{position:relative;flex:none;scroll-snap-align:center;display:flex;flex-direction:column;align-items:center;gap:6px;background:none;border:0;cursor:pointer;font:700 .85rem var(--f-b);color:var(--ink);padding:0 4px}
.yr i{width:22px;height:22px;border-radius:50%;background:#fff;border:3px solid var(--purple);box-shadow:0 0 0 4px #fff;transition:transform .2s,background .2s}
.yr small{font-weight:500;font-size:.7rem;color:var(--ink-2)}
.yr.ls i{border-color:var(--pink)}
.yr.pend{color:#a99bb0}.yr.pend i{border-style:dashed;border-color:#cbb9d3}
.yr.pred i{background:var(--yellow)}
.yr:hover i,.yr.on i{transform:scale(1.35);background:var(--pink);border-color:var(--pink)}
.yr.on{color:var(--pink-d)}
.hx-body{display:grid;grid-template-columns:1fr 1.15fr;gap:24px;align-items:start;animation:hxin .45s ease}
@keyframes hxin{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.dual{display:grid;grid-template-columns:90px 1fr 1fr;gap:6px 10px;align-items:center;font-size:.84rem}
.dual .hd{font-weight:700;color:var(--purple);font-size:.78rem}
.dual .t{height:14px;background:var(--mist);border-radius:7px;overflow:hidden}.dual .t i{display:block;height:100%;width:0;border-radius:7px;transition:width .9s cubic-bezier(.2,.8,.2,1)}
.dual span.v{font-size:.75rem;color:var(--ink-2)}
.trend svg{width:100%;height:auto;display:block}
.trend path.ln{fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:2000;stroke-dashoffset:2000;animation:draw 1.8s ease-out forwards}
.trend circle{transition:r .2s}.trend circle:hover{r:7}

/* ---------- Upcoming ---------- */
.up-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px}
.upc{position:relative;overflow:hidden;border-radius:var(--r-l);padding:24px;background:#fff;border:1px solid var(--line)}
.upc.hot{background:linear-gradient(150deg,var(--purple-dd),var(--purple) 60%,#8a2d7d);color:#fff;border:0}
.upc.hot h3,.upc.hot .note{color:#fff}
.upc .live{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:.8rem;background:var(--yellow);color:var(--purple-dd);border-radius:30px;padding:4px 12px}
.upc .live::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--pink);animation:blip 1.2s infinite}
@keyframes blip{0%{box-shadow:0 0 0 0 rgba(238,29,86,.7)}100%{box-shadow:0 0 0 10px rgba(238,29,86,0)}}
.ring{display:grid;grid-template-columns:110px 1fr;gap:16px;align-items:center;margin:14px 0}
.ring svg{width:110px;height:110px;transform:rotate(-90deg)}
.ring circle{fill:none;stroke-width:10}.ring .bg{stroke:rgba(127,90,140,.2)}.ring .fg{stroke:url(#rg);stroke-linecap:round;transition:stroke-dashoffset 1.6s cubic-bezier(.2,.8,.2,1)}
.cd{display:flex;gap:8px}.cd div{background:rgba(255,255,255,.12);border-radius:10px;padding:6px 10px;text-align:center;min-width:56px}.upc:not(.hot) .cd div{background:var(--mist)}
.cd b{display:block;font:800 1.4rem var(--f-d)}.cd span{font-size:.7rem}
@media(max-width:900px){.hx-body,.pvr-foot{grid-template-columns:1fr}}

/* survey details */
.svy{margin-top:14px;border:1px solid var(--line);border-radius:var(--r-m);background:#fff}
.svy summary{cursor:pointer;padding:12px 16px;font-weight:700;color:var(--purple);list-style:none}
.svy summary::before{content:"+";display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--purple);color:#fff;margin-right:10px;font-size:.9rem}
.svy[open] summary::before{content:"-"}
.svy>div,.svy>h5,.svy>p,.svy>.legend,.svy>.svy-bar{margin-left:16px;margin-right:16px}
.svy h5{margin:14px 16px 6px;font-size:.9rem}
.svy-g{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;margin-bottom:6px}
.svy-g div{background:var(--mist);border-radius:10px;padding:10px 12px}
.svy-g span{display:block;font-size:.74rem;color:var(--ink-2)}.svy-g b{font-size:.9rem}.svy-g small{display:block;color:var(--pink-d);font-weight:600}
.svy-bar{display:flex;height:16px;border-radius:9px;overflow:hidden;margin-bottom:6px}
.svy .legend{margin-bottom:12px}.svy>p:last-child{margin-bottom:14px}

/* ---------- searchable finder ---------- */
.combo{position:relative;min-width:280px}
.combo input{width:100%;font:600 .9rem var(--f-b);padding:11px 16px 11px 40px;border:1.5px solid var(--line);border-radius:30px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' fill='none' stroke='%236a287a' stroke-width='2.4'%3E%3Ccircle cx='8' cy='8' r='6'/%3E%3Cpath d='m13 13 4 4'/%3E%3C/svg%3E") 14px 50%/16px no-repeat}
.combo input:focus{outline:none;border-color:var(--purple);box-shadow:0 0 0 4px #efe1f4}
.combo ul{position:absolute;z-index:40;left:0;right:0;top:calc(100% + 6px);max-height:320px;overflow:auto;margin:0;padding:6px;list-style:none;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow)}
.combo li{display:flex;gap:8px;align-items:center;padding:8px 10px;border-radius:10px;cursor:pointer;font-size:.88rem}
.combo li small{margin-left:auto;color:var(--ink-2);font-size:.75rem;white-space:nowrap}
.combo li.on,.combo li:hover{background:var(--blush)}.combo li.none{color:var(--ink-2);cursor:default}

/* ---------- redesigned prediction vs result ---------- */
.pvr2{position:relative;overflow:hidden;border-radius:26px;background:#fff;box-shadow:0 24px 50px -30px rgba(106,40,122,.55);border:1px solid #efe4f3;margin-bottom:26px}
.pvr2-h{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;align-items:flex-end;padding:26px 28px;color:#fff;background:radial-gradient(600px 220px at 100% 0,rgba(253,236,7,.18),transparent 60%),linear-gradient(120deg,#4a1757 0%,#6a287a 45%,#b0246a 80%,#ee1d56 100%)}
.pvr2-h h3{color:#fff;margin:4px 0 4px;font-size:1.6rem}.pvr2-h p{margin:0;opacity:.9;font-size:.92rem}
.pvr2-eyebrow{display:inline-block;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.28);border-radius:30px;padding:3px 12px;font-size:.78rem;font-weight:600}
.pvr2-score{display:flex;gap:10px;flex-wrap:wrap}
.pvr2-score div{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.22);border-radius:16px;padding:10px 14px;min-width:96px;backdrop-filter:blur(4px)}
.pvr2-score b{display:block;font:800 1.35rem var(--f-d)}.pvr2-score span{font-size:.72rem;opacity:.9}
.pv-rows{padding:12px 16px 4px;display:grid;gap:10px;background:linear-gradient(#faf6fc,#fff)}
.pv-row{display:grid;grid-template-columns:minmax(150px,1.1fr) 2.2fr 1.5fr;gap:18px;align-items:center;background:#fff;border:1px solid #f0e6f4;border-left:6px solid var(--pc);border-radius:16px;padding:14px 18px}
.pv-party{display:flex;gap:10px;align-items:center}.pv-party b{font-family:var(--f-d);font-size:1.05rem}.pv-party small{display:block;color:var(--ink-2);font-size:.76rem;line-height:1.3}
.pv-dot{width:14px;height:14px;border-radius:50%;background:var(--pc);box-shadow:0 0 0 4px color-mix(in srgb,var(--pc) 18%,#fff);flex:none}
.pv-pair{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.pv-k{display:block;font-size:.7rem;color:var(--ink-2);font-weight:600}
.pv-pred{font:700 1.1rem var(--f-d);color:var(--purple)}.pv-pair small{display:block;font-size:.72rem;color:var(--ink-2)}
.pv-act{font:800 1.7rem var(--f-d);color:var(--pc)}
.pv-arrow{width:26px;height:2px;background:linear-gradient(90deg,#d8c4e0,var(--pc));position:relative}.pv-arrow::after{content:"";position:absolute;right:-1px;top:-4px;border:5px solid transparent;border-left-color:var(--pc)}
.pv-badge{margin-left:auto;font-size:.74rem;font-weight:700;border-radius:30px;padding:4px 10px}
.pv-badge.hit{background:#e7f8ef;color:#13795b}.pv-badge.miss{background:var(--blush);color:var(--pink-d)}
.pv-track{position:relative;height:10px;margin-top:10px;background:#f3ecf6;border-radius:6px}
.pv-range{position:absolute;top:0;bottom:0;border-radius:6px;background:color-mix(in srgb,var(--pc) 35%,#fff)}
.pv-mid{position:absolute;top:-3px;width:2px;height:16px;background:var(--purple-dd);border-radius:2px}
.pv-res{position:absolute;top:50%;left:0;width:16px;height:16px;transform:translate(-50%,-50%);border-radius:50%;background:var(--pc);border:3px solid #fff;box-shadow:0 2px 6px rgba(0,0,0,.25);transition:left 1.1s cubic-bezier(.2,.8,.2,1)}
.pv-vbar{display:grid;grid-template-columns:62px 1fr 64px;gap:8px;align-items:center;font-size:.76rem;margin-top:4px}
.pv-vbar i{height:9px;background:#f3ecf6;border-radius:6px;overflow:hidden;display:block}
.pv-vbar em{display:block;height:100%;width:0;border-radius:6px;transition:width 1s cubic-bezier(.2,.8,.2,1)}
.pv-vbar em.p{background:repeating-linear-gradient(135deg,var(--pc) 0 4px,color-mix(in srgb,var(--pc) 45%,#fff) 4px 8px)}.pv-vbar em.a{background:var(--pc)}
.pv-vbar b{text-align:right;font-family:var(--f-d)}
.pvr2-f{padding:6px 18px 18px}
@media(max-width:860px){.pv-row{grid-template-columns:1fr;gap:10px}.pvr2-h{padding:22px}}

.map-box path.pc:hover,.map-box path.pc.sel{stroke:#2c0d35;stroke-width:1.6}
.panel hr{border:0;border-top:1px dashed var(--line);margin:18px 0}

/* header extras */
.mega.mini{width:260px;grid-template-columns:1fr;left:0;transform:none}
.dd:hover .mega.mini,.dd.open .mega.mini{display:grid}
/* footer (approved) */
.ftr-top{grid-template-columns:1.6fr 1fr 1fr 1fr}
.ftr-brand img{background:#fff;border-radius:14px;padding:8px 12px;height:64px;width:auto;margin-bottom:14px}
.ftr-tag{color:var(--yellow);font-weight:600;margin:0 0 10px}
.ftr-row{display:flex;justify-content:center;flex-wrap:wrap;gap:6px 18px;text-align:center;margin-top:18px;font-size:.92rem}
.ftr-row:first-of-type{margin-top:40px;padding-top:22px;border-top:1px solid #4a2a55}
.ftr-plat a,.ftr-plat span{position:relative}.ftr-plat>*+*::before{content:"";position:absolute;left:-11px;top:50%;width:4px;height:4px;border-radius:50%;background:var(--pink)}
.ftr-plat>span:first-child{color:#bfa7c9}.ftr-plat>span:first-child+*::before{display:none}
.ftr-bot{justify-content:center;gap:22px;border-top:0;margin-top:14px;padding:6px 0}
.ftr-cookie{background:none;border:1px solid #6c4a78;color:#f4e8f8;border-radius:30px;padding:5px 14px;font:600 .8rem var(--f-b);cursor:pointer}.ftr-cookie:hover{border-color:var(--yellow);color:var(--yellow)}
.ftr-legal{text-align:center;max-width:900px;margin:6px auto 0;padding-bottom:26px;font-size:.78rem}
@media(max-width:1080px){.ftr-top{grid-template-columns:1fr 1fr}}@media(max-width:640px){.ftr-top{grid-template-columns:1fr}}
/* cookie banner + panel */
.ck-banner{position:fixed;left:16px;right:16px;bottom:16px;z-index:90;max-width:1080px;margin:auto;display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:22px;padding:18px 22px;box-shadow:0 30px 60px -20px rgba(44,13,53,.45);animation:hxin .35s ease}
.ck-banner h2{font-size:1.1rem;margin:0 0 4px}.ck-banner p{margin:0;font-size:.86rem;color:var(--ink-2);max-width:none}
.ck-btns{display:flex;gap:8px;flex-wrap:wrap}.ck-btns .btn{padding:10px 16px;font-size:.85rem}
.ck-panel{position:fixed;inset:0;z-index:95;background:rgba(28,8,36,.55);display:grid;place-items:center;padding:16px}
.ck-box{position:relative;width:min(640px,100%);max-height:92vh;overflow:auto;background:#fff;border-radius:24px;padding:26px}
.ck-box h2{font-size:1.4rem;margin:8px 0}.ck-box>p{font-size:.9rem;color:var(--ink-2)}
.ck-x{position:absolute;top:14px;right:14px;width:36px;height:36px;border-radius:50%;border:1px solid var(--line);background:#fff;cursor:pointer}
.ck-cat{display:grid;grid-template-columns:1fr auto;gap:14px;padding:14px 0;border-top:1px solid var(--line)}
.ck-cat b{font-family:var(--f-d)}.ck-cat small{display:block;color:var(--pink-d);font-weight:600;font-size:.75rem}.ck-cat p{margin:4px 0 0;font-size:.84rem;color:var(--ink-2)}
.tgl{position:relative;width:46px;height:26px;flex:none}.tgl input{opacity:0;width:0;height:0}.tgl span{position:absolute;inset:0;border-radius:20px;background:#d9cde0;transition:.2s;cursor:pointer}
.tgl span::after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;transition:.2s}
.tgl input:checked+span{background:var(--purple)}.tgl input:checked+span::after{transform:translateX(20px)}.tgl input:disabled+span{opacity:.6;cursor:not-allowed}.tgl input:focus-visible+span{outline:3px solid var(--pink);outline-offset:2px}
.ck-act{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:14px}.ck-act a{margin-left:auto;font-weight:600}
.ck-toast{position:fixed;left:50%;bottom:22px;transform:translate(-50%,20px);z-index:96;max-width:560px;background:var(--purple-dd);color:#fff;padding:12px 18px;border-radius:14px;font-size:.88rem;opacity:0;transition:.3s;pointer-events:none}.ck-toast.on{opacity:1;transform:translate(-50%,0)}
@media(max-width:760px){.ck-banner{grid-template-columns:1fr}.ck-banner img{display:none}}
/* Ask Pulse */
.ap-fab{position:fixed;right:24px;bottom:24px;z-index:85;width:68px;height:68px;border-radius:50%;padding:3px;border:0;cursor:pointer;background:linear-gradient(135deg,#6A287A,#EE1D56);box-shadow:0 10px 28px -6px rgba(106,40,122,.7);animation:apIn .5s .6s both}
.ap-fab img{width:100%;height:100%;border-radius:50%;object-fit:cover;background:#fff}
.ap-dot{position:absolute;right:4px;top:4px;width:13px;height:13px;border-radius:50%;background:#22C55E;border:2px solid #fff}
@keyframes apIn{from{opacity:0;transform:scale(.6) translateY(20px)}to{opacity:1;transform:none}}
.ck-banner~.ap .ap-fab,body:has(.ck-banner) .ap-fab{bottom:150px}
.ap.open .ap-fab{display:none}
.ap-board{position:fixed;right:24px;bottom:24px;z-index:86;width:440px;max-width:calc(100vw - 32px);height:min(720px,calc(100vh - 48px));display:flex;flex-direction:column;background:#fff;border-radius:24px;overflow:hidden;box-shadow:0 30px 70px -20px rgba(25,17,63,.55);animation:apOpen .25s ease}
.ap-board[hidden]{display:none}
@keyframes apOpen{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.ap-bar{display:flex;align-items:center;gap:8px;padding:12px 14px 10px 18px;background:linear-gradient(90deg,#3D1159,#6A287A);color:#fff}
.ap-bar div{flex:1}.ap-bar b{font-family:var(--f-d);font-size:1.02rem;display:block}.ap-bar small{font-size:.7rem;opacity:.85}
.ap-ctl{width:32px;height:32px;border-radius:50%;border:0;background:#fff;color:#3D1159;font-weight:800;cursor:pointer}.ap-ctl:hover,.ap-ctl:focus-visible{background:var(--yellow)}
.ap-scroll{flex:1;overflow:auto;background:linear-gradient(#fff,#F7F2FA)}
.ap-hero img{width:100%;height:auto;display:block;transition:max-height .3s}.ap-hero.small img{max-height:110px;object-fit:cover;object-position:top}
.ap-home{text-align:center;padding:10px 16px 16px}.ap-home h3{margin:4px 0 0;color:#19113F;font-size:1.35rem}.ap-home p{margin:2px auto 14px;color:#77718F}
.ap-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.ap-opt{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;padding:14px 8px 12px;background:#fff;border:1px solid #ece2f3;border-radius:20px;cursor:pointer;font:700 .82rem var(--f-b);color:#19113F;transition:transform .15s,border-color .15s}
.ap-opt:hover,.ap-opt:focus-visible{transform:translateY(-2px);border-color:#6A287A}
.ap-opt span{width:46px;height:46px;border-radius:50%;display:grid;place-items:center}.ap-opt span img{width:26px;height:26px;filter:brightness(0) invert(1)}
.ap-opt em{position:absolute;right:8px;bottom:8px;font-style:normal;color:#77718F}
.ap-chat{padding:10px 14px 14px}.ap-back{background:none;border:0;color:#6A287A;font:700 .82rem var(--f-b);cursor:pointer;padding:4px 0}
.ap-msgs{display:flex;flex-direction:column;gap:8px;margin-top:6px}
.ap-m{max-width:88%;padding:10px 13px;border-radius:16px;font-size:.88rem;line-height:1.5}
.ap-m.bot{background:#F7F2FA;color:#19113F;border-top-left-radius:4px}.ap-m.me{align-self:flex-end;background:linear-gradient(135deg,#EE1D56,#C91686);color:#fff;border-top-right-radius:4px}
.ap-m a{color:#6A287A;font-weight:700}
.ap-fu{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.ap-fu button{border:1px solid #d9c6e2;background:#fff;border-radius:20px;padding:5px 11px;font:600 .76rem var(--f-b);color:#6A287A;cursor:pointer}
.ap-m.typing{display:flex;gap:4px}.ap-m.typing i{width:7px;height:7px;border-radius:50%;background:#b9a3c6;animation:blink 1s infinite}.ap-m.typing i:nth-child(2){animation-delay:.2s}.ap-m.typing i:nth-child(3){animation-delay:.4s}
@keyframes blink{50%{opacity:.25}}
.ap-in{display:flex;gap:8px;padding:12px 14px;border-top:1px solid #f0e8f5;background:#fff}
.ap-in input{flex:1;border:1px solid #e6dcee;border-radius:30px;padding:11px 16px;font:inherit;font-size:.9rem}.ap-in input:focus{outline:none;border-color:#6A287A}
.ap-send{width:44px;height:44px;border-radius:50%;border:0;background:linear-gradient(135deg,#EE1D56,#C91686);cursor:pointer;display:grid;place-items:center}.ap-send img{width:22px;filter:brightness(0) invert(1)}.ap-send:disabled{opacity:.45;cursor:not-allowed}
@media(max-width:640px){.ap-fab{width:56px;height:56px;right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px))}.ap-board{inset:0;width:auto;max-width:none;height:auto;border-radius:0}.ap-grid{grid-template-columns:1fr 1fr}}
@media (prefers-reduced-motion:reduce){.ap-fab,.ap-board{animation:none}}
/* ---------- content pages ---------- */
.hero2{padding:56px 0 48px}
.eyebrow{display:inline-block;font-size:.78rem;font-weight:700;letter-spacing:.06em;color:var(--pink-d);background:var(--blush);border-radius:30px;padding:6px 14px;margin-bottom:14px}
.hero2 h1{font-size:clamp(2.2rem,4.6vw,3.9rem)}
.hook{font:700 1.15rem var(--f-d);color:var(--purple);margin:6px 0 14px}
.hero2 p{color:var(--ink-2)}
.hero-art img{width:100%;height:auto;filter:drop-shadow(0 30px 40px rgba(106,40,122,.18));animation:float 7s ease-in-out infinite}
@keyframes float{50%{transform:translateY(-10px)}}
.sec-head{max-width:820px;margin-bottom:30px}.sec-head h2{margin-bottom:6px}.sec-head .hook{margin:0 0 10px}
.sec-num{display:inline-block;font:800 .8rem var(--f-d);color:#fff;background:linear-gradient(135deg,var(--purple),var(--pink));border-radius:30px;padding:4px 12px;margin-bottom:10px}
.c2{transition:transform .2s,box-shadow .2s;position:relative}.c2:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.c2 .ico{width:60px;height:60px}.cnum{position:absolute;top:16px;right:18px;font:800 1.3rem var(--f-d);color:#ecdff2}
.split{display:grid;grid-template-columns:1.1fr .9fr;gap:44px;align-items:center}.split.rev>div:first-child{order:2}
.split img{width:100%;height:auto}
.tl2{list-style:none;margin:0;padding:0;display:grid;gap:14px;counter-reset:x;position:relative}
.tl2::before{content:"";position:absolute;left:27px;top:10px;bottom:10px;width:3px;background:linear-gradient(var(--purple),var(--pink));border-radius:3px}
.tl2 li{position:relative;display:grid;grid-template-columns:56px 1fr;gap:16px;align-items:start}
.tl2 li>span{width:56px;height:56px;border-radius:50%;background:#fff;border:3px solid var(--pink);display:grid;place-items:center;font:800 1rem var(--f-d);color:var(--purple);z-index:1}
.tl2 li>div{background:#fff;border:1px solid var(--line);border-radius:var(--r-m);padding:14px 18px}.tl2 h3{margin:0 0 4px;font-size:1.05rem}.tl2 p{margin:0;color:var(--ink-2);font-size:.93rem}
.faq{display:grid;gap:10px;max-width:900px}
.faq details{background:#fff;border:1px solid var(--line);border-radius:16px;padding:0 18px}
.faq summary{cursor:pointer;list-style:none;padding:16px 30px 16px 0;font:700 1rem var(--f-d);position:relative}
.faq summary::after{content:"+";position:absolute;right:0;top:12px;font-size:1.4rem;color:var(--pink)}.faq details[open] summary::after{content:"-"}
.faq details p{color:var(--ink-2);margin:0 0 16px}
.bigstats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px}
.bigstats div{background:linear-gradient(150deg,#fff,var(--mist));border:1px solid var(--line);border-radius:20px;padding:20px}
.bigstats b{display:block;font:800 2.3rem var(--f-d);background:linear-gradient(90deg,var(--purple),var(--pink));-webkit-background-clip:text;background-clip:text;color:transparent}
.bigstats h3{font-size:1rem;margin:4px 0}.bigstats p{margin:0;font-size:.88rem;color:var(--ink-2)}
.ticks{list-style:none;padding:0;margin:0 0 1em;display:grid;gap:8px}
.ticks li{position:relative;padding-left:28px}.ticks li::before{content:"";position:absolute;left:0;top:7px;width:16px;height:16px;border-radius:50%;background:linear-gradient(135deg,var(--purple),var(--pink));box-shadow:inset 0 0 0 4px #fff,0 0 0 1px var(--pink)}
.cta-band{background:radial-gradient(700px 300px at 90% 0,rgba(253,236,7,.16),transparent 60%),linear-gradient(120deg,var(--purple-dd),var(--purple) 60%,#a3226c);color:#fff;text-align:center}
.cta-band h2{color:#fff}.cta-band .hook{color:var(--yellow)}.cta-band p{margin:0 auto 14px;color:#ecdcf2}.cta-band .hero-ctas{justify-content:center}
.cta-band .btn-ghost{color:#fff;border-color:#fff}.cta-band .closing{font-size:.82rem;opacity:.8;margin-top:22px}
.tabsx{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}
.tabsx button{border:1.5px solid var(--line);background:#fff;border-radius:30px;padding:8px 16px;font:600 .88rem var(--f-b);cursor:pointer}
.tabsx button.on{background:var(--purple);border-color:var(--purple);color:#fff}
.formx{background:#fff;border:1px solid var(--line);border-radius:24px;padding:26px;box-shadow:var(--shadow)}
.formx .req{color:var(--pink)}
.formx .row2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.formx .opt{display:flex;gap:8px;align-items:flex-start;font-weight:500}
.progress{display:flex;gap:6px;margin-bottom:16px}.progress i{flex:1;height:6px;border-radius:4px;background:var(--line)}.progress i.on{background:linear-gradient(90deg,var(--purple),var(--pink))}
.okbox{text-align:center;padding:20px}.okbox img{margin:0 auto 10px}
@media(max-width:900px){.split{grid-template-columns:1fr}.split.rev>div:first-child{order:0}.formx .row2{grid-template-columns:1fr}}
/* logo marquee */
.marquee{display:grid;gap:14px;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.mrow{display:flex;gap:14px;width:max-content;animation:mq var(--d,60s) linear infinite}
.mrow.rev{animation-direction:reverse}
.marquee:hover .mrow,.marquee:focus-within .mrow{animation-play-state:paused}
@keyframes mq{to{transform:translateX(-50%)}}
.lg{width:180px;height:90px;flex:none;display:grid;place-items:center;background:#fff;border:1px solid var(--line);border-radius:16px;padding:10px;text-align:center;font:700 .88rem var(--f-d);color:var(--purple-dd);box-shadow:0 8px 20px -16px rgba(106,40,122,.5)}
.lg img{max-width:100%;max-height:70px;object-fit:contain}
@media (prefers-reduced-motion:reduce){.mrow{animation:none;flex-wrap:wrap;width:auto}}
/* legal pages */
.legal{display:grid;grid-template-columns:270px 1fr;gap:40px;align-items:start}
.toc{position:sticky;top:96px;max-height:calc(100vh - 120px);overflow:auto;background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px}
.toc input{width:100%;padding:9px 12px;border:1.5px solid var(--line);border-radius:12px;font:inherit;font-size:.85rem;margin-bottom:8px}
.toc a{display:block;font-size:.82rem;padding:5px 8px;border-radius:8px;text-decoration:none;color:var(--ink)}.toc a:hover,.toc a.on{background:var(--blush);color:var(--pink-d)}
.doc{max-width:820px}.doc h2{font-size:1.45rem;margin-top:1.8em;padding-top:12px;border-top:1px solid var(--line)}.doc h3{font-size:1.08rem;margin-top:1.3em;color:var(--purple)}
.doc p,.doc li{color:#3a2a42}.doc table{margin:12px 0}
.docmeta{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 20px}.docmeta span{background:var(--mist);border-radius:30px;padding:5px 12px;font-size:.8rem}
@media(max-width:1000px){.legal{grid-template-columns:1fr}.toc{position:static;max-height:300px}}
.team .avatar{width:84px;height:84px;border-radius:50%;background:var(--mist);padding:10px;margin-bottom:12px}
.dir-tools{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:14px}
.dir-tools input{flex:1;min-width:240px;padding:12px 16px;border:1.5px solid var(--line);border-radius:30px;font:inherit}
.dir-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px}
.dir-grid .lg{width:auto;height:auto;min-height:96px;flex-direction:column;gap:4px}.dir-grid .lg small{font:500 .72rem var(--f-b);color:var(--ink-2)}
.chipf{display:flex;gap:6px;flex-wrap:wrap}.chipf button{border:1.5px solid var(--line);background:#fff;border-radius:30px;padding:6px 12px;font:600 .78rem var(--f-b);cursor:pointer}.chipf button.on{background:var(--pink);border-color:var(--pink);color:#fff}
.svlist{columns:3 260px;column-gap:24px}.svlist li{break-inside:avoid;margin:0 0 6px;font-size:.92rem}
.svcat h3{margin:18px 0 8px;color:var(--purple)}
.photo img{width:100%;height:220px;object-fit:contain;background:var(--mist);border-radius:12px;margin-bottom:10px}
.stage-tl{display:grid;grid-template-columns:repeat(10,1fr);gap:6px;position:relative;margin-bottom:16px}
.stage-tl::before{content:"";position:absolute;left:4%;right:4%;top:22px;height:3px;background:linear-gradient(90deg,var(--purple),var(--pink))}
.stage-tl button{position:relative;background:none;border:0;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:6px;font:600 .74rem var(--f-b);color:var(--ink-2);text-align:center}
.stage-tl b{width:46px;height:46px;border-radius:50%;background:#fff;border:3px solid var(--purple);display:grid;place-items:center;font:800 .95rem var(--f-d);color:var(--purple);transition:.2s}
.stage-tl button.on b,.stage-tl button:hover b{background:var(--pink);border-color:var(--pink);color:#fff;transform:scale(1.1)}.stage-tl button.on{color:var(--pink-d)}
.stage-body{animation:hxin .35s ease}
@media(max-width:900px){.stage-tl{grid-template-columns:1fr;gap:4px}.stage-tl::before{left:22px;right:auto;top:0;bottom:0;width:3px;height:auto}.stage-tl button{flex-direction:row;text-align:left}}
.samplecmp{display:grid;gap:14px}.samplecmp>div{display:grid;grid-template-columns:70px 1fr;gap:4px 12px;align-items:center}
.samplecmp b{font:800 1.2rem var(--f-d);color:var(--purple)}.samplecmp p{grid-column:2;margin:0;font-size:.85rem;color:var(--ink-2)}
.dots{height:14px;border-radius:7px;background:linear-gradient(90deg,var(--purple),var(--pink));width:calc(var(--n)*1%)}
.report-prev{border:2px dashed #d9c3e3}
.qcard p{font-size:1rem}
.qbox{background:var(--mist);border-left:4px solid var(--pink);border-radius:0 12px 12px 0;padding:10px 14px;font:600 .95rem var(--f-d);color:var(--purple-dd)}
.demo-opts{display:grid;gap:8px;margin-top:10px}.demo-opts .opt{border:1.5px solid var(--line);border-radius:12px;padding:10px 12px;cursor:pointer}.demo-opts .opt:has(input:checked){border-color:var(--pink);background:var(--blush)}
.pc{position:relative;overflow:hidden;display:flex;flex-direction:column;gap:8px}.pc>img{width:100%;height:150px;object-fit:contain;background:linear-gradient(150deg,var(--mist),#fff);border-radius:12px}
.pc h3{font-size:1.08rem;margin:4px 0}.pc dl{display:grid;grid-template-columns:auto 1fr;gap:4px 10px;font-size:.8rem;margin:0}.pc dt{color:var(--ink-2)}.pc dd{margin:0;font-weight:600}.pc .hero-ctas{margin-top:auto}.pc .btn{padding:9px 14px;font-size:.82rem}
.yr-tl{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;position:relative}
.yr-card{text-align:left;cursor:pointer;background:#fff;border:1px solid var(--line);border-radius:20px;padding:20px;display:flex;flex-direction:column;gap:6px;transition:.2s;font:inherit}
.yr-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--pink)}
.yr-card b{font:800 2.2rem var(--f-d);background:linear-gradient(90deg,var(--purple),var(--pink));-webkit-background-clip:text;background-clip:text;color:transparent}
.yr-card span{font:700 1rem var(--f-d)}.yr-card small{color:var(--ink-2)}.yr-card em{font-style:normal;font-weight:700;color:var(--pink-d);font-size:.82rem;margin-top:auto}
.sp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}
.sp-card{display:block;text-decoration:none;color:inherit;background:#fff;border:1px solid var(--line);border-top:5px solid #18B96C;border-radius:18px;padding:16px;transition:.2s}.sp-card.miss{border-top-color:var(--pink)}
.sp-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.sp-top{display:flex;gap:10px;align-items:center}.sp-top div{flex:1}.sp-top b{font-family:var(--f-d)}.sp-top small{display:block;color:var(--ink-2);font-size:.75rem}
.sp-bars{display:grid;gap:6px;margin:12px 0 6px}.sp-bars div{display:grid;grid-template-columns:62px 1fr 74px;gap:8px;align-items:center;font-size:.76rem}
.sp-bars i{position:relative;height:14px;background:var(--mist);border-radius:7px;overflow:hidden}.sp-bars em{position:absolute;left:0;height:6px;border-radius:4px}.sp-bars em.p{top:1px;opacity:.45}.sp-bars em.a{bottom:1px}.sp-bars b{text-align:right}
@media(max-width:900px){.yr-tl{grid-template-columns:1fr 1fr}}
.doc h2 .hn{display:inline-grid;place-items:center;min-width:38px;height:28px;padding:0 8px;border-radius:20px;background:linear-gradient(135deg,var(--purple),var(--pink));color:#fff;font-size:.78rem;margin-right:8px;vertical-align:middle}
.toc a span{display:inline-block;width:22px;color:var(--pink-d);font-weight:700}
.doc ul{padding-left:20px}.doc li{margin-bottom:4px}
.cc-inline{border:2px solid #ead9f1;margin-bottom:10px}
.legal-hero .hero-art img{max-height:340px;object-fit:contain}
.st-badge{width:min(260px,60%);height:auto;margin:auto;display:block;filter:drop-shadow(0 20px 30px rgba(106,40,122,.25));animation:float 7s ease-in-out infinite}
.grid>*,.split>*,.legal>*,.map-wrap>*,.hero-grid>*,.pv-row>*{min-width:0}
.doc,.card,.formx,.notice{overflow-wrap:anywhere}
@media(max-width:640px){.samplecmp>div{grid-template-columns:56px 1fr}.formx{padding:18px}.legal{gap:18px}.toc{max-height:240px}}
html,body{overflow-x:clip}
.lg img{max-width:120px;max-height:56px;width:auto;height:auto;object-fit:contain}
.dir-grid .lg img{max-height:48px}.dir-grid .lg small{font-size:.72rem;line-height:1.3}
.lgp{width:54px;height:54px;border-radius:14px;display:grid;place-items:center;background:var(--mist);color:var(--purple);font:800 1rem var(--f-d)}
.bchips{display:flex;flex-wrap:wrap;gap:8px}
.bchip{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border:1px solid var(--line);border-radius:30px;background:#fff;font-size:.84rem;font-weight:600;transition:.2s}
.bchip:hover{border-color:var(--pink);transform:translateY(-2px)}.bchip img{width:22px;height:22px;object-fit:contain}

.ftr-pow,.ftr-plat{align-items:center}.ftr-plat{flex-direction:column;gap:10px}.ftr-plat>*+*::before{display:none}
.ftr-pl{color:#bfa7c9;font-size:.8rem;letter-spacing:.06em;text-transform:uppercase}
.pchips{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
.pchip{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:6px 14px;background:#fff;border-radius:14px;transition:transform .2s,box-shadow .2s}
.pchip.dark{background:#2c0d35;border:1px solid #6c4a78}.pchip img{width:auto;display:block}
a.pchip:hover{transform:translateY(-3px);box-shadow:0 10px 20px -10px rgba(0,0,0,.5)}
.loc{display:flex;flex-direction:column;gap:6px;margin:14px 0 18px}
.loc p,.loc-line{display:flex;align-items:center;gap:8px;margin:0;font-weight:600;color:var(--purple-dd);font-size:.95rem}
.loc-line{margin:8px 0}
.pin{width:18px;height:18px;flex:none;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:var(--pink);box-shadow:inset 0 0 0 5px var(--pink),inset 0 0 0 9px #fff;animation:pinb 2.4s ease-in-out infinite}
.pin.y{background:var(--purple);box-shadow:inset 0 0 0 5px var(--purple),inset 0 0 0 9px var(--yellow)}
@keyframes pinb{50%{transform:rotate(-45deg) translate(2px,-2px)}}
.loc-cta{font-weight:700;color:var(--yellow)!important}
@media (prefers-reduced-motion:reduce){.pin{animation:none}}

.ap-note{font-size:.72rem;color:#77718F;margin:12px 0 0}
.ap-sum{margin:8px 0;padding-left:16px}.ap-sum li{margin:2px 0}
.ap-m{animation:apMsg .25s ease}@keyframes apMsg{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.ap-opt{font-size:.78rem;line-height:1.25}
img{max-width:100%;object-fit:contain}
section img,main img,article img{height:auto}
.ftr-brand img{height:auto;width:150px;object-fit:contain}

.btn{transition:transform .2s,box-shadow .2s,background .2s}.btn:hover{transform:translateY(-2px)}
.c2 .ico{transition:transform .3s}.c2:hover .ico{transform:scale(1.08) rotate(-3deg)}
.hero2 h1{animation:hxin .6s ease both}.hero2 .hook{animation:hxin .6s .12s ease both}.hero2 .loc{animation:hxin .6s .24s ease both}
@media (prefers-reduced-motion:reduce){.hero2 h1,.hero2 .hook,.hero2 .loc,.hero-art img,.st-badge{animation:none}.btn:hover{transform:none}}
/* ================= header 2.0 ================= */
.ticker{background:linear-gradient(90deg,#1b0722,#3a0f47 50%,#1b0722)}
.ticker b{display:inline-flex;align-items:center;gap:6px}.live-dot{width:8px;height:8px;border-radius:50%;background:var(--pink);box-shadow:0 0 0 0 rgba(238,29,86,.7);animation:livep 1.6s infinite}
@keyframes livep{70%{box-shadow:0 0 0 8px rgba(238,29,86,0)}100%{box-shadow:0 0 0 0 rgba(238,29,86,0)}}
.ticker-win{overflow:hidden;flex:1;mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent)}
.ticker-track span::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--yellow);margin-right:12px;vertical-align:middle}
.ticker:hover .ticker-track{animation-play-state:paused}
.hdr{background:transparent;border:0;backdrop-filter:none;padding:10px 0;transition:padding .25s}
.hdr .wrap{height:auto;display:block}
.hdr-bar{display:flex;align-items:center;gap:18px;height:70px;padding:0 10px 0 18px;border-radius:22px;background:rgba(255,255,255,.82);backdrop-filter:saturate(1.6) blur(14px);-webkit-backdrop-filter:saturate(1.6) blur(14px);border:1px solid rgba(106,40,122,.12);box-shadow:0 10px 30px -18px rgba(106,40,122,.45);position:relative;transition:height .25s,box-shadow .25s}
.hdr-bar::after{content:"";position:absolute;left:24px;right:24px;bottom:-1px;height:2px;border-radius:2px;background:linear-gradient(90deg,transparent,var(--purple),var(--pink),var(--yellow),transparent);opacity:.7}
.hdr.scrolled{padding:6px 0}.hdr.scrolled .hdr-bar{height:60px;box-shadow:0 14px 34px -16px rgba(44,13,53,.5)}
.hdr .logo img{height:50px;width:auto;transition:height .25s}.hdr.scrolled .logo img{height:42px}
.nav>a,.nav>.dd>button{position:relative;font-weight:600;border-radius:12px;padding:9px 13px;display:inline-flex;align-items:center;gap:6px}
.nav>a::after,.nav>.dd>button::after{content:"";position:absolute;left:14px;right:14px;bottom:4px;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--purple),var(--pink));transform:scaleX(0);transform-origin:left;transition:transform .25s}
.nav>a:hover::after,.nav>.dd>button:hover::after,.nav a.on::after,.nav button.on::after{transform:scaleX(1)}
.nav>a:hover,.nav>.dd>button:hover,.nav a.on{background:transparent}
.chev{width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .2s}.dd:hover .chev,.dd.open .chev{transform:rotate(-135deg) translateY(-1px)}
.mega{animation:megaIn .2s ease;border-radius:20px}
@keyframes megaIn{from{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%,0)}}
.mega.mini{animation:megaIn2 .2s ease}@keyframes megaIn2{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.mega a{border-radius:10px;transition:background .15s,padding .15s}.mega a:hover{padding-left:14px}
.theme-tg{width:40px;height:40px;border-radius:12px;border:1px solid var(--line);background:var(--paper);color:var(--purple);display:grid;place-items:center;cursor:pointer;transition:transform .2s}
.theme-tg:hover{transform:rotate(-15deg)}.theme-tg .moon{display:none}[data-theme=dark] .theme-tg .sun{display:none}[data-theme=dark] .theme-tg .moon{display:block}
.btn-shine{position:relative;overflow:hidden}.btn-shine::after{content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;background:linear-gradient(120deg,transparent,rgba(255,255,255,.55),transparent);animation:shine 3.2s infinite}
@keyframes shine{0%,60%{left:-60%}100%{left:130%}}
@media (max-width:1240px){.nav.open{inset:96px 12px auto;border-radius:20px;max-height:calc(100vh - 110px);overflow:auto;box-shadow:var(--shadow)}}
@media (max-width:640px){.hdr-bar{height:62px;padding:0 8px 0 12px;gap:8px}.hdr .logo img{height:40px}.hdr-tools .btn-pink{display:none}.hdr-tools .lang{max-width:96px}}
.theme-anim,.theme-anim *{transition:background-color .4s,color .4s,border-color .4s!important}
/* ================= dark mode ================= */
[data-theme=dark]{--ink:#f3e9f7;--ink-2:#c3b2cb;--paper:#120a17;--mist:#1b1022;--blush:#24101c;--line:#3a2547;--shadow:0 18px 40px -22px rgba(0,0,0,.8);color-scheme:dark}
[data-theme=dark] body{background:var(--paper);color:var(--ink)}
[data-theme=dark] a{color:#e9a9ff}[data-theme=dark] a:hover{color:#ff7aa1}
[data-theme=dark] .hdr-bar{background:rgba(24,12,31,.82);border-color:rgba(233,169,255,.14)}
[data-theme=dark] .nav>a,[data-theme=dark] .nav>.dd>button,[data-theme=dark] .burger{color:var(--ink)}
[data-theme=dark] .mega,[data-theme=dark] .card,[data-theme=dark] .formx,[data-theme=dark] .panel,[data-theme=dark] .map-box,[data-theme=dark] .pv-row,[data-theme=dark] .pvr2,[data-theme=dark] .faq details,[data-theme=dark] .tl2 li>div,[data-theme=dark] .yr-card,[data-theme=dark] .sp-card,[data-theme=dark] .toc,[data-theme=dark] .ck-banner,[data-theme=dark] .ck-box,[data-theme=dark] .combo ul,[data-theme=dark] .bchip,[data-theme=dark] .stats>div,[data-theme=dark] .notice,[data-theme=dark] .ap-board,[data-theme=dark] .ap-opt,[data-theme=dark] .ap-in,[data-theme=dark] .theme-tg,[data-theme=dark] .pc,[data-theme=dark] .tabsx button,[data-theme=dark] .chipf button,[data-theme=dark] .chip{background:#1d1126;border-color:var(--line);color:var(--ink)}
[data-theme=dark] .bigstats div{background:linear-gradient(150deg,#1d1126,#140b1a);border-color:var(--line)}
[data-theme=dark] .sec-mist{background:#160d1c}[data-theme=dark] .sec-blush{background:#1a0d17}
[data-theme=dark] .hero,[data-theme=dark] .hero2{background:radial-gradient(900px 400px at 85% 0,rgba(238,29,86,.16),transparent 60%),radial-gradient(800px 400px at 0 100%,rgba(106,40,122,.3),transparent 60%),var(--paper)}
[data-theme=dark] input,[data-theme=dark] select,[data-theme=dark] textarea{background:#140b1a;color:var(--ink);border-color:var(--line)}
[data-theme=dark] table th{background:#24152c;color:var(--ink)}[data-theme=dark] table td{border-color:var(--line)}
[data-theme=dark] .pv-rows{background:linear-gradient(#170d1d,#120a17)}[data-theme=dark] .pv-track,[data-theme=dark] .pv-vbar i,[data-theme=dark] .sp-bars i{background:#2a1a33}
[data-theme=dark] .lg{background:#fff;border-color:#3a2547}
[data-theme=dark] .ap-scroll{background:linear-gradient(#1d1126,#120a17)}[data-theme=dark] .ap-m.bot{background:#2a1a33;color:var(--ink)}[data-theme=dark] .ap-home h3,[data-theme=dark] .ap-opt{color:var(--ink)}
[data-theme=dark] .eyebrow{background:#2b1222;color:#ff8fb0}[data-theme=dark] .hook{color:#e9a9ff}[data-theme=dark] .loc p,[data-theme=dark] .loc-line{color:#f0ddf7}
[data-theme=dark] .pill{background:#2a1a33;color:var(--ink)}[data-theme=dark] .qbox{background:#24152c;color:var(--ink)}
[data-theme=dark] h1,[data-theme=dark] h2,[data-theme=dark] h3{color:var(--ink)}
[data-theme=dark] .hero-art img,[data-theme=dark] .split img{filter:drop-shadow(0 20px 40px rgba(0,0,0,.6))}

.side-col{display:flex;flex-direction:column;gap:14px;min-width:0}
.finder{position:relative;border-radius:22px;padding:16px;background:linear-gradient(#fff,#fff) padding-box,linear-gradient(120deg,var(--purple),var(--pink),var(--yellow)) border-box;border:2px solid transparent;box-shadow:0 18px 36px -22px rgba(238,29,86,.55);animation:finderIn .5s ease both}
@keyframes finderIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.finder-h{display:flex;gap:10px;align-items:center;margin-bottom:10px}.finder-h b{font-family:var(--f-d);font-size:1.05rem;display:block}.finder-h small{color:var(--ink-2);font-size:.75rem}
.finder-ic{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(135deg,var(--purple),var(--pink));flex:none;box-shadow:0 6px 14px -6px var(--pink)}
.finder kbd{font:700 .7rem var(--f-b);border:1px solid var(--line);border-bottom-width:2px;border-radius:5px;padding:0 5px;background:var(--mist)}
.finder .combo{min-width:0}.finder .combo input{padding:14px 18px 14px 44px;font-size:1rem;border-width:2px;border-radius:16px;background-color:var(--mist)}
.finder .combo input:focus{background-color:#fff;border-color:var(--pink);box-shadow:0 0 0 5px rgba(238,29,86,.12)}
.finder .combo ul{max-height:360px}
[data-theme=dark] .finder{background:linear-gradient(#1d1126,#1d1126) padding-box,linear-gradient(120deg,var(--purple),var(--pink),var(--yellow)) border-box}
[data-theme=dark] .finder .combo input{background-color:#140b1a}[data-theme=dark] .finder kbd{background:#2a1a33}

/* ================= forms 2.0 ================= */
.formx{border-radius:26px;padding:28px;background:linear-gradient(#fff,#fff) padding-box,linear-gradient(140deg,rgba(106,40,122,.35),rgba(238,29,86,.35),rgba(253,236,7,.4)) border-box;border:1.5px solid transparent;display:grid;gap:16px}
.formx label.fx{display:flex;flex-direction:column;gap:7px;font-weight:600;font-size:.9rem;margin:0}
.fx-l{display:flex;align-items:center;gap:6px;color:var(--ink)}
.fx-tip{position:relative;display:inline-grid;place-items:center;width:18px;height:18px;border-radius:50%;background:var(--mist);color:var(--purple);font:700 .7rem var(--f-d);cursor:help;font-style:normal}
.fx-tip i{font-style:normal}.fx-tip>span{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%) translateY(4px);width:max-content;max-width:240px;background:var(--purple-dd);color:#fff;font:500 .76rem/1.4 var(--f-b);padding:8px 11px;border-radius:10px;opacity:0;pointer-events:none;transition:.18s;z-index:5;box-shadow:0 10px 24px -10px rgba(0,0,0,.5)}
.fx-tip>span::after{content:"";position:absolute;top:100%;left:50%;margin-left:-5px;border:5px solid transparent;border-top-color:var(--purple-dd)}
.fx-tip:hover>span,.fx-tip:focus>span{opacity:1;transform:translateX(-50%)}
.fx-in{position:relative;display:block}.fx-in .fx-ic{position:absolute;left:14px;top:15px;color:var(--purple);opacity:.75;pointer-events:none}
.fx-in input,.fx-in select,.fx-in textarea{width:100%;padding:13px 14px 13px 42px;border:1.5px solid var(--line);border-radius:14px;font:500 .95rem var(--f-b);background:var(--paper);color:var(--ink);transition:border-color .2s,box-shadow .2s}
.fx-in input:focus,.fx-in select:focus,.fx-in textarea:focus{outline:none;border-color:var(--purple);box-shadow:0 0 0 4px rgba(106,40,122,.12)}
label.fx.good .fx-in input,label.fx.good .fx-in select,label.fx.good .fx-in textarea{border-color:#18B96C}
label.fx.bad .fx-in input,label.fx.bad .fx-in select,label.fx.bad .fx-in textarea{border-color:var(--pink);background:#fff6f8}
.fx-err{display:flex;align-items:center;gap:6px;font:500 .8rem var(--f-b);color:var(--pink-d)}.fx-err:empty{display:none}.fx-err b{font-weight:700}
.fx-err{animation:errIn .2s ease}@keyframes errIn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
label.opt.bad{color:var(--pink-d)}
.fx-sum{background:#fff0f4;border:1px solid #f8b6c8;border-left:4px solid var(--pink);color:#7a0c2b;padding:10px 14px;border-radius:12px;font-size:.88rem}
.formx button[type=submit]{justify-self:start;padding:14px 28px;font-size:1rem}
.okbox{text-align:center;padding:30px 20px}.okbox img{animation:okPop .5s cubic-bezier(.2,1.6,.4,1) both}
@keyframes okPop{from{transform:scale(.3);opacity:0}to{transform:none;opacity:1}}
.okbox h2,.okbox h3{animation:hxin .5s .15s both}
[data-theme=dark] .formx{background:linear-gradient(#1d1126,#1d1126) padding-box,linear-gradient(140deg,rgba(233,169,255,.35),rgba(238,29,86,.35),rgba(253,236,7,.3)) border-box}
[data-theme=dark] label.fx.bad .fx-in input,[data-theme=dark] label.fx.bad .fx-in textarea,[data-theme=dark] label.fx.bad .fx-in select{background:#2a0f1a}[data-theme=dark] .fx-sum{background:#2a0f1a;color:#ffc2d2;border-color:#7a2342}
.fx-err{display:block}.fx-err svg{display:inline-block;vertical-align:-3px;margin-right:4px}.fx-err b{margin-right:4px}
.formx label.opt{display:block;position:relative;padding-left:30px;font-weight:500;line-height:1.5}
.formx label.opt>input[type=checkbox],.formx label.opt>input[type=radio]{position:absolute;left:0;top:2px;width:18px;height:18px;accent-color:var(--pink);margin:0}
.formx fieldset label.opt{margin:4px 0}

.rtl-text body{font-family:"Noto Nastaliq Urdu","Noto Naskh Arabic",var(--f-b)}
.rtl-text p,.rtl-text h1,.rtl-text h2,.rtl-text h3,.rtl-text h4,.rtl-text li,.rtl-text td,.rtl-text th,.rtl-text small,.rtl-text .note,.rtl-text .lead{unicode-bidi:plaintext}
.rtl-text p,.rtl-text h1,.rtl-text h2,.rtl-text h3,.rtl-text .lead,.rtl-text .note{text-align:right}
.rtl-text .ticker-track span{unicode-bidi:plaintext}
.stat-strip{padding:26px 0;background:linear-gradient(90deg,rgba(106,40,122,.06),rgba(238,29,86,.06))}
.steps5{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:14px;counter-reset:s;position:relative}
.steps5::before{content:"";position:absolute;top:26px;left:8%;right:8%;height:3px;background:linear-gradient(90deg,var(--purple),var(--pink),var(--yellow));border-radius:3px}
.steps5 li{position:relative;background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:18px;padding-top:60px;transition:transform .25s,box-shadow .25s}
.steps5 li:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.steps5 li span{position:absolute;top:4px;left:18px;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--purple),var(--pink));color:#fff;font:800 1rem var(--f-d);box-shadow:0 0 0 6px var(--paper)}
.steps5 h3{font-size:1.02rem;margin:0 0 6px}.steps5 p{margin:0;font-size:.86rem;color:var(--ink-2)}
.bento-art{width:46%;max-width:240px;align-self:flex-end;margin-top:-10px}
a.bento-c{text-decoration:none;color:inherit}
@media(max-width:1000px){.steps5{grid-template-columns:1fr 1fr}.steps5::before{display:none}}
@media(max-width:560px){.steps5{grid-template-columns:1fr}}

/* dark: auto-generated surfaces */
[data-theme=dark] .ap-board,
[data-theme=dark] .ap-fu button,
[data-theme=dark] .ap-in,
[data-theme=dark] .ap-opt,
[data-theme=dark] .bchip,
[data-theme=dark] .card,
[data-theme=dark] .chip,
[data-theme=dark] .chipf button,
[data-theme=dark] .ck-box,
[data-theme=dark] .ck-x,
[data-theme=dark] .cmp-b,
[data-theme=dark] .combo input,
[data-theme=dark] .combo ul,
[data-theme=dark] .faq details,
[data-theme=dark] .form input,
[data-theme=dark] .form select,
[data-theme=dark] .form textarea,
[data-theme=dark] .formx,
[data-theme=dark] .hemi-card,
[data-theme=dark] .lang,
[data-theme=dark] .logo-wall div,
[data-theme=dark] .map-box,
[data-theme=dark] .mega,
[data-theme=dark] .nav.open,
[data-theme=dark] .panel,
[data-theme=dark] .pv-row,
[data-theme=dark] .sp-card,
[data-theme=dark] .stage-tl b,
[data-theme=dark] .stats,
[data-theme=dark] .step,
[data-theme=dark] .tabsx button,
[data-theme=dark] .tl2 li>div,
[data-theme=dark] .tl2 li>span,
[data-theme=dark] .toc,
[data-theme=dark] .upc,
[data-theme=dark] .yr i,
[data-theme=dark] .yr-card,
[data-theme=dark] /* ---------- History explorer ---------- */
.hx,
[data-theme=dark] /* ---------- Prediction vs result table (reference format) ---------- */
.pvr,
[data-theme=dark] /* ---------- redesigned prediction vs result ---------- */
.pvr2,
[data-theme=dark] /* Forecast cards */
.fc,
[data-theme=dark] /* Header */
.hdr,
[data-theme=dark] /* Tables */
.tbl-wrap,
[data-theme=dark] /* cookie banner + panel */
.ck-banner,
[data-theme=dark] /* survey details */
.svy{background:#1d1126;color:var(--ink);border-color:var(--line)}
[data-theme=dark] .hdr .logo img{background:#fff;border-radius:12px;padding:4px 8px}
[data-theme=dark] .ftr-brand img{background:#fff}
[data-theme=dark] .combo input{background:#140b1a url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' fill='none' stroke='%23e9a9ff' stroke-width='2.4'%3E%3Ccircle cx='8' cy='8' r='6'/%3E%3Cpath d='m13 13 4 4'/%3E%3C/svg%3E") 14px 50%/16px no-repeat}
[data-theme=dark] .finder .combo input{background-color:#140b1a}
[data-theme=dark] svg text{fill:#f3e9f7}[data-theme=dark] .hemi b,[data-theme=dark] .hemi strong{color:#f3e9f7}
[data-theme=dark] .map-box path[stroke="#fff"]{stroke:#120a17}

/* dropdown visibility and scrolling */
.finder{z-index:60}.combo{position:relative;z-index:61}
.combo ul{z-index:100;max-height:min(380px,58vh);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--pink) transparent;box-shadow:0 24px 50px -18px rgba(44,13,53,.45);border-radius:18px;padding:6px}
.combo ul::-webkit-scrollbar{width:8px}.combo ul::-webkit-scrollbar-thumb{background:linear-gradient(var(--purple),var(--pink));border-radius:8px}
.combo li{min-height:42px}.combo li b{font-weight:600;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.combo li.cmb-h{position:sticky;top:-6px;min-height:auto;background:var(--paper);font:700 .7rem var(--f-b);color:var(--ink-2);text-transform:uppercase;letter-spacing:.05em;cursor:default;padding:8px 10px;z-index:1}
.combo li.on{background:linear-gradient(90deg,rgba(106,40,122,.10),rgba(238,29,86,.10));box-shadow:inset 3px 0 0 var(--pink)}
.side-col .panel{position:relative;z-index:1}
@media(max-width:640px){.combo ul{max-height:50vh}.combo li{min-height:48px}}

/* logo walls (Our Clients other sections) */
.logo-wall2,.dir-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:10px}
.lw{height:78px;display:grid;place-items:center;background:#fff;border:1px solid var(--line);border-radius:16px;padding:10px 12px;transition:transform .25s,box-shadow .25s,border-color .25s;animation:lwIn .5s ease both}
.lw img{max-width:100%;max-height:52px;width:auto;height:auto;object-fit:contain;transition:transform .3s}
.lw:hover{transform:translateY(-4px);box-shadow:0 14px 28px -16px rgba(106,40,122,.55);border-color:var(--pink)}.lw:hover img{transform:scale(1.06)}
@keyframes lwIn{from{opacity:0;transform:translateY(12px) scale(.96)}to{opacity:1;transform:none}}
.logo-wall2 .lw:nth-child(n){animation-delay:calc(var(--k,0)*1ms)}
.ind-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}
.ind-tabs button{border:1.5px solid var(--line);background:var(--paper);color:var(--ink);border-radius:30px;padding:8px 14px;font:600 .85rem var(--f-b);cursor:pointer;transition:.2s}
.ind-tabs button:hover{border-color:var(--pink);color:var(--pink-d)}
.ind-tabs button.on{background:linear-gradient(135deg,var(--purple),var(--pink));border-color:transparent;color:#fff;box-shadow:0 8px 18px -10px var(--pink)}
.ind-pane{display:grid;grid-template-columns:300px 1fr;gap:24px;align-items:start;background:linear-gradient(150deg,var(--mist),var(--paper));border:1px solid var(--line);border-radius:24px;padding:22px}
.ind-pane[hidden]{display:none}.ind-copy h3{font-size:1.4rem;margin:0 0 8px}.ind-copy p{color:var(--ink-2);font-size:.95rem}
.ind-pane.play .lw{animation:lwIn .45s ease both}
.me-wall{margin-top:18px}
[data-theme=dark] .lw{background:#fff;border-color:#3a2547}[data-theme=dark] .ind-pane{background:linear-gradient(150deg,#1d1126,#120a17)}
@media(max-width:900px){.ind-pane{grid-template-columns:1fr}.ind-tabs{flex-wrap:nowrap;overflow-x:auto;padding-bottom:6px;scrollbar-width:thin}.ind-tabs button{flex:none}}
@media(max-width:480px){.logo-wall2,.dir-grid{grid-template-columns:repeat(3,1fr);gap:8px}.lw{height:64px;padding:8px}}

/* acknowledgement pop-up */
.ack{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:16px;background:rgba(28,8,36,.6);backdrop-filter:blur(4px);animation:ackBg .25s ease}
.ack.out{opacity:0;transition:opacity .25s}@keyframes ackBg{from{opacity:0}}
.ack-card{position:relative;width:min(560px,100%);max-height:92vh;overflow:auto;background:var(--paper);border-radius:28px;padding:30px 28px 24px;text-align:center;box-shadow:0 40px 80px -30px rgba(0,0,0,.6);animation:ackIn .45s cubic-bezier(.2,1.3,.4,1)}
@keyframes ackIn{from{transform:translateY(30px) scale(.92);opacity:0}}
.ack-x{position:absolute;top:14px;right:14px;width:36px;height:36px;border-radius:50%;border:1px solid var(--line);background:var(--paper);color:var(--ink);cursor:pointer}
.ack-check{width:84px;height:84px;margin:0 auto 6px;display:block}
.ack-check circle{fill:none;stroke:url(#g) ;stroke:#18B96C;stroke-width:5;stroke-dasharray:202;stroke-dashoffset:202;animation:ackDraw .6s .15s ease forwards}
.ack-check path{fill:none;stroke:#18B96C;stroke-width:6;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:50;stroke-dashoffset:50;animation:ackDraw .4s .6s ease forwards}
@keyframes ackDraw{to{stroke-dashoffset:0}}
.ack-burst{position:absolute;top:72px;left:50%;width:0;height:0}
.ack-burst i{position:absolute;width:9px;height:9px;border-radius:2px;background:var(--c);transform:rotate(var(--a)) translateY(0);opacity:0;animation:burst 1s .5s ease-out forwards}
@keyframes burst{0%{opacity:1;transform:rotate(var(--a)) translateY(0)}100%{opacity:0;transform:rotate(var(--a)) translateY(-120px) rotate(200deg)}}
.ack h2{font-size:1.9rem;margin:6px 0 8px;background:linear-gradient(90deg,var(--purple),var(--pink));-webkit-background-clip:text;background-clip:text;color:transparent}
.ack-body h2{font-size:1.1rem;-webkit-text-fill-color:var(--ink);color:var(--ink);background:none;margin:0 0 6px}.ack-body{color:var(--ink-2)}.ack-body img{display:none}
.ack-body .btn,.ack-body .hero-ctas{display:none}
.ack-ref{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;margin:14px auto;background:var(--mist);border:1px dashed #d8b9e3;border-radius:14px;padding:10px 14px;width:max-content;max-width:100%}
.ack-ref span{font-size:.78rem;color:var(--ink-2)}.ack-ref b{font-family:var(--f-d);letter-spacing:.04em}
.ack-copy{border:0;background:var(--purple);color:#fff;border-radius:20px;padding:4px 12px;font:600 .78rem var(--f-b);cursor:pointer}
.ack h3{font-size:1rem;margin:16px 0 8px}
.ack-steps{text-align:left;margin:0 auto;padding:0;list-style:none;counter-reset:a;max-width:440px}
.ack-steps li{counter-increment:a;position:relative;padding:8px 0 8px 40px;font-size:.9rem;color:var(--ink-2);animation:hxin .4s ease both}
.ack-steps li:nth-child(2){animation-delay:.1s}.ack-steps li:nth-child(3){animation-delay:.2s}
.ack-steps li::before{content:counter(a);position:absolute;left:0;top:6px;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--purple),var(--pink));color:#fff;font:700 .8rem var(--f-d)}
.ack-act{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-top:18px}
@media (prefers-reduced-motion:reduce){.ack-card,.ack-burst i,.ack-check *{animation:none!important;stroke-dashoffset:0!important}}
/* catchy bullet points */
.ticks{gap:10px}
.ticks li{padding:8px 12px 8px 42px;border-radius:12px;transition:background .2s,transform .2s;line-height:1.5}
.ticks li:hover{background:var(--mist);transform:translateX(4px)}
.ticks li::before{left:10px;top:10px;width:22px;height:22px;border-radius:50%;box-shadow:none;background:linear-gradient(135deg,var(--purple),var(--pink)) center/100% no-repeat}
.ticks li::after{content:"";position:absolute;left:17px;top:15px;width:8px;height:5px;border-left:2.5px solid #fff;border-bottom:2.5px solid #fff;transform:rotate(-45deg)}
.doc ul,.sec ul:not([class]),.card ul:not([class]){list-style:none;padding-left:0}
.doc ul li,.sec ul:not([class]) li,.card ul:not([class]) li{position:relative;padding-left:26px;margin-bottom:8px}
.doc ul li::before,.sec ul:not([class]) li::before,.card ul:not([class]) li::before{content:"";position:absolute;left:4px;top:.62em;width:9px;height:9px;border-radius:3px;transform:rotate(45deg);background:linear-gradient(135deg,var(--purple),var(--pink));box-shadow:0 0 0 3px rgba(238,29,86,.12)}
.svlist li::marker{color:var(--pink);font-weight:700}
.lw{overflow:hidden}.lw img{transform:scale(var(--s,1))}.lw:hover img{transform:scale(calc(var(--s,1)*1.06))}
/* ================= US midterms 2026 ================= */
.mt-hero{padding:56px 0 40px;background:radial-gradient(800px 400px at 90% 0,rgba(29,78,216,.14),transparent 60%),radial-gradient(700px 380px at 0 100%,rgba(214,40,40,.10),transparent 60%),linear-gradient(180deg,var(--mist),var(--paper))}
.mt-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:36px;align-items:center}
.mt-hero h1{font-size:clamp(2rem,4.2vw,3.4rem);animation:hxin .6s ease both}
.mt-live{display:inline-flex;align-items:center;gap:8px;margin-top:16px;padding:8px 14px;border-radius:30px;background:var(--paper);border:1px solid var(--line);font-size:.88rem;box-shadow:var(--shadow)}
.mt-cards{display:grid;gap:16px}
.mt-card{display:block;text-decoration:none;color:inherit;background:var(--paper);border:1px solid var(--line);border-radius:24px;padding:20px;box-shadow:0 20px 40px -26px rgba(29,78,216,.5);transition:transform .25s,box-shadow .25s}
.mt-card:hover{transform:translateY(-4px);box-shadow:0 26px 50px -24px rgba(29,78,216,.6)}
.mt-k{font:800 .78rem var(--f-d);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2)}
.mt-vs{display:flex;align-items:center;justify-content:space-between;margin:8px 0}.mt-vs i{font-style:normal;color:var(--ink-2);font-weight:700}
.mt-vs b{display:block;font:800 2.6rem var(--f-d);line-height:1}.mt-vs .d b{color:#1D4ED8}.mt-vs .r{text-align:right}.mt-vs .r b{color:#D62828}.mt-vs small{color:var(--ink-2);font-weight:600}
.mt-bar{position:relative;display:flex;gap:2%;height:14px;border-radius:8px;overflow:visible;background:var(--mist)}
.mt-bar span{height:100%;width:0;border-radius:8px;transition:width 1.4s cubic-bezier(.2,.8,.2,1)}.mt-bar .d{background:linear-gradient(90deg,#1e3a8a,#3B82F6)}.mt-bar .r{background:linear-gradient(90deg,#f87171,#b91c1c);margin-left:auto}
.mt-bar em{position:absolute;top:-6px;bottom:-6px;width:2px;background:var(--ink);border-radius:2px}
.mt-card p{margin:12px 0 0;font-size:.9rem;color:var(--ink-2)}
.mt-two{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}
.mt-legend{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;font-size:.85rem;font-weight:600}.mt-legend i{display:inline-block;width:12px;height:12px;border-radius:50%;margin-right:6px;vertical-align:-1px}.mt-legend .ml{border-radius:2px;width:3px;height:14px;background:var(--ink)}
.mt-tbl td.up{color:#1D4ED8;font-weight:700}.mt-tbl td.down{color:#D62828;font-weight:700}
.dtag,.rtag{display:inline-block;padding:3px 10px;border-radius:20px;color:#fff;font-size:.82rem}.dtag{background:#1D4ED8}.rtag{background:#D62828}
.swing{margin-top:16px}.sw-row{display:grid;grid-template-columns:80px 1fr;gap:10px;align-items:center;margin:10px 0;font-weight:600;font-size:.88rem}
.sw{position:relative;display:flex;height:22px;border-radius:12px;overflow:hidden}.sw i{display:block;height:100%;width:var(--w);animation:swIn 1.2s ease both}.sw .d{background:#1D4ED8}.sw .r{background:#D62828}
.sw::after{content:"";position:absolute;left:50.1%;top:-3px;bottom:-3px;border-left:2px dashed #fff}
@keyframes swIn{from{width:50%}}
.gbar{margin-top:20px}
.stepper .st-score{display:flex;justify-content:space-between;margin:10px 0}.st-score b{display:block;font:800 3rem var(--f-d);line-height:1;transition:.3s}.st-score div:first-child b{color:#1D4ED8}.st-score div:last-child{text-align:right}.st-score div:last-child b{color:#D62828}.st-score small{font-weight:600;color:var(--ink-2)}
.st-track{position:relative;height:18px;border-radius:10px;background:#D62828;overflow:hidden}.st-track i{position:absolute;inset:0 auto 0 0;background:linear-gradient(90deg,#1e3a8a,#3B82F6);transition:width .6s cubic-bezier(.2,.8,.2,1)}.st-track em{position:absolute;left:51%;top:0;bottom:0;border-left:2px dashed #fff}
.st-msg{min-height:48px;font-weight:600;margin:12px 0}.st-msg.pop{animation:hxin .35s ease}
.map2 .map-box{padding:10px}#mtMap path.bg-st{cursor:pointer;transition:filter .2s}#mtMap path.bg-st:hover,#mtMap path.sel{filter:brightness(.85) drop-shadow(0 2px 6px rgba(0,0,0,.35));stroke:#1d1126;stroke-width:2}
.mt-keys{display:flex;flex-wrap:wrap;gap:14px;margin-top:12px;font-size:.85rem;font-weight:600}.mt-keys i{display:inline-block;width:14px;height:14px;border-radius:4px;margin-right:6px;vertical-align:-2px}
.race-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}
.race{background:var(--paper);border:1px solid var(--line);border-left:6px solid var(--c);border-radius:16px;padding:14px 16px;cursor:pointer;transition:transform .2s,box-shadow .2s}
.race:hover,.race.sel{transform:translateY(-3px);box-shadow:var(--shadow)}.race.lit{background:linear-gradient(90deg,rgba(59,130,246,.10),transparent)}
.race-top{display:flex;justify-content:space-between;gap:8px;align-items:center}.race-top b{font-family:var(--f-d);font-size:1.05rem}
.call{font:700 .72rem var(--f-b);padding:3px 9px;border-radius:20px;background:var(--c);color:#fff;white-space:nowrap}.race[style*="#93C5FD"] .call,.race[style*="#FCA5A5"] .call{color:#1d1126}
.race .who{font-weight:600;margin:8px 0 2px}.race .held{font-size:.8rem;color:var(--ink-2);margin:0 0 6px}.race p{margin:0;font-size:.88rem}
.gauges{display:grid;grid-template-columns:1fr 1fr;gap:18px}.gauge{text-align:center}.gauge svg{width:100%;max-width:280px;display:block;margin:0 auto}
.g-bg,.g-fg{fill:none;stroke-width:18;stroke-linecap:round}.g-bg{stroke:var(--mist)}.g-fg{stroke:url(#none);stroke:#1D4ED8}
.gauge b{display:block;font:800 2.4rem var(--f-d);color:#1D4ED8;margin-top:-34px}.gauge p{font-size:.88rem;color:var(--ink-2)}
.mi{background:linear-gradient(150deg,var(--paper),var(--mist))}
[data-theme=dark] .race,[data-theme=dark] .mt-card,[data-theme=dark] .mt-live{background:#1d1126}[data-theme=dark] .g-bg{stroke:#2a1a33}
@media(max-width:900px){.mt-grid,.mt-two,.gauges{grid-template-columns:1fr}.mt-vs b{font-size:2.1rem}.st-score b{font-size:2.4rem}}
.mt-feature{display:grid;grid-template-columns:1.4fr .6fr;gap:24px;align-items:center;text-decoration:none;color:#fff;border-radius:28px;padding:28px;background:radial-gradient(500px 240px at 100% 0,rgba(253,236,7,.18),transparent 60%),linear-gradient(120deg,#1e3a8a,#4a1757 55%,#b91c1c);box-shadow:0 30px 60px -30px rgba(30,58,138,.7);transition:transform .25s}
.mt-feature:hover{transform:translateY(-4px)}.mt-feature h2{color:#fff;margin:6px 0}.mt-feature p{color:#e8e2f5}.mt-feature .eyebrow{background:rgba(255,255,255,.16);color:#fff}
.mt-feature-nums{display:grid;gap:12px}.mt-feature-nums div{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);border-radius:18px;padding:14px;text-align:center}.mt-feature-nums b{display:block;font:800 2.2rem var(--f-d)}.mt-feature-nums small{opacity:.9}
@media(max-width:800px){.mt-feature{grid-template-columns:1fr}}
.gb-row{display:grid;grid-template-columns:150px 1fr 70px;gap:10px;align-items:center;margin:8px 0;font-size:.88rem;font-weight:600}
.gb-row i{height:14px;border-radius:8px;background:var(--mist);overflow:hidden}.gb-row em{display:block;height:100%;width:0;border-radius:8px;background:linear-gradient(90deg,#93C5FD,#1D4ED8);transition:width 1.2s cubic-bezier(.2,.8,.2,1)}
.gb-row b{text-align:right;color:#1D4ED8}.gb-row.avg{border-top:1px dashed var(--line);padding-top:8px}.gb-row.avg em{background:linear-gradient(90deg,#6A287A,#1D4ED8)}
@media(max-width:560px){.gb-row{grid-template-columns:100px 1fr 60px}}
/* midterms 2.0 */
.pubdate{display:inline-block;background:var(--paper);border:1px solid var(--line);border-radius:30px;padding:6px 14px;font-size:.85rem;margin:0 0 10px}
.mt-nav{position:sticky;top:84px;z-index:20;background:rgba(255,255,255,.88);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.mt-nav .wrap{display:flex;gap:6px;overflow-x:auto;padding:10px 0;scrollbar-width:none}
.mt-nav a{flex:none;text-decoration:none;font-weight:600;font-size:.86rem;padding:7px 14px;border-radius:30px;color:var(--ink);border:1px solid var(--line);background:var(--paper)}.mt-nav a:hover{border-color:var(--pink);color:var(--pink-d)}
[data-theme=dark] .mt-nav{background:rgba(18,10,23,.88)}
.mt-method{display:grid;grid-template-columns:1.5fr .9fr;gap:26px;align-items:start}
.mt-steps{display:grid;gap:12px;position:relative}.mt-steps::before{content:"";position:absolute;left:23px;top:10px;bottom:10px;width:3px;background:linear-gradient(#1D4ED8,var(--purple),#D62828);border-radius:3px}
.ms{display:grid;grid-template-columns:48px 1fr;gap:14px;align-items:start}.ms>span{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--paper);border:3px solid #1D4ED8;font:800 .95rem var(--f-d);color:#1D4ED8;z-index:1}
.ms>div{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:14px 16px;transition:transform .2s,box-shadow .2s}.ms>div:hover{transform:translateX(4px);box-shadow:var(--shadow)}.ms h3{margin:0 0 4px;font-size:1.02rem}.ms p{margin:0;font-size:.9rem;color:var(--ink-2)}
.mt-side{position:sticky;top:150px;display:grid;gap:14px}.mt-side img{width:100%;height:auto;filter:drop-shadow(0 20px 30px rgba(29,78,216,.2))}
.facts{display:grid;grid-template-columns:auto 1fr;gap:6px 12px;margin:0;font-size:.86rem}.facts dt{color:var(--ink-2)}.facts dd{margin:0;font-weight:600}
.donut-wrap{position:relative;width:min(240px,70%);margin:10px auto}.donut{width:100%;transform:rotate(-90deg)}
.donut circle{fill:none;stroke-width:6}.dn-r{stroke:#D62828}.dn-d{stroke:#1D4ED8;stroke-dasharray:0 100;animation:dnIn 1.6s .3s cubic-bezier(.2,.8,.2,1) forwards}
@keyframes dnIn{to{stroke-dasharray:var(--p) calc(100 - var(--p))}}
.dn-c{position:absolute;inset:0;display:grid;place-content:center;text-align:center}.dn-c b{font:800 1.9rem var(--f-d);color:#1D4ED8}.dn-c small{color:var(--ink-2)}
.reg-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.reg{background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:18px;transition:transform .2s}.reg:hover{transform:translateY(-4px)}.reg h4{margin:0 0 6px;font-family:var(--f-d)}
.reg-n{display:flex;gap:8px;align-items:baseline}.reg-n b{font:800 2.2rem var(--f-d)}.reg-n .d{color:#1D4ED8}.reg-n .r{color:#D62828}.reg small{display:block;color:var(--ink-2);font-size:.8rem;margin-top:4px}
.rate-strip{margin-bottom:18px}.rs-bar{position:relative;display:flex;height:28px;border-radius:14px;overflow:hidden;box-shadow:inset 0 0 0 1px rgba(0,0,0,.05)}.rs-bar i{display:block;animation:rsIn 1.2s ease both}@keyframes rsIn{from{flex:0}}
.rs-bar em{position:absolute;top:-4px;bottom:-4px;border-left:3px dashed #fff}.rs-keys{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:10px;font-size:.84rem}.rs-keys i{display:inline-block;width:12px;height:12px;border-radius:3px;margin-right:5px;vertical-align:-1px}
#tileMap .tq{cursor:pointer;transition:opacity .2s}#tileMap .tq:hover,#tileMap .tq.sel{stroke:#111;stroke-width:1.6}
.dc-row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px dashed var(--line)}.dc-row b.d{color:#1D4ED8}.dc-row b.r{color:#D62828}
.st-tbl .st-row{cursor:pointer}.st-tbl .st-row:hover,.st-tbl .st-row.open{background:var(--mist)}.st-tbl .st-row td:first-child b::before{content:"▸ ";color:var(--pink)}.st-tbl .st-row.open td:first-child b::before{content:"▾ "}
.sw.mini{height:10px;min-width:90px}
.ds-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px;padding:6px 0}
.ds{display:flex;flex-direction:column;align-items:flex-start;gap:2px;border:1px solid var(--line);border-left:5px solid var(--c);border-radius:12px;padding:8px 10px;background:var(--paper);cursor:pointer;font:inherit;color:inherit;text-align:left;transition:transform .15s}.ds:hover{transform:translateY(-2px)}
.ds b{font-family:var(--f-d)}.ds small{font-size:.72rem;color:var(--ink-2)}.ds em{font-style:normal;font-weight:700;font-size:.8rem}
.sen-sum{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;margin-bottom:18px}.ss{border-radius:20px;padding:16px;color:#fff;text-align:center}.ss b{display:block;font:800 2.6rem var(--f-d)}.ss.d{background:linear-gradient(135deg,#1e3a8a,#3B82F6)}.ss.r{background:linear-gradient(135deg,#f87171,#991b1b)}.ss.n{background:#A855F7;min-width:150px}
.sen-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}
.sg{background:var(--paper);border:1px solid var(--line);border-top:5px solid var(--c);border-radius:14px;padding:12px;display:flex;flex-direction:column;gap:6px}.sg>div{display:flex;flex-direction:column}.sg b{font-family:var(--f-d)}.sg small{color:var(--ink-2);font-size:.78rem}.sg p{margin:0;font-size:.82rem}.sg .call{align-self:flex-start}
@media(max-width:1000px){.mt-method{grid-template-columns:1fr}.mt-side{position:static}.reg-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.reg-grid{grid-template-columns:1fr}.sen-sum{grid-template-columns:1fr}.mt-nav{top:76px}}
/* ================= header 3.0 (two tiers, icons) ================= */
.hdr2{position:sticky;top:0;z-index:50;padding:0!important;background:rgba(255,255,255,.96)!important;backdrop-filter:saturate(1.5) blur(12px);border-bottom:1px solid var(--line);box-shadow:0 8px 24px -18px rgba(44,13,53,.35)}
.hdr2 .hdr-bar{display:none}
.h2-top .wrap{display:flex;align-items:center;gap:16px;height:74px;transition:height .25s}
.hdr2.scrolled .h2-top .wrap{height:62px}
.mpp-wrap{position:relative;flex:none}
.mpp-brand{display:block;border-radius:12px}.mpp-brand img{height:56px;width:auto;display:block;transition:height .25s}.hdr2.scrolled .mpp-brand img{height:46px}
.mpp-brand:focus-visible{outline:3px solid var(--pink);outline-offset:3px}
.mpp-tip{position:absolute;left:50%;top:calc(100% + 8px);transform:translateX(-50%) translateY(-4px);background:var(--purple-dd);color:#fff;border-radius:12px;padding:8px 14px;white-space:nowrap;text-align:center;opacity:0;pointer-events:none;transition:.18s;z-index:70;box-shadow:0 12px 26px -12px rgba(0,0,0,.5)}
.mpp-tip::before{content:"";position:absolute;bottom:100%;left:50%;margin-left:-6px;border:6px solid transparent;border-bottom-color:var(--purple-dd)}
.mpp-tip b{display:block;font:700 .9rem var(--f-d)}.mpp-tip small{font-size:.72rem;color:var(--yellow)}
.mpp-wrap:hover .mpp-tip,.mpp-brand:focus-visible+.mpp-tip,.mpp-wrap:focus-within .mpp-tip{opacity:1;transform:translateX(-50%);pointer-events:auto}
.mpp-wrap.tip-off .mpp-tip{opacity:0!important}
.hdr2 .nav{display:flex;align-items:center;gap:2px;margin:0 auto}
.hdr2 .nav>a,.hdr2 .nav>.dd>button{display:inline-flex;align-items:center;gap:7px;padding:10px 12px;border-radius:12px;font:600 .92rem var(--f-b);color:var(--ink);background:none;border:0;cursor:pointer;position:relative}
.hdr2 .ni{color:var(--purple);flex:none;transition:transform .2s,color .2s}
.hdr2 .nav>a:hover,.hdr2 .nav>.dd>button:hover,.hdr2 .nav a.on,.hdr2 .nav button.on{background:var(--mist)}
.hdr2 .nav>a:hover .ni,.hdr2 .nav>.dd>button:hover .ni,.hdr2 .nav .on .ni{color:var(--pink);transform:translateY(-1px) scale(1.08)}
.hdr2 .nav>a::after,.hdr2 .nav>.dd>button::after{left:12px;right:12px;bottom:3px}
.mega.wide{width:320px}.mm-feat{display:flex!important;gap:10px;align-items:center;padding:12px!important;border-radius:14px!important;background:linear-gradient(135deg,rgba(106,40,122,.10),rgba(238,29,86,.10));margin-bottom:6px}
.mm-feat .ni{color:var(--pink)}.mm-feat b{display:block;font-family:var(--f-d)}.mm-feat small{color:var(--ink-2)}
.hdr2 .hdr-tools{display:flex;align-items:center;gap:8px;flex:none}
.hdr2 .hdr-tools .btn{display:inline-flex;align-items:center;gap:7px;padding:10px 16px;font-size:.88rem}
.h2-cats{background:linear-gradient(90deg,#3d1159,#6A287A 45%,#a3226c 80%,#EE1D56);color:#fff}
.h2-cats nav{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;padding:6px 0}.h2-cats nav::-webkit-scrollbar{display:none}
.h2-cats a{flex:none;display:inline-flex;align-items:center;gap:7px;color:#fff;text-decoration:none;font:600 .82rem var(--f-b);padding:7px 12px;border-radius:30px;transition:background .2s}
.h2-cats a:hover{background:rgba(255,255,255,.16);color:#fff}.h2-cats .ni{color:var(--yellow)}
.h2-cats a.hot{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.3)}
.h2-cats em{font-style:normal;font-size:.66rem;font-weight:800;background:var(--yellow);color:#3d1159;border-radius:10px;padding:1px 7px;animation:livep 2s infinite}
@media(max-width:1360px){.hdr2 .h-cta2{display:none}}
@media(max-width:1240px){.hdr2 .nav{position:fixed;inset:0 0 0 auto;width:min(340px,88vw);flex-direction:column;align-items:stretch;gap:4px;background:var(--paper);padding:86px 16px 20px;transform:translateX(105%);transition:transform .25s;box-shadow:-20px 0 40px -20px rgba(0,0,0,.4);overflow:auto;margin:0;z-index:60}
 .hdr2 .nav.open{transform:none;inset:0 0 0 auto;border-radius:0;max-height:none}.hdr2 .nav>a,.hdr2 .nav>.dd>button{width:100%;justify-content:flex-start;padding:12px 14px}
 .hdr2 .mega,.hdr2 .mega.mini{position:static;transform:none;width:auto;box-shadow:none;display:none;animation:none}.hdr2 .dd.open .mega{display:grid}
 .hdr2 .burger{display:inline-flex;z-index:61}}
@media(max-width:640px){.h2-top .wrap{height:64px;gap:8px}.mpp-brand img{height:44px}.hdr2 .hdr-tools .btn-pink span{display:none}.hdr2 .hdr-tools .btn-pink{padding:10px 12px}.hdr2 .lang{max-width:92px}}
@media(hover:none){.mpp-wrap::after{content:"Moris Poll Pulse";position:absolute;left:0;right:0;top:100%;text-align:center;font:700 .6rem var(--f-b);color:var(--purple);letter-spacing:.02em}}
/* mobile menu fixes: backdrop-filter would trap the fixed menu inside the header */
@media(max-width:1240px){.hdr2{backdrop-filter:none;-webkit-backdrop-filter:none}
 .hdr2 .nav{visibility:hidden;transition:transform .25s,visibility .25s}.hdr2 .nav.open{visibility:visible}
 .hdr2 .burger{position:relative;flex:none;flex-direction:column;align-items:center;justify-content:center;gap:5px;margin-left:0}
 .hdr2 .burger span{width:24px;margin:0;transition:transform .2s,opacity .2s}
 .hdr2 .burger[aria-expanded=true] span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}
 .hdr2 .burger[aria-expanded=true] span:nth-child(2){opacity:0}
 .hdr2 .burger[aria-expanded=true] span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}
 html.nav-open{overflow:hidden}
 .hdr2 .nav{padding-top:110px}
 .hdr2 .hdr-tools{position:relative;z-index:61;margin-left:auto;min-width:0}
 html.nav-open .mpp-wrap{z-index:61}}
.hdr2 .nav>a.nav-join{display:none}
@media(max-width:640px){.hdr2 .nav{width:100%}}
@media(max-width:480px){.hdr2 .hdr-tools{gap:6px}.hdr2 .hdr-tools>.btn-pink{display:none}.hdr2 .hdr-tools .lang{max-width:84px;min-width:0;padding:8px 6px}
 .hdr2 .nav>a.nav-join,.hdr2 .nav>a.nav-join:hover{display:flex;justify-content:center;margin-top:10px;padding:13px 14px;color:#fff;background:var(--pink)}
 .hdr2 .nav>a.nav-join::after{display:none}}
@media(max-width:400px){.h2-top .wrap{padding:0 12px;gap:6px}.mpp-brand img{height:36px}.hdr2.scrolled .mpp-brand img{height:36px}}
@media(hover:none) and (min-width:641px) and (max-width:1240px){.mpp-brand img,.hdr2.scrolled .mpp-brand img{height:46px}}
[data-theme=dark] .hdr2 .burger span{background:#e9a9ff}
[data-theme=dark] .hdr2{background:rgba(18,10,23,.95)!important;border-color:var(--line)}[data-theme=dark] .hdr2 .nav>a,[data-theme=dark] .hdr2 .nav>.dd>button{color:var(--ink)}[data-theme=dark] .hdr2 .ni{color:#e9a9ff}
[data-theme=dark] .hdr .logo img,[data-theme=dark] .mpp-brand img{background:none;padding:0}
[data-theme=dark] .hdr2 .nav>a:hover,[data-theme=dark] .hdr2 .nav .on{background:#24152c}
/* ================= USA 2026 opinion poll ================= */
.up-hero{padding:26px 0 40px;background:radial-gradient(900px 420px at 95% 0,rgba(37,99,235,.15),transparent 60%),radial-gradient(800px 400px at 0 100%,rgba(220,38,38,.10),transparent 60%),radial-gradient(600px 300px at 50% 50%,rgba(238,29,86,.06),transparent 70%),var(--paper)}
.up-line{display:flex;flex-wrap:wrap;align-items:center;gap:10px;font:700 .82rem var(--f-b);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-2);padding:8px 14px;border:1px solid var(--line);border-radius:30px;background:var(--paper);width:max-content;max-width:100%;box-shadow:var(--shadow)}
.up-brand{position:relative;font:900 1rem var(--f-d);background:linear-gradient(90deg,#EE1D56,#6A287A);-webkit-background-clip:text;background-clip:text;color:transparent;cursor:help}
.up-brand .mpp-tip{text-transform:none;letter-spacing:0;-webkit-text-fill-color:#fff}.up-brand:hover .mpp-tip,.up-brand:focus .mpp-tip{opacity:1;transform:translateX(-50%)}
.up-date b{color:var(--ink)}.up-date small{text-transform:none;font-weight:500}.up-upd{text-transform:none;font-weight:500;padding-left:10px;border-left:1px solid var(--line)}
.up-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:30px;align-items:center;margin-top:20px}
.up-hero h1{font-size:clamp(2.4rem,5.4vw,4.4rem);line-height:1.02;background:linear-gradient(90deg,#2563EB,#6A287A 50%,#DC2626);-webkit-background-clip:text;background-clip:text;color:transparent;animation:hxin .6s ease both}
.up-ill{display:inline-block;margin:8px 0 6px;font:700 .78rem var(--f-b);color:#6A287A;background:rgba(106,40,122,.1);border:1px dashed rgba(106,40,122,.4);border-radius:30px;padding:4px 12px}
.up-art{position:relative}.up-art img{width:100%;height:auto;max-height:440px;object-fit:contain;animation:float 7s ease-in-out infinite}
.up-float{position:absolute;background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:10px 14px;box-shadow:var(--shadow);animation:float 6s ease-in-out infinite}.up-float b{display:block;font:800 1.5rem var(--f-d);color:#2563EB}.up-float small{color:var(--ink-2);font-weight:600}
.up-float.f1{top:6%;left:-4%}.up-float.f2{top:42%;right:-2%;animation-delay:1s}.up-float.f2 b{color:#DC2626}.up-float.f3{bottom:6%;left:8%;animation-delay:2s}.up-float.f3 b{color:#6A287A}
.up-story{list-style:none;margin:28px 0 0;padding:0;display:grid;grid-template-columns:repeat(6,1fr);gap:10px;position:relative}
.up-story::before{content:"";position:absolute;top:22px;left:4%;right:4%;height:3px;background:linear-gradient(90deg,#DC2626,#6A287A,#2563EB);border-radius:3px}
.up-story a{position:relative;display:flex;flex-direction:column;gap:2px;text-decoration:none;color:inherit;background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:52px 12px 12px;height:100%;transition:transform .2s,box-shadow .2s}
.up-story a:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--pink)}
.up-story span{position:absolute;top:2px;left:12px;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#6A287A,#EE1D56);color:#fff;font:800 .85rem var(--f-d);box-shadow:0 0 0 5px var(--paper)}
.up-story b{font-family:var(--f-d);font-size:.95rem}.up-story small{color:var(--ink-2);font-size:.76rem}
.up-cards{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.up-card{border-radius:24px;overflow:hidden;border:1px solid var(--line);background:var(--paper);box-shadow:0 24px 50px -30px rgba(37,99,235,.5)}
.up-card header{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:16px 20px;background:linear-gradient(120deg,#1e3a8a,#6A287A 60%,#b91c1c);color:#fff}.up-card header h3{color:#fff;margin:0}.up-card header span{font-size:.82rem;opacity:.9}
.up-layer{padding:14px 20px;border-top:1px solid var(--line)}.up-layer>span{display:block;font:700 .76rem var(--f-b);text-transform:uppercase;letter-spacing:.05em;color:var(--ink-2)}.up-layer small{text-transform:none;font-weight:500;letter-spacing:0}
.up-layer.hi{background:linear-gradient(90deg,rgba(37,99,235,.06),rgba(220,38,38,.05))}.up-layer.muted p{color:var(--ink-2);margin:4px 0 0}.up-layer p{margin:6px 0 0;font-size:.88rem}
.up-vs{display:flex;align-items:baseline;gap:8px;margin-top:4px}.up-vs b{font:800 1.8rem var(--f-d)}.up-vs i{font-style:normal;font-weight:700;color:var(--ink-2);margin-right:10px}.up-vs.big b{font-size:2.8rem}
.seatbar .sb{position:relative;display:flex;height:34px;border-radius:12px;overflow:visible;background:var(--mist);margin:10px 0 28px}
.sb i{display:flex;align-items:center;justify-content:center;width:0;height:100%;color:#fff;font:800 .85rem var(--f-d);transition:width 1.3s cubic-bezier(.2,.8,.2,1)}.sb i:first-child{border-radius:12px 0 0 12px}.sb i:last-child{border-radius:0 12px 12px 0}
.sb em{position:absolute;top:-6px;bottom:-6px;border-left:3px dashed var(--ink)}.sb em small{position:absolute;top:100%;left:-12px;font:700 .72rem var(--f-b);color:var(--ink)}
.wf{position:relative;display:flex;align-items:flex-end;gap:18px;height:140px;padding:0 10px 28px;border-bottom:1px solid var(--line)}
.wf-c{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;flex:1;position:relative;height:100%}.wf-c i{width:56%;border-radius:8px 8px 0 0;animation:wfIn 1s ease both}.wf-c b{font:800 1.1rem var(--f-d)}.wf-c small{position:absolute;bottom:-24px;font-size:.74rem;color:var(--ink-2);white-space:nowrap}
@keyframes wfIn{from{transform:scaleY(0);transform-origin:bottom}}
.wf-line{position:absolute;left:0;right:0;border-top:2px dashed var(--ink)}.wf-line small{position:absolute;right:0;top:-18px;font-weight:700;font-size:.72rem}
.scen{display:inline-flex;flex-wrap:wrap;gap:4px;background:var(--mist);border-radius:30px;padding:4px;margin:6px 0 10px}.scen button{border:0;background:none;border-radius:30px;padding:7px 14px;font:600 .84rem var(--f-b);color:var(--ink);cursor:pointer}.scen button.on{background:linear-gradient(135deg,#6A287A,#EE1D56);color:#fff}
.empty-card,.empty-in{text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:200px;border:2px dashed var(--line);background:linear-gradient(150deg,var(--paper),var(--mist))}.empty-in{border:0;background:none;min-height:auto}.empty-card p,.empty-in p{max-width:460px;color:var(--ink-2)}
.nodata{display:inline-block;font:600 .78rem var(--f-b);color:#64748B;background:#F1F5F9;border-radius:8px;padding:3px 8px}.lead-t{display:block;font-size:.74rem;color:var(--ink-2);margin-top:4px}
.up-tbl table{min-width:960px}.up-tbl thead th{position:sticky;top:0}.up-tbl td small{display:block;color:var(--ink-2);font-size:.74rem}
.cands{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.cand{display:flex;align-items:center;gap:8px}.cand b{font-size:.86rem;display:block}.cand small{font-size:.72rem;color:var(--ink-2)}.vs{font-style:normal;font-weight:800;font-size:.72rem;color:var(--ink-2)}
.cav{width:38px;height:38px;border-radius:50%;flex:none;display:grid;place-items:center;color:#fff;font:800 .82rem var(--f-d);object-fit:cover;box-shadow:0 0 0 3px var(--paper),0 0 0 4px var(--line)}
.ptag{display:inline-block;color:#fff;font:700 .74rem var(--f-b);border-radius:20px;padding:3px 10px}
.chg{font:700 .78rem var(--f-b);color:var(--ink-2)}.chg.d{color:#2563EB}.chg.t{color:#7C3AED}
.vsplit{display:flex;height:20px;border-radius:10px;overflow:hidden}.vsplit i{display:flex;align-items:center;justify-content:center;color:#fff;font:700 .7rem var(--f-b);font-style:normal}
.conf{font:700 .74rem var(--f-b);border-radius:20px;padding:3px 10px;background:#F1F5F9;color:#475569}.conf.medium{background:#DBEAFE;color:#1E40AF}.conf.low{background:#FEF3C7;color:#92400E}.conf.high{background:#DCFCE7;color:#166534}
.why-b{border:0;border-radius:20px;padding:6px 12px;font:700 .78rem var(--f-b);color:#fff;background:linear-gradient(135deg,#6A287A,#EE1D56);cursor:pointer;transition:transform .15s}.why-b:hover{transform:scale(1.06)}
.src{font:700 .72rem var(--f-b);border-radius:20px;padding:2px 9px;background:#F1F5F9}.src.external{background:#DBEAFE;color:#1E40AF}.src.aggregation{background:#EDE9FE;color:#5B21B6}.src.mpp{background:#FCE7F3;color:#9D174D}
.ex-tools{flex-wrap:wrap}
.up-m4{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.m-big{display:block;font:800 2rem var(--f-d);color:#6A287A;margin:6px 0 2px}
.tl2.small li{grid-template-columns:40px 1fr;gap:10px}.tl2.small li>span{width:40px;height:40px;font-size:.8rem}.tl2.small::before{left:19px}.tl2.small li>div{padding:10px 12px}.tl2.small p{font-size:.86rem}
.qlist{columns:2 300px;margin:12px 0 0;padding-left:0;list-style:none}.qlist li{break-inside:avoid;margin:0 0 8px;font-size:.88rem}.qlist code{background:var(--mist);border-radius:6px;padding:1px 6px;margin-right:6px;color:#6A287A;font-weight:700}
.up-q summary{cursor:pointer;list-style:none}.up-q summary::after{content:" +";color:var(--pink);font-weight:800}
.calc-out{display:flex;justify-content:space-between;margin-top:12px}.calc-out b{display:block;font:800 2.6rem var(--f-d)}.calc-out div:first-child b{color:#2563EB}.calc-out div:last-child{text-align:right}.calc-out div:last-child b{color:#DC2626}.calc-out small{font-weight:600;color:var(--ink-2)}
input[type=range]#swg{width:100%;accent-color:#6A287A;margin-top:10px}
.flip{display:grid;grid-template-columns:repeat(auto-fill,minmax(70px,1fr));gap:8px;margin-top:8px}
.fb{border:0;border-radius:14px;padding:10px 6px;color:#fff;cursor:pointer;font:inherit;display:flex;flex-direction:column;align-items:center;transition:transform .15s}.fb:hover{transform:translateY(-2px)}.fb.D{background:#2563EB}.fb.R{background:#DC2626}.fb.I{background:#7C3AED}.fb b{font-family:var(--f-d)}.fb small{font-size:.7rem;opacity:.9}
.drawer{position:fixed;inset:0;z-index:110;background:rgba(15,10,30,.45);display:flex;justify-content:flex-end}.drawer[hidden]{display:none}
.drawer-in{position:relative;width:min(520px,100%);height:100%;overflow:auto;background:var(--paper);padding:28px 24px;animation:drIn .3s ease;box-shadow:-30px 0 60px -30px rgba(0,0,0,.5)}
@keyframes drIn{from{transform:translateX(40px);opacity:0}}
.drawer-x{position:absolute;top:14px;right:14px;width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:var(--paper);cursor:pointer;color:var(--ink)}
.drawer-in h2{font-size:1.6rem;margin:10px 0 4px}.drawer-in h3{margin:18px 0 6px;font-size:1rem}
[data-theme=dark] .up-line,[data-theme=dark] .up-float,[data-theme=dark] .up-story a,[data-theme=dark] .up-card,[data-theme=dark] .drawer-in{background:#1d1126}[data-theme=dark] .nodata,[data-theme=dark] .conf{background:#2a1a33;color:#c3b2cb}
@media(max-width:1000px){.up-grid,.up-cards{grid-template-columns:1fr}.up-story{grid-template-columns:repeat(3,1fr)}.up-story::before{display:none}.up-m4{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.up-story{grid-template-columns:1fr 1fr}.up-m4{grid-template-columns:1fr}.up-float{display:none}.up-vs.big b{font-size:2.1rem}.drawer-in{width:100%}}
.us-opts{display:grid;grid-template-columns:1.2fr 1fr;gap:16px}
.mt-feature.poll{background:radial-gradient(500px 240px at 100% 0,rgba(253,236,7,.22),transparent 60%),linear-gradient(120deg,#3d1159,#6A287A 50%,#EE1D56)}
.mt-feature.poll img{width:100%;max-width:280px;height:auto;justify-self:center;background:#fff;border-radius:20px;padding:12px;box-shadow:0 18px 30px -18px rgba(0,0,0,.5)}
.mt-feature .btn-ghost{color:#fff;border-color:#fff}
@media(max-width:1000px){.us-opts{grid-template-columns:1fr}}
@media(max-width:1500px){.hdr2 .hdr-tools .h-cta2{display:none}}
@media(max-width:1380px){.hdr2 .nav>a,.hdr2 .nav>.dd>button{padding:9px 9px;font-size:.88rem}.hdr2 .lang{max-width:110px}}
.sb em small{white-space:nowrap;left:50%;transform:translateX(-50%);top:calc(100% + 2px);background:var(--paper);padding:0 4px;border-radius:4px}
.seatbar .sb{margin-bottom:34px}
/* ===== filters (USA poll) ===== */
.flt{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:12px;border-radius:20px;background:var(--paper);border:1px solid var(--line);box-shadow:0 14px 30px -24px rgba(106,40,122,.6);margin-bottom:10px}
.flt-s{position:relative;flex:1 1 320px;display:flex;align-items:center}.flt-s svg{position:absolute;left:14px;color:var(--purple)}
.flt-s input{width:100%;padding:13px 42px;border:2px solid var(--line);border-radius:14px;font:500 .95rem var(--f-b);background:var(--mist);color:var(--ink);transition:border-color .2s,box-shadow .2s,background .2s}
.flt-s input:focus{outline:none;border-color:var(--pink);background:var(--paper);box-shadow:0 0 0 4px rgba(238,29,86,.12)}
.flt-x{position:absolute;right:10px;width:26px;height:26px;border-radius:50%;border:0;background:var(--line);color:var(--ink);cursor:pointer;font-size:.75rem}.flt-x:hover{background:var(--pink);color:#fff}
.flt-sel{display:flex;flex-direction:column;gap:2px;font:700 .7rem var(--f-b);text-transform:uppercase;letter-spacing:.05em;color:var(--ink-2)}.flt-sel select{padding:9px 12px;border:2px solid var(--line);border-radius:12px;font:600 .88rem var(--f-b);background:var(--paper);color:var(--ink);min-width:150px}
.seg{display:inline-flex;flex-wrap:wrap;gap:4px;background:var(--mist);border-radius:14px;padding:4px}.seg button{border:0;background:none;border-radius:11px;padding:9px 14px;font:600 .85rem var(--f-b);color:var(--ink);cursor:pointer;transition:.2s}.seg button:hover{color:var(--pink-d)}.seg button.on{background:linear-gradient(135deg,#6A287A,#EE1D56);color:#fff;box-shadow:0 6px 14px -8px var(--pink)}
.flt-n{font-size:.86rem;color:var(--ink-2);margin:4px 2px 12px;min-height:1.2em}
.flt-empty{text-align:center;padding:30px 16px;border:2px dashed #f8b6c8;border-radius:18px;background:#fff6f8}.flt-empty b{color:var(--pink-d)}.flt-empty p{color:var(--ink-2);margin:6px 0 12px}
/* ===== race cards ===== */
.race-list{display:grid;gap:12px}
.rc2{display:grid;grid-template-columns:240px 1fr 260px;gap:18px;align-items:center;background:var(--paper);border:1px solid var(--line);border-left:6px solid var(--c);border-radius:20px;padding:16px 18px;transition:transform .2s,box-shadow .2s;animation:lwIn .45s ease both}
.rc2:hover{transform:translateY(-3px);box-shadow:0 20px 40px -26px rgba(44,13,53,.55)}
.rc2-st{display:flex;align-items:center;gap:12px}.sil{width:56px;height:56px;flex:none;filter:drop-shadow(0 4px 6px rgba(0,0,0,.18));transition:transform .3s}.rc2:hover .sil{transform:rotate(-6deg) scale(1.08)}
.rc2-st a{text-decoration:none;color:var(--ink)}.rc2-st b{font:800 1.12rem var(--f-d)}.rc2-st small{display:block;color:var(--ink-2);font-size:.76rem;margin:2px 0 6px}
.rc2-c{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px}.cand2{display:flex;align-items:center;gap:10px;min-width:180px}.cand2 b{display:block;font-size:.95rem}.cand2 small{color:var(--ink-2);font-size:.76rem}
.cand2 .cav{width:48px;height:48px;font-size:.95rem}
.vs2{font-style:normal;font:900 .72rem var(--f-d);color:#fff;background:linear-gradient(135deg,#2563EB,#7C3AED,#DC2626);border-radius:50%;width:30px;height:30px;display:grid;place-items:center;flex:none}
.rc2-lead{flex-basis:100%;margin:2px 0 0;font-size:.84rem;color:var(--ink-2);padding-left:10px;border-left:3px solid var(--c)}
.rc2-m{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px}
.cm{display:inline-flex;align-items:center;gap:3px;padding:4px 8px;border-radius:20px;background:var(--mist)}.cm i{width:6px;height:14px;border-radius:3px;background:#d8cfe0}.cm i.on{background:linear-gradient(#6A287A,#EE1D56)}.cm small{margin-left:4px;font:700 .72rem var(--f-b)}
[data-tip]{position:relative;cursor:help}
[data-tip]:hover::after,[data-tip]:focus-visible::after{content:attr(data-tip);position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%);width:max-content;max-width:220px;background:var(--purple-dd);color:#fff;font:500 .74rem/1.4 var(--f-b);text-transform:none;letter-spacing:0;padding:7px 10px;border-radius:9px;z-index:30;box-shadow:0 10px 20px -10px rgba(0,0,0,.5);white-space:normal;text-align:left}
[data-tip]:hover::before{content:"";position:absolute;bottom:calc(100% + 2px);left:50%;margin-left:-5px;border:5px solid transparent;border-top-color:var(--purple-dd);z-index:30}
.nat-card{text-align:center}.nat-g{position:relative;max-width:300px;margin:0 auto}.nat-g svg{width:100%}.g-d{fill:none;stroke:url(#x);stroke:#2563EB;stroke-width:18;stroke-linecap:round}
.nat-c{position:absolute;left:0;right:0;bottom:4px}.nat-c b{display:block;font:800 2.4rem var(--f-d);color:#2563EB}.nat-c small{color:var(--ink-2);font-weight:600}
.nat-split{display:flex;justify-content:space-around;margin-top:10px}.nat-split b{display:block;font:800 1.6rem var(--f-d)}.nat-split small{color:var(--ink-2)}
[data-theme=dark] .rc2,[data-theme=dark] .flt{background:#1d1126}[data-theme=dark] .flt-empty{background:#2a0f1a;border-color:#7a2342}
@media(max-width:1000px){.rc2{grid-template-columns:1fr}.rc2-m{justify-content:flex-start}}
@media(max-width:560px){.cand2{min-width:0;flex:1 1 100%}.vs2{margin-left:14px}.flt-sel{flex:1 1 45%}.flt-sel select{min-width:0;width:100%}}
.mpp-brand .lg-dark{display:none}[data-theme=dark] .mpp-brand .lg-light{display:none}[data-theme=dark] .mpp-brand .lg-dark{display:block}
.ftr-brand img{background:none!important;padding:0!important;width:180px!important;height:auto!important}
/* candidate avatars with party badge, flags */
.avw{position:relative;flex:none;display:inline-block}.avw .cav{box-shadow:0 0 0 3px var(--paper),0 0 0 5px var(--pc);display:grid}
.avb{position:absolute;right:-6px;bottom:-4px;width:26px;height:auto;background:#fff;border-radius:8px;padding:2px 3px;box-shadow:0 3px 8px -3px rgba(0,0,0,.4)}
.avb.ind{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#7C3AED;color:#fff;font:800 .7rem var(--f-d);padding:0}
.cand2 .cav{width:58px;height:58px}.cand2:hover .cav{transform:scale(1.06)}.cav{transition:transform .25s}
.flagw{position:relative;flex:none;display:flex;flex-direction:column;align-items:center;gap:3px}
.flag{width:60px;height:40px;object-fit:cover;border-radius:8px;box-shadow:0 6px 14px -6px rgba(0,0,0,.45),0 0 0 1px rgba(0,0,0,.06);transition:transform .3s}
.rc2:hover .flag{transform:rotate(-4deg) scale(1.06)}.flagw span{font:800 .68rem var(--f-d);color:var(--ink-2);letter-spacing:.08em}
.flag.sm{width:30px;height:20px;border-radius:4px}.flag.lg{width:72px;height:48px}.ex-st{display:inline-flex;align-items:center;gap:8px}
.why-h{display:flex;align-items:center;gap:12px}
.rc2{position:relative;overflow:hidden}.rc2-wm{position:absolute;right:-10px;top:50%;transform:translateY(-50%);width:170px;opacity:.06;pointer-events:none}.rc2-wm .sil{width:170px;height:170px;filter:none}
.rc2>*:not(.rc2-wm){position:relative}
.vsl{width:30px;height:auto;margin-right:2px;vertical-align:middle}
.party-lg img{width:26px;height:auto;margin-right:6px;vertical-align:-4px}
.nat-split img{display:block;margin:0 auto 4px;width:54px;height:auto}
.up-float img{display:block;width:40px;height:auto;margin-bottom:2px}
.rc2-split{flex-basis:100%;max-width:420px}.rc2-split .vsplit{height:22px}
[data-theme=dark] img[src*="icons/States_UTs"]{filter:brightness(0) invert(.88)}
.pflag{width:30px;height:20px;object-fit:contain;border-radius:3px;vertical-align:middle;margin-right:6px;box-shadow:0 0 0 1px rgba(0,0,0,.08)}
