
:root{
  --ink:#1e2531; --ink2:#252d3b; --ink3:#2c3546; --line:#374154; --line2:#465167;
  --text:#d8dee6; --mute:#a3afbd; --dim:#7f8c9c;
  --orange:#86c5b4; --sky:#6cbcf2; --pink:#fe3edb; --green:#6ee7b7; --amber:#eab308; --rose:#f43f5d; --violet:#a78bfa;
  --sans:Inter,system-ui,-apple-system,'Segoe UI',Helvetica,Arial,sans-serif;
  --mono:var(--sans);
  --code:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ink);color:var(--text);font-family:var(--sans);font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased}
a{color:var(--sky)}
img{max-width:100%;display:block}
code,.mono{font-family:var(--code)}
code{font-size:.82em;background:#ffffff0f;padding:1px 6px;border-radius:5px;color:#d7e3ec}
h1,h2,h3,h4{margin:0;font-weight:600;letter-spacing:-.01em;line-height:1.15}

/* ---------- shell ---------- */
.shell{display:grid;grid-template-columns:292px 1fr;min-height:100vh}
nav.side{position:sticky;top:0;height:100vh;overflow:auto;background:var(--ink2);border-right:1px solid var(--line);padding:22px 14px 40px}
nav.side .brand{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:2px 10px 18px;border-bottom:1px solid var(--line);margin-bottom:14px}
nav.side .brand svg.wm{height:22px;width:auto;fill:#F06A1D;display:block}
nav.side .brand span{font-size:12px;color:var(--mute)}
nav.side .grp{font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--dim);padding:16px 10px 6px}
nav.side a{display:flex;align-items:flex-start;gap:10px;padding:7px 10px;line-height:1.35;border-radius:8px;color:#c4ced6;text-decoration:none;font-size:13.5px;cursor:pointer}
nav.side a svg{width:16px;height:16px;flex:none;opacity:.8;margin-top:2px}
nav.side a:hover{background:#ffffff0a}
nav.side a.on{background:#ffffff14;color:#fff}
nav.side a.on svg{color:var(--orange);opacity:1}
nav.side a .dot{margin-left:auto;margin-top:6px;width:8px;height:8px;border-radius:50%;flex:none}
main{min-width:0}
.hero{position:relative;height:340px;overflow:hidden;border-bottom:1px solid var(--line);background:radial-gradient(1200px 400px at 70% 0%,#10303f55,transparent),var(--ink)}
.hero canvas{position:absolute;inset:0;width:100%;height:100%}
.hero .in{position:absolute;left:48px;right:48px;bottom:34px}
.hero .eyebrow{font-family:var(--mono);font-size:11.5px;letter-spacing:.2em;color:var(--orange);text-transform:uppercase}
.hero h1{font-size:54px;font-weight:500;letter-spacing:-.03em;margin:10px 0 12px;max-width:900px}
.hero p{margin:0;max-width:760px;color:#b7c3cc;font-size:17px;font-weight:300}
.page{padding:40px 48px 120px;max-width:1360px}
.page>h2.title{font-size:34px;font-weight:500;letter-spacing:-.02em;margin-bottom:6px;display:flex;align-items:center;gap:14px}
.page>h2.title svg{width:30px;height:30px;color:var(--orange)}
.page>.lede{color:var(--mute);font-size:16.5px;font-weight:300;max-width:860px;margin:0 0 30px}
.sec{margin:46px 0 0}
.sec>h3{font-size:12px;font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--orange);margin-bottom:14px;display:flex;align-items:center;gap:12px}
.sec>h3:after{content:'';flex:1;height:1px;background:var(--line)}
.sec>h4{font-size:20px;font-weight:500;margin:0 0 6px}
.sec>p.sub{color:var(--mute);margin:0 0 16px;max-width:860px}

/* ---------- atoms ---------- */
.grid{display:grid;gap:18px}
.g2{grid-template-columns:repeat(2,minmax(0,1fr))}
.g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.g4{grid-template-columns:repeat(4,minmax(0,1fr))}
.g5{grid-template-columns:repeat(5,minmax(0,1fr))}
.g6{grid-template-columns:repeat(6,minmax(0,1fr))}
@media(max-width:1250px){.g4,.g5,.g6{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(2,minmax(0,1fr))}}
.card{background:var(--ink2);border:1px solid var(--line);border-radius:14px;padding:18px}
.card h5{margin:0 0 6px;font-size:15px;font-weight:600}
.card p{margin:0;color:var(--mute);font-size:13.5px}
.fig{margin:0;background:var(--ink2);border:1px solid var(--line);border-radius:12px;overflow:hidden;position:relative}
.fig img{width:100%;height:auto;cursor:zoom-in;background:#000}
.fig figcaption{padding:10px 12px 11px;font-size:12.5px;color:var(--mute);display:flex;gap:8px;align-items:flex-start;justify-content:space-between;border-top:1px solid var(--line)}
.fig figcaption b{color:var(--text);font-weight:600}
.fig.tight img{max-height:none}
.fig .tag{position:absolute;top:10px;left:10px;font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;background:#000000b3;backdrop-filter:blur(6px);color:#fff;padding:3px 8px;border-radius:999px;border:1px solid #ffffff22}
.ev{font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;padding:2px 7px;border-radius:999px;border:1px solid;white-space:nowrap;flex:none}
.ev.S{color:#6ee7b7;border-color:#6ee7b755;background:#6ee7b714}
.ev.C{color:#6cbcf2;border-color:#6cbcf255;background:#6cbcf214}
.ev.K{color:#c4b5fd;border-color:#c4b5fd55;background:#c4b5fd14}
.ev.U{color:#fbbf24;border-color:#fbbf2455;background:#fbbf2414}
.io{font-size:12px;padding:2px 8px;border-radius:6px;background:#ffffff0d;color:#c9d3da;white-space:nowrap}
.chip{height:92px;padding:9px 10px;display:flex;flex-direction:column;justify-content:flex-end;font-family:var(--mono);min-width:0;position:relative}
.chip b{font-size:12.5px;font-weight:700;letter-spacing:.02em}
.chip span{font-size:10.5px;opacity:.85;line-height:1.25;margin-top:2px}
.strip{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;border-radius:12px;overflow:hidden;border:1px solid #ffffff22}
.strip.tall .chip{height:120px}
.lab{font-size:12px;color:var(--mute);margin:0 0 8px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.lab b{color:var(--text);font-size:14px;font-weight:600}
.call{border-left:3px solid var(--orange);background:linear-gradient(90deg,#86c5b414,transparent);padding:14px 18px;border-radius:0 12px 12px 0;margin:18px 0}
.call h5{margin:0 0 4px;font-size:15px}
.call p{margin:0;color:#c3ced6;font-size:14px}
.call.good{border-color:var(--green);background:linear-gradient(90deg,#6ee7b714,transparent)}
.call.sky{border-color:var(--sky);background:linear-gradient(90deg,#6cbcf214,transparent)}
.kpi{background:var(--ink2);border:1px solid var(--line);border-radius:14px;padding:16px 18px;position:relative;overflow:hidden}
.kpi b{font-size:44px;font-weight:500;letter-spacing:-.03em;line-height:1;display:block}
.kpi span{display:block;margin-top:8px;color:var(--mute);font-size:13px}
.kpi:before{content:'';position:absolute;right:-30px;top:-30px;width:110px;height:110px;border-radius:50%;border:1px solid #ffffff12;box-shadow:0 0 0 14px #ffffff06,0 0 0 28px #ffffff04}
table.tb{width:100%;border-collapse:separate;border-spacing:0;font-size:13.5px}
table.tb th{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--dim);text-align:left;padding:10px 12px;border-bottom:1px solid var(--line2);position:sticky;top:0;background:var(--ink);white-space:nowrap}
table.tb td{padding:12px;border-bottom:1px solid var(--line);vertical-align:top}
table.tb tr:hover td{background:#ffffff05}
table.tb td:first-child{font-weight:600;white-space:nowrap}
.filters{display:flex;gap:8px;margin:0 0 14px;flex-wrap:wrap}
.filters button{background:var(--ink2);border:1px solid var(--line2);color:#c6d0d8;border-radius:999px;padding:6px 14px;font:inherit;font-size:13px;cursor:pointer}
.filters button.on{background:#fff;color:#111;border-color:#fff}
.pillrow{display:flex;gap:6px;flex-wrap:wrap}
.appdot{display:inline-flex;align-items:center;gap:6px;font-size:12px;padding:2px 9px 2px 6px;border-radius:999px;background:#ffffff0d;color:#d3dce3;white-space:nowrap}
.appdot i{width:9px;height:9px;border-radius:50%;display:inline-block}
.theme-card{display:grid;grid-template-columns:minmax(260px,420px) 1fr;gap:20px;align-items:start;padding:18px;background:var(--ink2);border:1px solid var(--line);border-radius:16px}
.theme-card+.theme-card{margin-top:16px}
@media(max-width:1100px){.theme-card{grid-template-columns:1fr}}
.kv{display:grid;grid-template-columns:auto 1fr;gap:4px 14px;font-size:13px;margin:10px 0 0}
.kv dt{color:var(--dim);font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;padding-top:2px}
.kv dd{margin:0;color:#d4dde4}
.bar{display:flex;height:22px;border-radius:6px;overflow:hidden;background:#ffffff0d;font-family:var(--mono);font-size:10.5px}
.bar i{display:flex;align-items:center;justify-content:center;font-style:normal;color:#04121a;font-weight:700;min-width:2px;overflow:hidden}
.iconcell{display:flex;flex-direction:column;align-items:center;gap:8px;padding:14px 4px 10px;border-radius:10px;background:#ffffff08;border:1px solid #ffffff0d;min-width:0}
.iconcell svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.iconcell em{font-style:normal;font-family:var(--mono);font-size:9.5px;color:var(--dim);text-align:center;word-break:break-all;line-height:1.2}
.iconsheet{display:grid;grid-template-columns:repeat(auto-fill,minmax(86px,1fr));gap:8px}
.btnx{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--sans);font-size:14px;font-weight:500;border:1px solid transparent;cursor:default;white-space:nowrap}
.legend{display:flex;gap:16px;flex-wrap:wrap;font-size:12px;color:var(--mute);margin:0 0 14px}
.legend span{display:inline-flex;gap:6px;align-items:center}

/* finding notes */
.dp{display:inline-flex;align-items:center;gap:7px;white-space:nowrap}
.dp b{width:24px;height:24px;border-radius:7px;display:inline-grid;place-items:center;font-family:var(--mono);font-size:12.5px;font-weight:700;flex:none}
.dp small{font-size:11.5px;color:var(--mute)}
.dp.d4 b{background:#f43f5d;color:#fff}
.dp.d3 b{background:#f06a1d;color:#fff}
.dp.d2 b{background:#eab308;color:#1a1400}
.dp.d1 b{background:#52525b;color:#fff}
.dp.none b{border:1px dashed #ffffff44;color:var(--dim);font-weight:400}
.pcell{display:grid;gap:7px;justify-items:start}
.hnote{margin:9px 0 0;padding:9px 12px;border-left:2px solid #6cbcf299;background:#6cbcf20d;border-radius:0 8px 8px 0;font-size:12.5px;color:#c9d6e0;line-height:1.5}
.hnote b{color:#6cbcf2;font-weight:600}
.hnote q{color:#fff;quotes:'“' '”'}
.hnote .rec{display:block;margin-top:4px}
.hnote a{font-size:12px}
.dpcard{display:flex;flex-direction:column;gap:10px}
.dpcard .dph{display:flex;align-items:center;gap:10px}
.dpcard .dph h5{margin:0}
.dpcard p.q,.dpcard p.x{font-size:12.5px;border-top:1px solid var(--line);padding-top:8px}
.dpcard p b{display:block;font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--dim);font-weight:400;margin-bottom:2px}
.dpcard p.q{color:#d4dde4;font-style:italic}
.filters.dtf{margin-top:-6px;align-items:center}
.filters .flab{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--dim);margin-right:2px}
.mcount{font-size:12.5px;color:var(--mute);margin:0 0 10px}
.tbl-sm td,.tbl-sm th{font-size:13px}
table.tb.side td:first-child{white-space:normal}
table.tb tr.hot td{background:#86c5b412}
table.tb tr.hot td:first-child{box-shadow:inset 3px 0 0 #86c5b4}
.filters button i{font-style:normal;opacity:.55;margin-left:4px;font-size:12px}
.filters button.on i{opacity:.7}
.kitgap{margin:16px 0 0;padding:9px 12px;border-radius:8px;font-size:13px;color:#c3ced6;background:#ffffff08;border:1px dashed var(--line2)}
.kitgap.gap{border-color:#86c5b477;background:#86c5b40f}
.kitgap.ok{border-color:#6ee7b755}
.sh{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);font-weight:400;margin:22px 0 10px}
.dq{color:#fff;font-weight:400}
.dq:before{content:'“'}.dq:after{content:'”'}

/* lightbox */
#lb{position:fixed;inset:0;background:#000000e6;z-index:50;display:none;align-items:center;justify-content:center;padding:30px;cursor:zoom-out}
#lb.on{display:flex}
#lb img{max-width:100%;max-height:100%;border-radius:8px;box-shadow:0 20px 80px #000}
#lb span{position:absolute;bottom:14px;left:0;right:0;text-align:center;color:#b6c2cb;font-size:13px}

/* live state demos */
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes loadbar{0%{transform:translateX(-100%)}100%{transform:translateX(100%)}}
@keyframes pulse{50%{opacity:.45}}
.sp-lucide{animation:spin 1s linear infinite}
.sp-gradient{width:44px;height:44px;border-radius:50%;position:relative}
.sp-gradient:before,.sp-gradient:after{content:'';position:absolute;inset:0;border-radius:50%;-webkit-mask:radial-gradient(closest-side,transparent calc(77% - .5px),#000 77%,#000 89%,transparent calc(89% + .5px));mask:radial-gradient(closest-side,transparent calc(77% - .5px),#000 77%,#000 89%,transparent calc(89% + .5px))}
.sp-gradient:before{background:#1e3f5f33}
.sp-gradient:after{background:conic-gradient(from 0deg,#ee00c5,#c94fe8,#8a9ee8,#6cbcf2,#ee00c5);animation:spin 1s linear infinite}
.lb{height:6px;border-radius:99px;overflow:hidden;position:relative;width:100%}
.lb i{position:absolute;inset:0;width:100%;animation:loadbar 1s linear infinite}
.skel{background:#ffffff14;border-radius:6px;animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}

@media(max-width:980px){.shell{grid-template-columns:1fr}nav.side{position:static;height:auto}.page{padding:28px 20px 80px}.hero h1{font-size:36px}.hero .in{left:20px;right:20px}}

/* category structure */
nav.side .grp small{display:block;margin-top:3px;font-family:inherit;font-size:11.5px;letter-spacing:0;text-transform:none;color:var(--mute)}
.gq{display:flex;flex-direction:column;gap:3px;margin:0 0 6px;font-size:13px;color:var(--mute)}
.gq b{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--orange);font-weight:400}
.gq span{font-style:italic;color:#c3ced6}
.mcat{display:block;font-size:11px;color:var(--dim);margin-top:2px}
.legend.sources{border:1px solid var(--line2);border-radius:10px;padding:8px 14px;background:var(--ink2)}
.legend.sources b{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--dim);font-weight:400}

/* unified findings */
.finding{margin:46px 0 0;padding:22px 24px 24px;border:1px solid var(--line2);border-radius:18px;background:linear-gradient(180deg,#ffffff06,transparent 160px);scroll-margin-top:16px}
.finding .fh{display:flex;align-items:baseline;gap:14px;margin:0 0 12px}
.finding .fh h3{font-size:22px;font-weight:500;letter-spacing:-.015em;line-height:1.2}
.finding .fn{font-family:var(--mono);font-size:11.5px;letter-spacing:.12em;color:var(--orange);border:1px solid #86c5b466;border-radius:7px;padding:2px 8px;flex:none}
.finding .fapps{margin:0 0 12px}
.finding .fstmt{margin:0 0 6px;font-size:15.5px;color:#d7e0e6;max-width:900px}
.finding .sec{margin:30px 0 0}
.finding .sec>h3{font-size:11px}
.finding .call{margin:16px 0}
.finding .hnote{max-width:900px;margin:12px 0 4px}
table.findex td:first-child{font-family:var(--mono);font-size:12px}
table.findex td:first-child a{text-decoration:none;color:var(--orange)}
.fcode{font-family:var(--mono);font-size:11.5px;color:var(--orange);text-decoration:none}
.cmp{width:100%}
.cmp td,.cmp th{font-size:13px}
.cmp td:first-child{white-space:normal;min-width:120px}
.finding .fnote{margin:0 0 8px;font-size:13px;color:var(--mute);max-width:900px}

/* ======== skim layer: evidence tags, figures, measure ======== */
.ev{--c:#9aa7b2;display:inline-flex;align-items:center;gap:5px;color:var(--mute);border-color:#ffffff1f;background:transparent;transition:color .15s,border-color .15s}
.ev:before{content:'';width:6px;height:6px;border-radius:50%;background:var(--c);flex:none}
.ev.S{--c:#6ee7b7}.ev.C{--c:#6cbcf2}.ev.K{--c:#c4b5fd}.ev.U{--c:#fbbf24}
.ev.S,.ev.C,.ev.K,.ev.U{color:var(--mute);border-color:#ffffff1f;background:transparent}
.ev:hover,.fig:hover .ev,.legend .ev,.card .ev{color:var(--c);border-color:color-mix(in srgb,var(--c) 45%,transparent)}
.fig{border-color:var(--line2);border-radius:12px}
.fig figcaption{flex-direction:column;align-items:flex-start;gap:7px;padding:10px 12px 11px;font-size:12.5px;line-height:1.45;color:var(--mute)}
.fig .cap{max-width:70ch}
.page>.lede,.sec>p.sub,.finding .fstmt,.finding .fnote{max-width:70ch}
.page>.lede{font-size:17px;line-height:1.55}

/* ======== sticky bar + audience switch ======== */
.bar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:8px 48px;background:rgba(10,13,16,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.ft:focus-visible,.info:focus-visible,.gl:focus-visible{outline:2px solid var(--sky);outline-offset:2px}
@media(max-width:980px){.bar{padding:8px 16px}}

/* ======== tooltips + glossary ======== */
#tip{position:fixed;z-index:60;max-width:330px;padding:9px 12px;background:#2c3546;border:1px solid var(--line2);border-radius:10px;font-size:12.5px;line-height:1.5;color:#dfe7ec;box-shadow:0 12px 40px #000a;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .12s}
#tip.on{opacity:1;visibility:visible}
.gl{border-bottom:1px dotted var(--sky);cursor:help;color:inherit}
.info{width:18px;height:18px;border-radius:50%;border:1px solid var(--line2);background:transparent;color:var(--mute);font:italic 600 11px/1 var(--sans);cursor:help;padding:0;display:inline-grid;place-items:center}
.info:hover{color:#fff;border-color:#ffffff66}

/* ======== finding card ======== */
.finding{margin:36px 0 0;padding:26px 28px 20px;scroll-margin-top:72px;border-radius:18px}
.finding .fh{align-items:center;gap:16px;margin:0 0 6px}
.finding .fh h3{font-size:28px;font-weight:500;letter-spacing:-.02em;line-height:1.15;max-width:44ch}
.fn{font-family:var(--mono);font-size:12px;letter-spacing:.12em;color:var(--orange);border:1px solid #86c5b466;border-radius:7px;padding:2px 8px;flex:none;white-space:nowrap}
.finding .fapps{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 4px}
.finding .fstmt.lead{margin:14px 0 0;font-size:16px;line-height:1.55;color:#d7e0e6}
.ft{background:none;border:0;border-bottom:2px solid transparent;margin-bottom:-1px;color:var(--mute);font:inherit;font-size:13.5px;padding:9px 14px;cursor:pointer;border-radius:8px 8px 0 0}
.ft:hover{color:#fff;background:#ffffff08}
.ft[aria-selected=true]{color:#fff;border-bottom-color:var(--orange)}
.finding .hnote,.finding .kitgap{max-width:80ch}

/* ======== overview ======== */
.say{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:28px;align-items:start;margin:8px 0 0;padding:26px 28px;border:1px solid var(--line2);border-radius:18px;background:linear-gradient(135deg,#86c5b410,transparent 55%),var(--ink2)}
.say h3{font-family:var(--mono);font-size:12px;font-weight:400;letter-spacing:.18em;text-transform:uppercase;color:var(--orange);margin-bottom:14px}
.say ol{margin:0;padding:0;list-style:none;display:grid;gap:12px;counter-reset:s;max-width:70ch}
.say li{counter-increment:s;position:relative;padding-left:34px;font-size:16px;line-height:1.5;color:#c3ced6}
.say li:before{content:counter(s);position:absolute;left:0;top:2px;width:22px;height:22px;border-radius:50%;border:1px solid #86c5b477;color:var(--orange);font-family:var(--mono);font-size:11.5px;display:grid;place-items:center}
.say li b{color:#fff;font-weight:600}
@media(max-width:1100px){.say{grid-template-columns:1fr}}
.starts{gap:14px}
details.disc{margin:16px 0 0;border:1px solid var(--line);border-radius:14px;background:var(--ink2)}
details.disc>summary{cursor:pointer;list-style:none;padding:15px 18px;font-size:16px;font-weight:500;display:flex;align-items:baseline;gap:12px;border-radius:14px}
details.disc>summary::-webkit-details-marker{display:none}
details.disc>summary:before{content:'';flex:none;align-self:center;width:7px;height:7px;border-right:2px solid var(--orange);border-bottom:2px solid var(--orange);transform:rotate(-45deg);transition:transform .15s;margin-right:4px}
details.disc[open]>summary:before{transform:rotate(45deg)}
details.disc>summary small{font-size:13px;font-weight:400;color:var(--dim)}
details.disc>summary:hover{background:#ffffff06}
details.disc>summary:focus-visible{outline:2px solid var(--sky);outline-offset:-2px}
details.disc details.disc{background:transparent}
.starts+.legend.sources,.sec+.legend.sources{margin-top:18px}

.stripgrp{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);margin:14px 0 6px}
.stripgrp:first-child{margin-top:0}
.chip span{overflow-wrap:anywhere}

.strip.short .chip{height:72px}

.appdot.guess{box-shadow:inset 0 0 0 1px #ffffff40;background:transparent}
.appdot.none i{background:#71717a}

/* ===== one type scale =====
   page title 34 · section 24 · finding title 26 · sub-section 17 · body 15–16 · supporting 13.5 · labels 11 (mono caps, tables only) */
body{font-size:15px;line-height:1.6}
.hero p,.page>.lede{font-weight:400}
.page>.lede{font-size:17px;line-height:1.6;color:var(--mute)}
.applist{margin:0 0 4px}
.sec>h3{display:block;font-family:var(--sans);font-size:24px;font-weight:500;letter-spacing:-.015em;text-transform:none;color:var(--text);margin:0 0 8px;line-height:1.2}
.sec>h3:after{display:none}
.sec>p.sub{font-size:14.5px;line-height:1.6;color:var(--mute);margin:0 0 18px}
.finding .fh h3{font-size:26px;line-height:1.2}
.finding .fstmt,.finding .fstmt.lead{font-size:16px;line-height:1.6;color:var(--text);margin:14px 0 6px}
.finding .fnote{font-size:14px;color:var(--mute)}
.finding .sec{margin:34px 0 0;padding-top:24px;border-top:1px solid var(--line)}
.finding .sec>h3{font-size:18px;font-weight:600;margin-bottom:6px}
.finding .sec>p.sub{font-size:14px}
.lab b{font-size:14.5px}
.card h5,.call h5{font-size:15px;font-weight:600;color:var(--text)}
.card p,.call p{font-size:14px;line-height:1.55}
table.tb{font-size:14px}
table.tb th{font-size:10.5px;color:var(--mute)}
.hnote{font-size:13.5px;line-height:1.55}
.fig figcaption{font-size:13px;line-height:1.5}
.kpi span{font-size:13.5px}
.evu{font-size:12px;font-style:italic;color:#fbbf24;white-space:nowrap}
.evtxt{font-size:12.5px;color:var(--mute)}
.evfoot{margin:28px 0 0;padding-top:14px;border-top:1px dashed var(--line);font-size:12px;color:var(--dim);max-width:none}
p.evfoot{max-width:none}
.finding .fh h3{font-weight:600}
.finding .fstmt{max-width:68ch}

/* ===== finding: lead with the point, keep the write-up one click away ===== */
.finding .fstmt{font-size:18px;line-height:1.5;color:var(--text);margin:16px 0 4px;max-width:60ch}
.finding .hnote{margin:14px 0 4px}
.finding details.more{margin:10px 0 4px;max-width:70ch}
.finding details.more>summary{cursor:pointer;display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--mute);list-style:none;padding:2px 0}
.finding details.more>summary::-webkit-details-marker{display:none}
.finding details.more>summary:before{content:'+';display:inline-grid;place-items:center;width:16px;height:16px;border:1px solid var(--line2);border-radius:5px;font-size:12px;line-height:1}
.finding details.more[open]>summary:before{content:'–'}
.finding details.more>summary:hover{color:var(--text)}
.finding .fdetail{margin:8px 0 6px;font-size:14.5px;line-height:1.65;color:var(--mute)}
.finding details.more .fnote{margin:6px 0;font-size:14px}

.fold{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.fold.open{display:block;-webkit-line-clamp:unset;overflow:visible}
.foldbtn{background:none;border:0;padding:2px 0;margin:2px 0 0;font:inherit;font-size:12.5px;color:var(--sky);cursor:pointer;display:block}
.foldbtn:hover{text-decoration:underline}
.fold{margin-bottom:0!important}
.foldbtn{margin-bottom:14px}

/* ===== finding header: name on the left, noticeability block on the right ===== */
.finding .fh{display:flex;align-items:flex-start;justify-content:space-between;gap:28px;margin:0 0 4px}
.finding .ft{flex:1;min-width:0}
.finding .fn{display:block;border:0;padding:0;border-radius:0;margin:0 0 8px;font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--dim)}
.finding .fh h3{max-width:34ch}
.fsev{--c:#52525b;flex:none;width:168px;display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:12px 16px 12px;border-radius:14px;border:1px solid color-mix(in srgb,var(--c) 55%,transparent);background:color-mix(in srgb,var(--c) 13%,transparent)}
.fsev.d4{--c:#f43f5d}.fsev.d3{--c:#f06a1d}.fsev.d2{--c:#eab308}.fsev.d1{--c:#71717a}
.fsev .fsl{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}
.fsev .fsv{display:flex;align-items:baseline;gap:3px;margin-top:2px}
.fsev .fsv b{font-family:var(--mono);font-size:38px;line-height:1;font-weight:700;color:var(--c)}
.fsev.d1 .fsv b{color:#a1a1aa}
.fsev .fsv i{font-style:normal;font-size:14px;color:var(--mute)}
.fsev .fst{font-size:13px;font-weight:600;color:var(--text)}
@media(max-width:900px){.finding .fh{flex-direction:column-reverse}.fsev{width:auto;flex-direction:row;flex-wrap:wrap;align-items:center;gap:10px}}
.finding .fh h3{max-width:40ch;color:#eef2f6}

.cardapps{margin-top:12px}
.card>.cardapps:last-child{padding-top:2px}

.gj{margin:0 0 26px}
.gjh{display:flex;align-items:baseline;gap:12px;margin:0 0 10px}
.gjh h4{margin:0;font-size:14.5px;color:#eef2f6}
.gjc{font-size:11.5px;color:var(--dim)}
.gjn{margin:0 0 10px;font-size:12.5px;color:var(--mute)}
.gvs{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px}
.gv{display:flex;gap:12px;padding:12px;border:1px solid var(--line,#ffffff1a);border-radius:10px;background:#ffffff08}
.gvg{flex:none;width:44px;height:44px;display:grid;place-items:center;border-radius:8px;background:#ffffff0d;color:#eef2f6}
.gvb{min-width:0}
.gvn{font-size:12px;color:#eef2f6;overflow-wrap:anywhere}
.gvb p{margin:4px 0 8px;font-size:12px;line-height:1.45;color:var(--mute)}
.noglyph{font-size:9px;text-transform:uppercase;letter-spacing:.06em;color:var(--dim);border:1px dashed #ffffff40;border-radius:4px;padding:2px 4px}
.gst td{vertical-align:middle}
.gsc{display:flex;align-items:center;gap:8px}
.gsc svg{width:22px;height:22px;flex:none}
.gsc code{font-size:11px;overflow-wrap:break-word;min-width:0}
.gdash{color:var(--dim)}
.aliasrow{display:flex;flex-wrap:wrap;gap:8px 18px;font-size:12.5px;color:var(--mute)}

.sgnote{margin:10px 0 14px;font-size:13.5px;line-height:1.55;color:var(--mute);max-width:none}
.sgnote code,.sgpair code{font-size:12px}
.sgtoc{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 24px}
.sgtoc a{font-size:12.5px;padding:5px 11px;border:1px solid var(--line);border-radius:999px;color:var(--mute);text-decoration:none;background:#ffffff08}
.sgtoc a:hover{color:var(--text);border-color:#ffffff40}
.sgst{display:inline-block;font-size:11.5px;padding:2px 8px;border-radius:999px;border:1px solid transparent;white-space:nowrap}
.sgst.dep{color:#fca5a5;background:#f43f5d1f;border-color:#f43f5d55}
.sgst.part{color:#facc15;background:#eab3081f;border-color:#eab30855}
.sgst.ok{color:#86efac;background:#6ee7b71a;border-color:#6ee7b755}
.sgpairs{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin:0 0 6px}
.sgpair{background:var(--ink2);border:1px solid var(--line);border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:3px}
.sgpair b{font-size:13.5px;font-weight:600;margin-top:6px}
.sgpair span{font-size:12px;color:var(--text)}
.sgpair small{font-size:11.5px;line-height:1.45;color:var(--dim)}
.sgg{display:flex;gap:10px}
.sgg figure{margin:0;flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 6px 8px;border-radius:8px;background:#ffffff0a}
.sgg figure em{font-style:normal;font-size:10.5px;font-family:var(--mono);letter-spacing:.06em;color:var(--dim)}
.sgg figure.s{color:#ff8f5a}
.sgg figure.l{color:#6cbcf2}
.sgov .sgg{justify-content:center;padding:14px 0;background:#ffffff0a;border-radius:8px}
.sgrads{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:10px;margin:0 0 6px}
.sgrad{display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 6px;background:var(--ink2);border:1px solid var(--line);border-radius:10px}
.sgrad i{width:54px;height:54px;border:2px solid #ff8f5a;background:#ff8f5a14;display:block}
.sgrad b{font-size:12.5px;font-weight:600}
.sgrad span{font-size:11.5px;color:var(--dim)}
.sgrad.on{border-color:#6cbcf280;background:#6cbcf210}
.sgrad.on i{border-color:#6cbcf2;background:#6cbcf21a}
.sgglass{position:relative;height:300px;border-radius:12px;border:1px solid var(--line);background-size:cover;background-position:75% 55%;overflow:hidden;display:flex;align-items:center;justify-content:space-around;gap:16px;padding:24px;margin:0 0 6px}
.sgglass b{display:block;font-size:13px;font-weight:600;margin-bottom:4px}
.sgglass span{display:block;font-size:11.5px;line-height:1.4;opacity:.8}
.sgglass>div{width:230px;min-height:140px;padding:16px;color:#f5f5f5}
.sgpanel{border-radius:16px;background:linear-gradient(135deg,rgba(20,20,20,.88),rgba(14,14,14,.92));border:1px solid rgba(255,255,255,.12);box-shadow:0 24px 64px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,255,255,.08);backdrop-filter:blur(40px) saturate(150%);-webkit-backdrop-filter:blur(40px) saturate(150%)}
.sgcard{border-radius:8px;background:#27272a;border:1px solid #3f3f46;box-shadow:0 1px 2px #00000080}
.sgdora{border-radius:4px;background:#010e15;border:1px solid #376584;box-shadow:0 0 3px 1px #6cbcf280}
.ant{display:inline-block;font-size:11.5px;padding:2px 8px;border-radius:999px;border:1px solid transparent;white-space:nowrap}
.ant.a{color:#6cbcf2;background:#6cbcf21a;border-color:#6cbcf255}
.ant.b{color:#a78bfa;background:#a78bfa1a;border-color:#a78bfa55}
.ant.c{color:#86c5b4;background:#86c5b41a;border-color:#86c5b455}
.ant.s{font-size:10.5px;padding:1px 6px;opacity:.75}
.anf{display:inline-block;font-size:11px;padding:1px 7px;border:1px solid var(--line2);border-radius:999px;color:var(--mute);white-space:nowrap}

.team{margin-top:26px;padding-top:18px;border-top:1px solid var(--line);max-width:760px}
.team h4{margin:0 0 12px;font-size:14px;font-weight:600}
.team .tc{padding:10px 0;border-bottom:1px solid var(--line)}
.team .tc p{margin:4px 0 0;white-space:pre-wrap;color:#d6dde4;font-size:14px}
.team .thead{display:flex;gap:10px;align-items:baseline;font-size:12.5px}
.team .thead span{color:var(--mute)}
.team .tlink{margin-left:auto;background:none;border:0;color:var(--mute);font:inherit;font-size:12.5px;cursor:pointer;text-decoration:underline}
.team .tform,.team .tdisc{display:grid;gap:8px;margin-top:14px}
.team .tdisc{grid-template-columns:1fr auto;align-items:center;font-size:13px;color:var(--mute)}
.team input,.team textarea{padding:8px 10px;border-radius:6px;border:1px solid var(--line2);background:#ffffff08;color:inherit;font:inherit;font-size:14px}
.team .tform input{max-width:240px}
.team button[type=submit],.team .tdisc>button{justify-self:start;padding:8px 14px;border-radius:6px;border:1px solid var(--line2);background:#ffffff0d;color:#fff;font:inherit;font-size:13px;cursor:pointer}
.team button[type=submit]{background:#f06a1d;border-color:#f06a1d}
.team .tmsg{margin:8px 0 0;color:#ff8096;font-size:13px;min-height:1em}
.team-disc .tlink{background:none;border:0;color:var(--mute);font:inherit;font-size:12.5px;cursor:pointer;text-decoration:underline}

th.tcol,td.tcol{min-width:150px}
td.tcol .tcount{display:inline-block;min-width:22px;padding:1px 8px;margin-right:8px;border-radius:99px;background:#f06a1d;color:#fff;font-weight:600;font-size:12px;text-align:center;text-decoration:none}
td.tcol .evtxt{font-size:12px}
nav.side a .tnav{margin-left:auto;margin-top:1px;font-style:normal;font-size:11px;padding:1px 7px;border-radius:99px;background:#f06a1d;color:#fff}

.sec>h4.sh{font-size:12px;font-weight:600;letter-spacing:.08em;margin:26px 0 10px}
.sh,.stripgrp,.legend.sources b,.dpcard p b,.filters .flab,.gq b,table.tb th,nav.side .grp,.fsev .fsl,.finding .fn{font-weight:600}
.fsev .fsv b,.fcode,.finding .fn,table.findex td:first-child,.chip,.iconcell em,.bar,.sgg figure em{font-variant-numeric:tabular-nums}
.tw{overflow-x:auto;max-width:100%}
.team-disc .tadd{display:grid;gap:8px;max-width:760px;margin:14px 0 22px;padding:16px 18px;border:1px solid var(--line);border-radius:12px;background:var(--ink2)}
.team-disc .tadd h4{margin:0;font-size:14px;font-weight:600}
.team-disc .tadd .sub{margin:0}
.team-disc .tadd input,.team-disc .tadd textarea{padding:8px 10px;border-radius:6px;border:1px solid var(--line2);background:#ffffff08;color:inherit;font:inherit;font-size:14px}
.team-disc .tadd input{max-width:240px}
.team-disc .tadd textarea{resize:vertical}
.team-disc .tadd button[type=submit]{justify-self:start;padding:8px 14px;border-radius:6px;border:1px solid #f06a1d;background:#f06a1d;color:#fff;font:inherit;font-size:13px;cursor:pointer}
.team-disc .tadd .tmsg{margin:0;color:#ff8096;font-size:13px;min-height:1em}
.team-disc table.tb td.tq{white-space:pre-wrap;font-weight:400;min-width:240px;overflow-wrap:anywhere}
.team-disc td .evtxt{display:block;font-size:12px;color:var(--mute)}
.team-disc .tgen{color:var(--mute)}

/* ---------- UX copy review ---------- */
.finding[hidden],section.cp-cat[hidden],.cp-idx tr[hidden]{display:none}
.cp-num h5{font-size:30px;font-weight:600;color:#fff;letter-spacing:-.02em;margin:0 0 4px}
.cp-filters{display:flex;flex-direction:column;gap:10px;margin:0 0 16px}
.cp-filters>div{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.cp-filters .flab{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);width:84px}
.cp-chip{background:#ffffff0d;border:1px solid var(--line);color:var(--mute);border-radius:999px;font:inherit;font-size:12.5px;padding:4px 12px;cursor:pointer}
.cp-chip:hover{color:#fff;border-color:var(--line2)}
.cp-chip.on{color:#fff;border-color:var(--orange);background:#86c5b41f}
.cp-count{margin:0;font-size:12.5px;color:var(--dim)}
.cp-stat{margin:18px 0 8px;max-width:880px}
.cp-bar{display:grid;grid-template-columns:130px 1fr 90px;column-gap:12px;align-items:center;margin:6px 0 0}
.cp-bl{font-size:13px;color:var(--text)}
.cp-bt{display:block;height:10px;background:#ffffff0d;border-radius:99px;overflow:hidden}
.cp-bt i{display:block;height:100%;background:var(--orange);border-radius:99px}
.cp-bn{font-size:12.5px;color:var(--mute);text-align:right;white-space:nowrap}
.cp-bn b{color:#fff}
.cp-bx{grid-column:2 / 4;font-size:11.5px;color:var(--dim);min-height:0}
.cp-bx:empty{display:none}
.cp-legend{display:flex;flex-wrap:wrap;gap:14px;margin:6px 0 4px;font-size:12px;color:var(--mute)}
.cp-lg{display:inline-flex;align-items:center;gap:6px}
.cp-lg i{width:10px;height:10px;border-radius:3px;display:inline-block}
.cp-stk{display:grid;grid-template-columns:130px 1fr 36px;column-gap:12px;align-items:center;margin:6px 0}
.cp-stk>span:first-child{font-size:13px}
.cp-stk>span:last-child{font-size:12px;color:var(--dim);text-align:right}
.cp-st{display:flex;gap:2px;height:22px;border-radius:6px;overflow:hidden;min-width:0}
.cp-st i{font-style:normal;font-size:11px;font-weight:600;display:grid;place-items:center;color:#0b0d0f;min-width:22px}
.t1{background:#f06a1d}.t2{background:#6cbcf2}.t3{background:#8b95a3}
.cp-lg i.t1{background:#f06a1d}.cp-lg i.t2{background:#6cbcf2}.cp-lg i.t3{background:#8b95a3}
.cp-ev td{vertical-align:top;font-weight:400}
.cp-ev .cp-grp td{font-size:10.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--dim);background:#ffffff06;padding:8px 12px}
.cp-ev .cp-app{white-space:nowrap;color:var(--mute)}
.cp-ev .cp-q{min-width:300px}
.cp-quote{display:block;color:#fff;white-space:pre-wrap;overflow-wrap:anywhere}
.cp-note{display:block;margin-top:3px;color:var(--mute);font-size:12px;white-space:normal}
.cp-ev .cp-src{min-width:180px}
.cp-ev .cp-src code{display:block;font-size:11.5px;color:var(--mute);white-space:normal;word-break:break-all}
.cp-repo{display:block;margin-top:2px;font-size:10.5px;color:var(--dim)}
.cp-type{display:inline-block;font-size:11.5px;color:var(--mute);border:1px solid var(--line);border-radius:6px;padding:1px 8px}
.cp-kind{font-size:12.5px;color:var(--mute);white-space:nowrap}

.cp-shots{display:grid;gap:14px;margin:16px 0 18px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));align-items:start}
.cp-shots.n1{grid-template-columns:minmax(300px,640px)}
.cp-fig img{max-height:460px;object-fit:contain;object-position:top center}
.cp-fig figcaption{font-size:13px}
