@font-face{font-family:DeadlockOracle;src:url('./assets/fonts/valve-oracle-medium.woff2') format('woff2');font-weight:400 500;font-style:normal;font-display:swap;unicode-range:U+0000-024F,U+2000-206F}
@font-face{font-family:DeadlockOracle;src:url('./assets/fonts/valve-oracle-semibold.woff2') format('woff2');font-weight:600 900;font-style:normal;font-display:swap;unicode-range:U+0000-024F,U+2000-206F}
@font-face{font-family:DeadlockPulp;src:url('./assets/fonts/valve-pulp-bold.woff2') format('woff2');font-weight:400 900;font-style:normal;font-display:swap;unicode-range:U+0000-024F,U+2000-206F}
:root{--dl-font-family:DeadlockOracle,system-ui,sans-serif}
body{font-family:DeadlockOracle,system-ui,sans-serif;font-size:15px;line-height:1.5;font-variant-numeric:tabular-nums}
.official-brand{display:flex;flex-direction:column;gap:12px;align-items:center;padding:0 4px 24px;text-align:center}
.official-brand img{display:block;width:190px;max-width:100%;height:auto;filter:drop-shadow(0 3px 10px #0005)}
.official-brand small{font:500 10px/1.5 DeadlockOracle,system-ui;letter-spacing:.19em;color:var(--sub)}
.banner-wordmark{width:180px;max-width:70%;height:auto;display:block;margin-bottom:20px}
.hero-banner{min-height:410px;padding-top:30px;padding-bottom:32px}
.banner-title{font-size:clamp(44px,4.7vw,76px);font-weight:700;line-height:1.06;letter-spacing:-.015em;margin-top:10px}
.banner-desc{line-height:1.55}
.page-title,.detail-title{font-weight:700;line-height:1.1}
.page-title{font-size:clamp(32px,3.2vw,49px)}
.section-head h2,.panel h3,.tile-name,.participant h3{font-weight:700;letter-spacing:.015em}
.rc-name{font-family:DeadlockOracle,system-ui;font-weight:700}
.kvalue{font-family:DeadlockPulp,system-ui;font-size:42px;font-weight:700;line-height:1.2}
.klabel,.kextra,.hint,.sidehint{line-height:1.5}
.eyebrow,.navcap{font-family:DeadlockOracle,system-ui;font-weight:700;letter-spacing:.14em}
.bread,.navitem,.btn{font-weight:600}
@media(max-width:1180px){.official-brand img{width:165px}.official-brand{padding-bottom:20px;gap:10px}.side .navcap{margin-top:10px}}
@media(max-width:600px){.hero-banner{min-height:565px;padding-top:26px}.banner-wordmark{width:150px;margin-bottom:22px}.banner-title{font-size:48px}.banner-desc{font-size:14px}.page-title{font-size:34px}.tile-name{font-size:20px}.official-brand img{width:185px}.official-brand{padding:0 10px 24px}}
/* Complete names: real width fitting, without truncation or ellipses. */
.participant .rc-top{display:grid;grid-template-columns:minmax(0,1fr) max-content;column-gap:10px;row-gap:8px;padding:0;align-items:center;flex-shrink:0;--name-max:24;--name-min:14}
.participant .rc-name{display:block;min-width:0;max-width:100%;width:100%;white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere;line-height:1.25;font-size:calc(var(--name-max)*1px)}
.participant .rc-top>.pill{white-space:nowrap;justify-self:end;flex-shrink:0}
.participant .rc-top.name-stacked{grid-template-columns:minmax(0,1fr)}
.participant .rc-top.name-stacked>.pill{justify-self:start}
.hero-tile{--name-max:22;--name-min:14}
.hero-tile .tile-name{display:block;width:100%;min-width:0;max-width:100%;white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere;line-height:1.25;font-size:calc(var(--name-max)*1px)}
.participant h3{white-space:normal;overflow-wrap:anywhere}
.participant .winner-art{height:auto;min-height:220px;flex-shrink:0}
@media(max-width:600px){.participant .rc-top{--name-max:21;column-gap:8px}.hero-tile{--name-max:20}}
@media(max-width:600px){.participant .winner-art{min-height:170px}}
