/* aljubaer.com v8.19: one plain, white, standard theme for every public page (3 Nov 2026).
   White pages and cards, neutral slate text, one blue accent, one sans-serif typeface (Plus Jakarta Sans, Hind Siliguri for Bangla),
   8px spacing, 12px corners, 1px light-grey borders. Charts, maps and category colours keep their colour.
   Loaded last on the v5 pages and on the older pages (v6 shell), so it wins over older palettes. */
:root,.v5shell,.rb{
  --paper:#ffffff; --paper2:#f8fafc; --card:#ffffff; --ink:#111827; --ink-2:#4b5563; --ink-3:#6b7280; --ink2:#4b5563; --ink3:#6b7280;
  --line:#e5e7eb; --line-2:#d1d5db;
  --ac:#2563eb; --ac2:#1d4ed8; --ac3:#0ea5e9; --green:#1d4ed8; --green2:#2563eb; --gold:#2563eb;
  --grad:linear-gradient(120deg,#1d4ed8,#2563eb); --grad2:linear-gradient(120deg,#2563eb,#0ea5e9);
  --shadow:0 1px 2px rgba(16,24,40,.05),0 4px 12px -4px rgba(16,24,40,.08);
  --sans:'Plus Jakarta Sans','Hind Siliguri',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
  --serif:var(--sans); --head:var(--sans);
}
html,body{background:#fff!important;color:var(--ink)}
body{font-family:var(--sans)!important;font-size:16px;line-height:1.6}

/* headings: one typeface, dark ink, standard weights and sizes */
h1,h2,h3,h4,.shead h2,.ls-hero h1,.vd-head h2,.xh-head h2,.rs-hero h1,.me h1,.ab-hero h1,.ct h2,.ws-h h3{font-family:var(--sans)!important;color:var(--ink)!important;letter-spacing:-.01em!important}
h1{font-weight:700!important}h2{font-weight:700!important}h3,h4{font-weight:600!important}
.ls-hero h1 em,.me h1 em,h1 em,h2 em{background:none!important;-webkit-text-fill-color:currentColor!important;color:var(--ac)!important;font-style:normal}
p{color:inherit}
.shead .num,.ls-hero .num,.vd-k,.num{color:var(--ac)!important;background:none!important;-webkit-text-fill-color:currentColor;font-weight:600}
.shead .num::before,.num::before{background:var(--ac)!important}
a:not([class]){color:var(--ac)}a:not([class]):hover{text-decoration:underline}

/* section bands: white, with a light grey band every other section for rhythm */
section{background-color:transparent}
.vd-sec,.interest~section:nth-of-type(even){background:var(--paper2)!important}

/* buttons: one solid blue primary, white secondary with a grey border */
.btn,.rb-btn,.ln-btn,.lsw-btn{border-radius:8px!important;font-weight:600!important}
.btn.dark,.ln-btn.dark,.lsw-btn.dark,.rb-btn,.rb-btn.dark,.cv,.r-play.on{background:var(--ac)!important;border-color:var(--ac)!important;color:#fff!important;box-shadow:none!important}
.btn.dark:hover,.lsw-btn.dark:hover,.rb-btn:hover{background:var(--ac2)!important}
.btn.ghost,.rb-btn.ghost{background:#fff!important;border:1px solid var(--line-2)!important;color:var(--ink)!important}
.btn.ghost:hover,.rb-btn.ghost:hover{border-color:var(--ac)!important;color:var(--ac)!important}
.lk.on,.lk-life.on,.ls-tabs [role="tab"][aria-selected="true"],.vd-pill.on,.fp8-mode button.on,.ft2-seg button.on,.tl-ord button.on,.pg-base button.on,.xh-chips button.on,.rb-chip.on{background:var(--ac)!important;border-color:var(--ac)!important;color:#fff!important;box-shadow:none!important}
.vd-pill.on::before{background:#fff!important}
.ls-tabs [role="tab"][aria-selected="true"] svg{color:#fff!important}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--ac);outline-offset:2px}

/* boxes: white card, 1px grey border, 12px corners, small shadow */
.pg-box,.lsw,.ft2,.fp8-map,.dy-day,.dy-chips,.sy-c,.case,.ab-card,.pub,.interest~.pubs .pub,.card,.rb-card,.ppx-card{background:#fff!important;border:1px solid var(--line)!important;border-radius:12px!important;box-shadow:var(--shadow)!important}
.lsw-bar,.ft2-bar,.lsw-labels,.lsw-axis{background:var(--paper2)!important}
.ft2-band{background:rgba(241,245,249,.55)!important;border:1px solid rgba(226,232,240,.7);z-index:0}
.interest{background:#f8fafc!important;color:var(--ink)!important;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.interest *{color:inherit}
.lsw-today{border-left-color:var(--ac)!important}.lsw-today span{color:var(--ac)!important}
.vd-card.on{box-shadow:0 0 0 3px #fff,0 0 0 5px var(--ac),0 20px 40px -20px rgba(16,24,40,.35)!important}
.vd-nav{border-color:var(--line-2)!important;color:var(--ink)!important;background:#fff!important}.vd-nav:hover{border-color:var(--ac)!important;color:var(--ac)!important}

/* forms */
input:not([type=checkbox]):not([type=radio]),select,textarea{border-radius:8px;border:1px solid var(--line-2);background:#fff;color:var(--ink);font-family:var(--sans)}

/* Research and paper pages follow the same white theme */
.rb::before{background:#fff!important}
.rb h1,.rb h2,.rb h3,.ppx h1,.ppx h2,.ppx h3{font-family:var(--sans)!important;color:var(--ink)!important}
/* the exhibition hall keeps its dark gallery on purpose */

/* ===== v8.22 always light: the last dark areas become light and standard ===== */
/* Exhibition hall (Lifescape → Exhibition): a bright white gallery with framed pictures */
#pane-wall::before{background:linear-gradient(180deg,#f8fafc,#ffffff 40%,#f1f5f9)!important;box-shadow:none!important}
#pane-wall .xh-head,#pane-wall .xh-head h2{color:#111827!important}
#pane-wall .xh-head p,#pane-wall .xh-y small{color:#4b5563!important}
#pane-wall .xh-head .num{color:#2563eb!important}
#pane-wall .xh-chips button{background:#fff!important;border-color:#d1d5db!important;color:#111827!important;backdrop-filter:none!important}
#pane-wall .xh-chips button.on,#pane-wall .xh-chips button.on b{background:#2563eb!important;border-color:#2563eb!important;color:#fff!important}
#pane-wall .xh-y::before{background:#fff!important;border-color:#2563eb!important;box-shadow:0 0 0 6px rgba(37,99,235,.12)!important}
#pane-wall .xh-y span{-webkit-text-stroke:1.2px #2563eb!important}
#pane-wall .xh-yr::before{background:linear-gradient(#2563eb,rgba(37,99,235,.05))!important}
#pane-wall .xh-img{border-color:#fff!important;background:#fff!important;box-shadow:0 0 0 1px #e5e7eb,0 18px 36px -20px rgba(16,24,40,.35)!important}
#pane-wall .xh-img::after{display:none}
#pane-wall .xh-when{background:#2563eb!important;color:#fff!important}
#pane-wall .xh-body{background:#fff!important;border:1px solid #e5e7eb!important;box-shadow:0 8px 20px -14px rgba(16,24,40,.3)!important;color:#111827!important}
#pane-wall .xh-cat,#pane-wall .xh-meta svg{color:#2563eb!important}
#pane-wall .xh-tags span{background:#f3f4f6!important;color:#374151!important}
#pane-wall .ls-empty{color:#4b5563!important;background:#f9fafb!important;border-color:#e5e7eb!important}
/* "What shaped me" network: light card, dark text */
.ws{background:linear-gradient(135deg,#f8fafc,#eef2ff 60%,#ecfeff)!important;color:#111827!important;border:1px solid #e5e7eb;box-shadow:0 10px 30px -22px rgba(16,24,40,.35)!important}
.ws-h h3{color:#111827!important}.ws-h p{color:#4b5563!important}.ws-h .num{color:#2563eb!important}
.ws-svg text{fill:#1f2937!important}.ws-svg tspan{fill:#6d28d9!important}.ws-t.on text{fill:#111827!important}
.ws-l{mix-blend-mode:normal!important;opacity:.7}.ws-t circle{fill:#a855f7!important;stroke:#fff!important}
/* film strip: light frame */
.fm-film{background-color:#e5e7eb!important;background-image:linear-gradient(90deg,transparent 7px,#fff 7px 17px,transparent 17px),linear-gradient(90deg,transparent 7px,#fff 7px 17px,transparent 17px)!important}
/* stat tiles and coloured chapter cards: light tint with a coloured edge instead of dark gradients */
.pg-kpi div,.rs-stats div,.hc-ch,.lnt,.r-banner,.dom{background:color-mix(in srgb,var(--c,#2563eb) 10%,#fff)!important;color:#111827!important;border:1px solid color-mix(in srgb,var(--c,#2563eb) 28%,#fff);border-top:4px solid var(--c,#2563eb)!important;box-shadow:0 6px 16px -12px rgba(16,24,40,.3)!important}
.pg-kpi div *,.rs-stats div *,.hc-ch *,.lnt *,.r-banner *,.dom *{color:inherit!important;-webkit-text-fill-color:currentColor}
.pg-kpi div b,.rs-stats div b,.hc-ch b,.lnt b,.r-banner b,.dom b{color:color-mix(in srgb,var(--c,#2563eb) 75%,#000)!important}
/* image placeholders: light instead of near-black */
.cz-card,.cf-card,.bn{background:#f1f5f9!important}
.mz,.pz-t,.xh-img{background:linear-gradient(135deg,color-mix(in srgb,var(--c,#2563eb) 30%,#fff),color-mix(in srgb,var(--c,#2563eb) 12%,#fff))}
/* any section an older page marked dark */
.dark-section,.bg-dark,.section-dark,[data-bg="dark"]{background:#f8fafc!important;color:#111827!important}
.bg-dark *,.section-dark *{color:inherit}

/* ===== v8.26 main menu: one colour per group, gradient header with a line of description, ≤ 7 links as
   colourful tiles (2 columns when there are more than 4), "View all" footer ===== */
.dd8 .dd5-btn:hover,.dd8.open .dd5-btn{background:color-mix(in srgb,var(--gc) 10%,#fff)!important;color:var(--gc)!important}
.dd8 .dd5-btn.on{background:linear-gradient(135deg,var(--gc),var(--gc2))!important;color:#fff!important}
.dd8 .dd8-panel{width:360px!important;padding:0!important;border-radius:18px!important;overflow:hidden;background:#fff!important;border:1px solid #e5e7eb!important;
  box-shadow:0 2px 6px rgba(16,24,40,.06),0 28px 56px -22px color-mix(in srgb,var(--gc) 45%,rgba(16,24,40,.45))!important;gap:0!important;align-content:start}
.dd8 .dd8-panel.two{width:600px!important}
.dd8 .dd8-panel::after{display:none!important}
.dd8 .dd8-head{display:flex!important;align-items:center;gap:12px;margin:0!important;padding:14px 16px!important;border:0!important;color:#fff;
  background:radial-gradient(120% 140% at 100% 0%,color-mix(in srgb,var(--gc2) 85%,#fff),transparent 60%),linear-gradient(135deg,var(--gc),var(--gc2))!important}
.dd8 .dd8-head b{display:block;font-size:15.5px!important;color:#fff!important;line-height:1.2}
.dd8 .dd8-head small{display:block;font-size:12px!important;color:rgba(255,255,255,.88)!important;line-height:1.35}
.dd8 .dd8-head .dd5-ic{width:36px;height:36px;border-radius:11px;background:rgba(255,255,255,.22)!important;color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.35)}
.dd8 .dd8-list{display:grid;gap:4px;padding:10px}
.dd8 .dd8-panel.two .dd8-list{grid-template-columns:repeat(2,minmax(0,1fr))}
.dd8 .dd8-list a{display:grid!important;grid-template-columns:38px minmax(0,1fr);gap:11px;align-items:center;padding:9px 10px!important;border-radius:12px!important;text-decoration:none;
  border:1px solid transparent;transition:background .15s,border-color .15s,transform .15s}
.dd8 .dd8-list a:hover,.dd8 .dd8-list a[aria-current]{background:color-mix(in srgb,var(--ic) 7%,#fff)!important;border-color:color-mix(in srgb,var(--ic) 22%,#fff);box-shadow:none!important;transform:translateX(2px)}
.dd8 .dd5-ii{width:38px!important;height:38px!important;border-radius:11px!important;color:var(--ic)!important;background:color-mix(in srgb,var(--ic) 13%,#fff)!important;
  box-shadow:inset 0 -2px 0 color-mix(in srgb,var(--ic) 18%,#fff)}
.dd8 .dd8-list a:hover .dd5-ii{background:linear-gradient(135deg,var(--ic),color-mix(in srgb,var(--ic) 70%,#fff))!important;color:#fff!important}
.dd8 .dd5-tx strong{font-size:14px!important;font-weight:700!important;color:#111827!important}
.dd8 .dd5-tx small{font-size:12px!important;color:#6b7280!important;line-height:1.35!important;display:-webkit-box!important;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.dd8 .dd8-more{display:block!important;padding:11px 16px!important;border-top:1px solid #f1f5f9;font-size:13px;font-weight:700;color:var(--gc)!important;text-decoration:none;background:#fafafa!important}
.dd8 .dd8-more:hover{background:color-mix(in srgb,var(--gc) 6%,#fff)!important}
@media (max-width:1100px){
  .dd8 .dd8-panel,.dd8 .dd8-panel.two{width:auto!important;border-radius:14px!important;box-shadow:none!important;margin:4px 0 10px!important}
  .dd8 .dd8-panel.two .dd8-list{grid-template-columns:1fr}
  .dd8 .dd8-head{padding:10px 12px!important}.dd8 .dd5-tx small{display:none!important}}
.dd8 .dd8-list a:focus{outline:none}.dd8 .dd8-list a:focus-visible{outline:2px solid var(--gc);outline-offset:1px}
.dd8 .dd8-list a[aria-current]{outline:none!important;border-color:color-mix(in srgb,var(--gc) 40%,#fff)!important;background:color-mix(in srgb,var(--gc) 6%,#fff)!important}

/* ===== v8.29 family tree: full width, bigger and readable ===== */
#pane-family .ft2{width:min(1720px,calc(100vw - 32px));margin-left:calc(50% - min(860px,50vw - 16px));max-width:none}
#pane-family .ft{overflow:visible}
.ft2-view{height:auto;min-height:420px}
.ft2.fs .ft2-view{height:calc(100vh - 120px)!important}
.ft2-p{width:230px!important;height:120px!important;grid-template-columns:66px 1fr!important;gap:12px!important;padding:12px 14px!important;border-radius:18px!important;border-top-width:5px!important}
.ft2-av{width:66px!important;height:66px!important}
.ft2-av i{font-size:20px!important}
.ft2-tx{gap:3px!important}
.ft2-tx small{font-size:11px!important;letter-spacing:.04em!important}
.ft2-tx b{font-size:16.5px!important;line-height:1.22!important;-webkit-line-clamp:2}
.ft2-tx em{font-size:13px!important;color:#475569!important}
.ft2-heart{width:34px!important;font-size:18px!important}
.ft2-u.pair::before{left:222px!important;right:222px!important;height:3px!important}
.ft2-l{stroke-width:2.6!important}.ft2-l.pt{stroke-width:3!important}
.ft2-band span{width:150px!important;font-size:12.5px!important;line-height:1.35!important;color:#475569!important;letter-spacing:.05em!important}
.ft2-band.gb:nth-of-type(odd){background:rgba(224,242,254,.45)!important}
.ft2-bar{padding:14px 18px!important}
.ft2-seg button{font-size:13.5px!important;padding:8px 12px!important}
.ft2-find input{font-size:15px!important}
.ft2-legend{font-size:13px!important;padding:12px 18px!important}
.ft-chips span{font-size:14px}
@media (max-width:640px){#pane-family .ft2{width:calc(100vw - 16px);margin-left:calc(50% - 50vw + 8px)}.ft2-band span{width:110px!important;font-size:11px!important}}
.ft2-band span{display:none!important}
.ft2-rail{position:absolute;left:0;top:0;bottom:0;width:0;z-index:4;pointer-events:none}
.ft2-rail span{position:absolute;left:10px;transform:translateY(-50%);max-width:132px;padding:6px 10px;border-radius:10px;background:rgba(255,255,255,.94);border:1px solid #e2e8f0;box-shadow:0 6px 16px -10px rgba(15,23,42,.35);font:700 12px/1.3 var(--sans,system-ui);color:#334155}
.ft2-rail span.b{border-left:4px solid #0ea5e9}.ft2-rail span.z{border-left:4px solid #7c3aed;color:#5b21b6}.ft2-rail span.a{border-left:4px solid #ec4899}
.ft2-view.wide-r::after,.ft2-view.wide-l::before{content:"";position:absolute;top:0;bottom:0;width:46px;z-index:3;pointer-events:none}
.ft2-view.wide-r::after{right:0;background:linear-gradient(270deg,rgba(255,255,255,.95),transparent)}
.ft2-view.wide-l::before{left:0;background:linear-gradient(90deg,rgba(255,255,255,.95),transparent)}
.ft2-tx b{font-size:17px!important}
@media (max-width:640px){.ft2-rail span{max-width:96px;font-size:10.5px;padding:4px 7px}}
.ft2-tx small{font:800 11.5px/1.25 var(--sans,system-ui)!important;text-transform:none!important;letter-spacing:0!important}

/* ===== v8.30 late (মরহুম) mark: a crescent, never a cross ===== */
.v8-late{display:inline-flex;align-items:center;gap:3px;vertical-align:-.08em;color:#0f766e}
.v8-late svg{width:.9em;height:.9em;fill:currentColor}
.v8-late em{font-style:normal;font-size:.72em;font-weight:700;letter-spacing:.02em}
.v8-late-t{font-size:12px;font-weight:600;color:#0f766e;margin-left:4px}
.ft2-p.gone{background:linear-gradient(180deg,#f0fdfa,#fff)!important}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ===== v8.30 Footprint map → Play my journey ===== */
.jv8{display:grid;gap:10px;padding:14px 16px;border-radius:18px;background:linear-gradient(135deg,#eef2ff,#fdf2f8 60%,#ecfeff);border:1px solid #e0e7ff;margin-bottom:10px}
.jv8-top{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:center}
.jv8-play{display:inline-flex;align-items:center;gap:10px;border:0;border-radius:999px;padding:10px 20px 10px 12px;background:linear-gradient(135deg,#4f46e5,#db2777);color:#fff;font:800 15px var(--sans,system-ui);cursor:pointer;box-shadow:0 12px 26px -12px rgba(79,70,229,.7);transition:transform .15s}
.jv8-play:hover{transform:translateY(-1px)}
.jv8-pi{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:rgba(255,255,255,.22);font-size:13px}
.jv8-play.on .jv8-pi{animation:jv8p 1.4s infinite}
@keyframes jv8p{50%{box-shadow:0 0 0 6px rgba(255,255,255,.18)}}
.jv8-ctl{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.jv8-ctl > button,.jv8-sp button{border:1px solid #e0e7ff;background:#fff;border-radius:10px;padding:7px 10px;font:700 13px var(--sans,system-ui);color:#334155;cursor:pointer}
.jv8-sp{display:inline-flex;gap:2px;padding:2px;border:1px solid #e0e7ff;border-radius:12px;background:#fff}
.jv8-sp button{border:0;padding:6px 9px}.jv8-sp button.on{background:#1e1b4b;color:#fff}
.jv8-yr{display:inline-flex;gap:6px;align-items:center;font-size:12.5px;font-weight:700;color:#475569}
.jv8-yr select{border:1px solid #e0e7ff;border-radius:10px;padding:6px 8px;font:600 13px var(--sans,system-ui);background:#fff}
.jv8 .jv8-stop{display:none;color:#be123c;border-color:#fecdd3}.jv8.live .jv8-stop{display:inline-block}
.jv8-sum{margin:0 0 0 auto;font-size:13px;color:#475569}.jv8-sum b{color:#1e1b4b}
.jv8-bar{width:100%;accent-color:#4f46e5;margin:0}
.jv8-tally{display:flex;flex-wrap:wrap;gap:6px}
.jv8-tally span{display:inline-flex;align-items:center;gap:6px;padding:4px 10px 4px 4px;border-radius:999px;background:#fff;border:1px solid #e5e7eb;font-size:12px;color:#64748b;opacity:.6;transition:opacity .2s,transform .2s,box-shadow .2s}
.jv8-tally span.on{opacity:1;border-color:color-mix(in srgb,var(--c) 45%,#fff)}
.jv8-tally span.hit{transform:scale(1.08);box-shadow:0 0 0 4px color-mix(in srgb,var(--c) 22%,transparent)}
.jv8-tally i{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:color-mix(in srgb,var(--c) 14%,#fff);color:var(--c)}
.jv8-tally i svg,.jv8-mode i svg,.jv8-end i svg{width:16px;height:16px}
.jv8-tally em{font-style:normal;font-weight:700;color:#334155}.jv8-tally b{color:var(--c)}.jv8-tally small{font-size:11px}
.pg-mapw{position:relative}
.jv8-hud{position:absolute;inset:0;pointer-events:none;z-index:500}
.jv8-hud[hidden]{display:none}
.jv8-when{position:absolute;top:12px;left:54px;padding:8px 14px;border-radius:14px;background:rgba(15,23,42,.82);color:#fff;backdrop-filter:blur(6px)}
.jv8-when b{display:block;font:800 22px/1.1 var(--sans,system-ui);letter-spacing:-.01em}.jv8-when small{font-size:12px;opacity:.8}
.jv8-card{position:absolute;left:12px;bottom:14px;max-width:min(380px,calc(100% - 24px));display:grid;gap:4px;padding:12px 14px;border-radius:16px;background:rgba(255,255,255,.97);box-shadow:0 18px 40px -18px rgba(15,23,42,.5);pointer-events:auto;font-size:13px}
.jv8-card b{font-size:16px;color:#0f172a}.jv8-card small{color:#64748b}.jv8-fr{color:#64748b;font-size:12.5px}
.jv8-card.moving{outline:2px solid #c7d2fe}
.jv8-mode{display:inline-flex;align-items:center;gap:6px;justify-self:start;padding:3px 10px 3px 3px;border-radius:999px;background:color-mix(in srgb,var(--c) 12%,#fff);color:color-mix(in srgb,var(--c) 85%,#000);font-weight:700;font-size:12.5px}
.jv8-mode i{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--c);color:#fff}
.jv8-mode em{font-style:normal;font-size:10.5px;font-weight:600;opacity:.7;border:1px dashed currentColor;border-radius:6px;padding:0 4px}
.jv8-pu{justify-self:start;font-size:11.5px;font-weight:700;color:#7c3aed}
.jv8-odo{position:absolute;top:12px;right:12px;display:grid;grid-template-columns:auto auto;gap:0 8px;align-items:baseline;padding:8px 14px;border-radius:14px;background:rgba(255,255,255,.95);box-shadow:0 10px 26px -14px rgba(15,23,42,.45)}
.jv8-odo b{font:800 20px 'JetBrains Mono',monospace;color:#4f46e5;text-align:right}.jv8-odo small{font-size:11.5px;color:#64748b}
.jv8-end{display:grid;gap:5px;margin-top:6px}
.jv8-end span{display:grid;grid-template-columns:24px 112px 1fr auto;gap:8px;align-items:center;font-size:12px}
.jv8-end i{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--c);color:#fff}
.jv8-end em{font-style:normal;font-weight:700;color:#334155;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.jv8-end u{display:block;height:8px;border-radius:9px;background:var(--c);text-decoration:none}
.jv8-veh{background:none!important;border:0!important}
.jv8-vb{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--c);color:#fff;border:3px solid #fff;box-shadow:0 8px 20px -6px color-mix(in srgb,var(--c) 80%,#000),0 0 0 6px color-mix(in srgb,var(--c) 22%,transparent);animation:jv8b .9s ease-in-out infinite alternate}
.jv8-vi{display:grid;place-items:center;transition:transform .2s}.jv8-vi svg{width:24px;height:24px}
@keyframes jv8b{to{transform:translateY(-3px)}}
.jv8-pulse{animation:jv8r 1.3s ease-out forwards;transform-origin:center;transform-box:fill-box}
@keyframes jv8r{to{transform:scale(3.2);opacity:0}}
.pg-map.jv8-on .leaflet-overlay-pane path:not(.jv8-l){opacity:.28}
.pg-map.jv8-on .leaflet-marker-pane .leaflet-marker-icon:not(.jv8-veh){opacity:.3}
@media (max-width:640px){.jv8-sum{margin:0;width:100%}.jv8-when b{font-size:17px}.jv8-when{left:50px}.jv8-odo b{font-size:15px}.jv8-card{font-size:12px;bottom:8px;left:8px}.jv8-tally em{display:none}}
@media (prefers-reduced-motion:reduce){.jv8-vb,.jv8-play.on .jv8-pi{animation:none}}
.ft2-i-tx .v8-late-t{font:600 12px var(--sans,system-ui)!important;text-transform:none!important;letter-spacing:0!important;color:#0f766e!important}

/* ===== v8.31 Route → Full journey ===== */
.fl-pu{display:inline-block;margin:2px 0!important;font-size:12px!important;font-weight:700;color:#7c3aed!important}
.fl-gs{font-style:normal;font-size:10.5px;font-weight:600;border:1px dashed currentColor;border-radius:6px;padding:0 4px;opacity:.7}
.fl-of{display:block;margin-top:6px;color:#94a3b8!important;font-size:11px!important}
.fl-yr small{white-space:nowrap}

/* ===== v8.32 /my-domain Life Universe ===== */
.lu-hero{display:grid;grid-template-columns:1.3fr 1fr;gap:28px;align-items:end;padding:36px 0 18px}
.lu-hero h1{font-size:clamp(34px,4.6vw,58px);line-height:1.04;margin:8px 0 12px;letter-spacing:-.02em}.lu-hero h1 em{font-style:normal;color:var(--ac,#4f46e5)}
.lu-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.lu-stats div{padding:14px;border-radius:16px;background:#fff;border:1px solid var(--line,#e5e7eb);border-top:4px solid var(--c)}
.lu-stats b{display:block;font:800 26px var(--sans,system-ui);color:var(--c)}.lu-stats span{font-size:12.5px;color:#64748b}
.lu-nav{position:relative;display:flex;gap:6px;flex-wrap:wrap;padding:8px;margin:6px 0 18px;border-radius:14px;background:rgba(255,255,255,.92);backdrop-filter:blur(8px);border:1px solid var(--line,#e5e7eb)}
.lu-nav a{padding:8px 14px;border-radius:10px;font-weight:700;font-size:14px;color:#334155}.lu-nav a:hover{background:#eef2ff;color:#4338ca}
.lu-sec{margin:0 0 46px;scroll-margin-top:130px}
.lu-uni{position:relative;border-radius:22px;background:#fff;border:1px solid var(--line,#e5e7eb);box-shadow:0 30px 60px -44px rgba(46,16,101,.45);overflow:hidden}
.lu-bar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:12px 14px;border-bottom:1px solid #eef0f5;background:#fbfbff}
.lu-find{flex:1 1 220px;display:flex;align-items:center;gap:8px;padding:0 12px;border:1px solid #e2e8f0;border-radius:12px;background:#fff}
.lu-find svg{width:16px;height:16px;color:#6d28d9}.lu-find input{flex:1;border:0;outline:0;padding:10px 0;font:600 14px var(--sans,system-ui);background:none;min-width:0}
.lu-chips{display:flex;flex-wrap:wrap;gap:5px}
.lu-chips button,.lu-z button{display:inline-flex;align-items:center;gap:6px;border:1px solid #e2e8f0;background:#fff;border-radius:999px;padding:6px 11px;font:700 12.5px var(--sans,system-ui);color:#334155;cursor:pointer}
.lu-chips button i{width:9px;height:9px;border-radius:50%;background:var(--c)}
.lu-chips button.on,.lu-z button.on{background:#1e1b4b;color:#fff;border-color:#1e1b4b}
.lu-z{display:flex;gap:4px;margin-left:auto}.lu-z button{border-radius:10px}
.lu-view{position:relative;height:clamp(560px,78vh,900px);cursor:grab;touch-action:none;background:radial-gradient(#ece9f6 1px,transparent 1px) 0 0/22px 22px,#fdfcff;outline:none}
.lu-view.drag{cursor:grabbing}.lu-view svg{display:block;width:100%;height:100%}
.lu-ring{fill:none;stroke:#e9e5f5;stroke-width:1.5;stroke-dasharray:3 6}
.lu-sl{font:800 13px var(--sans,system-ui);letter-spacing:.08em;opacity:.85}
.lu-e{fill:none;opacity:.5;transition:opacity .2s}.lu-co{fill:none;stroke:#0ea5e9;stroke-width:1.2;stroke-dasharray:4 5;opacity:.35}
svg.nolinks .lu-co{display:none}
.lu-n{cursor:pointer;outline:none}.lu-n .lu-c{fill:#fff;stroke:var(--c);stroke-width:3;transition:stroke-width .15s}
.lu-n.t-me .lu-c{stroke-width:5;filter:drop-shadow(0 8px 16px rgba(109,40,217,.35))}.lu-n.t-g .lu-c{fill:var(--c);stroke:#fff;stroke-width:4}
.lu-n.t-g .lu-ini{fill:#fff}.lu-ini{font-family:var(--sans,system-ui);font-weight:800;fill:#334155}
.lu-n:hover .lu-c,.lu-n:focus .lu-c{stroke-width:5}
.lu-lab{font:700 12px var(--sans,system-ui);fill:#1e293b;paint-order:stroke;stroke:#fff;stroke-width:4px;stroke-linejoin:round}
.lu-n.t-g .lu-lab{font-size:14px;font-weight:800}.lu-n.t-i .lu-lab{font-size:12.5px}.lu-n.t-me .lu-lab{font-size:16px;font-weight:800}
.lu-view.far .t-p .lu-lab{display:none}.lu-view.far .lu-n.t-p.hl .lu-lab{display:inline}
.lu-n.gone .lu-c{stroke-dasharray:3 3}
svg.focus .lu-n{opacity:.18}svg.focus .lu-n.hl{opacity:1}svg.focus .lu-e,svg.focus .lu-co{opacity:.06}svg.focus .lu-e.hl{opacity:1;stroke-width:3.4}svg.focus .lu-co.hl{opacity:.95;stroke-width:2}
.lu-n.dim,.lu-e.dim{opacity:.12}
.lu-tip{margin:0;padding:10px 14px;font-size:12.5px;color:#64748b;border-top:1px solid #eef0f5}
.lu-info{position:fixed;right:18px;bottom:18px;z-index:60;width:min(380px,calc(100vw - 36px));max-height:min(72vh,640px);overflow:auto;padding:18px;border-radius:20px;background:rgba(255,255,255,.98);box-shadow:0 30px 70px -24px rgba(30,27,75,.5);border:1px solid #ede9fe}
.lu-info[hidden]{display:none}
.lu-x{position:absolute;right:12px;top:10px;width:30px;height:30px;border-radius:50%;border:1px solid #e2e8f0;background:#fff;font-size:18px;cursor:pointer}
.lu-i-h{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:center;padding-right:28px}
.lu-i-h small{font:800 11px var(--sans,system-ui);text-transform:uppercase;letter-spacing:.06em}.lu-i-h h4{margin:2px 0 4px;font-size:19px;line-height:1.2}.lu-i-h p{margin:0;font-size:13px;color:#475569}
.lu-late{font-style:normal;font-size:12px;color:#0f766e;font-weight:600}
.lu-info dl{display:grid;grid-template-columns:auto 1fr;gap:6px 12px;margin:14px 0 0;font-size:13px}.lu-info dt{color:#64748b;font-weight:700}.lu-info dd{margin:0}
.lu-info dd button,.lu-i-r button{border:0;background:#eef2ff;color:#4338ca;border-radius:999px;padding:3px 10px 3px 3px;font:700 12px var(--sans,system-ui);cursor:pointer;display:inline-flex;align-items:center;gap:6px}
.lu-info dd button{padding:3px 10px}
.lu-i-r button small{font-weight:500;color:#64748b;margin-left:2px}
.lu-info blockquote{margin:12px 0 0;padding:10px 12px;border-left:3px solid #ec4899;background:#fdf2f8;border-radius:0 10px 10px 0;font-size:13.5px}
.lu-i-t{margin-top:12px;padding:10px 12px;border-radius:12px;background:#f0f9ff;font-size:12.5px;color:#0c4a6e;display:grid;gap:4px}.lu-i-t i{font-style:normal;color:#64748b}
.lu-i-r{margin-top:12px;display:grid;gap:6px}.lu-i-r > span{font:800 11px var(--sans,system-ui);text-transform:uppercase;letter-spacing:.06em;color:#64748b}.lu-i-r > div{display:flex;flex-wrap:wrap;gap:6px}
.lu-i-l{display:inline-block;margin-top:12px;font-weight:700;color:#4f46e5}
.lu-av{position:relative;flex:none;display:inline-grid;place-items:center;width:44px;height:44px;border-radius:50%;background:color-mix(in srgb,var(--c) 16%,#fff);box-shadow:0 0 0 2px #fff,0 0 0 4px color-mix(in srgb,var(--c) 50%,#fff);overflow:visible}
.lu-av img{width:100%;height:100%;border-radius:50%;object-fit:cover}.lu-av i{font:800 14px var(--sans,system-ui);font-style:normal;color:var(--c)}
.lu-av .v8-late{position:absolute;right:-4px;bottom:-4px;width:18px;height:18px;border-radius:50%;background:#fff;display:grid;place-items:center;font-size:12px}
.lu-av.sm{width:30px;height:30px}.lu-av.sm i{font-size:10.5px}.lu-av.xs{width:22px;height:22px;box-shadow:0 0 0 1.5px #fff,0 0 0 3px color-mix(in srgb,var(--c) 50%,#fff)}.lu-av.xs i{font-size:8.5px}
.lu-av.lg{width:56px;height:56px}.lu-av.xl{width:70px;height:70px}.lu-av.xl i{font-size:22px}
.lu-logo{flex:none;display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:#fff;border:1px solid #e2e8f0;box-shadow:inset 0 -3px 0 var(--k,#6d28d9);overflow:hidden;font:800 14px var(--sans,system-ui);color:var(--k,#6d28d9)}
.lu-logo img{width:100%;height:100%;object-fit:contain;padding:5px;box-sizing:border-box}.lu-logo.xl{width:70px;height:70px;font-size:20px}
.lu-stack{display:inline-flex;align-items:center;padding-left:8px}.lu-stack .lu-av{margin-left:-8px}.lu-stack em{margin-left:6px;font-style:normal;font-weight:800;font-size:12px;color:#64748b}.lu-stack em.z{font-weight:600;font-size:12px}
.lu-lad{list-style:none;margin:0;padding:0 0 0 28px;position:relative;display:grid;gap:18px}
.lu-lad::before{content:"";position:absolute;left:11px;top:10px;bottom:10px;width:4px;border-radius:4px;background:linear-gradient(#84cc16,#f59e0b,#ec4899,#8b5cf6,#4f46e5,#06b6d4)}
.lu-st{position:relative;padding:18px;border-radius:20px;background:#fff;border:1px solid var(--line,#e5e7eb);border-left:5px solid var(--c);display:grid;gap:12px;scroll-margin-top:130px}
.lu-st::before{content:"";position:absolute;left:-26px;top:24px;width:16px;height:16px;border-radius:50%;background:var(--c);box-shadow:0 0 0 4px #fff,0 0 0 6px color-mix(in srgb,var(--c) 30%,#fff)}
.lu-st-h{display:flex;gap:12px;align-items:center}.lu-st-h h3{margin:0;font-size:20px}.lu-st-h small{color:#64748b;font-size:13px}
.lu-st-i{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:color-mix(in srgb,var(--c) 14%,#fff);color:var(--c)}.lu-st-i svg{width:22px;height:22px}
.lu-in{padding:14px;border-radius:16px;background:#fbfbfe;border:1px solid #eef0f5;display:grid;gap:10px;scroll-margin-top:130px}
.lu-in > header{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.lu-in > header > div{flex:1;min-width:180px}.lu-in h4{margin:0;font-size:16px}.lu-in header small{color:#64748b;font-size:12.5px}
.lu-row{display:grid;gap:6px}.lu-lab{font:800 11px var(--sans,system-ui);text-transform:uppercase;letter-spacing:.07em;color:#64748b}
.lu-ppl{display:flex;flex-wrap:wrap;gap:8px}
.lu-pc{display:inline-flex;gap:9px;align-items:center;padding:5px 12px 5px 5px;border-radius:999px;border:1px solid #e5e7eb;background:#fff;cursor:pointer;text-align:left;font:inherit;transition:border-color .15s,transform .15s}
.lu-pc:hover{border-color:#c7d2fe;transform:translateY(-1px)}.lu-pc .lu-av{width:34px;height:34px}.lu-pc b{display:block;font-size:13.5px;color:#0f172a}.lu-pc small{font-size:11.5px;color:#64748b}
.lu-lv{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px}
.lu-lv > div{display:grid;gap:5px;padding:8px 10px;border-radius:12px;background:#fff;border:1px dashed #e2e8f0}.lu-lv b{font-size:12px;color:#334155}.lu-lv span{display:flex;flex-wrap:wrap;gap:6px}
.lu-loose{padding:12px 14px;border-radius:16px;background:#fbfbfe;border:1px dashed #e2e8f0}
.lu-empty{margin:0;font-size:12.5px;color:#94a3b8}
.lu-ig{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}
.lu-ic{display:grid;gap:6px;padding:16px;border-radius:18px;background:#fff;border:1px solid var(--line,#e5e7eb);border-top:4px solid var(--k);color:inherit;transition:transform .15s,box-shadow .15s}
.lu-ic:hover{transform:translateY(-2px);box-shadow:0 18px 30px -22px rgba(30,27,75,.5)}.lu-ic b{font-size:15px}.lu-ic small{color:#64748b;font-size:12.5px}
.lu-cnt{display:flex;flex-wrap:wrap;gap:4px}.lu-cnt i{font-style:normal;font-size:11.5px;font-weight:700;padding:2px 8px;border-radius:999px;background:#f1f5f9;color:#475569}
.lu-tg{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px}
.lu-tc{display:flex;gap:12px;align-items:center;padding:12px;border-radius:16px;background:#fff;border:1px solid var(--line,#e5e7eb);border-left:4px solid var(--c);cursor:pointer;text-align:left;font:inherit}
.lu-tc b{display:block}.lu-tc small{color:#64748b;font-size:12px}.lu-tc em{display:block;font-style:normal;font-size:12px;color:#0369a1;margin-top:2px}
.lu-dm{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}
.lu-dg{padding:14px;border-radius:16px;background:#fff;border:1px solid var(--line,#e5e7eb)}.lu-dg h4{margin:0 0 8px}.lu-dg div{display:flex;flex-wrap:wrap;gap:6px}
.lu-dg span{padding:4px 10px;border-radius:999px;font-size:12.5px;font-weight:700;background:color-mix(in srgb,var(--c) 14%,#fff);color:color-mix(in srgb,var(--c) 75%,#000)}
.lu-src{font-size:12.5px;color:#64748b}
@media (max-width:900px){.lu-hero{grid-template-columns:1fr}.lu-z{margin-left:0}}
@media (max-width:640px){.lu-stats{grid-template-columns:repeat(2,1fr)}.lu-view{height:70vh}.lu-lad{padding-left:18px}.lu-st::before{left:-18px}.lu-lad::before{left:5px}.lu-pc{padding-right:8px}}
.iw-ppl{display:flex;align-items:center;margin-top:6px;font-style:normal}.iw-ppl i{display:grid;place-items:center;width:24px;height:24px;margin-right:-7px;border-radius:50%;border:2px solid #fff;background:color-mix(in srgb,var(--c) 18%,#fff);color:var(--c);font:800 9.5px var(--sans,system-ui);font-style:normal;overflow:hidden}
.iw-ppl i img{width:100%;height:100%;object-fit:cover}.iw-ppl b{margin-left:13px;font-size:11.5px;color:#4338ca;font-weight:700}
.lu-view svg text{text-transform:none;letter-spacing:0}
.lu-sl{letter-spacing:.06em!important}
.lu-n.t-g .lu-lab{font-size:13px;fill:#0f172a}
.lu-pc .lu-av .v8-late,.lu-tc .lu-av .v8-late{display:none}
@media (max-width:640px){.lu-chips{flex-wrap:nowrap;overflow-x:auto;width:100%;padding-bottom:4px}.lu-chips button{flex:none}.lu-nav{flex-wrap:nowrap;overflow-x:auto}.lu-nav a{flex:none}}

/* ===== v8.33 Home → Lifeline at a glance (fits one screen) ===== */
#lifeline .lsw-head{align-items:end;margin-bottom:14px}
#lifeline .lsw-head h2{font-size:clamp(24px,2.3vw,34px)!important;line-height:1.1!important}
.lsw-kpi{display:flex;flex-wrap:wrap;gap:6px;align-items:center;justify-content:flex-end;margin:0;max-width:none!important}
.lsw-kpi span{padding:5px 11px;border-radius:999px;background:#fff;border:1px solid var(--line,#e5e7eb);font-size:12.5px;color:#475569}.lsw-kpi b{color:#0f172a;font-weight:800}
.lsw-kpi a{padding:6px 13px;border-radius:999px;background:var(--ac,#4f46e5);color:#fff!important;font-weight:700;font-size:12.5px}
#lifeline .lsw-bar{padding:8px 12px}#lifeline .lsw-btn,#lifeline .lsw-zoom button{height:34px}#lifeline .lsw-pick select{padding:7px 0}
#lifeline .lsw-body{grid-template-columns:116px minmax(0,1fr);max-height:calc(100vh - 250px);overflow-y:auto}
#lifeline .lsw-lab{font-size:11.5px;padding:0 10px}#lifeline .lsw-lab span{font-size:13px}
#lifeline .lsw-axis,#lifeline .lsw-lab.ax{height:28px}#lifeline .lsw-tick{padding-top:7px}.lsw-tick i{font-style:normal;color:#c4c0d8}
#lifeline .lsw-ch{top:5px;height:30px}
#lifeline .lsw-in,#lifeline .lsw-po,#lifeline .lsw-pp,#lifeline .lsw-nx{height:22px;font-size:11.5px}
#lifeline .lsw-in img,#lifeline .lsw-po img,#lifeline .lsw-pp img,#lifeline .lsw-in em,#lifeline .lsw-pp em{width:18px;height:18px}
#lifeline .lsw-hint{padding:6px 14px;font-size:11.5px}
@media (max-width:760px){.lsw-kpi{justify-content:flex-start}#lifeline .lsw-body{max-height:none}}

/* ===== v8.33 Route → Full journey: months and place hierarchy ===== */
.fl-mo{display:flex;gap:4px;align-items:stretch;padding:8px 2px 2px;overflow-x:auto}
.fl-mo[hidden]{display:none}
.fl-mo > b{display:grid;place-items:center;padding:0 12px;border-radius:10px;background:#0f172a;color:#fff;font:800 14px var(--sans,system-ui)}
.fl-mo button{flex:1 0 54px;display:grid;justify-items:center;gap:1px;padding:6px 4px;border-radius:10px;border:1px solid #e2e8f0;background:#fff;font:700 12px var(--sans,system-ui);color:#334155;cursor:pointer;transition:background .2s,border-color .2s}
.fl-mo button i{font-style:normal;font-size:10.5px;font-weight:800;color:#7c3aed}
.fl-mo button.z{opacity:.4;cursor:default}
.fl-mo button.done{background:#f5f3ff;border-color:#ddd6fe}
.fl-mo button.on{background:#7c3aed;border-color:#7c3aed;color:#fff;box-shadow:0 8px 18px -10px #7c3aed}.fl-mo button.on i{color:#fff}
.fl-mo button.nm{flex-basis:44px}
.fl-hi{display:flex;flex-wrap:wrap;align-items:center;gap:4px;margin:4px 0!important;font-size:12px!important}
.fl-hi span{padding:2px 8px;border-radius:999px;background:#f1f5f9;color:#334155;font-weight:700}
.fl-hi span.h0{background:#e0f2fe;color:#075985}.fl-hi span.h1{background:#ede9fe;color:#5b21b6}.fl-hi span.h2{background:#fce7f3;color:#9d174d}.fl-hi span.h3{background:#dcfce7;color:#166534}
.fl-hi i{font-style:normal;color:#94a3b8}
.fl-nm{font-size:11px!important;color:#b45309!important;margin:0!important}
