@font-face{font-family:'Lato';src:url('./assets/lato-regular.woff?v=caba281ca735accb') format('woff');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Lato';src:url('./assets/lato-bold.woff?v=223be5012e3abd6d') format('woff');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:'Rubik';src:url('./assets/rubik-bold.woff?v=5a849385073eda52') format('woff');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:'Inter';src:url('./assets/inter-regular.woff2?v=e06f6b1bc553aaea') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Inter';src:url('./assets/inter-bold.woff2?v=fa888127b6da015b') format('woff2');font-weight:700;font-style:normal;font-display:swap}
/* One dark theme for the whole site, one copper accent, square corners everywhere. */
:root{color-scheme:dark;--bg:#0b0f10;--surface:#12181a;--surface-low:#0f1415;--line:#233033;--text:#e8efed;--muted:#92a3a0;--accent:#d58a4b;--accent-text:#e2a36c;--accent-deep:#90572f;--on-accent:#25221f;--body:'Lato',Arial,sans-serif;--display:'Rubik','Lato',Arial,sans-serif;--names:'Inter','Lato',Arial,sans-serif;--gutter:clamp(16px,4vw,40px)}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:28px}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--body);font-size:1rem;line-height:1.6}
a{color:inherit;text-decoration:none}button{font:inherit}
a,button,summary{-webkit-tap-highlight-color:transparent}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:5px}
::selection{background:var(--accent);color:var(--on-accent)}
h1,h2,h3,p,figure{margin:0}
h1,h2,h3{font-family:var(--display);font-weight:700}
.shell{width:min(1240px,calc(100% - 2 * var(--gutter)));margin-inline:auto}
.skip-link{position:fixed;top:-100px;left:20px;padding:12px 18px;background:var(--accent);color:var(--on-accent);z-index:3}.skip-link:focus{top:10px}

.site-header{display:flex;align-items:center;gap:24px;justify-content:space-between;height:72px}
.brand{min-height:44px;display:flex;align-items:center;gap:12px;flex-shrink:0}
.brand-mark{display:block;width:40px;height:40px;object-fit:contain;image-rendering:pixelated;flex-shrink:0}
.brand-name{font-family:var(--display);font-size:.75rem;line-height:1.3;letter-spacing:.1em}
.brand-name span{display:block;font-size:.8125rem;letter-spacing:.04em;color:var(--accent-text)}
.site-header nav{display:flex;align-items:center;gap:30px;margin-left:auto;font-size:.9375rem}
.site-header nav a{color:var(--muted);padding:10px 0;transition:color .15s}
.site-header nav a:hover{color:var(--text)}

.eyebrow{font-size:.75rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-text);margin-bottom:14px}
.button{--button-fill:var(--accent);--button-edge:#bd783f;display:inline-flex;justify-content:center;align-items:center;background:var(--button-fill);color:var(--on-accent);min-height:54px;padding:12px 36px;font-size:1rem;font-weight:700;line-height:1.4;border:1px solid var(--button-edge);border-radius:0;white-space:nowrap;box-shadow:0 2px 6px rgba(0,0,0,.16);transition:box-shadow .12s ease,filter .12s ease}
.button:hover{filter:brightness(1.07);box-shadow:0 3px 9px rgba(0,0,0,.2)}
.button:active{filter:brightness(.96);box-shadow:none}
.button-dark{--button-fill:#1b2223;--button-edge:#343e40;color:var(--accent-text)}

/* Hero: quiet graphite grain behind a straight in-game screenshot */
.hero-backdrop{position:relative;isolation:isolate}
.hero{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);align-items:center;gap:clamp(24px,5vw,80px);min-height:min(740px,calc(100dvh - 96px));padding:24px 0 72px}
.hero-backdrop::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180' viewBox='0 0 180 180'%3E%3Cfilter id='grain'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Cpath fill='%23fff' filter='url(%23grain)' d='M0 0h180v180H0z'/%3E%3C/svg%3E");opacity:.12;mask-image:linear-gradient(to bottom,transparent,#000 14%,#000 78%,transparent),linear-gradient(to right,transparent,#000 65%);mask-composite:intersect}
.hero-copy{padding-top:8px}
.hero h1{font-size:clamp(2.75rem,7.2vw,6.25rem);line-height:1.02;letter-spacing:-.045em;margin-bottom:28px}
/* The particle canvas sits behind the word without changing the heading layout. */
.hero h1 .fire-word{position:relative;display:inline-block;isolation:isolate;padding:0;border:0;background:none;font:inherit;letter-spacing:inherit;text-align:inherit;color:var(--accent);cursor:pointer}
.hero h1 .fire-word[aria-pressed="true"]{text-shadow:0 0 .15em rgba(238,101,28,.18)}
.hero-fire{position:absolute;z-index:-1;pointer-events:none;left:-10%;top:-.65em;width:120%;height:1.8em}
.hero-fire canvas{display:block;width:100%;height:100%}
@media(prefers-reduced-motion:reduce){.hero-fire{display:none}}
.hero-description{font-size:1.25rem;line-height:1.6;color:#c2cfcc;max-width:30em;margin-bottom:36px}
.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:20px 32px}
.text-link{display:inline-block;padding:11px 0;font-size:1rem;text-decoration:underline;text-decoration-color:var(--accent-deep);text-underline-offset:6px;color:var(--muted);transition:color .15s}
.text-link:hover{color:var(--accent-text)}
.hero-visual{justify-self:end;width:min(100%,430px)}
.hero-frame{border:1px solid #343a3d;background:#101415}
.hero-frame img{display:block;width:100%;height:auto}
.hero-visual figcaption{margin-top:14px;color:var(--muted);font-size:.875rem;line-height:1.5}
.hero-copy>*{animation:rise .8s cubic-bezier(.16,1,.3,1) both}
.hero-copy>:nth-child(2){animation-delay:.08s}.hero-copy>:nth-child(3){animation-delay:.16s}
@keyframes rise{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}

h2{font-size:clamp(1.875rem,4vw,3.25rem);line-height:1.1;letter-spacing:-.035em;margin-bottom:18px}

/* What to expect: compact rows with the same weight */
.expect{padding:0 0 96px}
.expect h2{margin-bottom:32px}
.expect-list{border-top:1px solid var(--line)}
.expect-list article{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);align-items:baseline;gap:16px 48px;padding:26px 0;border-bottom:1px solid var(--line)}
.expect-list h3{font-size:1.25rem;line-height:1.4;letter-spacing:-.02em}
.expect-list p{color:var(--muted);line-height:1.7;max-width:34em}
.mystery-line{margin-top:24px;color:var(--muted)}

/* Audience: graphite surface with a copper edge */
.audience-band{display:flex;align-items:center;justify-content:space-between;gap:32px 48px;padding:clamp(32px,5vw,60px);margin-bottom:96px;background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--accent);color:var(--text)}
.audience-band h2{margin-bottom:14px}
.audience-band p{color:var(--muted);max-width:34em;font-size:1.125rem;line-height:1.6}
.audience-band .aside-note{color:var(--text);margin-top:10px;font-size:1rem;font-weight:700}

/* FAQ / essentials */
.essentials{border-top:1px solid var(--line);padding:56px 0 24px;margin-bottom:56px}
.essentials-heading{margin-bottom:34px}
.essentials-heading h2{font-size:clamp(1.75rem,3vw,2.25rem);margin-bottom:0}
.specs{display:grid;grid-template-columns:1fr 1fr 1.3fr;gap:24px;padding:0;margin:0 0 40px}
.specs>div{border-left:1px solid var(--line);padding-left:22px}
.specs>div:first-child{border-left:0;padding-left:0}
.specs dt{font-size:.875rem;color:var(--muted);margin-bottom:6px}
.specs dd{font-size:1.25rem;font-weight:700;margin:0;line-height:1.5}
.specs strong{font-family:var(--display);color:var(--accent-text)}
.faq{border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line);padding:8px 0}
.faq summary{list-style:none;min-height:48px;padding:10px 0;align-items:center;display:flex;align-items:baseline;justify-content:space-between;gap:25px;cursor:pointer;font-size:1.125rem;font-weight:700;line-height:1.5}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:'+';color:var(--accent-text);font-family:Arial,sans-serif;font-weight:400;font-size:1.5rem;flex-shrink:0}
.faq details[open] summary::after{content:'\2212'}
.faq details p{max-width:740px;padding-right:30px;margin-top:13px;color:var(--muted);line-height:1.75}
.faq summary:hover{color:var(--accent-text)}

.site-footer{display:flex;align-items:last baseline;justify-content:space-between;gap:40px;padding:36px 0 30px;border-top:1px solid var(--line);color:var(--muted);font-size:.8125rem;line-height:1.6}
.footer-brand{min-height:44px;display:inline-flex;align-items:center;gap:10px;font-family:var(--display);font-size:.875rem;color:var(--text);margin-bottom:8px}
.footer-brand strong{color:var(--accent-text)}
.footer-brand .brand-mark{width:32px;height:32px}
.legal{max-width:330px;text-align:right;font-size:.75rem}

/* Statistics */
.statistics{padding:0 0 64px;scroll-margin-top:30px}
.statistics-heading h2{font-size:clamp(1.875rem,3vw,2.25rem);margin-bottom:24px}
.stat-counters{display:flex;flex-wrap:wrap;gap:24px 48px;padding:0 0 24px;border-bottom:1px solid var(--line);margin-bottom:24px}
.stat-counter{display:flex;flex-direction:column;gap:4px}
.stat-counter+.stat-counter{border-left:1px solid var(--line);padding-left:48px}
.stat-number{font-family:var(--display);font-size:clamp(2rem,4vw,2.75rem);font-weight:700;line-height:1.05;letter-spacing:-.04em;font-variant-numeric:tabular-nums;color:var(--accent-text)}
.stat-label{font-size:1rem;color:var(--muted)}
.tier-heading{margin-bottom:14px}.tier-heading h3{font-size:1.1875rem}
.tier-chart{--plot-height:180px;list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(15,minmax(0,1fr));gap:12px}
.tier-distribution{position:relative}
.tier-row{display:flex;flex-direction:column;min-width:0;text-align:center;font-variant-numeric:tabular-nums}
.tier-row:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.tier-tooltip{position:absolute;z-index:2;width:max-content;max-width:min(280px,100%);padding:10px 12px;background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--accent);font-size:.8125rem;line-height:1.5;text-align:left;pointer-events:none;overflow-wrap:anywhere}
.tier-tooltip p+p{margin-top:4px;color:var(--muted)}
.tier-name{order:2;padding-top:10px;font-size:.75rem;font-weight:700;color:var(--muted)}
.tier-bar-space{height:calc(var(--plot-height) + 32px);display:flex;flex-direction:column;justify-content:flex-end;align-items:center;border-bottom:1px solid var(--line)}
.tier-bar{display:block;flex-shrink:0;width:70%;max-width:42px;height:calc(var(--tier-size,0) * var(--plot-height));background:var(--accent);border-radius:0;transition:height .5s cubic-bezier(.16,1,.3,1)}
.tier-value{margin-bottom:7px;font-size:.8125rem;line-height:1.25;color:var(--text)}
.stats-footer{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px 25px;margin-top:26px;padding-top:18px;border-top:1px solid var(--line);color:var(--muted);font-size:.8125rem;line-height:1.6}
[hidden]{display:none!important}

/* Hall of Fame */
.hall-of-fame{margin:0 0 56px;scroll-margin-top:30px}
.hall-of-fame-heading h2{font-size:clamp(1.875rem,3vw,2.25rem);margin-bottom:20px}
.source-link{margin-top:18px;font-size:.9375rem}
.source-link a{color:var(--accent-text)}
.source-link a:hover{text-decoration:underline}
.hall-of-fame-table{width:100%;table-layout:fixed;border-collapse:collapse;border-block:1px solid var(--line);text-align:left}
.hall-of-fame-table th{padding:12px 0;border-bottom:1px solid var(--line);color:var(--muted);font-size:.8125rem;font-weight:700}
.hall-of-fame-table th:last-child{width:35%}
.hall-of-fame-table td{padding:18px 0;overflow-wrap:anywhere}
.hall-of-fame-table tbody tr+tr{border-top:1px solid var(--line)}
.hall-of-fame-table time{font-variant-numeric:tabular-nums}
.hall-of-fame-empty{color:var(--muted);font-size:1rem}

/* Teams online: one expandable row per team, tier on the right */
.teams{padding:0 0 64px;scroll-margin-top:30px}
.teams-heading{margin-bottom:20px}
.teams-heading h2{font-size:clamp(1.875rem,3vw,2.25rem);margin-bottom:0}
.teams-participate{padding:6px 0;font-size:.9375rem}
.team-head{display:flex;justify-content:space-between;gap:24px;padding:12px 0;border-bottom:1px solid var(--line);color:var(--muted);font-size:.8125rem;font-weight:700}
.team-list{list-style:none;margin:0;padding:0}
.team-list{border-bottom:1px solid var(--line)}
.team-list>li{border-top:1px solid var(--line)}
.team-list>li:first-child{border-top:0}
.team-list>li.tier-break{margin-top:10px;border-top:3px solid var(--accent-deep)}
.team-solo{display:flex;align-items:baseline;justify-content:space-between;gap:24px;min-height:52px;padding:12px 0}
.team-solo .team-name::before{content:''}
.team-solo-label{margin-left:12px;font-family:var(--body);font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.team summary{list-style:none;display:flex;align-items:baseline;justify-content:space-between;gap:24px;min-height:52px;padding:12px 0;cursor:pointer}
.team summary::-webkit-details-marker{display:none}
.team-name{font-size:1.125rem;font-weight:700;overflow-wrap:anywhere}
.team-name::before{content:'+';display:inline-block;width:1.25em;color:var(--accent);font-family:Arial,sans-serif;font-weight:400}
.team[open] .team-name::before{content:'\2212'}
.team summary:hover .team-name{color:var(--accent)}
.team-tier{flex-shrink:0;font-weight:700;color:var(--accent)}
.team-players{list-style:none;margin:0;padding:0 0 16px 1.25em;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:6px 24px;color:var(--muted)}
.team-players li{overflow-wrap:anywhere}
.tier-tooltip p+p,.hall-of-fame-table tbody tr:not(.hall-of-fame-empty) td:first-child,.team-name,.team-players li:not(.team-nobody){font-family:var(--names);font-feature-settings:'ss02' 1}
.team-players .is-online{color:var(--text)}
.team-online{margin-left:8px;font-family:var(--body);font-feature-settings:normal;font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--accent)}
.team-nobody{grid-column:1/-1}
.team-status{color:var(--muted);font-size:.9375rem}
.team-table:not([hidden])+.team-status{margin-top:16px}

@media(max-width:1024px){
.hero{gap:32px}.hero-visual{width:min(100%,340px)}
.site-header nav{gap:20px}.site-footer{gap:25px}
.tier-chart{gap:6px}
}
@media(max-width:767px){
.site-header{height:74px;gap:14px}.site-header nav{display:none}
.hero{grid-template-columns:1fr;min-height:0;padding:20px 0 56px;gap:44px}
.hero-description{font-size:1.0625rem;margin-bottom:28px}
.hero-visual{justify-self:start;width:min(100%,340px)}
.expect{padding-bottom:64px}
.expect h2{margin-bottom:24px}
.expect-list article{grid-template-columns:1fr;gap:8px;padding:22px 0}
.audience-band{flex-direction:column;align-items:flex-start;margin-bottom:64px}
.specs{grid-template-columns:1fr 1fr;gap:24px 18px;margin-bottom:27px}.specs>div{padding-left:17px}
.specs>div:last-child{grid-column:1/-1;border:0;border-top:1px solid var(--line);padding:17px 0 0;display:flex;align-items:baseline;justify-content:space-between;gap:15px}.specs>div:last-child dt{margin-bottom:0}.specs dd{font-size:1rem}
.faq summary{font-size:1rem;gap:15px}.faq details p{padding-right:10px}
.statistics{padding-bottom:64px}.stat-counters{gap:22px;padding-block:0 22px}.stat-counter+.stat-counter{padding-left:22px}
.tier-chart{--plot-height:120px;grid-template-columns:repeat(8,minmax(0,1fr));gap:20px 6px}.tier-name{font-size:.6875rem}.tier-bar{width:65%}.stats-footer{flex-direction:column;align-items:flex-start}
.hall-of-fame{margin-bottom:40px}.hall-of-fame-table th:last-child{width:42%}
.teams{padding-bottom:40px}
.site-footer{flex-direction:column;align-items:flex-start;gap:17px;padding:30px 0 26px}.legal{text-align:left;max-width:350px}
}
@media(max-width:359px){.hero h1{font-size:2.5rem}.specs>div:last-child{align-items:flex-start;flex-direction:column;gap:3px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
.specs .difficulty-link{display:inline-block;padding:10px 0}
