/* Laniakea Research: shared styles for the content pages (research, news, posts, about, legal).
   Same tokens as the cockpits home page (public/index.html). */
:root{--bg:#050a16;--bg2:#070e1f;--card:#0a1426;--card2:#0c1830;--line:#1e293b;--line2:#273449;--ink:#f8fafc;--txt:#cbd5e1;--sub:#9aa8bd;--mut:#7c8aa0;--acc:#38bdf8;--accL:#7dd3fc;--moon:#f5d9a8;--em:#34d399;--amb:#f5a524;--disp:Outfit,system-ui,sans-serif;--mono:'JetBrains Mono',ui-monospace,monospace}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--bg)}
body{margin:0;background:var(--bg);color:var(--txt);font-family:'DM Sans',system-ui,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden;line-height:1.6}
a{color:var(--accL)}a:hover{color:#bae6fd}
img{max-width:100%;height:auto}
.wrap{max-width:1240px;margin:0 auto;padding:0 32px}
.narrow{max-width:780px;margin:0 auto;padding:0 24px}
.kick{font-family:var(--mono);font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--accL)}
h1,h2,h3,h4{font-family:var(--disp);color:var(--ink);margin:0;line-height:1.2}
.btn{display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:0 22px;border-radius:999px;font-weight:600;font-size:15px;text-decoration:none;border:0;cursor:pointer;font-family:inherit;transition:transform .2s,background .2s,border-color .2s}
.btn-p{background:var(--ink);color:#050a16}.btn-p:hover{background:#fff;color:#050a16;transform:translateY(-1px)}
.btn-a{background:var(--acc);color:#04111f}.btn-a:hover{background:#7dd3fc;color:#04111f;transform:translateY(-1px)}
.btn-g{background:transparent;color:var(--ink);border:1px solid var(--line2)}.btn-g:hover{border-color:var(--accL);color:var(--ink)}
.btn:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #7dd3fc;outline-offset:3px}

/* header (as on the cockpits home page) */
.site-h{position:fixed;top:0;left:0;right:0;z-index:30;background:rgba(5,10,22,.72);backdrop-filter:blur(14px) saturate(1.3);-webkit-backdrop-filter:blur(14px) saturate(1.3);box-shadow:0 1px 0 rgba(148,163,184,.12)}
.site-h .in{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:72px;padding:0 28px;max-width:1440px;margin:0 auto}
.brand{display:flex;align-items:center;text-decoration:none;flex:none}.brand img{height:44px;width:auto;display:block}
.nav{display:flex;align-items:center;gap:28px;font-size:15px}
.nav>a{color:var(--txt);text-decoration:none;padding:6px 0}.nav>a:hover{color:var(--ink)}
.nav a.on{color:var(--ink);box-shadow:0 2px 0 var(--accL)}
.nav .x svg path{fill:var(--txt)}
.mnav{display:none;position:relative}.mnav summary{list-style:none;cursor:pointer;padding:8px}.mnav summary::-webkit-details-marker{display:none}
.mnav summary path{stroke:var(--ink)}
.mnav .menu{position:absolute;right:0;top:calc(100% + 8px);background:#0b1528;border:1px solid var(--line2);border-radius:16px;padding:10px;min-width:220px;box-shadow:0 20px 40px rgba(0,0,0,.5)}
.mnav .menu a{display:block;padding:12px 14px;border-radius:10px;color:var(--txt);text-decoration:none}.mnav .menu a.on{color:var(--ink);background:#13213b}
@media (max-width:860px){.nav{display:none}.mnav{display:block}.site-h .in{padding:0 16px}.brand img{height:38px}}

main{padding-top:72px}
.page-head{padding:72px 0 36px;background:radial-gradient(60% 120% at 50% 0%,rgba(56,189,248,.12),rgba(56,189,248,0) 70%)}
.page-head h1{font-size:clamp(34px,5vw,56px);letter-spacing:-.02em;margin-top:12px}
.page-head p.lead{font-size:clamp(17px,2vw,20px);color:var(--sub);max-width:760px;margin:16px 0 0}

/* cards and grids */
.grid{display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}
.card{position:relative;background:var(--card);border:1px solid var(--line);border-radius:22px;overflow:hidden;display:flex;flex-direction:column;text-decoration:none;color:var(--txt);transition:border-color .2s,transform .2s,box-shadow .2s}
a.card:hover{border-color:#2b4a72;transform:translateY(-3px);box-shadow:0 24px 50px rgba(0,0,0,.35)}
.card .im{aspect-ratio:16/9;background:#0b1629 center/cover no-repeat;border-bottom:1px solid var(--line)}
.card .bd{padding:20px 22px 22px;display:flex;flex-direction:column;gap:8px;flex:1}
.card h3{font-size:21px}
.card p{margin:0;color:var(--sub);font-size:15px}
.meta{font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--mut);display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.tag{display:inline-block;font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;padding:3px 9px;border-radius:999px;border:1px solid var(--line2);color:var(--sub)}
.tag.t-r{color:var(--accL);border-color:rgba(125,211,252,.45)}.tag.t-v{color:#c4b5fd;border-color:rgba(196,181,253,.45)}.tag.t-n{color:var(--moon);border-color:rgba(245,217,168,.45)}
.section{padding:36px 0 56px}
.section h2{font-size:clamp(24px,3vw,32px);margin-bottom:18px}

/* hub */
.hub-top{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:28px;align-items:stretch}
@media (max-width:900px){.hub-top{grid-template-columns:1fr}}
.panel{background:var(--card);border:1px solid var(--line);border-radius:22px;padding:24px}
.big-num{font-family:var(--disp);font-weight:700;font-size:clamp(44px,6vw,68px);color:var(--ink);letter-spacing:-.03em;line-height:1}
.big-num small{font-size:.35em;color:var(--sub);font-weight:500;letter-spacing:0;margin-left:6px}
.row{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.vid{position:relative;aspect-ratio:16/9;border-radius:16px;overflow:hidden;background:#000 center/cover no-repeat;border:1px solid var(--line);cursor:pointer}
.vid button{position:absolute;inset:0;width:100%;height:100%;background:rgba(2,6,14,.25);border:0;cursor:pointer;display:flex;align-items:center;justify-content:center}
.vid button span{width:68px;height:68px;border-radius:50%;background:rgba(5,10,22,.82);border:1px solid rgba(255,255,255,.25);display:flex;align-items:center;justify-content:center}
.vid iframe,.vid video{position:absolute;inset:0;width:100%;height:100%;border:0}
.vid .lbl{position:absolute;left:12px;bottom:10px;right:12px;color:#fff;font-weight:600;font-size:14px;text-shadow:0 1px 8px rgba(0,0,0,.8)}

/* article */
.art-wrap{display:grid;grid-template-columns:240px minmax(0,780px);gap:48px;justify-content:center;padding:8px 24px 64px}
@media (max-width:1100px){.art-wrap{grid-template-columns:minmax(0,780px)}.toc{display:none}}
.toc{position:sticky;top:96px;align-self:start;max-height:calc(100vh - 120px);overflow:auto;font-size:13px;border-left:1px solid var(--line);padding-left:16px}
.toc b{display:block;font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--mut);margin-bottom:10px}
.toc a{display:block;color:var(--sub);text-decoration:none;padding:5px 0;line-height:1.35}.toc a:hover{color:var(--ink)}
.prose{font-size:17.5px;line-height:1.75;color:#d5dde8}
.prose h1{font-size:30px;margin:52px 0 16px}.prose h2{font-size:25px;margin:44px 0 14px}.prose h3{font-size:20px;margin:32px 0 10px}.prose h4{font-size:17px;margin:24px 0 8px}
.prose p{margin:0 0 18px}.prose ul,.prose ol{margin:0 0 18px;padding-left:24px}.prose li{margin:0 0 8px}
.prose strong{color:var(--ink)}
.prose figure{margin:28px 0;text-align:center}.prose figure img{border-radius:12px;border:1px solid var(--line);background:#fff}
.prose figure.photo img{background:none}
.prose figcaption,.prose .src{font-size:13px;color:var(--mut);margin-top:8px}
.prose table{width:100%;border-collapse:collapse;margin:0 0 22px;font-size:15px;display:block;overflow-x:auto}
.prose th,.prose td{border:1px solid var(--line2);padding:8px 10px;text-align:left;vertical-align:top}.prose th{background:var(--card2);color:var(--ink)}
.prose blockquote{margin:0 0 18px;padding:4px 0 4px 18px;border-left:3px solid var(--acc);color:var(--sub)}
.prose a{word-break:break-word}
.note{font-size:14px;color:var(--sub);background:var(--card);border:1px solid var(--line);border-radius:14px;padding:14px 16px;margin:0 0 24px}
.note.archive{border-color:rgba(245,217,168,.35)}
.art-head{padding:56px 0 28px}
.art-head h1{font-size:clamp(30px,4.2vw,48px);letter-spacing:-.02em;margin:14px 0 14px}
.art-head .dek{font-size:19px;color:var(--sub);margin:0}
.art-img{border-radius:18px;border:1px solid var(--line);margin:0 0 32px;width:100%}

/* forms */
.form{display:grid;gap:14px;max-width:620px}
.form label{display:grid;gap:6px;font-size:14px;color:var(--sub)}
.form input,.form textarea{font:inherit;font-size:16px;color:var(--ink);background:var(--card);border:1px solid var(--line2);border-radius:12px;padding:12px 14px}
.form textarea{min-height:160px;resize:vertical}
.form .hp{position:absolute;left:-9999px}

.disc{font-size:13px;color:var(--mut);border-top:1px solid var(--line);margin-top:40px;padding-top:18px}
.site-f{border-top:1px solid var(--line);padding:28px 24px 40px;text-align:center;font-size:13px;color:var(--mut)}
.site-f a{color:var(--sub)}
.site-f .fl{display:block;margin-top:8px}

/* added with the page builder */
.small{font-size:13px;color:var(--mut);margin:12px 0 0}
.sub{color:var(--sub);margin:-8px 0 20px;font-size:15px}
.section.first{padding-top:8px}
.live .kick{margin-bottom:10px}.live .pv-what{color:var(--sub);margin:12px 0 18px}
.panel.cta{margin:32px 0 0}.panel.cta p{margin:8px 0 16px}
.grid.two{grid-template-columns:repeat(auto-fill,minmax(420px,1fr))}
@media (max-width:520px){.grid.two{grid-template-columns:1fr}}
.hubv{display:flex;flex-direction:column;gap:4px;margin-top:10px;padding-top:12px;border-top:1px solid var(--line)}
.hubv .v{font-family:var(--disp);font-weight:700;font-size:34px;color:var(--ink)}
.filters{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 24px}
.filters button{font:inherit;font-size:14px;color:var(--txt);background:transparent;border:1px solid var(--line2);border-radius:999px;padding:8px 16px;cursor:pointer}
.filters button[aria-pressed="true"]{background:var(--ink);color:#050a16;border-color:var(--ink)}
.card[hidden]{display:none}
.prose .tbl{overflow-x:auto;margin:0 0 22px}.prose .tbl table{display:table;margin:0}
.prose sup.fr{font-size:.7em;line-height:0}.prose sup.fr a{text-decoration:none;padding:0 2px}
.prose p.fn{font-size:14px;color:var(--sub);scroll-margin-top:96px}
.prose [id]{scroll-margin-top:96px}
.prose p.fn:target,.prose sup.fr:target{background:rgba(125,211,252,.12)}
.prose .gal{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;margin:24px 0}
.prose .gal img{aspect-ratio:4/3;object-fit:cover;border-radius:10px;border:1px solid var(--line);width:100%}
.prose .vid{margin:24px 0}
.toc a.l3{padding-left:12px;font-size:12.5px}
.site-f .dsc{max-width:760px;margin:0 auto 12px}

/* round 2: particles behind the content, reading aids, cockpit links */
main,.site-f{position:relative;z-index:1}
.meta .upd,.upd{color:var(--em);font-weight:600}
.rbar{position:fixed;top:72px;left:0;right:0;height:3px;z-index:29;background:transparent}
.rbar i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--acc),var(--accL));box-shadow:0 0 10px rgba(56,189,248,.5)}
.mtoc{display:none;margin:0 0 24px;background:var(--card);border:1px solid var(--line);border-radius:14px}
.mtoc summary{cursor:pointer;padding:14px 16px;font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--accL)}
.mtoc nav{padding:0 16px 12px;max-height:55vh;overflow:auto}.mtoc a{display:block;padding:8px 0;color:var(--txt);text-decoration:none;border-top:1px solid var(--line);font-size:15px}.mtoc a.l3{padding-left:12px;font-size:14px}
@media (max-width:1100px){.mtoc{display:block;position:sticky;top:84px;z-index:5}}
.prose .keybox{background:linear-gradient(180deg,#0c1b30,#0a1426);border:1px solid rgba(125,211,252,.3);border-radius:18px;padding:6px 22px 8px;margin:0 0 32px}
.prose .keybox h3{margin-top:18px;font-family:var(--mono);font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--accL)}
.prose .keybox p a{color:var(--txt);text-decoration:none;display:block;padding:10px 0;border-top:1px solid var(--line)}.prose .keybox p a:hover{color:var(--ink)}
.prose .keybox p{margin:0}
.prose p.try{margin:-4px 0 22px}
.prose p.try a{display:inline-flex;align-items:center;gap:8px;font-size:14.5px;font-weight:600;text-decoration:none;color:#04111f;background:var(--accL);border-radius:999px;padding:8px 16px;transition:background .2s,transform .2s}
.prose p.try a:hover{background:#bae6fd;transform:translateY(-1px)}
.nf{min-height:60vh;display:flex;align-items:center}

/* interactive report charts (assets/charts.js) */
.prose figure.ichart{text-align:left}
.prose figure.ichart.on>img{display:none}
.ic-box{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:16px 16px 12px}
.ic-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;margin:0 0 8px}
.ic-t{font-family:var(--disp);font-weight:600;font-size:16px;color:var(--ink);line-height:1.3}
.ic-hint{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--accL)}
.ic-c{position:relative;height:380px}.ic-c.tall{height:440px}.ic-c.hb{height:300px}
@media (max-width:640px){.ic-c{height:340px}.ic-c.tall{height:620px}.ic-hint{display:none}}
.ic-panels{display:grid;grid-template-columns:1fr 1fr;gap:18px}@media (max-width:760px){.ic-panels{grid-template-columns:1fr}}
.ic-panel .ic-c{height:300px}.ic-pt{font-size:13.5px;font-weight:600;color:var(--txt);margin:4px 0 6px;text-align:center}
.ic-pies{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}@media (max-width:640px){.ic-pies{grid-template-columns:1fr;max-width:300px;margin:0 auto}}
.ic-pc{position:relative}.ic-mid{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none}
.ic-mid b{font-family:var(--disp);font-size:20px;color:var(--ink)}.ic-mid span{font-size:11px;color:var(--mut)}
.ic-legend{display:flex;flex-wrap:wrap;gap:6px 16px;justify-content:center;margin:12px 0 2px;font-size:12.5px;color:var(--txt)}
.ic-legend i{display:inline-block;width:12px;height:12px;border-radius:3px;margin-right:6px;vertical-align:-1px;background:var(--c)}
.ic-legend i.h{background:repeating-linear-gradient(135deg,var(--c) 0 2px,transparent 2px 5px);border:1px solid var(--c)}
.prose .ic-note{font-size:13px;color:var(--mut);margin:8px 0 0}
.ic-tbl{margin:10px 0 0;font-size:13px}.ic-tbl summary{cursor:pointer;color:var(--accL);font-size:13px}
.prose .ic-tbl .tbl{margin:10px 0 0}.prose .ic-tbl table{font-size:13px}.prose .ic-tbl td,.prose .ic-tbl th{padding:5px 8px;white-space:nowrap}
.ic-pie{min-width:0}.ic-legend i.ln{height:0;border-top:2px dashed var(--c);border-radius:0;background:none;width:18px;vertical-align:3px}

/* report tables (content/tables/*.html: transcribed from the published figures) */
.prose figure.dtable{text-align:left;margin:28px 0}
.prose .dtable .tbl{margin:0;border:1px solid var(--line2);border-radius:14px;overflow-x:auto;background:var(--card)}
.prose .dtable table{width:100%;margin:0;font-size:14.5px;line-height:1.45;border-collapse:collapse;display:table}
.prose .dtable th,.prose .dtable td{border:0;border-bottom:1px solid var(--line);border-right:1px solid var(--line);padding:9px 12px;vertical-align:middle;text-align:left}
.prose .dtable tr>*:last-child{border-right:0}.prose .dtable tbody tr:last-child>*{border-bottom:0}
.prose .dtable thead th{background:#12223d;color:var(--ink);font-weight:600;font-size:13.5px}
.prose .dtable tbody th{background:var(--card2);color:var(--ink);font-weight:600}
.prose .dtable table.c td,.prose .dtable table.c th{text-align:center}.prose .dtable table.c .l{text-align:left}
.prose .dtable td.n,.prose .dtable th.n{text-align:right;font-variant-numeric:tabular-nums}
.prose .dtable td{font-variant-numeric:tabular-nums}
.prose .dtable tr.it td{font-style:italic}
.prose .dtable tr.tot td,.prose .dtable tr.tot th{font-weight:700;color:var(--ink);background:rgba(125,211,252,.07)}
.prose .dtable tr.hl td{color:var(--accL);font-weight:700}
.prose .dtable small{display:block;font-size:11.5px;font-weight:400;color:var(--sub)}
.prose .dtable tr.sm td,.prose .dtable td.sm{font-size:13px}
.prose .dtable th.side{width:34px;padding:6px 4px;background:#12223d}
.prose .dtable th.side span{writing-mode:vertical-rl;transform:rotate(180deg);white-space:nowrap;font-size:12.5px}
.prose .dtable th.side small{display:inline}
.prose .dtable .k{box-shadow:inset 1px 0 0 rgba(203,213,225,.6),inset -1px 0 0 rgba(203,213,225,.6)}
.prose .dtable tr.box>*{border-top:1px solid rgba(203,213,225,.6);border-bottom:1px solid rgba(203,213,225,.6)}
.prose .dtable table.heat td,.prose .dtable table.heat th,.prose .dtable table.sens td,.prose .dtable table.sens th{text-align:right}
.prose .dtable table.heat td.e{background:rgba(148,163,184,.04)}
.prose .dtable .g1{color:#a3e635}.prose .dtable .g2{color:#34d399}.prose .dtable .y{color:#fbbf24}.prose .dtable .r{color:#f87171}
.prose .dtable .ok{color:#34d399;font-size:18px;font-weight:700}.prose .dtable .no{color:#f87171;font-size:18px;font-weight:700}.prose .dtable .dev{color:#60a5fa;font-size:18px;font-weight:700}
.prose .dtable .devt{color:#60a5fa}.prose .dtable tr.ck td{text-align:center}
.prose .dtable .tnote{font-size:12.5px;color:var(--sub);margin:0;padding:8px 12px;border-top:1px solid var(--line)}
.prose .dtable a.orig{display:inline-block;margin-top:6px;font-size:12.5px;color:var(--mut)}
@media (max-width:640px){.prose .dtable table{font-size:13px}.prose .dtable th,.prose .dtable td{padding:7px 9px}}
.prose .dtable table.sens{font-size:12.5px}.prose .dtable table.sens th,.prose .dtable table.sens td{padding:6px 7px}
.prose .dtable table.sens thead tr:first-child th{text-align:center;font-size:12.5px}

/* click to enlarge */
.zoomable{cursor:zoom-in}
.lbx{position:fixed;inset:0;z-index:100;background:rgba(2,6,14,.92);display:flex;align-items:center;justify-content:center;padding:24px;cursor:zoom-out;animation:lbx .2s ease}
.lbx img{max-width:100%;max-height:100%;border-radius:10px;box-shadow:0 30px 80px rgba(0,0,0,.6);background:#fff}
.lbx button{position:absolute;top:14px;right:18px;width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.3);background:rgba(5,10,22,.8);color:#fff;font-size:26px;line-height:1;cursor:pointer}
@keyframes lbx{from{opacity:0}to{opacity:1}}

/* native figures: formulas, scorecards, diagrams */
.prose figure.dfig{text-align:left;margin:28px 0}
.prose .eqs{background:var(--card);border:1px solid var(--line2);border-radius:14px;padding:16px 20px;font-size:16px}
.prose .eqs.c{text-align:center}
.prose .eqs .eqh{font-weight:600;color:var(--ink);margin:14px 0 6px}.prose .eqs .eqh:first-child{margin-top:0}
.prose .eqs .eqt{margin:0 0 8px 18px;color:var(--txt)}
.prose .eqs .eq{margin:0 0 12px 18px;overflow-x:auto;overflow-y:hidden;padding:2px 0}
.prose .eqs.c .eq{margin:0}
.prose math{font-size:1.12em;color:var(--ink)}
.prose .eqs .eqn{color:var(--sub);font-size:14.5px}
.prose .dtable p.ttl{margin:0;padding:12px 14px;font-family:var(--disp);font-weight:600;color:var(--ink);border-bottom:1px solid var(--line)}
.rbar5{display:inline-flex;gap:3px;vertical-align:middle}.rbar5 i{width:18px;height:10px;border-radius:2px;background:#3b4658;font-style:normal;position:relative}
.rbar5 i.r5{background:#16a34a}.rbar5 i.r4{background:#84cc16}.rbar5 i.r3{background:#eab308}.rbar5 i.r2{background:#f97316}.rbar5 i.r1{background:#dc2626}
.rbar5 i.q::after{content:'?';position:absolute;inset:-2px 0 0;font-size:9px;color:#e2e8f0;text-align:center;line-height:12px}
.prose .dtable table.fsd td{text-align:center;vertical-align:top;padding:12px 8px}.prose .dtable table.fsd td b{display:block;color:var(--ink);font-size:13.5px;line-height:1.3}
.prose .dtable table.fsd td>span:not(.rbar5){display:block;font-size:12px;color:var(--sub);margin-bottom:8px}.prose .dtable table.fsd td .rbar5{margin-top:8px}
.prose .dtable table.fsd thead th{text-align:center}.prose .dtable table.fsd thead small{display:block;font-weight:400;color:var(--sub)}
.prose .dtable table.fsd td.leg{text-align:left;font-size:12px;color:var(--txt)}.prose .dtable td.leg ul{list-style:none;padding:0;margin:0 0 6px}.prose .dtable td.leg li{margin:0 0 4px;display:flex;gap:8px;align-items:center}
.prose .dtable td.leg p{margin:0;font-size:11.5px;color:var(--sub)}
.prose .flow{display:flex;align-items:stretch;gap:6px;flex-wrap:wrap;justify-content:center}
.prose .flow .st{flex:1 1 140px;background:var(--card);border:1px solid var(--line2);border-radius:14px;padding:14px 12px;text-align:center;display:flex;flex-direction:column;gap:4px;justify-content:center}
.prose .flow .st b{color:var(--ink);font-family:var(--disp);font-size:15px;line-height:1.25}.prose .flow em{font-style:normal;color:var(--accL);font-weight:700;font-size:17px}.prose .flow small{font-size:12px;color:var(--sub)}
.prose .flow .ar{align-self:center;color:var(--acc);font-size:30px;line-height:1}
@media (max-width:640px){.prose .flow .ar{transform:rotate(90deg);width:100%;text-align:center}}

/* report tools (assets/tools.js) */
.prose .tool{margin:28px 0;background:linear-gradient(180deg,#0d1d35,#0a1426);border:1px solid rgba(125,211,252,.35);border-radius:18px;padding:20px 22px;font-size:15px}
.tl-h{margin:0 0 16px}.tl-k{display:block;font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--accL);margin-bottom:6px}
.tl-h b{font-family:var(--disp);font-size:19px;color:var(--ink);line-height:1.3;display:block}
.tl-g{display:grid;grid-template-columns:1fr 1fr;gap:24px}@media (max-width:700px){.tl-g{grid-template-columns:1fr}}
.tl-s{display:block;margin:0 0 14px}.tl-l{display:flex;justify-content:space-between;gap:10px;font-size:13.5px;color:var(--txt);margin-bottom:4px}.tl-l b{color:var(--ink);white-space:nowrap}
.tl-s input{width:100%;accent-color:#38bdf8}
.tl-reset{font:inherit;font-size:13px;color:var(--accL);background:none;border:1px solid var(--line2);border-radius:999px;padding:6px 14px;cursor:pointer}
.tl-big{margin:0 0 12px}.tl-big span{display:block;font-size:13px;color:var(--sub)}.tl-big b{font-family:var(--disp);font-size:34px;color:var(--ink);line-height:1.1}
.tl-bar{margin:26px 0 6px}.tl-track{position:relative;height:10px;border-radius:999px;background:rgba(148,163,184,.2)}
.tl-track.be{margin-top:34px}
.tl-zone{position:absolute;left:0;top:0;bottom:0;border-radius:999px;background:rgba(52,211,153,.45);transition:width .2s}
.tl-line{position:absolute;top:-6px;bottom:-6px;width:3px;margin-left:-1px;background:#34d399;transition:left .2s}
.tl-ref{position:absolute;top:-4px;bottom:-4px;width:2px;background:rgba(203,213,225,.7)}
.tl-ref em{position:absolute;bottom:16px;left:50%;transform:translateX(-50%);white-space:nowrap;font-style:normal;font-size:10.5px;color:var(--sub);text-align:center;line-height:1.2}
.tl-ref.s1 em{bottom:auto;top:16px}
.tl-track.be+.tl-sc{margin-top:30px}
.tl-dot{position:absolute;top:50%;width:16px;height:16px;margin:-8px 0 0 -8px;border-radius:50%;background:#38bdf8;box-shadow:0 0 0 3px #0a1426,0 0 12px rgba(56,189,248,.7);transition:left .2s}
.tl-sc{display:flex;justify-content:space-between;font-size:11px;color:var(--mut);margin-top:8px}
.prose .tl-note{font-size:14px;color:var(--txt);margin:14px 0 0}
.prose .tl-foot{font-size:12px;color:var(--mut);margin:14px 0 0}
.tl-sc.abs{position:relative;height:14px;display:block}.tl-sc.abs span{position:absolute;transform:translateX(-50%)}.tl-sc.abs span:first-child{transform:none}.tl-sc.abs span:last-child{transform:translateX(-100%)}
.hub-top>.vid{align-self:center;width:100%}
.tl-track.be{margin-top:58px;margin-bottom:40px}
.tl-ref.a1 em{bottom:16px}.tl-ref.a2 em{bottom:44px}.tl-ref.b1 em{bottom:auto;top:16px}
@media (min-width:701px){.prose .flow{flex-wrap:nowrap}.prose .flow .st{flex:1 1 0;min-width:0}}
.card .im{position:relative}.card .im .credit{position:absolute;right:8px;bottom:6px;font-size:10.5px;color:rgba(255,255,255,.85);text-shadow:0 1px 4px rgba(0,0,0,.8)}
/* FSD legend smaller */
.prose .dtable table.fsd td.leg{font-size:10.5px;line-height:1.3}.prose .dtable td.leg li{margin:0 0 2px;gap:6px}.prose .dtable td.leg .rbar5{gap:2px;margin:0}.prose .dtable td.leg .rbar5 i{width:10px;height:6px}
.prose .dtable td.leg .rbar5 i.q::after{font-size:6px;line-height:7px}.prose .dtable td.leg p{font-size:10px}
/* competitive matrix: fit without sideways scrolling */
.prose .dtable table.cm{table-layout:fixed;font-size:13px}.prose .dtable table.cm th,.prose .dtable table.cm td{padding:7px 4px;overflow-wrap:anywhere;hyphens:auto}
.prose .dtable table.cm th.l{width:19%}.prose .dtable table.cm .ok,.prose .dtable table.cm .no,.prose .dtable table.cm .dev{font-size:16px}
@media (max-width:640px){.prose .dtable table.cm{font-size:9.5px}.prose .dtable table.cm th,.prose .dtable table.cm td{padding:5px 2px}.prose .dtable table.cm th.l{width:22%}.prose .dtable table.cm small{font-size:8.5px}.prose .dtable table.cm .ok,.prose .dtable table.cm .no,.prose .dtable table.cm .dev{font-size:13px}}
/* scroll reveal (off for reduced motion: the class is only added by script when motion is allowed) */
.rv{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}
.rv.rv-in{opacity:1;transform:none}
.rv .rbar5 i{transform:scaleX(0);transform-origin:left;transition:transform .45s ease}
.rv.rv-in .rbar5 i{transform:scaleX(1)}
.rv.rv-in .rbar5 i:nth-child(2){transition-delay:.08s}.rv.rv-in .rbar5 i:nth-child(3){transition-delay:.16s}.rv.rv-in .rbar5 i:nth-child(4){transition-delay:.24s}.rv.rv-in .rbar5 i:nth-child(5){transition-delay:.32s}
.rv.dtable table.heat td.v{transition:background-color 1s ease .2s}
.rv:not(.rv-in) table.heat td.v{background-color:transparent!important}
.prose .dtable table.fsd td.leg{font-size:9.5px!important;line-height:1.25;padding:8px 8px}
.prose .dtable table.fsd td.leg li{margin:0 0 1px}.prose .dtable table.fsd td.leg p{font-size:9px;margin-top:4px}
.prose .dtable table.fsd td.leg .rbar5 i{width:8px;height:5px}
@media (max-width:640px){.prose .dtable table.cm{font-size:8.5px}.prose .dtable table.cm th,.prose .dtable table.cm td{overflow-wrap:normal;word-break:normal;hyphens:manual}.prose .dtable table.cm tr.sm td{font-size:8px}}
@media (max-width:640px){.prose .dtable table.cm thead th{font-size:10px}}
.vgrid2{grid-template-columns:repeat(auto-fill,minmax(360px,1fr))}@media (max-width:520px){.vgrid2{grid-template-columns:1fr}}
.vcard2{background:var(--card);border:1px solid var(--line);border-radius:22px;overflow:hidden}.vcard2 .vid{border-radius:0;border:0;border-bottom:1px solid var(--line)}
.vcard2 .vb{padding:16px 20px 20px}.vcard2 b{font-family:var(--disp);color:var(--ink);font-size:19px}.vcard2 .vm{margin-left:10px;font-family:var(--mono);font-size:12px;color:var(--mut)}.vcard2 p{margin:6px 0 0;color:var(--sub);font-size:15px}
