:root{--ink:#1d1d1f;--muted:#5a5f66;--line:#dfe1e5;--bg:#fff;--soft:#f6f7f9;--hero:#111418;--hero2:#1a1f26;--acc:#2a5db0;--hi:#1f7a3a;--mid:#9a6a00;--lo:#b3261e}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:17px/1.6 "Noto Sans","Helvetica Neue",Arial,sans-serif}
.wrap{max-width:900px;margin:0 auto;padding:0 20px}
.wrap.wide{max-width:1100px}
h1,h2{font-family:"Google Sans","Noto Sans","Helvetica Neue",Arial,sans-serif;font-weight:600;letter-spacing:-.01em}
h2{font-size:1.75rem;text-align:center;margin:0 0 1.1rem}
section{padding:2.6rem 0 1rem}
main>section:first-child{padding-top:2.2rem}
.sc{font-variant:small-caps;letter-spacing:.02em}
img,video{display:block;max-width:100%;height:auto}
a{color:var(--acc)}

/* dark hero */
.hero{background:var(--hero);background:linear-gradient(180deg,var(--hero),var(--hero2));color:#eef1f5;text-align:center;padding:4.2rem 0 3.2rem}
.hero .wrap{max-width:1040px}
.hero h1{font-size:2.5rem;line-height:1.18;margin:0 0 1.3rem;color:#fff}
.authors{font-size:1.2rem;margin:0}
.venue{color:#a9b1bc;margin:.2rem 0 1.6rem;font-size:.98rem}
.links{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:center}
.pill{display:inline-flex;align-items:center;gap:.45rem;padding:.5rem 1.15rem;border-radius:999px;background:#2b3038;color:#fff;text-decoration:none;font-size:1rem;border:1px solid #3b424c}
a.pill:hover{background:#3a414b}
.pill svg{width:18px;height:18px}
.pill.off{color:#9aa3ad;cursor:not-allowed}
.pill small{font-size:.8em}

/* figures */
.fig{margin:0 0 2rem}
.fig img{width:100%;border-radius:2px}
figcaption,.cap,.note,.fn{font-size:.92rem;color:var(--muted);line-height:1.5}
.fig figcaption{margin-top:.7rem}
figcaption b,.cap b{color:var(--ink)}
.narrow{max-width:760px;margin-left:auto;margin-right:auto}
.center{text-align:center}
.two{max-width:860px;margin:0 auto .6rem;display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;align-items:end}
.two .fig{margin:0}
.two figcaption{text-align:center}
.abstract{text-align:justify;hyphens:auto;margin:0}
.note{max-width:900px;margin:0 auto 1.2rem;text-align:center}

/* hero montage */
.showcase{background:var(--hero2);padding:0 0 1.6rem}
.herovid{width:100%;max-width:960px;margin:0 auto;aspect-ratio:16/9;background:#000;border-radius:4px;box-shadow:0 10px 30px rgba(0,0,0,.35)}
.herocap{max-width:720px;margin:.7rem auto 0;text-align:center;color:#a9b1bc;font-size:.78rem;line-height:1.45}
main>section.showcase:first-child{padding-top:0}

/* shared media box: 16:9, lazy poster under a lazy video */
.media{position:relative;aspect-ratio:16/9;background:#d5d8dd;border-radius:3px;overflow:hidden}
.media .poster,.media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.s{font-variant-numeric:tabular-nums;font-weight:600}
.s.hi{color:var(--hi)}.s.mid{color:var(--mid)}.s.lo{color:var(--lo)}.s.na{color:var(--muted)}
.chip{font:inherit;font-size:.82rem;padding:.3rem .75rem;border-radius:999px;border:1px solid var(--line);background:#fff;color:var(--ink);cursor:pointer}
.cmp-sel .chip{text-transform:capitalize}
.chip:hover{border-color:#aab3bf}
.chip[aria-pressed=true],.chip[aria-selected=true]{background:var(--ink);color:#fff;border-color:var(--ink)}

/* comparison */
.full{background:var(--soft);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding-bottom:2rem;margin-top:1.6rem}
.wrap.xwide{max-width:1320px}
.cmp-sel{display:flex;flex-wrap:wrap;gap:.4rem;justify-content:center;margin-bottom:.9rem}
.goal{margin:0 auto .8rem;max-width:900px;text-align:center;font-size:.92rem;line-height:1.45}
.goal span{font-weight:600;text-transform:capitalize;margin-right:.35rem}
.goal span::after{content:" \2014"}
.cmp{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px 8px}
.tile{margin:0;min-width:0}
.tile figcaption{font-size:.8rem;margin-top:.25rem;text-align:center;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* failure carousels */
#failures{padding-top:3.2rem}
.fgroup{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:2rem 0 .2rem;padding-bottom:.35rem;border-bottom:1px solid var(--line)}
.fcat{margin:1rem 0 1.6rem}
.fhead h4{margin:0;font-size:1.08rem}
.fhead h4 small{font-weight:400;color:var(--muted);font-size:.78rem;margin-left:.3rem}
.fhead p{margin:.1rem 0 .6rem;font-size:.88rem;color:var(--muted);line-height:1.45}
.car{position:relative}
.track{list-style:none;margin:0;padding:2px 2px 10px;display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:0 2px;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;scrollbar-width:thin}
.track:focus-visible{outline:2px solid var(--acc);outline-offset:2px}
.fcard{flex:0 0 min(340px,78%);scroll-snap-align:start;border:1px solid var(--line);border-radius:6px;overflow:hidden;background:#fff;display:flex;flex-direction:column}
.fcard .media{border-radius:0}
.fcard .frames{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#111;z-index:2;display:none}
.fcard.show-frames .frames{display:block}
.tag{position:absolute;left:6px;top:6px;z-index:1;background:rgba(0,0,0,.66);color:#fff;font-size:.72rem;font-weight:600;padding:.1rem .45rem;border-radius:3px}
.fcard .body{padding:.55rem .7rem .65rem;display:flex;flex-direction:column;flex:1}
.fcard h4{margin:0;font-size:.93rem;text-transform:capitalize;line-height:1.3}
.fcard h4 small{font-weight:400;color:var(--muted);font-size:.74rem;text-transform:none}
.gtext{margin:.15rem 0 .4rem;font-size:.76rem;line-height:1.4;color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.why{margin:0 0 .5rem;font-size:.82rem;line-height:1.42}
.why b{color:var(--lo)}
.fbtn{margin-top:auto;align-self:flex-start;font:inherit;font-size:.74rem;padding:.2rem .6rem;border-radius:999px;border:1px solid var(--line);background:var(--soft);color:var(--ink);cursor:pointer}
.fbtn[aria-pressed=true]{background:var(--ink);color:#fff;border-color:var(--ink)}
.arr{position:absolute;top:calc(min(340px,78vw) * .28 - 19px);z-index:3;width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:rgba(255,255,255,.95);box-shadow:0 2px 8px rgba(0,0,0,.18);color:var(--ink);cursor:pointer;display:grid;place-items:center;padding:0}
.arr svg{width:18px;height:18px}
.arr.prev{left:-16px}.arr.prev svg{transform:scaleX(-1)}
.arr.next{right:-16px}
.arr:disabled{opacity:0;pointer-events:none}
.arr:focus-visible{outline:2px solid var(--acc);outline-offset:2px}

/* tables */
.tbl{margin:0 auto 2.2rem}
.scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
table.paper{border-collapse:collapse;margin:0 auto;font-size:.84rem;font-variant-numeric:tabular-nums;white-space:nowrap;border-top:2px solid var(--ink);border-bottom:2px solid var(--ink)}
table.paper th,table.paper td{padding:.28rem .55rem;text-align:center}
table.paper thead tr:last-child th{border-bottom:1px solid var(--ink);font-weight:500;color:var(--muted)}
table.paper thead th.grp{border-bottom:1px solid var(--line)}
table.paper tbody th{text-align:left;font-weight:500}
table.paper tr.hum{color:var(--muted);background:var(--soft)}
table.paper tr.sep th,table.paper tr.sep td{border-top:1px solid var(--ink)}
table.paper.small tr.hum td:last-child{background:#e7edf6}
table.paper.small td:last-child{background:#eef3fb}
.tbl .cap{margin:0 0 .6rem}
.tbl .fn{margin:.5rem 0 0;font-size:.8rem}

pre{background:var(--soft);border:1px solid var(--line);padding:1rem;overflow-x:auto;font-size:.85rem;line-height:1.45;border-radius:3px}
footer{padding:2.5rem 0;font-size:.82rem;color:var(--muted);text-align:center}

@media (max-width:760px){
  body{font-size:16px}
  .hero{padding:2.8rem 0 2.2rem}.hero h1{font-size:1.7rem}.br{display:none}
  h2{font-size:1.45rem}
  .cmp{grid-template-columns:repeat(2,minmax(0,1fr))}
  .arr{width:34px;height:34px}.arr.prev{left:4px}.arr.next{right:4px}
  .fhead h4 small{display:inline-block}
  .showcase .wrap{padding:0 8px}
  .pill{padding:.45rem .95rem}
  .two{grid-template-columns:1fr}
  .abstract{text-align:left}
}

/* ---- v5 structure: header mark, section nav, stats, questions, lineup, heatmap, findings */
.mark{margin:0 0 .3rem;font:600 1rem/1 "Google Sans","Noto Sans",Arial,sans-serif;letter-spacing:.14em;color:#8fb4ee}
.mark .sc{font-size:1.35rem;letter-spacing:.06em}
.tagline{margin:-.4rem auto 1rem;max-width:640px;color:#c9d0d9;font-size:1.08rem}
.authors{margin-bottom:1.3rem}
.toc{position:sticky;top:0;z-index:20;background:rgba(17,20,24,.96);border-bottom:1px solid #2b3038}
.toc .wrap{display:flex;gap:.2rem;justify-content:center;overflow-x:auto;scrollbar-width:none;padding-top:0;padding-bottom:0}
.toc .wrap::-webkit-scrollbar{display:none}
.toc a{flex:0 0 auto;color:#c9d0d9;text-decoration:none;font-size:.86rem;padding:.6rem .6rem;border-bottom:2px solid transparent}
.toc a:hover,.toc a.on{color:#fff;border-bottom-color:#8fb4ee}
section[id]{scroll-margin-top:48px}
.stats{list-style:none;margin:0 0 1.6rem;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.stats li{background:var(--soft);border:1px solid var(--line);border-radius:6px;padding:.8rem .4rem;text-align:center}
.stats b{display:block;font:600 1.75rem/1.1 "Google Sans","Noto Sans",Arial,sans-serif;color:var(--acc);font-variant-numeric:tabular-nums;white-space:nowrap}
.stats span{font-size:.8rem;color:var(--muted)}
.lead{margin:0 0 .8rem}
details summary{cursor:pointer;color:var(--acc);font-size:.92rem}
details.abs .abstract{margin-top:.6rem;font-size:.95rem}
.qs{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.qs a{display:flex;flex-direction:column;height:100%;padding:1rem;border:1px solid var(--line);border-radius:8px;text-decoration:none;color:var(--ink);background:#fff;transition:border-color .15s,box-shadow .15s}
.qs a:hover{border-color:var(--acc);box-shadow:0 4px 14px rgba(42,93,176,.12)}
.qs i,.qhead>i{font-style:normal;font:700 .8rem/1 "Google Sans","Noto Sans",Arial,sans-serif;color:#fff;background:var(--acc);border-radius:4px;padding:.3rem .45rem;align-self:flex-start}
.qs b{margin:.7rem 0 .4rem;font-size:1.02rem;line-height:1.35}
.qs span{margin-top:auto;font-size:.82rem;color:var(--muted)}
.qhead{text-align:center;margin:0 auto 1.4rem;max-width:860px}
.qhead>i{display:inline-block;margin-bottom:.6rem}
.qhead h2{margin-bottom:.5rem}
.qhead p{margin:0;font-size:1.02rem}
.sub{font-size:1.1rem;margin:1.6rem 0 .4rem;text-align:center}
.lineup{list-style:none;margin:0 0 1rem;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.mcard{display:flex;align-items:center;gap:.75rem;border:1px solid var(--line);border-radius:8px;padding:.7rem .8rem}
.mcard img{width:40px;height:40px;border-radius:8px;flex:0 0 auto}
.mcard div{flex:1;min-width:0}
.mcard b{display:block;font-size:.98rem}
.mcard div span{font-size:.8rem;color:var(--muted)}
.mcard dl{margin:0;display:grid;grid-template-columns:auto auto;gap:0 .45rem;align-items:baseline;font-variant-numeric:tabular-nums}
.mcard dt{font-size:.7rem;color:var(--muted);text-align:right}
.mcard dd{margin:0;font-weight:600;font-size:.95rem}
.judgecard{display:flex;gap:.8rem;align-items:center;max-width:760px;margin:0 auto;background:var(--soft);border:1px solid var(--line);border-radius:8px;padding:.7rem 1rem}
.judgecard img{flex:0 0 auto}
.judgecard p{margin:0;font-size:.92rem;line-height:1.5}
table.paper img,.hm img{display:inline-block;vertical-align:-3px;margin-right:.4rem;border-radius:3px}
.hm-ctl{display:flex;gap:.4rem;justify-content:center;margin:.2rem 0 .7rem}
.hm-wrap{position:relative;max-width:980px;margin:0 auto}
table.hm{border-collapse:separate;border-spacing:2px;margin:0 auto;font-size:.84rem;font-variant-numeric:tabular-nums}
table.hm th{font-weight:500;padding:.2rem .35rem;white-space:nowrap}
table.hm thead th{vertical-align:bottom;text-align:center;line-height:1.15}
table.hm thead th span{display:block;font-weight:600}
table.hm thead th small{display:block;font-size:.66rem;color:var(--muted);max-width:74px;white-space:normal}
table.hm tbody th{text-align:left}
table.hm td{width:62px;min-width:44px;height:36px;text-align:center;border-radius:4px;cursor:default}
table.hm td.all{outline:1px solid var(--ink);outline-offset:-1px}
table.hm td:hover{box-shadow:inset 0 0 0 2px var(--ink)}
.c0{background:#f0f4fb;color:var(--ink)}.c1{background:#dbe6f6;color:var(--ink)}.c2{background:#c2d5f0;color:var(--ink)}.c3{background:#a2bfe6;color:var(--ink)}
.c4{background:#7ea5da;color:#fff}.c5{background:#5a89cb;color:#fff}.c6{background:#3c6db8;color:#fff}.c7,.c8{background:#24519a;color:#fff}
td.na{background:var(--soft);color:var(--muted)}
.legend{display:flex;align-items:center;justify-content:center;gap:2px;margin:.6rem 0 0;font-size:.74rem;color:var(--muted)}
.legend i{width:22px;height:10px;border-radius:2px}
.legend span{margin:0 .35rem}
.hm-tip{position:absolute;pointer-events:none;background:var(--ink);color:#fff;font-size:.78rem;padding:.3rem .55rem;border-radius:4px;white-space:nowrap;opacity:0;transition:opacity .1s;z-index:5}
.hm-tip.on{opacity:1}
details.more{margin:0 0 1rem}
details.more summary{text-align:center;margin-bottom:.8rem}
.findings{max-width:780px;margin:0 auto;padding-left:1.4rem}
.findings li{margin:0 0 .6rem}
@media (max-width:900px){.qs{grid-template-columns:repeat(2,minmax(0,1fr))}.lineup{grid-template-columns:repeat(2,minmax(0,1fr))}.stats{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:560px){
  .qs,.lineup{grid-template-columns:1fr}
  .stats{grid-template-columns:repeat(2,minmax(0,1fr))}.stats li:last-child{grid-column:1/-1}
  .stats b{font-size:1.45rem}
  .toc .wrap{justify-content:flex-start}
  table.hm{font-size:.74rem}table.hm td{min-width:34px;height:30px}
  .mark .sc{font-size:1.15rem}
}

/* fixes: authors, smooth scroll, nav overflow, heatmap row labels */
html{scroll-behavior:smooth;scroll-padding-top:52px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.authors{font-size:.95rem;line-height:1.7;max-width:860px;margin:.9rem auto .2rem;color:#e6eaf0}
.authors span{white-space:nowrap;margin:0 .45rem;display:inline-block}
.authors sup,.affil sup{font-size:.68em;margin-left:1px;color:#8fb4ee}
.affil{font-size:.8rem;color:#aab3bf;margin:.15rem auto;max-width:860px;line-height:1.6}
.affil span{white-space:nowrap;margin:0 .5rem;display:inline-block}
.affil.note{font-size:.72rem;color:#8b95a3}
.tagline em{font-style:italic}
.toc .wrap{justify-content:flex-start!important}
.toc .wrap>a:first-child{margin-left:auto}.toc .wrap>a:last-child{margin-right:auto}
table.hm tbody th{padding-right:.9rem;max-width:150px;overflow:hidden;text-overflow:ellipsis;background:var(--bg,#fff);position:sticky;left:0;z-index:1}
@media (max-width:640px){table.hm tbody th .nm{display:none}table.hm tbody th img{margin-right:0}table.hm tbody th{padding-right:.4rem}}
.affil.note{margin-bottom:1.1rem}
table.hm tbody th img{width:16px;height:16px;min-width:16px}

.tldr{font-size:1.02rem;line-height:1.7;max-width:820px;margin:2rem auto 1rem;padding:0 0 0 1rem;border-left:3px solid var(--acc);color:var(--ink)}
.tldr b{margin-right:.4rem}
/* ---- labels: logos, human icons, score pills */
:root{--pill-hi:#15803d;--pill-gd:#facc15;--pill-gd-ink:#3b2a00;--pill-mid:#b45309;--pill-lo:#b91c1c;--pill-na:#6b7280}
.tldr .num{font-weight:700;color:var(--acc);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px;text-decoration-color:rgba(42,93,176,.45)}
.score{display:inline-block;min-width:2.1em;padding:.08rem .45rem;border-radius:999px;color:#fff;font-weight:700;font-size:.85em;line-height:1.35;text-align:center;font-variant-numeric:tabular-nums;vertical-align:.05em}
.score.hi{background:var(--pill-hi)}.score.gd{background:var(--pill-gd);color:var(--pill-gd-ink)}.score.mid{background:var(--pill-mid)}.score.lo{background:var(--pill-lo)}.score.na{background:var(--pill-na)}
.who{display:inline-flex;align-items:center;gap:.35rem;vertical-align:middle;min-width:0}
.who img,.tag img{width:18px;height:18px;border-radius:3px;background:#fff;flex:none;object-fit:contain}
.who .pic{flex:none;color:currentColor}
.tile figcaption{font-size:.95rem;font-weight:600;margin-top:.35rem;display:flex;align-items:center;justify-content:center;gap:.45rem;overflow:hidden}
.tile figcaption .who span{overflow:hidden;text-overflow:ellipsis}
.tag{display:inline-flex;align-items:center;gap:.4rem;left:8px;top:8px;background:rgba(0,0,0,.78);font-size:.9rem;padding:.22rem .3rem .22rem .35rem;border-radius:6px;max-width:calc(100% - 16px)}
.tag .score{font-size:.82rem}
table.paper .who .pic{color:var(--ink)}
@media (max-width:760px){
  .tile figcaption{font-size:.9rem;gap:.3rem}
  .who{gap:.25rem}
}
/* header hierarchy: title > tagline > authors > affiliations */
.tagline{font-size:1rem;color:#9aa4b2;max-width:680px;margin:.6rem auto 1.3rem}
.authors{font-size:.84rem;line-height:1.55;max-width:760px;margin:0 auto .35rem;color:#d4dae2;font-weight:400}
.authors span{margin:0 .35rem}
.authors sup,.affil sup{font-size:.62em;color:#7fa6e6}
.affil{font-size:.72rem;color:#7d8794;line-height:1.5;max-width:760px}
.affil span{margin:0 .35rem}
.affil.note{font-size:.66rem;color:#5f6a77;margin-bottom:1.2rem}

/* section spacing */
section.wrap{margin-top:4.5rem}
section.showcase{margin-top:0!important}
#overview{margin-top:2.5rem}
/* failure overview */
.fov{display:grid;grid-template-columns:2fr 2fr 3fr;gap:1rem;margin:1.2rem 0 2.2rem}
.fov-g h3{font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:0 0 .5rem;font-weight:600}
.fov-row{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:.6rem}
.fov-t{display:flex;flex-direction:column;gap:.35rem;padding:.8rem .8rem .9rem;border:1px solid var(--line);border-top:3px solid var(--c);border-radius:8px;background:var(--bg);text-decoration:none;color:var(--ink);transition:transform .15s,box-shadow .15s}
.fov-t:hover,.fov-t:focus-visible{transform:translateY(-2px);box-shadow:0 4px 14px rgba(0,0,0,.08)}
.fov-t svg{width:26px;height:26px;fill:none;stroke:var(--c);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;color:var(--c)}
.fov-t b{font-size:.9rem;line-height:1.25}
.fov-t span{font-size:.8rem;color:var(--muted);line-height:1.4}
.fov-g.task{--c:#b45309}.fov-g.state{--c:#7c3aed}.fov-g.inter{--c:#b91c1c}
@media (max-width:900px){.fov{grid-template-columns:1fr}.fov-row{grid-auto-flow:row;grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}}
/* heatmap: red (low) -> green (high) */
.c0{background:#b91c1c;color:#fff}.c1{background:#dc4a2e;color:#fff}.c2{background:#ee7d3b;color:#fff}.c3{background:#f5b04e;color:var(--ink)}
.c4{background:#f3d86a;color:var(--ink)}.c5{background:#bfd776;color:var(--ink)}.c6{background:#7fbf6b;color:#fff}.c7{background:#3f9a54;color:#fff}.c8{background:#15803d;color:#fff}
table.hm thead th span{font-weight:600;font-size:.72rem;max-width:80px;white-space:normal;margin:0 auto}
table.hm td.all{outline:none}
table.hm td.all+td{border-left:10px solid var(--bg)}
table.hm thead th.all+th{border-left:10px solid var(--bg)}
table.hm td.all,table.hm thead th.all{position:relative}
table.hm td.all::after,table.hm thead th.all::after{content:"";position:absolute;top:-2px;bottom:-2px;right:-8px;border-right:2px solid var(--muted)}
table.hm thead th.all span{font-weight:700}

/* judge gate flow */
.gates{display:flex;align-items:center;gap:.8rem;margin:1.4rem 0 1.6rem;overflow-x:auto;padding:.4rem .2rem 1rem}
.gates ol{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:0}
.gbranch{display:flex;flex-direction:column;gap:.9rem;flex:1 1 auto}
.gchain h4{margin:0 0 .35rem;font-size:.72rem;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);font-weight:600}
.gnode{position:relative;flex:0 0 auto;width:112px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:.1rem;padding:.55rem .4rem .6rem;border:1.5px solid var(--line);border-radius:10px;background:var(--bg);opacity:.35;animation:gon 7s infinite;animation-delay:calc(var(--i)*.6s)}
.gnode+.gnode{margin-left:26px}
.gnode+.gnode::before{content:"";position:absolute;left:-24px;top:50%;width:18px;height:2px;background:var(--muted)}
.gnode+.gnode::after{content:"";position:absolute;left:-9px;top:calc(50% - 4px);border:5px solid transparent;border-left-color:var(--muted)}
.gnode svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.gnode b{font-size:.85rem}.gnode span{font-size:.78rem;font-weight:600;line-height:1.2}.gnode small{font-size:.68rem;color:var(--muted);line-height:1.25}
.gnode.pre{color:var(--acc)}.gnode.task{color:#b45309}.gnode.phys{color:#7c3aed}.gnode.fin{color:#15803d}
.gnode b,.gnode span{color:var(--ink)}
@keyframes gon{0%,4%{opacity:.35;border-color:var(--line);box-shadow:none}8%,70%{opacity:1;border-color:currentColor;box-shadow:0 3px 12px rgba(0,0,0,.08)}90%,100%{opacity:.35;border-color:var(--line);box-shadow:none}}
@media (prefers-reduced-motion:reduce){.gnode{animation:none;opacity:1;border-color:currentColor}}
@media (max-width:900px){.gates{flex-direction:column;align-items:stretch}.gates>ol,.gchain ol{overflow-x:auto;padding-bottom:.4rem}.gnode{width:100px}}
.gnode{min-height:122px;justify-content:center}.gates>ol.gstart::after,.gates>.gbranch::after{content:"";}
/* heatmap horizontal scroll: pinned label column covers cells and the separator */
table.hm tbody th,table.hm thead tr>th:first-child{position:sticky;left:0;z-index:4;background:var(--bg);box-shadow:6px 0 6px -4px var(--bg)}
table.hm td.all::after,table.hm thead th.all::after{z-index:1}
table.hm td,table.hm thead th{z-index:1}
/* Table 2: our judge first, highlighted */
table.paper th.ours,table.paper td.ours{background:rgba(42,93,176,.08)}
table.paper th.grp.ours{color:var(--acc)}
table.paper .oe{border-right:2px solid var(--acc)}
.ourtag{display:inline-block;font-style:normal;font-size:.62rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#fff;background:var(--acc);border-radius:3px;padding:.05rem .3rem;margin-left:.25rem;vertical-align:1px}
/* judge flow v2: compact fork -> two chains -> join */
.gates{justify-content:center;gap:0;margin:1rem auto 1.4rem;max-width:1100px}
.gnode{width:92px;min-height:96px;padding:.45rem .3rem .5rem}
.gnode small{font-size:.64rem}.gnode span{font-size:.74rem}.gnode svg{width:20px;height:20px}
.gnode+.gnode{margin-left:20px}.gnode+.gnode::before{left:-19px;width:13px}.gnode+.gnode::after{left:-8px}
.gstart,.gend{flex:0 0 auto}
.gbranch{flex:0 0 auto;gap:.5rem}
.gchain h4{font-size:.64rem;margin:0 0 .2rem 0}
.gfork,.gjoin{flex:0 0 22px;align-self:stretch;position:relative;margin:2.1rem 0 .1rem}
.gfork{border:2px solid var(--muted);border-right:0;border-radius:8px 0 0 8px;margin-left:12px}
.gjoin{border:2px solid var(--muted);border-left:0;border-radius:0 8px 8px 0;margin-right:12px}
.gfork::before{content:"";position:absolute;left:-14px;top:50%;width:12px;height:2px;background:var(--muted)}
.gjoin::after{content:"";position:absolute;right:-14px;top:50%;width:12px;height:2px;background:var(--muted)}
.gfork::after{content:"";position:absolute;right:-2px;top:-6px;border:5px solid transparent;border-left-color:var(--muted);transform:translateY(0)}
@media (max-width:900px){.gfork,.gjoin{display:none}}
.gfork,.gjoin{margin-top:66px;margin-bottom:48px}
.gfork::after{top:-7px;right:-4px}
.gfork>i{display:none}
.gfork{box-shadow:none}
.gfork::before{top:calc(50% - 1px)}
.gchain.task ol{position:relative}
.gchain.task ol::after{content:"";position:absolute;left:100%;top:50%;height:2px;width:calc(92px + 20px);background:var(--muted)}
.gfork{--x:0}
.gbranch .gchain ol>li:first-child::before{content:"";position:absolute;left:-12px;top:calc(50% - 5px);border:5px solid transparent;border-left-color:var(--muted)}
.gchain.task ol{padding-right:112px}
.gchain.task ol::after{left:calc(100% - 112px);width:112px}
/* heatmap: pinned column also covers the 2px cell gaps */
table.hm tbody th,table.hm thead tr>th:first-child{box-shadow:4px 0 0 0 var(--bg),-4px 0 0 0 var(--bg)}
table.hm thead tr>th:first-child{z-index:5}
/* paper palette: Task #205573 (teal-blue), Physics #5D4576 (muted purple) */
:root{--task:#205573;--phys:#5D4576}
.vt{color:var(--task)}.vp{color:var(--phys)}
.hm-ctl .chip[data-m=task][aria-selected=true]{background:var(--task);border-color:var(--task);color:#fff}
.hm-ctl .chip[data-m=phys][aria-selected=true]{background:var(--phys);border-color:var(--phys);color:#fff}
.hm-ctl .chip[data-m=task]{color:var(--task);border-color:var(--task)}
.hm-ctl .chip[data-m=phys]{color:var(--phys);border-color:var(--phys)}
.gnode.task{color:var(--task)}.gnode.phys{color:var(--phys)}
.gchain.task h4{color:var(--task)}.gchain.phys h4{color:var(--phys)}
table.hm tbody th,table.hm thead tr>th:first-child{box-shadow:0 0 0 3px var(--bg),6px 0 0 0 var(--bg)}
/* models: two ranked lists */
.ranks{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;max-width:760px;margin:1rem auto 0}
.rank{border:1px solid var(--line);border-radius:10px;padding:.9rem 1rem .6rem;background:var(--bg)}
.rank.jdg{border-color:var(--acc);box-shadow:0 0 0 1px var(--acc) inset}
.rank h3{margin:0;font-size:1rem}.rank p{margin:.1rem 0 .5rem;font-size:.76rem;color:var(--muted)}
.rank ol,.rank ul{list-style:none;margin:0;padding:0}
.rank li{display:flex;align-items:center;gap:.6rem;padding:.42rem 0;border-top:1px solid var(--line)}
.rank li i{font-style:normal;font-weight:700;font-size:.8rem;color:var(--muted);width:1.7rem;font-variant-numeric:tabular-nums}
.rank li:first-child i{color:var(--acc)}
.rank li img{border-radius:4px}.rank li b{flex:1;font-weight:500}.rank li em{font-style:normal;font-weight:700;font-variant-numeric:tabular-nums}
.note.fn{font-size:.74rem;text-align:center;margin-top:.6rem}
.abs-h{margin:1.6rem 0 .4rem;font-size:1.05rem}
@media (max-width:640px){.ranks{grid-template-columns:1fr}}
.ourtag.man{background:#b91c1c}
/* header: big project name + logo, smaller subtitle (TOPReward / Ego2Web style) */
.mark{display:flex;align-items:center;justify-content:center;gap:.9rem;margin:0 0 .6rem;letter-spacing:0}
.mark .sc{font-size:3.6rem;line-height:1;letter-spacing:.02em;color:#fff;font-weight:700}
.mlogo{width:60px;height:60px;flex:0 0 auto}
.hero h1{font-size:1.55rem;font-weight:500;color:#c9d3df;line-height:1.3;max-width:760px;margin:0 auto 1rem}
@media (max-width:640px){.mark .sc{font-size:2.5rem}.mlogo{width:44px;height:44px}.hero h1{font-size:1.15rem}}
.showcase .lead-q{max-width:760px;margin:0 auto;padding:1.6rem 1rem 1.1rem;text-align:center;font-size:1.12rem;color:#d6dde6}
.hero .authors{margin-top:.4rem}
table.hm tbody th,table.hm thead tr>th:first-child{box-shadow:0 -3px 0 var(--bg),0 3px 0 var(--bg),-4px 0 0 var(--bg)}
/* leaderboard: thin divider between human and judge columns */
table.lb tbody tr>*:nth-child(5),table.lb thead tr:first-child>th:nth-child(3),table.lb thead tr:last-child>th:nth-child(4){border-left:1px solid var(--muted)}
/* Table 2: human judge columns in soft yellow, logos in row labels */
table.paper:not(.small):not(.lb) tbody tr>*:nth-child(4),table.paper:not(.small):not(.lb) tbody tr>*:nth-child(5),
table.paper:not(.small):not(.lb) thead tr:first-child>th:nth-child(3),table.paper:not(.small):not(.lb) thead tr:last-child>th:nth-child(3),table.paper:not(.small):not(.lb) thead tr:last-child>th:nth-child(4){background:#fdf6dc}
table.paper th img.rl{display:inline-block;vertical-align:-3px;margin-right:.4rem;border-radius:3px}
/* judge: vertical scoring tree */
.jtree-wrap{max-width:620px;margin:1.2rem auto 1.6rem}
.jtree{width:100%;height:auto;display:block;font-family:inherit}
.jtree .th{font-size:30px;font-weight:700;fill:var(--ink);font-variant:small-caps;letter-spacing:.02em}
.jtree .tl{fill:none;stroke:#9aa3ad;stroke-width:1.6}
.jtree .tn rect{fill:var(--bg);stroke:var(--line);stroke-width:1.6}
.jtree .tn .ti *{fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.jtree .tt{font-size:13px;font-weight:700;fill:var(--ink)}.jtree .ts{font-size:11px;fill:var(--muted)}
.jtree .tb{font-size:10.5px;font-weight:700;letter-spacing:.08em}.jtree .tb.task{fill:var(--task)}.jtree .tb.phys{fill:var(--phys)}
.jtree .tn2{font-size:11px;fill:var(--muted);font-style:italic}
.jtree .tn.pre{color:var(--acc)}.jtree .tn.task{color:var(--task)}.jtree .tn.phys{color:var(--phys)}.jtree .tn.fin{color:#15803d}
.jtree .tn.task rect{fill:#eef4f8}.jtree .tn.phys rect{fill:#f3f0f7}
.jtree .tn rect{animation:tglow 7s infinite;animation-delay:calc(var(--i)*.55s)}
@keyframes tglow{0%,6%{stroke:var(--line)}12%,62%{stroke:currentColor;stroke-width:2.2}80%,100%{stroke:var(--line)}}
@media (prefers-reduced-motion:reduce){.jtree .tn rect{animation:none;stroke:currentColor}}
table.lb + p.fn,.tbl p.fn{text-align:center;max-width:820px;margin-left:auto;margin-right:auto}
table.lb td.vt,table.lb td.vp{font-weight:500}
table.lb td b{font-weight:800}
.showcase .lead-q{color:#9aa6b4}
.note.summ{font-size:1rem;color:var(--ink);max-width:860px;margin:.4rem auto 1.1rem;text-align:center}
/* tree: no border animation; hover / focus explains each step */
.jtree .tn rect{animation:none!important;stroke:currentColor;stroke-width:1.4}
.jtree .tn{cursor:help;outline:none}
.jtree .tn:hover rect,.jtree .tn:focus rect{stroke-width:2.6;filter:drop-shadow(0 2px 6px rgba(0,0,0,.12))}
.jtree-wrap{position:relative}
.jtip{position:absolute;z-index:6;max-width:300px;background:#111418;color:#e8edf3;font-size:.84rem;line-height:1.45;padding:.65rem .8rem;border-radius:8px;box-shadow:0 6px 20px rgba(0,0,0,.25);pointer-events:none;opacity:0;transition:opacity .12s}
.jtip.on{opacity:1}
/* failures: accordion — only the chosen category is shown (and its clips loaded) */
#q4 .fcat,#q4 h3.fgroup{display:none}
#q4 .fcat.open{display:block;animation:facc .25s ease}
@keyframes facc{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.fov-t{cursor:pointer}
.fov-t[aria-expanded=true]{background:color-mix(in srgb,var(--c) 10%,var(--bg));box-shadow:0 0 0 2px var(--c) inset}
.fov-hint{text-align:center;font-size:.8rem;color:var(--muted);margin:-1.2rem 0 1.4rem}
/* key findings as cards */
.kfs{list-style:none;padding:0;margin:1.2rem auto 0;display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;max-width:1080px}
.kf{--c:var(--acc);border:1px solid var(--line);border-top:3px solid var(--c);border-radius:12px;padding:1rem 1.1rem 1.1rem;background:var(--bg);opacity:0;transform:translateY(12px);transition:opacity .5s,transform .5s,box-shadow .2s}
.kf.in{opacity:1;transform:none}.kf:hover{box-shadow:0 6px 18px rgba(0,0,0,.08)}
.kf-top{display:flex;align-items:baseline;gap:.5rem;margin-bottom:.3rem}
.kf-top svg{width:26px;height:26px;fill:none;stroke:var(--c);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;align-self:center}
.kf-num{font-size:2rem;font-weight:800;color:var(--c);font-variant-numeric:tabular-nums;line-height:1}
.kf-unit{font-size:.75rem;color:var(--muted)}
.kf h3{font-size:1rem;margin:.2rem 0 .35rem}.kf p{font-size:.9rem;line-height:1.55;margin:0;color:var(--ink)}
.kf strong.num{color:var(--c);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px}
.kf u{text-decoration-color:var(--c);text-decoration-thickness:2px;text-underline-offset:3px}
.kf img.il{display:inline-block;vertical-align:-3px;margin:0 .2rem 0 .1rem;border-radius:3px}
.kf.g1{--c:#b91c1c}.kf.g2{--c:#b45309}.kf.g3{--c:var(--phys)}.kf.g4{--c:var(--task)}.kf.g5{--c:#15803d}.kf.g6{--c:#6b7280}
@media (max-width:900px){.kfs{grid-template-columns:1fr 1fr}}@media (max-width:600px){.kfs{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.kf{opacity:1;transform:none;transition:none}}
.bib{position:relative}
.bib .copy{position:absolute;top:.6rem;right:.6rem;font:600 .8rem/1 inherit;padding:.4rem .7rem;border-radius:6px;border:1px solid var(--line);background:var(--bg);color:var(--ink);cursor:pointer}
.bib .copy:hover{border-color:var(--acc);color:var(--acc)}
.bib .copy.done{background:#15803d;border-color:#15803d;color:#fff}
#q3 .jtree-wrap{margin-bottom:2rem}
#q3 .note.summ{margin:0 auto 1.6rem}
#q3 .tbl{margin-bottom:2rem}
details.more{max-width:980px;margin:0 auto;border-top:1px solid var(--line);padding-top:1rem}
details.more>summary{cursor:pointer;font-weight:600;color:var(--acc);text-align:center;list-style:none}
details.more>summary::-webkit-details-marker{display:none}
details.more>summary::after{content:" \25B8";}
details.more[open]>summary::after{content:" \25BE";}
details.more[open]>summary{margin-bottom:1.2rem}

/* native charts in #q3 "More analysis" */
.charts .c-sc{max-width:560px;margin:0 auto 2rem}
.charts .cpair{max-width:980px;align-items:start}
.chart .chbox{position:relative}
.ch{display:block;width:100%;height:auto;overflow:visible;font:11px "Noto Sans","Helvetica Neue",Arial,sans-serif}
.ch .grid line{stroke:var(--line);stroke-width:.8}
.ch .grid text{fill:var(--muted);font-size:11px}
.sc-ch .grid text{font-size:12.5px}
.sc-ch .axl{font-size:14px}
.ch .axl{font-weight:600;font-size:12px}
.lgd{display:flex;flex-wrap:wrap;gap:.3rem 1rem;justify-content:center;font-size:.85rem;color:var(--muted);margin-bottom:.4rem}
.lgd i{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:.35rem;vertical-align:-1px}
.lgd label{cursor:pointer;user-select:none}
.ctip{position:absolute;pointer-events:none;background:#fff;border:1px solid var(--line);box-shadow:0 4px 14px rgba(0,0,0,.1);border-radius:6px;padding:.4rem .6rem;font-size:.8rem;line-height:1.45;white-space:pre-line;color:var(--ink);opacity:0;transition:opacity .12s;max-width:260px;z-index:3}
.ctip.on{opacity:1}
.ch [tabindex]{outline:none;cursor:default}
/* scatter */
.sc-ch .vids{opacity:0;transition:opacity .3s}
.sc-ch.vshow .vids{opacity:.22}
.sc-ch .hit{stroke:transparent;stroke-width:14}
.sc-ch .arr{stroke:#555;stroke-width:1.4;stroke-dasharray:5 4}
.sc-ch .all .arr{stroke:var(--ink);stroke-width:2.8;stroke-dasharray:8 5}
.sc-ch .alllab{font-weight:600;font-size:11px;fill:var(--ink)}
.sc-ch circle.ph,.sc-ch circle.pj{stroke:#fff;stroke-width:1.2}
.sc-ch .mdl,.sc-ch .all{transition:opacity .2s}
.sc-ch.hov .mdl,.sc-ch.hov .all{opacity:.18}
.sc-ch.hov .on{opacity:1}
.sc-ch .on .arr{stroke:var(--ink);stroke-width:2.2}
.charts.play .sc-ch .arr{animation:dashmv 1.1s linear infinite}
@keyframes dashmv{to{stroke-dashoffset:-9}}
.charts.play .sc-ch .all .arr{animation-duration:1.4s;animation-name:dashmv2}
@keyframes dashmv2{to{stroke-dashoffset:-13}}
/* stability */
.st-ch .mn{font-size:11.5px;fill:var(--ink)}
.st-ch .hit{fill:transparent}
.st-ch .seg{stroke:var(--c);stroke-width:2.4;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset .9s cubic-bezier(.2,.7,.2,1)}
.st-ch .end{fill:var(--c);opacity:0;transition:opacity .3s .7s}
.charts.play .st-ch .seg{stroke-dashoffset:0}
.charts.play .st-ch .end{opacity:1}
.st-ch .db:hover .seg,.st-ch .db:focus .seg{stroke-width:3.6}
/* ablation */
.ab-ch+.ab-ch{margin-top:.6rem}
.ab-ch{font-size:13px}
.ab-ch .axl{font-size:14px}
.ab-ch .bl,.ab-ch .bv{dominant-baseline:middle;fill:var(--ink)}
.ab-ch .bv{fill:var(--muted);font-size:12px}
.ab-ch rect{fill:var(--c);opacity:.35;transform-box:fill-box;transform-origin:left;transform:scaleX(0);transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.ab-ch .full rect{opacity:1}
.ab-ch .full text{font-weight:700}
.ab-ch .ind rect{opacity:.15;stroke:var(--c);stroke-width:1;stroke-dasharray:3 2}
.ab-ch .bar:hover rect,.ab-ch .bar:focus rect{opacity:.8}
.ab-ch .full:hover rect{opacity:1}
.charts.play .ab-ch rect{transform:scaleX(1)}
@media (prefers-reduced-motion:reduce){
  .charts .sc-ch .arr{animation:none!important}
  .st-ch .seg,.st-ch .end,.ab-ch rect{transition:none}
}
/* scatter: thinner arrows, soft per-video points visible by default */
.sc-ch .arr{stroke-width:.9!important}
.sc-ch .all .arr{stroke-width:1.6!important}
.sc-ch .on .arr{stroke-width:1.5!important}
.sc-ch.vshow .vids{opacity:.3}
.c-ab img{width:100%;height:auto}
/* tighter gap between header and the quote; typing effect */
.hero{padding-bottom:1.2rem!important}
.showcase .lead-q{padding-top:.4rem!important;min-height:3.6em}
.lead-q .caret{display:inline-block;width:2px;height:1.05em;margin-left:2px;vertical-align:-.15em;background:#9aa6b4;animation:blink 1s steps(1) infinite}
@keyframes blink{50%{opacity:0}}
/* start image: copy prompt / download image for trying other video models */
.media .try{position:absolute;inset:auto .5rem .5rem .5rem;display:flex;gap:.4rem;justify-content:flex-end;opacity:0;transition:opacity .15s}
.media:hover .try,.media:focus-within .try{opacity:1}
@media (hover:none){.media .try{opacity:1}}
.tbtn{font:600 .74rem/1 inherit;padding:.4rem .6rem;border-radius:6px;border:0;background:rgba(17,20,24,.85);color:#fff;text-decoration:none;cursor:pointer}
.tbtn:hover{background:var(--acc)}.tbtn.done{background:#15803d}
.tbtn{font-family:inherit!important;font-size:.72rem!important;font-weight:600;line-height:1!important;white-space:nowrap;padding:.45rem .6rem!important}
.media .try{justify-content:center!important}
.bib .copy{font-family:inherit;font-size:.8rem}
/* scatter: no connector arrows; one red annotation arrow shows the bias */
.sc-ch .arr,.sc-ch .alllab{display:none}
.sc-ch .on circle{stroke:var(--ink);stroke-width:2}
.media .tryhint{position:absolute;top:.5rem;left:.5rem;font-size:.7rem;font-weight:600;color:#fff;background:rgba(17,20,24,.6);padding:.25rem .5rem;border-radius:999px;pointer-events:none;transition:opacity .15s;backdrop-filter:blur(2px)}
.media:hover .tryhint,.media:focus-within .tryhint{opacity:0}
@media (hover:none){.media .tryhint{display:none}}
/* start image hover: tiny full prompt on the left */
.media .pview{position:absolute;top:0;left:0;bottom:0;width:58%;padding:.5rem .6rem 2.6rem;font-size:.58rem;line-height:1.35;color:#e8edf3;background:linear-gradient(90deg,rgba(17,20,24,.88),rgba(17,20,24,.7) 80%,rgba(17,20,24,0));overflow:auto;white-space:pre-wrap;opacity:0;transition:opacity .15s;pointer-events:none}
.media:hover .pview,.media:focus-within .pview{opacity:1;pointer-events:auto}
@media (hover:none){.media .pview{display:none}}
/* example-case chips with small animated outline icons */
.cchip{display:inline-flex;align-items:center;gap:.45rem;padding-left:.75rem!important;padding-right:.95rem!important}
.ci{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;overflow:visible}
.ci *{transform-box:fill-box}
.cchip:hover .ci-coffee .st,.cchip[aria-selected=true] .ci-coffee .st{animation:steam 1.4s ease-in-out infinite}
@keyframes steam{0%{opacity:0;transform:translateY(2px)}40%{opacity:1}100%{opacity:0;transform:translateY(-3px)}}
.ci-marker .ln{stroke-dasharray:12;stroke-dashoffset:0}
.cchip:hover .ci-marker .ln,.cchip[aria-selected=true] .ci-marker .ln{animation:draw 1.8s ease-in-out infinite}
@keyframes draw{0%{stroke-dashoffset:12}55%,100%{stroke-dashoffset:0}}
.ci-milk .box{transform-origin:30% 90%}
.cchip:hover .ci-milk .box,.cchip[aria-selected=true] .ci-milk .box{animation:tilt 1.8s ease-in-out infinite}
.ci-milk .drop{opacity:0}
.cchip:hover .ci-milk .drop,.cchip[aria-selected=true] .ci-milk .drop{animation:drop 1.8s ease-in-out infinite}
@keyframes tilt{0%,100%{transform:rotate(0)}40%,70%{transform:rotate(-35deg)}}
@keyframes drop{0%,40%{opacity:0}55%,70%{opacity:1}100%{opacity:0}}
.cchip:hover .ci-brush .br,.cchip[aria-selected=true] .ci-brush .br{animation:slide 1.8s ease-in-out infinite}
@keyframes slide{0%,100%{transform:translateY(0)}50%{transform:translateY(5px)}}
@media (prefers-reduced-motion:reduce){.ci *{animation:none!important}}
.sc-ch .all{display:none}
.sc-ch .mdl circle.ph,.sc-ch .mdl circle.pj{r:5}
/* buttons stacked on the right, above the prompt overlay */
.media .try{z-index:3;inset:auto .5rem .5rem auto!important;flex-direction:column;align-items:stretch;justify-content:flex-end!important;gap:.3rem}
.media .pview{z-index:2}

/* ==== editorial pass ==== */
:root{--serif:'Iowan Old Style','Palatino Linotype',Palatino,'Book Antiqua',Georgia,serif;--hair:#e6e7ea}
section.wrap{margin-top:5.5rem}
h2{font-size:1.6rem;font-weight:700;letter-spacing:-.015em}
.fgroup,.fov-g h3,.rank p,.stats span{font-variant:all-small-caps;text-transform:none;letter-spacing:.08em}
/* key findings: numbered editorial list */
.kfs{display:block;max-width:820px;margin:2rem auto 0;border-top:1px solid var(--hair)}
.kf{display:grid;grid-template-columns:190px 1fr;column-gap:2rem;align-items:start;border:0;border-bottom:1px solid var(--hair);border-radius:0;padding:1.8rem 0;background:none;opacity:0;transform:translateY(8px);transition:opacity .6s,transform .6s}
.kf:hover{box-shadow:none}
.kf-top{grid-row:1/3;display:flex;flex-direction:column;align-items:flex-start;gap:.35rem;margin:0}
.kf-num{font:400 3.1rem/1 var(--serif);color:var(--ink);font-variant-numeric:tabular-nums lining-nums;letter-spacing:-.02em}
.kf-unit{font-size:.8rem;color:var(--muted);font-variant:all-small-caps;letter-spacing:.07em;line-height:1.3}
.kf h3{font-size:1.1rem;font-weight:700;margin:.15rem 0 .4rem;letter-spacing:-.005em}
.kf p{font-size:.98rem;line-height:1.65;color:#3a3d42}
.kf strong.num{color:var(--acc);text-decoration:underline;text-decoration-color:rgba(42,93,176,.35);text-decoration-thickness:1.5px;text-underline-offset:3px}
.kf u{text-decoration-color:rgba(42,93,176,.45);text-decoration-thickness:1.5px}
@media (max-width:900px){.kfs{grid-template-columns:none}}
@media (max-width:600px){.kf{grid-template-columns:1fr;padding:1.4rem 0}.kf-top{grid-row:auto;flex-direction:row;align-items:baseline;gap:.6rem;margin-bottom:.3rem}.kf-num{font-size:2.4rem}}
/* failure types: index */
.fov{grid-template-columns:1fr 1fr 1.4fr;gap:0 2.4rem;margin:1.6rem 0 2.4rem}
.fov-g h3{font-size:.9rem;font-weight:600;color:var(--muted);margin:0 0 .3rem;padding-bottom:.4rem;border-bottom:1px solid var(--ink)}
.fov-g.task h3{color:var(--task)}.fov-g.state h3,.fov-g.inter h3{color:var(--phys)}
.fov-row{display:block}
.fov-t{display:block;padding:.75rem 0 .8rem .85rem;margin:0;border:0;border-bottom:1px solid var(--hair);border-left:2px solid transparent;border-radius:0;background:none;box-shadow:none;transition:border-color .15s,color .15s}
.fov-t:hover,.fov-t:focus-visible{transform:none;box-shadow:none}
.fov-t b{display:block;font-size:.95rem;font-weight:600;color:#33363b;margin-bottom:.15rem}
.fov-t span{display:block;font-size:.84rem}
.fov-t:hover b{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.fov-t[aria-expanded=true]{background:none;box-shadow:none;border-left-color:var(--acc)}
.fov-t[aria-expanded=true] b{color:var(--ink)}.fov-t[aria-expanded=true] span{color:#3a3d42}
.fov-hint{font-variant:all-small-caps;letter-spacing:.07em}
@media (max-width:900px){.fov{grid-template-columns:1fr;gap:1.4rem}.fov-row{display:block}}
/* calm-down */
.stats li{background:none;border:0;border-top:1px solid var(--hair);border-radius:0}
.qs a{border-color:var(--hair);border-radius:4px}.qs a:hover{box-shadow:none;border-color:var(--acc)}
.mcard{border-color:var(--hair);border-radius:4px}
.judgecard{border:0;border-left:2px solid var(--acc);border-radius:0;background:none}
.chip{border-color:var(--hair)}
.rank,.rank.jdg{border:0;border-radius:0;box-shadow:none;padding:0;background:none}
.rank h3{padding-bottom:.35rem}.rank.jdg h3{color:var(--acc)}
.rank li{border-top-color:var(--hair)}.rank li:last-child{border-bottom:1px solid var(--hair)}
.ourtag,.ourtag.man{background:none;color:var(--muted);border:1px solid #c9ccd1;font-weight:600;letter-spacing:.06em}
.fcard{border-color:var(--hair);border-radius:4px;box-shadow:none}
.fbtn{background:none;border-color:var(--hair)}
.arr{box-shadow:0 1px 3px rgba(0,0,0,.12)}
.tldr{border-left-width:2px}
pre{border-color:var(--hair)}
.rank h3{display:flex;align-items:center;gap:.25rem;height:1.9rem;padding-bottom:0}
/* key findings: one small animated glyph per takeaway, next to the number */
.kf-top{position:relative}
.ka{width:40px;height:40px;flex:0 0 auto;margin-right:.6rem;vertical-align:middle;fill:none;stroke:var(--acc);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.ka .bg{fill:var(--line);stroke:none}.ka .fg{fill:var(--acc);stroke:none}.ka .fgf{fill:var(--acc);stroke:none}
.ka .miss{fill:none;stroke:#b91c1c;stroke-dasharray:2 2}.ka .miss2{fill:#b91c1c;stroke:none;opacity:.8}
.ka .dash{stroke:var(--line);stroke-dasharray:2 3}.ka .ln2{stroke:#d4a017}
.kf.in .a-fill{animation:kfill 2.4s ease-in-out infinite;transform-origin:left}
@keyframes kfill{0%{transform:scaleX(0)}40%,85%{transform:scaleX(1)}100%{transform:scaleX(0)}}
.kf.in .a-hop{stroke-dasharray:60;animation:khop 2.2s ease-in-out infinite}
@keyframes khop{0%{stroke-dashoffset:60}60%,100%{stroke-dashoffset:0}}
.kf.in .a-left{animation:kl 1.8s ease-in-out infinite}.kf.in .a-right{animation:kr 1.8s ease-in-out infinite}
@keyframes kl{0%,100%{transform:translateX(0)}50%{transform:translateX(3px) rotate(-6deg)}}
@keyframes kr{0%,100%{transform:translateX(0)}50%{transform:translateX(-3px) rotate(8deg)}}
.ka *{transform-box:fill-box;transform-origin:center}
.kf.in .a-wave{animation:kwave 2s linear infinite}
@keyframes kwave{from{transform:translateX(0)}to{transform:translateX(-12px)}}
.ka{overflow:hidden}
.kf.in .a-up{animation:kup 2.4s ease-in-out infinite}.kf.in .a-down{animation:kdn 2.4s ease-in-out infinite}
@keyframes kup{0%,15%{transform:translateY(0)}50%,85%{transform:translateY(-11px)}100%{transform:translateY(0)}}
@keyframes kdn{0%,15%{transform:translateY(0)}50%,85%{transform:translateY(7px)}100%{transform:translateY(0)}}
.kf.in .a-rise{animation:krise 2.2s ease-in-out infinite}
@keyframes krise{0%{transform:translateY(0);opacity:1}70%{transform:translateY(-22px);opacity:1}100%{transform:translateY(-22px);opacity:0}}
@media (prefers-reduced-motion:reduce){.ka *{animation:none!important}}
.kf-top{display:grid!important;grid-template-columns:auto 1fr;column-gap:.75rem;align-items:center;justify-items:start}
.kf-top .ka{grid-row:1 / span 2;width:46px!important;height:46px!important;margin:0}
.kf-top .kf-num{grid-column:2}.kf-top .kf-unit{grid-column:2}
/* How they fail: centred intro */
#q4>p,#q4 .note,#q4 .fov-hint{text-align:center;max-width:860px;margin-left:auto;margin-right:auto}
/* findings tone: bad = red, good = green, informational = amber; numbers carry the tone */
.kf{--tone:var(--acc)}
.kf.k-bad{--tone:#b91c1c}.kf.k-good{--tone:#15803d}.kf.k-info{--tone:#b45309}
.kf .kf-num{color:var(--tone)!important}
.kf strong.num,.kf u{color:var(--tone)!important;text-decoration-color:var(--tone)!important}
.ka{stroke:var(--tone)!important}
.ka .fgf{fill:var(--tone)!important}
.ka .lab{font-size:7px;fill:var(--muted);stroke:none;font-family:inherit}
.ka .hum{fill:#9aa3ad;stroke:none}.ka .bad{fill:#b91c1c;stroke:none}.ka .gapl{stroke:#b91c1c;stroke-width:1.4;stroke-dasharray:2 2}
.ka .good{stroke:#15803d;stroke-width:2.4}.ka .goodf{fill:#15803d;stroke:none}.ka .badf{fill:#b91c1c;stroke:none}.ka .wht{stroke:#fff;stroke-width:2}
.ka .badl{stroke:#b91c1c}.ka .a-cloud circle{fill:#b91c1c;stroke:none;opacity:.8}
.kf.in .a-fillh{animation:kfill 2.4s ease-in-out infinite;transform-origin:left}
.kf.in .a-gap{animation:kgap 2.4s ease-in-out infinite}
@keyframes kgap{0%,35%{opacity:0}50%,85%{opacity:1}100%{opacity:0}}
.kf.in .a-hl{animation:hl 2.2s ease-in-out infinite}.kf.in .a-hr{animation:hr 2.2s ease-in-out infinite}
@keyframes hl{0%{transform:translateX(-8px)}40%,80%{transform:translateX(0)}100%{transform:translateX(-8px)}}
@keyframes hr{0%{transform:translateX(8px)}40%,80%{transform:translateX(0)}100%{transform:translateX(8px)}}
.kf.in .a-ok{stroke-dasharray:20;animation:kok 2.2s ease-in-out infinite}
@keyframes kok{0%,40%{stroke-dashoffset:20}60%,85%{stroke-dashoffset:0}100%{stroke-dashoffset:20}}
.kf.in .a-sepl{animation:sl 2.4s ease-in-out infinite}.kf.in .a-sepr{animation:sr 2.4s ease-in-out infinite}
@keyframes sl{0%,15%{transform:translateX(0)}50%,85%{transform:translateX(-11px)}100%{transform:translateX(0)}}
@keyframes sr{0%,15%{transform:translateX(0)}50%,85%{transform:translateX(11px)}100%{transform:translateX(0)}}
.kf.in .a-cloud{animation:cloud 2.4s ease-in-out infinite}
@keyframes cloud{0%,15%{transform:translateY(0)}60%,85%{transform:translateY(-16px)}100%{transform:translateY(0)}}
.fcall{display:flex;align-items:center;justify-content:center;gap:.5rem;margin:1.4rem auto 1rem;font-weight:700;font-size:1rem;color:#b91c1c}
.fcall svg{width:22px;height:22px;fill:none;stroke:#b91c1c;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;animation:bob 1.4s ease-in-out infinite}
@keyframes bob{0%,100%{transform:translateY(-2px)}50%{transform:translateY(3px)}}
@media (prefers-reduced-motion:reduce){.fcall svg{animation:none}}
table.paper.small thead th:last-child,table.paper.small td:last-child{background:#e8f0fb!important}
.why b{margin-right:.35rem}

/* suite construction strip */
.build{list-style:none;padding:0;margin:1.6rem auto 2.4rem;display:grid;grid-template-columns:repeat(4,1fr);gap:0;max-width:1000px;counter-reset:b}
.build li{position:relative;text-align:center;padding:0 1rem;opacity:0;transform:translateY(8px);transition:opacity .6s ease,transform .6s ease;transition-delay:calc(var(--i)*.35s)}
.build li+li::before{content:"";position:absolute;top:22px;left:-18%;width:36%;height:1px;background:var(--line);transform:scaleX(0);transform-origin:left;transition:transform .5s ease;transition-delay:calc(var(--i)*.35s - .15s)}
.build li+li::after{content:"";position:absolute;top:19px;left:calc(18% - 4px);border:3.5px solid transparent;border-left:5px solid #9aa3ad;opacity:0;transition:opacity .3s;transition-delay:calc(var(--i)*.35s)}
.build.in li{opacity:1;transform:none}.build.in li+li::before{transform:scaleX(1)}.build.in li+li::after{opacity:1}
.build svg{width:44px;height:44px;display:block;margin:0 auto .5rem;fill:none;stroke:var(--acc);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.build svg .ok{stroke:#15803d}.build svg .no{stroke:#b91c1c}
.build li:last-child svg{stroke:var(--phys)}.build li:last-child svg path:first-child{stroke:var(--task)}
.build .bn{display:block;font-size:2rem;font-weight:700;font-variant-numeric:tabular-nums;line-height:1.1;color:var(--ink)}
.build b{display:block;font-size:.95rem;margin:.25rem 0 .2rem}
.build .bd{display:block;font-size:.84rem;color:var(--muted);line-height:1.4}
.sub.sm{font-size:1rem}
#takeaways #q1{margin-top:3rem;padding-top:2rem;border-top:1px solid var(--line)}
@media (max-width:700px){
  .build{grid-template-columns:1fr 1fr;gap:1.6rem 0}
  .build li{padding:0 .5rem}.build .bn{font-size:1.6rem}
  .build li+li::before,.build li+li::after{display:none}
}
@media (prefers-reduced-motion:reduce){.build li,.build li::before,.build li::after{transition:none!important}}
/* AUTO tag: solid blue with a live pulsing dot */
.rank.jdg .ourtag{background:var(--acc)!important;color:#fff!important;border-color:var(--acc)!important;position:relative;padding-left:.95rem!important}
.rank.jdg .ourtag::before{content:"";position:absolute;left:.32rem;top:50%;width:.36rem;height:.36rem;margin-top:-.18rem;border-radius:50%;background:#fff;animation:live 1.4s ease-in-out infinite}
.rank.jdg .ourtag{animation:glow 1.4s ease-in-out infinite}
@keyframes live{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.25;transform:scale(.6)}}
@keyframes glow{0%,100%{box-shadow:0 0 0 0 rgba(42,93,176,.45)}50%{box-shadow:0 0 0 4px rgba(42,93,176,0)}}
@media (prefers-reduced-motion:reduce){.rank.jdg .ourtag,.rank.jdg .ourtag::before{animation:none}}
.tldr strong.num.neg{color:#b91c1c;text-decoration-color:#b91c1c}.tldr strong.num.pos{color:#15803d;text-decoration-color:#15803d}
/* leaderboard: human columns soft yellow, judge columns soft blue */
table.lb tbody tr>*:nth-child(2),table.lb tbody tr>*:nth-child(3),table.lb tbody tr>*:nth-child(4),
table.lb thead tr:first-child>th:nth-child(2),table.lb thead tr:last-child>th:nth-child(-n+3){background:#fdf6dc}
table.lb tbody tr>*:nth-child(5),table.lb tbody tr>*:nth-child(6),table.lb tbody tr>*:nth-child(7),
table.lb thead tr:first-child>th:nth-child(3),table.lb thead tr:last-child>th:nth-child(n+4){background:#e8f0fb}
.tldr strong.num{text-decoration:none!important}

/* models and settings table: plain, left aligned, notes wrap, no highlighted column */
.paper.models th,.paper.models td{text-align:left;background:none!important;white-space:normal;vertical-align:top}
.paper.models td code{font-size:.82em;white-space:nowrap}
