*{box-sizing:border-box}
body{margin:0;background:#060606;font-family:'IBM Plex Mono',ui-monospace,monospace;-webkit-font-smoothing:antialiased}
a{color:#e8e8e8;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.25)}
a:hover{color:#fff;border-color:#fff}

@keyframes fin{0%{opacity:0;transform:translateY(10px)}100%{opacity:1;transform:translateY(0)}}
@keyframes brth{0%,100%{opacity:.3}50%{opacity:.85}}
@keyframes exp{0%{opacity:0;transform:translateY(-6px)}100%{opacity:1;transform:translateY(0)}}
@keyframes mfade{0%{opacity:0;transform:scale(.96)}100%{opacity:1;transform:scale(1)}}
@keyframes bfade{0%{opacity:0}100%{opacity:1}}
@keyframes tslide{0%{opacity:0;transform:translateX(30px)}100%{opacity:1;transform:translateX(0)}}
@keyframes growW{0%{transform:scaleX(0)}100%{transform:scaleX(1)}}
@keyframes growH{0%{transform:scaleY(0)}100%{transform:scaleY(1)}}
@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}

::-webkit-scrollbar{width:9px;height:9px}
::-webkit-scrollbar-thumb{background:rgba(255,255,255,.12);border-radius:5px}
::-webkit-scrollbar-track{background:transparent}

/* hover-focus group */
.hgrp:hover .hrow:not(:hover){opacity:.4}
.hrow{transition:opacity .2s,filter .2s,transform .2s}
.hrow:hover{filter:drop-shadow(0 0 7px rgba(255,255,255,.4));transform:translateY(-1px)}

/* page chrome */
.page{position:relative;width:100%;min-width:1200px;min-height:100vh;color:#ededed;overflow:clip;
  background:
    radial-gradient(120% 90% at 18% 8%, rgba(255,255,255,.11), transparent 46%),
    radial-gradient(95% 80% at 88% 96%, rgba(255,255,255,.07), transparent 52%),
    radial-gradient(70% 60% at 52% 34%, rgba(255,255,255,.035), transparent 60%),
    #060606}
.noise{position:absolute;inset:0;pointer-events:none;opacity:.16;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.82' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.vignette{position:absolute;inset:0;pointer-events:none;background:radial-gradient(130% 120% at 50% 45%, transparent 55%, rgba(0,0,0,.55) 100%)}
.content{position:relative;z-index:2;display:flex;flex-direction:column;min-height:100vh}
.content>.footer{margin-top:auto}

/* masthead */
.masthead{display:flex;align-items:center;padding:22px 46px;border-bottom:1px solid rgba(255,255,255,.08)}
.masthead-title{font:500 12px/1 'IBM Plex Mono';letter-spacing:.34em;color:#f2f2f2;border-bottom:none;cursor:pointer}
a.masthead-title:hover{color:#fff;border-bottom:none}
.masthead-right{margin-left:auto;display:flex;align-items:center;gap:26px;font:400 11px 'IBM Plex Mono';letter-spacing:.12em;color:#7a7a7a}
.masthead-model{display:inline-flex;align-items:center;gap:8px}
.breath-dot{width:5px;height:5px;border-radius:50%;background:#e8e8e8;animation:brth 3s infinite}
.masthead-views{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border:1px solid rgba(255,255,255,.14);color:#c2c2c2;border-bottom:1px solid rgba(255,255,255,.14)}
a.masthead-views:hover{color:#fff;border-color:rgba(255,255,255,.4)}
.masthead-views svg{display:block}
.masthead-views span{font:500 11px 'IBM Plex Mono';color:#ededed;letter-spacing:.08em}

/* hero */
.hero{padding:70px 46px 44px;max-width:1180px;animation:fin .8s both}
.hero-kicker{font:400 11px 'IBM Plex Mono';letter-spacing:.3em;color:#6f6f6f;margin-bottom:28px}
.hero-row{display:flex;align-items:flex-end;gap:26px;flex-wrap:wrap}
.hero-num{font:300 92px/0.9 'IBM Plex Mono';letter-spacing:-.02em;color:#fbfbfb}
.hero-sub{padding-bottom:12px;max-width:460px;font:400 15px/1.7 'IBM Plex Mono';color:#9a9a9a}
.hero-em{color:#f2f2f2}
.hero-lede{margin-top:32px;max-width:820px;font:300 18px/1.75 'IBM Plex Mono';color:#d0d0d0;letter-spacing:.01em}
.hero-chart{margin-top:44px}
.hero-bars{display:flex;align-items:flex-end;gap:20px;height:78px}
.hero-bars .hrow{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%}
.hero-bar-pct{font:500 12px 'IBM Plex Mono';color:#dcdcdc;margin-bottom:7px}
.hero-bar-fill{width:100%;transform-origin:bottom;animation:growH .7s cubic-bezier(.22,.61,.36,1) both}
.hero-bar-labels{display:flex;gap:20px;margin-top:10px}
.hero-bar-labels div{flex:1;text-align:center;font:400 10.5px 'IBM Plex Mono';color:#6f6f6f}
.hero-caption{margin-top:16px;font:400 11px 'IBM Plex Mono';color:#6f6f6f}

/* tabs — sticky glass navigation. Progressive states driven by scroll position:
   resting (near-transparent) -> glass at 20px -> higher opacity at 150px for readability. */
.tabs-wrap{padding:0 46px;border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.05);position:sticky;top:0;z-index:50;
  background:rgba(10,10,10,.35);
  -webkit-backdrop-filter:blur(16px) saturate(140%);
  backdrop-filter:blur(16px) saturate(140%);
  transition:background .25s ease,box-shadow .25s ease}
.tabs-wrap.nav-glass{background:rgba(10,10,10,.55);box-shadow:0 8px 30px rgba(0,0,0,.35)}
.tabs-wrap.nav-solid{background:rgba(10,10,10,.70)}
.tabs{display:flex;gap:2px;flex-wrap:wrap}
.tab{cursor:pointer;padding:20px 24px 18px;font:500 12px 'IBM Plex Mono';letter-spacing:.16em;color:#5f5f5f;border-bottom:1px solid transparent;transition:color .25s}
.tab.active{color:#f6f6f6;border-bottom-color:#f0f0f0}
.tab:focus-visible{outline:1px solid rgba(255,255,255,.5);outline-offset:-4px;color:#c8c8c8}

/* panel */
.panel{padding:54px 46px 34px;display:grid;grid-template-columns:340px 1fr;gap:58px;align-items:start}
.panel-left{animation:fin .5s both}
.panel-right{animation:fin .55s both}
.pl-kicker{font:400 11px 'IBM Plex Mono';letter-spacing:.24em;color:#6f6f6f;margin-bottom:20px}
.pl-bigrow{display:flex;align-items:baseline;gap:12px}
.pl-big{font:300 58px/0.9 'IBM Plex Mono';color:#fbfbfb;letter-spacing:-.01em}
.pl-bigunit{font:400 12px 'IBM Plex Mono';color:#8a8a8a}
.pl-biglabel{margin-top:8px;font:400 13px 'IBM Plex Mono';color:#8a8a8a}
.pl-brief{margin-top:26px;font:400 14px/1.75 'IBM Plex Mono';color:#c2c2c2;max-width:340px}
.pl-stats{margin-top:32px;display:flex;flex-direction:column}
.pl-stat{display:flex;align-items:baseline;justify-content:space-between;gap:14px;padding:14px 0;border-top:1px solid rgba(255,255,255,.08)}
.pl-stat-k{font:400 13px 'IBM Plex Mono';letter-spacing:.04em;color:#8a8a8a}
.pl-stat-v{font:500 15px 'IBM Plex Mono';color:#ededed;text-align:right}

.pr-head{display:flex;align-items:baseline;gap:14px;margin-bottom:26px;flex-wrap:wrap}
.pr-title{font:500 13px 'IBM Plex Mono';letter-spacing:.06em;color:#ededed}
.pr-unit{font:400 11px 'IBM Plex Mono';color:#6f6f6f;margin-left:auto}
.pr-faces{display:flex;gap:5px;flex-wrap:wrap}
.pr-face{cursor:pointer;font:600 9.5px 'IBM Plex Mono';letter-spacing:.1em;padding:6px 11px;color:#8a8a8a;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.14);transition:all .2s}
.pr-face:hover{color:#ededed}
.pr-face.active{color:#060606;background:#f0f0f0;border-color:#f0f0f0}
.pr-face:focus-visible{outline:1px solid rgba(255,255,255,.5);outline-offset:2px}

/* horizontal bars */
.hbars{display:flex;flex-direction:column;gap:13px}
.hbar{display:flex;align-items:center;gap:16px}
.hbar-label{width:250px;flex:none;font:400 12.5px 'IBM Plex Mono';color:#c8c8c8;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hbar-track{flex:1;height:20px;background:rgba(255,255,255,.045);position:relative}
.hbar-fill{height:100%;transition:width .35s ease;transform-origin:left;animation:growW .55s cubic-bezier(.22,.61,.36,1) both}
.hbar-value{width:48px;flex:none;font:500 13.5px 'IBM Plex Mono';color:#f2f2f2}

/* vertical bars */
.vbars{display:flex;align-items:flex-end;gap:26px;height:230px;padding:0 8px}
.vbar{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%}
.vbar-value{font:500 14px 'IBM Plex Mono';color:#f2f2f2;margin-bottom:8px;animation:bfade .5s both}
.vbar-fill{width:100%;transform-origin:bottom;animation:growH .6s cubic-bezier(.22,.61,.36,1) both}

/* grouped per-venue bars */
.vgroup{flex:1;display:flex;align-items:flex-end;gap:3px;height:100%}
.vgroup .vbar-thin{flex:1;transform-origin:bottom;animation:growH .6s cubic-bezier(.22,.61,.36,1) both}
.venue-legend{display:flex;gap:22px;margin-top:16px;padding:0 8px}
.venue-legend span{display:inline-flex;align-items:center;gap:8px;font:400 10.5px 'IBM Plex Mono';letter-spacing:.1em;color:#8a8a8a}
.venue-swatch{width:10px;height:10px;flex:none}
.vbar-labels{display:flex;gap:26px;padding:14px 8px 0;border-top:1px solid rgba(255,255,255,.08)}
.vbar-labels div{flex:1;text-align:center;font:400 12px 'IBM Plex Mono';color:#8a8a8a}
.chart-note{margin-top:14px;font:400 12.5px/1.7 'IBM Plex Mono';color:#8a8a8a}
.chart-note a{color:#c8c8c8}

/* line chart */
.line-svg{width:100%;height:320px;display:block;overflow:visible}
.line-caption{margin-top:20px;font:400 12.5px/1.7 'IBM Plex Mono';color:#8a8a8a}

/* drilldown */
.drill{animation:exp .3s both}
.drill-head{display:flex;align-items:baseline;gap:14px;margin-bottom:20px}
.drill-hint{font:400 11.5px 'IBM Plex Mono';color:#6f6f6f}
.drill-scale{margin-left:auto;display:flex;gap:5px}
.drill-scale-btn{cursor:pointer;font:600 9.5px 'IBM Plex Mono';letter-spacing:.1em;padding:5px 10px;color:#8a8a8a;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.14)}
.drill-scale-btn.active{color:#060606;background:#f0f0f0;border-color:#f0f0f0}
.drill-grid{display:grid;grid-template-columns:170px 1fr;gap:34px;align-items:start}
.drill-years{display:flex;flex-direction:column;border-top:1px solid rgba(255,255,255,.1)}
.drill-year{cursor:pointer;display:flex;align-items:baseline;gap:8px;padding:11px 12px;border-bottom:1px solid rgba(255,255,255,.07);border-left:2px solid transparent;transition:background .2s}
.drill-year-y{font:500 12px 'IBM Plex Mono';color:#7a7a7a}
.drill-year-n{font:400 10px 'IBM Plex Mono';color:#6f6f6f;margin-left:auto}
.drill-year.active{background:rgba(255,255,255,.06);border-left-color:#f0f0f0}
.drill-year.active .drill-year-y{color:#f6f6f6}
.drill-detail{animation:exp .3s both}
.drill-detail-head{display:flex;align-items:baseline;gap:12px;margin-bottom:16px}
.drill-sel-year{font:300 26px 'IBM Plex Mono';color:#fbfbfb}
.drill-sel-n{font:400 11px 'IBM Plex Mono';color:#8a8a8a}
.drill .hbar-label{width:220px}
.drill-note{margin-top:20px;font:400 11.5px/1.7 'IBM Plex Mono';letter-spacing:.04em;color:#8a8a8a}

/* classifier metrics */
.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.metric{padding:20px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.02)}
.metric-k{font:400 11.5px 'IBM Plex Mono';letter-spacing:.1em;color:#8a8a8a}
.metric-v{margin-top:12px;font:300 34px 'IBM Plex Mono';color:#fbfbfb}
.metrics-note{margin-top:22px;font:400 13px/1.75 'IBM Plex Mono';color:#8a8a8a;max-width:720px}
.metrics-note a{color:#c8c8c8}

/* method */
.pipeline{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.pipe-step{padding:18px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.02)}
.pipe-step-k{font:500 11px 'IBM Plex Mono';color:#6f6f6f;letter-spacing:.1em}
.pipe-step-name{margin-top:12px;font:500 15px 'IBM Plex Mono';color:#f2f2f2}
.pipe-step-desc{margin-top:10px;font:400 12.5px/1.65 'IBM Plex Mono';color:#9a9a9a}
.classes-title{margin-top:26px;font:500 12px 'IBM Plex Mono';letter-spacing:.06em;color:#ededed;margin-bottom:14px}
.method-sub{font:400 10.5px 'IBM Plex Mono';letter-spacing:.04em;color:#6f6f6f}
.method-cite{margin-top:26px;padding:14px 16px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.02);font:400 12.5px/1.75 'IBM Plex Mono';letter-spacing:.02em;color:#9a9a9a}
.method-cite a{color:#c8c8c8}
.classes{display:flex;flex-direction:column;gap:10px}
.class-row{display:flex;gap:16px;padding:12px 0;border-top:1px solid rgba(255,255,255,.08)}
.class-n{width:24px;flex:none;font:500 13px 'IBM Plex Mono';color:#6f6f6f}
.class-name{width:220px;flex:none;font:500 13.5px 'IBM Plex Mono';color:#f2f2f2}
.class-desc{flex:1;font:400 12.5px/1.65 'IBM Plex Mono';color:#9a9a9a}

/* disclosure */
.disclosure{padding:0 46px 66px}
.disclosure:empty{padding:0 0 66px}
.disc-toggle{cursor:pointer;display:flex;align-items:center;gap:14px;padding:20px 0;border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08);font:400 12px 'IBM Plex Mono';letter-spacing:.14em;color:#9a9a9a}
.disc-icon{margin-left:auto;font-size:14px;color:#6f6f6f}
.disc-body{padding-top:30px;animation:exp .45s both}
.disc-kicker{font:400 11px 'IBM Plex Mono';letter-spacing:.14em;color:#6f6f6f;margin-bottom:20px}
.disc-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 44px}
.disc-paper{display:flex;gap:14px;align-items:baseline;padding:12px 0;border-top:1px solid rgba(255,255,255,.07)}
.disc-paper-t{font:500 13.5px/1.55 'IBM Plex Mono';color:#e6e6e6;flex:1}
.disc-paper-t a{color:#e6e6e6;border-bottom:1px solid rgba(255,255,255,.18)}
.disc-paper-t a:hover{color:#fff;border-color:rgba(255,255,255,.7)}
.disc-paper-d{font:400 10px 'IBM Plex Mono';letter-spacing:.06em;color:#8a8a8a;white-space:nowrap;padding:3px 8px;border:1px solid rgba(255,255,255,.14)}
.disc-foot{margin-top:26px;font:400 13px/1.7 'IBM Plex Mono';color:#8a8a8a;max-width:700px}

/* footer */
.footer{padding:26px 46px;border-top:1px solid rgba(255,255,255,.08);display:flex;align-items:center;gap:20px;font:400 10.5px 'IBM Plex Mono';letter-spacing:.1em;color:#5a5a5a}
.footer a{color:#8a8a8a;border-bottom-color:rgba(255,255,255,.25)}
.footer-right{margin-left:auto}
.footer-support{padding:18px 46px 24px;display:flex;align-items:center;justify-content:center;gap:10px;border-top:1px solid rgba(255,255,255,.06)}
.footer-support svg{display:block}
.footer-support span{font:400 11px 'IBM Plex Mono';letter-spacing:.14em;color:#8a8a8a}
.footer-support-em{color:#dcdcdc}

/* feedback fab */
.fab{position:fixed;right:28px;bottom:28px;z-index:60;display:flex;align-items:center;gap:12px;cursor:pointer}
.fabtip{opacity:0;transform:translateX(8px);transition:all .3s;font:500 10px 'IBM Plex Mono';letter-spacing:.14em;color:#c2c2c2;background:rgba(6,6,6,.92);border:1px solid rgba(255,255,255,.16);padding:7px 12px}
.fab:hover .fabtip{opacity:1;transform:translateX(0)}
.fab-btn{width:48px;height:48px;border-radius:50%;background:#f0f0f0;display:flex;align-items:center;justify-content:center;box-shadow:0 0 24px rgba(255,255,255,.18)}
.fabi{display:block;font:300 24px/1 'IBM Plex Mono';color:#060606;transition:transform .3s}
.fab:hover .fabi{transform:rotate(45deg)}

/* feedback modal */
.fb-overlay{position:fixed;inset:0;z-index:70;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.6);backdrop-filter:blur(6px);animation:bfade .3s both}
.fbmodal{width:520px;max-width:92vw;max-height:92vh;overflow:auto;background:#0a0a0a;border:1px solid rgba(255,255,255,.16);padding:28px;animation:mfade .3s both}
@media(max-width:640px){.fbmodal{width:100vw!important;max-width:100vw!important;height:100vh!important;max-height:100vh!important;border:none!important}}
.fb-head{display:flex;align-items:baseline;gap:12px;margin-bottom:24px}
.fb-title{font:500 12px 'IBM Plex Mono';letter-spacing:.24em;color:#f2f2f2}
.fb-close{margin-left:auto;cursor:pointer;font:300 16px 'IBM Plex Mono';color:#8a8a8a;padding:2px 8px;border:1px solid rgba(255,255,255,.14)}
.fb-close:hover{color:#f2f2f2}
.fb-types{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:20px}
.fb-type{cursor:pointer;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:8px;padding:0 8px 12px;text-align:center;background:rgba(255,255,255,.015);border:1px solid rgba(255,255,255,.14);transition:all .3s}
.fb-type-edge{width:100%;height:2px;background:transparent;flex:none}
.fb-type-glyph{font:300 18px/1 'IBM Plex Mono';color:#8a8a8a;margin-top:6px}
.fb-type-label{font:500 8.5px/1.5 'IBM Plex Mono';letter-spacing:.06em;color:#8a8a8a;white-space:normal;word-break:break-word}
.fb-type.on{background:rgba(255,255,255,.05)}
.fb-type.on .fb-type-glyph,.fb-type.on .fb-type-label{color:#f6f6f6}
.fb-input{width:100%;box-sizing:border-box;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.14);color:#ededed;font:400 12px 'IBM Plex Mono';padding:12px 14px;outline:none}
.fb-textarea{width:100%;box-sizing:border-box;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.14);color:#ededed;font:400 12px/1.6 'IBM Plex Mono';padding:12px 14px;outline:none;resize:vertical}
.fb-count{margin-top:6px;text-align:right;font:400 10px 'IBM Plex Mono';color:#6f6f6f}
.fb-title-count{margin-bottom:12px}
.fb-sev-wrap{margin-top:14px}
.fb-sev-label{font:400 10px 'IBM Plex Mono';letter-spacing:.14em;color:#8a8a8a;margin-bottom:8px}
.fb-sevs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.fb-sev{cursor:pointer;padding:9px;text-align:center;font:600 10px 'IBM Plex Mono';letter-spacing:.12em;color:#8a8a8a;background:transparent;border:1px solid rgba(255,255,255,.14);transition:all .3s}
.fb-sev.on{background:rgba(255,255,255,.05)}
.fb-submit{margin-top:22px;padding:13px;text-align:center;font:600 11px 'IBM Plex Mono';letter-spacing:.18em;color:#5a5a5a;background:rgba(255,255,255,.05);cursor:default;transition:all .3s}
.fb-submit.ready{color:#060606;background:#f0f0f0;cursor:pointer}

/* toast */
.toast{position:fixed;top:24px;right:24px;z-index:80;background:#0a0a0a;border:1px solid rgba(255,255,255,.2);padding:14px 18px;display:flex;align-items:center;gap:10px;animation:tslide .35s both}
.toast-dot{width:6px;height:6px;border-radius:50%;background:#4ade80;box-shadow:0 0 8px #4ade80}
.toast-msg{font:500 11px 'IBM Plex Mono';letter-spacing:.08em;color:#ededed}

/* custom tooltip */
.tt{position:fixed;z-index:90;pointer-events:none;background:rgba(8,8,8,.96);border:1px solid rgba(255,255,255,.22);padding:8px 11px;font:400 12px/1.55 'IBM Plex Mono';letter-spacing:.03em;color:#ededed;white-space:normal;width:max-content;opacity:0;transition:opacity .12s;max-width:min(360px,80vw)}
.tt.show{opacity:1}
.tt .tt-em{color:#fff;font-weight:500}
.tt .tt-dim{color:#8a8a8a}

/* paper explorer */
.px-loading{padding:40px 0;font:400 12px 'IBM Plex Mono';letter-spacing:.14em;color:#6f6f6f;animation:brth 1.6s infinite}
.px-controls{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.px-input{flex:1 1 220px;min-width:0;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.14);color:#ededed;font:400 12px 'IBM Plex Mono';padding:10px 13px;outline:none}
.px-input:focus{border-color:rgba(255,255,255,.35)}
.px-input::placeholder{color:#6f6f6f}
.px-select{background:#0a0a0a;border:1px solid rgba(255,255,255,.14);color:#c2c2c2;font:500 10px 'IBM Plex Mono';letter-spacing:.08em;padding:10px 8px;outline:none;cursor:pointer;max-width:180px}
.px-select:focus{border-color:rgba(255,255,255,.35)}
.px-count{font:400 11px 'IBM Plex Mono';letter-spacing:.1em;color:#6f6f6f;margin-bottom:10px}
.px-table{display:flex;flex-direction:column}
.px-row{display:flex;align-items:baseline;gap:14px;padding:10px 0;border-top:1px solid rgba(255,255,255,.07)}
.px-title{flex:1;min-width:0;font:500 13px/1.55 'IBM Plex Mono';color:#e6e6e6;border-bottom:none}
.px-title:hover{color:#fff;border-bottom:1px solid rgba(255,255,255,.5)}
.px-meta{flex:none;font:400 10.5px 'IBM Plex Mono';letter-spacing:.06em;color:#8a8a8a;white-space:nowrap}
.px-sd{padding:2px 7px;border:1px solid rgba(255,255,255,.12)}
.px-score{flex:none;width:20px;text-align:right;font:500 12px 'IBM Plex Mono';color:#f2f2f2}
.px-more{margin-top:16px;cursor:pointer;text-align:center;padding:12px;border:1px solid rgba(255,255,255,.14);font:600 10px 'IBM Plex Mono';letter-spacing:.14em;color:#c2c2c2;background:rgba(255,255,255,.02)}
.px-more:hover{background:rgba(255,255,255,.06);color:#fff}
.px-more:focus-visible{outline:1px solid rgba(255,255,255,.5)}
.px-foot{margin-top:18px;font:400 11.5px/1.7 'IBM Plex Mono';color:#8a8a8a}
.px-row{cursor:pointer}
.px-rowwrap.open .px-row{background:rgba(255,255,255,.02)}
.px-caret{flex:none;width:14px;text-align:center;font:300 13px/1 'IBM Plex Mono';color:#6f6f6f}
.px-detail{padding:14px 0 18px 14px;border-left:2px solid rgba(255,255,255,.12);margin:0 0 6px 2px;animation:exp .25s both}
.px-detail-loading{font:400 10.5px 'IBM Plex Mono';letter-spacing:.12em;color:#6f6f6f;animation:brth 1.6s infinite}
.px-detail-scores{display:flex;gap:8px;flex-wrap:wrap}
.px-detail-scores span{font:600 9px 'IBM Plex Mono';letter-spacing:.1em;color:#c2c2c2;padding:4px 9px;border:1px solid rgba(255,255,255,.12)}
.px-detail-reason{margin-top:12px;font:400 12.5px/1.75 'IBM Plex Mono';color:#9a9a9a;max-width:720px}
.px-detail-note{margin-top:10px;font:400 9.5px 'IBM Plex Mono';letter-spacing:.06em;color:#5a5a5a}
@media(max-width:760px){
  .px-row{flex-wrap:wrap;gap:6px 10px}
  .px-title{flex-basis:100%}
}

/* feedback modal hint */
.fb-hint{margin-top:10px;text-align:center;font:400 9.5px/1.6 'IBM Plex Mono';letter-spacing:.04em;color:#6f6f6f}

/* arXiv crosshair */
.xh-line{stroke:rgba(255,255,255,.35);stroke-width:1;stroke-dasharray:3 3}
.xh-dot{fill:#060606;stroke:#fff;stroke-width:1.4}

/* ---------- responsive ---------- */
@media(max-width:1200px){
  .page{min-width:0}
  .panel{gap:40px}
}
@media(max-width:980px){
  .panel{grid-template-columns:1fr;gap:44px}
  .pl-brief{max-width:none}
  .disc-grid{grid-template-columns:1fr}
  .hero-num{font-size:72px}
}
@media(max-width:760px){
  .masthead,.hero,.tabs-wrap,.panel,.disclosure,.footer,.footer-support{padding-left:22px;padding-right:22px}
  .masthead{flex-wrap:wrap;gap:12px}
  .masthead-right{margin-left:0;flex-wrap:wrap;gap:12px}
  .tabs{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .tabs::-webkit-scrollbar{display:none}
  .tab{padding:16px 16px 14px;white-space:nowrap}
  .hero{padding-top:44px}
  .hero-num{font-size:56px}
  .hero-lede{font-size:15px}
  .hero-bars,.hero-bar-labels{gap:8px}
  .pipeline,.metrics{grid-template-columns:1fr 1fr}
  .drill-grid{grid-template-columns:1fr;gap:24px}
  .drill-years{flex-direction:row;flex-wrap:wrap;border-top:none}
  .drill-year{flex:1 1 22%;border-left:none;border-bottom:2px solid transparent;justify-content:center}
  .drill-year.active{border-bottom-color:#f0f0f0}
  .drill-year-n{display:none}
  .hbar-label{width:120px!important;font-size:10px}
  .vbars{gap:8px;padding:0}
  .vbar-labels{gap:8px;padding:14px 0 0}
  .vbar-value{font-size:10.5px}
  .class-row{flex-wrap:wrap}
  .class-desc{flex-basis:100%}
  .footer{flex-wrap:wrap;gap:8px}
  .footer-right{margin-left:0}
}
@media(max-width:480px){
  .hero-num{font-size:44px}
  .hero-kicker{letter-spacing:.18em;font-size:10px}
  .pipeline,.metrics{grid-template-columns:1fr}
  .pl-big{font-size:44px}
  .line-svg{height:230px}
}
