@font-face{font-family:Bungee;src:url('/assets/fonts/bungee.woff2') format('woff2');font-display:swap}
@font-face{font-family:Nunito;src:url('/assets/fonts/nunito-sans-regular.woff2') format('woff2');font-display:swap}
@font-face{font-family:Nunito;src:url('/assets/fonts/nunito-sans-bold.woff2') format('woff2');font-weight:800;font-display:swap}
@font-face{font-family:Mono;src:url('/assets/fonts/ibm-plex-mono-medium.woff2') format('woff2');font-display:swap}
:root{--ink:#091015;--night:#152126;--paper:#e7e2d7;--lime:#d7ff3f;--signal:#9b291f;--signal-bright:#ff7357;--muted-dark:#3f4b49;--muted-light:#b7c0bc}
*,*:before,*:after{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.55 Nunito,system-ui,sans-serif}
body.menu-open{overflow:hidden}
a{color:inherit}
a,button,summary{outline:none}
:focus-visible{outline:3px solid var(--lime);outline-offset:3px;box-shadow:0 0 0 6px var(--ink)}
img{height:auto}
.wrap{width:min(1180px,calc(100% - 48px));margin-inline:auto}
.skip{position:fixed;z-index:100;left:15px;top:-70px;background:var(--lime);color:var(--ink);padding:10px 14px;font:800 .72rem Mono,monospace}
.skip:focus{top:15px}
.site-header{position:sticky;top:0;z-index:20;background:var(--paper);border-bottom:1px solid #203035}
.navrow{min-height:76px;display:flex;align-items:center;gap:25px}
.brand{text-decoration:none;display:grid;line-height:1}
.brand b,.site-footer b{font:1rem Bungee,sans-serif;letter-spacing:-.04em}
.brand small{margin-top:5px;font:.58rem Mono,monospace;color:var(--muted-dark)}
.desktop{display:flex;gap:20px;margin-left:auto}
.desktop a{padding:25px 0 20px;border-bottom:4px solid transparent;text-decoration:none;font:700 .68rem Mono,monospace;letter-spacing:.09em}
.desktop a:hover,.desktop a[aria-current=page]{border-color:var(--signal)}
.button{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:0 16px;text-decoration:none;font:800 .72rem Mono,monospace;letter-spacing:.05em;border:1px solid currentColor;transition:transform .2s ease,background .2s ease}
.button:hover{transform:translate(-3px,-3px);box-shadow:4px 4px 0 var(--signal-bright)}
.steam,.dark-button{background:var(--ink);color:#f4f1e9}
.lime{background:var(--lime);color:var(--ink);border-color:var(--lime)}
.ghost{color:var(--paper)}
.menu,.mobile{display:none}
.hero{overflow:hidden;background:var(--ink);color:#f4f1e9}
.hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:55px;align-items:center;min-height:700px;padding:80px 0}
.kicker{margin:0 0 14px;font:800 .67rem Mono,monospace;letter-spacing:.15em;color:var(--lime)}
.orange{color:var(--signal)}
h1,h2,h3{font-family:Bungee,sans-serif;letter-spacing:-.045em;line-height:.96;overflow-wrap:anywhere}
h1{max-width:720px;margin:0;font-size:clamp(3.5rem,8.2vw,7.4rem)}
h1 em{color:var(--lime);font-style:normal}
.lede{max-width:570px;margin:26px 0;color:#d2d7d4;font-size:1.1rem}
.actions{display:flex;gap:12px;flex-wrap:wrap}
.status{display:grid;grid-template-columns:auto auto;gap:3px 15px;align-items:center;margin-top:37px;font:700 .65rem Mono,monospace}
.status span{grid-row:span 2;border:2px solid var(--signal-bright);border-radius:999px;padding:10px 5px;color:var(--signal-bright)}
.status small{color:var(--muted-light)}
.hero-shot{position:relative;margin:0;border:1px solid #7a8681;padding:10px;transform:rotate(2deg);background:#121c1e;box-shadow:14px 14px 0 var(--signal-bright)}
.hero-shot img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover}
.hero-shot figcaption,.framed figcaption{padding-top:7px;color:var(--lime);font:.55rem Mono,monospace}
.ticker{overflow:hidden;white-space:nowrap;background:var(--lime);padding:9px 0;color:var(--ink);font:800 .7rem Mono,monospace;letter-spacing:.12em}
.section{padding:105px 0}
.paper{background:var(--paper)}
.dark{background:var(--night);color:var(--paper)}
.section h2,.pagehead h1{font-size:clamp(2.4rem,5vw,5.1rem);max-width:900px}
.three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:40px;border:1px solid #18262b}
.three article{min-width:0;min-height:260px;padding:27px;border-right:1px solid #18262b}
.three article:last-child{border:0}
.three b{font:800 1rem Mono,monospace;color:var(--signal)}
.three h3{font-size:1.4rem}
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:86px;align-items:center}
.framed{margin:0;border:1px solid #7a8681;padding:9px;background:var(--ink);box-shadow:11px 11px 0 var(--lime)}
.framed img{width:100%;display:block}
.check{padding:0;list-style:none;border-top:1px solid #60706d}
.check li{position:relative;padding:12px 0 12px 24px;border-bottom:1px solid #60706d}
.check li:before{content:'→';position:absolute;left:0;color:var(--lime)}
.files{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.card{position:relative;isolation:isolate;overflow:hidden;min-height:360px;display:flex;align-items:flex-end;padding:26px;background:var(--night);color:#f4f1e9;text-decoration:none;border:1px solid var(--night);transition:transform .2s ease,box-shadow .2s ease}
.card>picture,.card>picture img,.card>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.card:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,transparent 15%,rgba(9,16,21,.25) 42%,rgba(9,16,21,.97) 100%)}
.card:hover{transform:translateY(-6px);box-shadow:8px 8px 0 var(--signal)}
.card small,.card i{font:.62rem Mono,monospace;color:var(--lime);font-style:normal}
.card h3{margin:13px 0 5px;font-size:1.6rem}
.card p{margin:0 0 18px;color:#e1e5e2}
.pagehead{padding:110px 0 75px;background:#c8c5b7 url('/assets/official/header.jpg') right center/auto 100% no-repeat}
.pagehead p{max-width:640px;font-size:1.1rem}
.breadcrumbs{display:flex;gap:10px;align-items:center;padding-block:13px;font:.66rem Mono,monospace;color:var(--muted-dark)}
.breadcrumbs a{text-underline-offset:4px}
.article{display:grid;grid-template-columns:220px minmax(0,1fr);gap:90px}
.article aside{align-self:start;position:sticky;top:110px;display:grid;gap:10px;font:.75rem Mono,monospace}
.article aside a{text-decoration:none;padding:8px 0;border-bottom:1px solid #71807a}
.article>div{max-width:760px}
.article h2{margin-top:0;padding-top:55px;font-size:2.2rem}
.article h2:first-of-type{padding-top:0}
.boundary,.system-boundary{padding:20px;border:1px solid #596964;background:#d7d2c6}
.boundary b,.system-boundary b{font:.68rem Mono,monospace;color:var(--signal)}
.system-boundary{margin-top:28px}
.notice{margin:45px 0 22px;padding:20px;border-left:6px solid var(--lime);background:var(--night);color:var(--paper)}
.notice b{font:.68rem Mono,monospace;color:var(--lime)}
.notice p{margin-bottom:0}
.red{border-color:var(--signal-bright)}
.red b{color:var(--signal-bright)}
.systems{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.systems article{min-width:0;padding:12px;background:var(--night);color:var(--paper)}
.systems img{width:100%;aspect-ratio:16/10;display:block;object-fit:cover}
.systems h2{font-size:1.55rem;margin:10px 12px}
.systems p,.systems small{display:block;margin:0 12px 18px;overflow-wrap:anywhere}
.systems small{margin-top:16px;color:var(--lime);font:.6rem Mono,monospace}
.record{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid #1a282d}
.record div{min-width:0;min-height:145px;padding:24px;border-right:1px solid #1a282d;border-bottom:1px solid #1a282d}
.record b{display:block;color:var(--muted-dark);font:.62rem Mono,monospace}
.record strong{display:block;margin-top:16px;font:1.2rem Bungee,sans-serif;overflow-wrap:anywhere}
.requirements{padding-top:50px;max-width:850px}
.requirements h2{font-size:2rem}
.faq{max-width:850px}
.faq details{border-top:1px solid #18262b;padding:22px 0}
.faq details:last-child{border-bottom:1px solid #18262b}
.faq summary{cursor:pointer;display:flex;gap:22px;justify-content:space-between;font:1.3rem Bungee,sans-serif}
.faq summary span{color:var(--ink)}
.faq summary b{color:var(--signal)}
.faq p{max-width:680px}
.source-layout{display:grid;grid-template-columns:minmax(250px,.72fr) minmax(0,1.4fr);gap:65px;align-items:start}
.source-layout>aside{position:sticky;top:110px}
.source-layout>aside h2{font-size:2.6rem}
.legend{display:flex;gap:8px;flex-wrap:wrap;margin-top:25px}
.legend span,.claim-head span{padding:5px 8px;border:1px solid #53625d;font:.58rem Mono,monospace}
.claim-list{display:grid;gap:14px}
.claim-card{padding:24px;border:1px solid #53625d;background:#ded9cd}
.claim-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.claim-head code{font:.75rem Mono,monospace}
.claim-head [data-status="OFFICIAL_VERIFIED"]{background:var(--ink);color:var(--lime)}
.claim-head [data-status="UNKNOWN"]{border-color:var(--signal);color:var(--signal)}
.claim-card>p{font-size:1.08rem}
.claim-card dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:20px 0}
.claim-card dl div{min-width:0}
.claim-card dt{color:var(--muted-dark);font:.58rem Mono,monospace;text-transform:uppercase}
.claim-card dd{margin:2px 0 0;overflow-wrap:anywhere}
.claim-card small{display:block;color:var(--muted-dark)}
.claim-card>a{display:inline-block;margin-top:18px;font:700 .65rem Mono,monospace;text-underline-offset:4px}
.trust-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid #18262b}
.trust-grid article{min-width:0;padding:30px;border-right:1px solid #18262b}
.trust-grid article:last-child{border:0}
.trust-grid article>b{font:.68rem Mono,monospace;color:var(--signal)}
.trust-grid h2{font-size:2rem}
.correction-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:70px;align-items:start}
.correction-grid h2{font-size:3rem}
.dark-check li:before{color:var(--signal)}
.template{background:var(--ink);color:var(--paper);padding:25px;box-shadow:10px 10px 0 var(--signal-bright)}
.template>div{display:flex;justify-content:space-between;gap:20px;align-items:center;font:.63rem Mono,monospace;color:var(--lime)}
.template button{min-height:44px;padding:0 12px;border:1px solid var(--lime);background:transparent;color:var(--lime);font:700 .62rem Mono,monospace;cursor:pointer}
.template pre{white-space:pre-wrap;font:clamp(.72rem,2vw,.9rem)/2 Mono,monospace}
.template small{color:var(--muted-light)}
.privacy-grid{display:grid;grid-template-columns:220px minmax(0,1fr);gap:70px}
.privacy-grid>aside{display:grid;align-content:start;font-family:Mono,monospace}
.privacy-grid>aside span{font-size:.62rem;color:var(--muted-dark)}
.privacy-grid>aside b{margin-top:8px}
.privacy-grid>div>section{display:grid;grid-template-columns:44px minmax(0,1fr);gap:18px;padding:24px 0;border-top:1px solid #53625d}
.privacy-grid section>span{color:var(--signal);font:800 .75rem Mono,monospace}
.privacy-grid h2{margin:0;font-size:1.8rem}
.privacy-grid p{max-width:680px}
.recovery{min-height:260px;padding:70px 0;background:var(--night)}
.site-footer{background:var(--ink);color:#d4d7d3;padding:60px 0}
.foot{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:50px}
.foot p{max-width:300px;color:var(--muted-light);font-size:.85rem}
.foot nav{display:grid;align-content:start}
.foot nav a{padding:6px 0;color:#e0e4e1;text-decoration:none;font:.72rem Mono,monospace}
.footnote{font:.6rem/1.5 Mono,monospace;color:var(--muted-light)}
.toast{position:fixed;z-index:110;right:20px;bottom:20px;padding:14px 18px;background:var(--lime);color:var(--ink);border:2px solid var(--ink);font:800 .7rem Mono,monospace;box-shadow:5px 5px 0 var(--signal)}
@media(max-width:800px){
  .wrap{width:min(100% - 32px,650px)}
  .navrow{min-height:65px}
  .desktop,.navrow>.steam{display:none}
  .menu{display:grid;place-items:center;margin-left:auto;width:44px;height:44px;border:0;background:var(--ink);color:var(--paper);font-size:1.35rem;cursor:pointer}
  .mobile{position:fixed;z-index:19;top:65px;inset-inline:0;bottom:0;overflow-y:auto;padding:20px 16px max(32px,env(safe-area-inset-bottom));background:var(--ink);color:var(--paper)}
  .mobile:not([hidden]){display:block}
  .mobile a:not(.button){display:flex;align-items:center;min-height:56px;border-bottom:1px solid #52605d;text-decoration:none;font:1.2rem Bungee,sans-serif}
  .mobile .button{width:100%;margin-top:25px}
  .mobile small{display:block;margin-top:20px;color:var(--muted-light);font:.6rem Mono,monospace}
  .hero-grid,.split{grid-template-columns:1fr;min-height:0;padding:58px 0;gap:43px}
  .hero-shot{width:calc(100% - 11px);margin-left:0;transform:none}
  .three,.files,.systems,.record,.trust-grid{grid-template-columns:1fr}
  .three article,.trust-grid article{min-height:0;border-right:0;border-bottom:1px solid #18262b}
  .three article:last-child,.trust-grid article:last-child{border-bottom:0}
  .section{padding:70px 0}
  .pagehead{padding:74px 0 52px;background-image:linear-gradient(90deg,rgba(200,197,183,.98) 10%,rgba(200,197,183,.92) 55%,rgba(200,197,183,.5)),url('/assets/official/header.jpg')}
  .article,.source-layout,.correction-grid,.privacy-grid{grid-template-columns:1fr;gap:30px}
  .article aside{position:static;display:flex;gap:0;overflow:auto}
  .article aside>*{min-width:max-content;padding:10px!important;border:1px solid #71807a!important}
  .article h2{padding-top:40px}
  .source-layout>aside{position:static}
  .claim-card dl{grid-template-columns:1fr}
  .record div{border-right:0}
  .foot{grid-template-columns:1fr;gap:28px}
  .button{min-height:48px}
  .pagehead h1{font-size:clamp(2.8rem,12vw,4.5rem)}
  .correction-grid h2{font-size:2.5rem}
}
@media(max-width:430px){
  h1{font-size:clamp(3rem,15vw,4.4rem)}
  .brand small{font-size:.52rem}
  .card{min-height:330px}
  .template{padding:18px}
  .template>div{align-items:flex-start;flex-direction:column}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important}
}
