:root{--blue:#0a42bc;--cyan:#45cfff;--yellow:#ffd43b;--ink:#060b13;--panel:#0d1724;--white:#f6f7f2;--muted:#a9bad0}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--ink)}
body{margin:0;color:var(--white);background:radial-gradient(circle at 50% 0,#12356c 0,#07101f 35%,#05080e 75%);font-family:Arial,Helvetica,sans-serif}
button,a{font:inherit}
button{cursor:pointer}
.hidden{display:none!important}
.siteHeader{position:fixed;z-index:20;inset:0 0 auto;display:flex;align-items:center;justify-content:space-between;height:82px;padding:8px clamp(18px,5vw,74px);background:linear-gradient(#03070edb,#03070e9c,transparent);backdrop-filter:blur(6px)}
.brand img{display:block;width:190px;height:64px;object-fit:contain}
nav{display:flex;align-items:center;gap:26px}
nav a{color:#fff;text-decoration:none;font-weight:800;font-size:14px;text-transform:uppercase;letter-spacing:.08em}
.navLogin{border:1px solid #63d8ff;background:#0a42bc;color:#fff;padding:11px 22px;border-radius:4px;font-weight:900;text-transform:uppercase}
.hero{position:relative;min-height:760px;height:100svh;overflow:hidden;display:flex;align-items:center;padding:100px clamp(22px,8vw,130px) 40px;background:url("assets/background.png") center/cover no-repeat}
.heroShade{position:absolute;inset:0;background:linear-gradient(90deg,#02050a 0%,#071330ec 42%,#07133080 68%,#02050a88),linear-gradient(0deg,#05080e 0%,transparent 35%)}
.heroCopy{position:relative;z-index:2;width:min(720px,66vw)}
.eyebrow{margin:0 0 10px;color:var(--yellow);font-size:14px;font-weight:900;text-transform:uppercase;letter-spacing:.2em}
.heroLogo{display:block;width:min(680px,75vw);max-height:300px;object-fit:contain;object-position:left center;margin-left:-35px}
.tagline{font-size:clamp(24px,3vw,42px);font-weight:900;text-transform:uppercase;margin:-25px 0 16px;color:#e7f8ff;text-shadow:0 3px 0 #061441}
.heroText{max-width:610px;color:#d7e5f6;line-height:1.6;font-size:18px}
.heroActions{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}
.primaryButton,.secondaryButton{display:inline-flex;justify-content:center;align-items:center;min-height:54px;padding:0 30px;border-radius:4px;font-weight:1000;text-transform:uppercase;letter-spacing:.04em;text-decoration:none}
.primaryButton{border:2px solid #6ee7ff;color:#fff;background:linear-gradient(#1266df,#083ca5);box-shadow:0 5px 0 #031a50}
.secondaryButton{color:#071222;background:var(--yellow);border:2px solid #fff1a4;box-shadow:0 5px 0 #8e6a00}
.sessionStatus{color:#9fcef7;font-size:14px;margin-top:20px}
.heroFighter{position:absolute;z-index:1;right:2%;bottom:-7%;height:87%;max-width:46vw;object-fit:contain;filter:drop-shadow(0 0 35px #006eff88)}
.manifesto{display:flex;justify-content:center;background:linear-gradient(180deg,#05080e,#0b1b32 48%,#07101e);border-top:1px solid #1b3858;border-bottom:1px solid #1b3858}
.manifestoCopy{width:min(920px,100%);text-align:center}
.manifestoCopy h1{max-width:760px;margin:0 auto 22px;color:#ffd43b;font-size:clamp(34px,5vw,64px);line-height:1;text-transform:uppercase}
.manifestoCopy p:not(.eyebrow){max-width:820px;margin:0 auto 18px;color:#d7e5f6;font-size:18px;line-height:1.7}
.manifestoCopy p:last-child{margin-bottom:0;color:#b9cbe0}
.section{padding:100px clamp(20px,7vw,110px)}
.sectionHeading{max-width:720px;margin-bottom:38px}
.sectionHeading h1,.rules h1{font-size:clamp(36px,5vw,68px);line-height:.98;margin:0 0 15px;text-transform:uppercase}
.sectionHeading>p:last-child{color:var(--muted);line-height:1.6}
.enemies{background:linear-gradient(#05080e,#09111d)}
.enemyGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px}
.enemyCard{min-height:430px;overflow:hidden;border:1px solid #2f4867;background:linear-gradient(145deg,#101e2e,#070b12);position:relative;padding:20px;display:flex;flex-direction:column;justify-content:flex-end}
.enemyCard:before{content:"";position:absolute;inset:0;border-top:5px solid var(--yellow);opacity:.9}
.enemyArt{position:absolute;inset:10px 0 125px;display:flex;justify-content:center;align-items:center}
.enemyArt img{width:92%;height:100%;object-fit:contain;filter:drop-shadow(0 14px 16px #000)}
.wormCard .enemyArt img{width:135%}
.mionCard .enemyArt img{width:80%}
.mabCard .enemyArt img{width:74%;height:112%;object-position:center bottom}
.doctorCard .enemyArt img{width:82%;height:108%;object-position:center bottom}
.sapaCard .enemyArt img{width:78%;height:108%;object-position:center bottom}
.enemyCard div:last-child{position:relative;z-index:2;background:linear-gradient(transparent,#07101e 24%);padding-top:35px}
.enemyCard span{color:var(--yellow);font-weight:900;text-transform:uppercase}
.enemyCard h2{font-size:34px;text-transform:uppercase;margin:5px 0}
.enemyCard p{margin:0;color:#c0cee0;line-height:1.45}
.rankingSection{background:linear-gradient(135deg,#0e326b,#07101e 55%)}
.scoreboard{max-width:920px;border:1px solid #3c658f;background:#030812cc;box-shadow:0 20px 70px #0008}
.scoreHead,.scoreRow{display:grid;grid-template-columns:60px 1fr 150px 160px;gap:15px;align-items:center;padding:17px 22px}
.scoreHead{background:#ffd43b;color:#07101e;font-weight:1000;text-transform:uppercase;font-size:13px}
.scoreRow{border-top:1px solid #1f3955}
.scoreRow:nth-child(-n+3){color:#fff4a6}
.scoreRow strong:last-child{text-align:right;font-family:monospace;font-size:20px}
.rankingNote{color:#9fb8d4;font-size:13px}
.rules{display:grid;grid-template-columns:1fr 1.2fr;gap:60px;background:#060b13}
.rules ol{list-style:none;counter-reset:steps;margin:0;padding:0;display:grid;gap:16px}
.rules li{counter-increment:steps;display:grid;grid-template-columns:62px 1fr;gap:2px 18px;padding:20px;background:#0e1927;border-left:4px solid var(--cyan)}
.rules li:before{content:"0" counter(steps);grid-row:1/3;color:var(--yellow);font-size:34px;font-weight:1000}
.rules strong{font-size:20px;text-transform:uppercase}
.rules span{color:var(--muted);line-height:1.5}
footer{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:30px clamp(20px,7vw,110px);border-top:1px solid #21334a;color:#8295ad;font-size:12px}
footer img{width:170px;height:70px;object-fit:contain}
dialog{width:min(500px,calc(100% - 28px));padding:30px;border:1px solid #4bbfff;background:#081422;color:#fff;box-shadow:0 30px 100px #000;border-radius:8px}
dialog::backdrop{background:#000c;backdrop-filter:blur(5px)}
.closeDialog{position:absolute;right:12px;top:7px;background:none;border:0;color:#fff;font-size:32px}
.authBrand{text-align:center}.authBrand img{width:260px;height:120px;object-fit:contain}.authBrand p{margin:-15px 0 20px;color:#9cdcfb;text-transform:uppercase;font-weight:900}
.authTabs{display:grid;grid-template-columns:1fr 1fr;margin-bottom:20px}.authTabs button{padding:12px;border:0;background:#101e2d;color:#9db0c6;font-weight:900}.authTabs button.active{background:#ffd43b;color:#07101e}
.authForm{display:grid;gap:15px}.authForm label{display:grid;gap:7px;color:#c6d6e8;font-size:13px;font-weight:800}.authForm input{width:100%;border:1px solid #42607d;border-radius:3px;background:#030912;color:#fff;padding:14px;font-size:16px}
.consent{grid-template-columns:22px 1fr!important;align-items:start}.consent input{margin-top:2px}
.authMessage{min-height:20px;color:#72ddff;text-align:center}.authMessage.error{color:#ff8181}.privacyCopy{color:#8195ad;font-size:11px;line-height:1.4}
.consent a,.legalPage a{color:#65d9ff}.legalPage{min-height:100vh;padding:50px 20px}.legalPage main{max-width:820px;margin:auto;background:#0c1725;border:1px solid #294766;padding:clamp(25px,6vw,70px);line-height:1.7}.legalPage h1{font-size:clamp(34px,6vw,62px);line-height:1;text-transform:uppercase;color:#ffd43b}.legalPage h2{margin-top:34px;text-transform:uppercase}.legalWarning{margin-top:40px;padding:18px;border-left:4px solid #ffd43b;background:#151e28;color:#ffe98c}
@media(max-width:850px){.siteHeader nav a{display:none}.siteHeader{height:66px}.brand img{width:140px;height:50px}.hero{min-height:700px;padding-top:90px;align-items:flex-start}.heroCopy{width:100%;text-align:center}.heroLogo{margin:20px auto 0;width:100%}.tagline{margin:-20px 0 15px}.heroText{margin-inline:auto}.heroActions{justify-content:center}.heroFighter{height:50%;max-width:80vw;right:50%;transform:translateX(50%);opacity:.55}.enemyGrid{grid-template-columns:1fr}.enemyCard{min-height:380px}.rules{grid-template-columns:1fr}.scoreHead,.scoreRow{grid-template-columns:42px 1fr 90px}.scoreHead span:nth-child(3),.scoreRow span:nth-child(3){display:none}.scoreHead,.scoreRow{padding:14px 12px}.scoreHead span:last-child,.scoreRow strong:last-child{text-align:right}footer{flex-direction:column;text-align:center}}
