/* GonBots · sitio público. Un solo tema oscuro de hangar: rejilla tenue, paneles de acero azulado, cian de interfaz
   y oro de liga. Teléfono primero; a partir de 760 px las grillas se abren. */

@font-face{font-family:"Chakra Petch";font-weight:600;font-display:swap;src:url(../fonts/chakra-600.woff2) format("woff2")}
@font-face{font-family:"Chakra Petch";font-weight:700;font-display:swap;src:url(../fonts/chakra-700.woff2) format("woff2")}
@font-face{font-family:"Figtree";font-weight:300 900;font-display:swap;src:url(../fonts/figtree.woff2) format("woff2")}
@font-face{font-family:"JetBrains Mono";font-weight:500;font-display:swap;src:url(../fonts/jbmono-500.woff2) format("woff2")}

:root{
  --bg:#070c16; --bg2:#0a1220; --panel:#0e1828; --panel2:#132238;
  --line:#5ee9ed24; --line2:#5ee9ed4a;
  --fg:#c6d6e2; --strong:#f2fbff; --muted:#8aa2b4;
  --cyan:#64e6ef; --gold:#ffcf70; --mint:#3dffb0; --violet:#b46cff; --red:#ff6b7a;
  --display:"Chakra Petch","Segoe UI",system-ui,sans-serif;
  --body:"Figtree","Segoe UI",system-ui,-apple-system,sans-serif;
  --mono:"JetBrains Mono",ui-monospace,Consolas,monospace;
  --r:14px;
  color-scheme:dark;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:72px}
body{margin:0;min-height:100vh;display:flex;flex-direction:column;background:var(--bg);color:var(--fg);font:16px/1.55 var(--body);
  background-image:linear-gradient(#5ee9ed07 1px,transparent 1px),linear-gradient(90deg,#5ee9ed07 1px,transparent 1px);background-size:44px 44px}
img{max-width:100%;display:block}
a{color:var(--cyan)}
h1,h2,h3,h4{font-family:var(--display);color:var(--strong);margin:0;line-height:1.12;text-wrap:balance}
p{margin:0}
code,.mono{font-family:var(--mono)}
[hidden]{display:none!important}
:focus-visible{outline:2px solid var(--cyan);outline-offset:2px;border-radius:4px}
.wrap{width:100%;max-width:1120px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
main{flex:1}
.eyebrow{font:500 .74rem var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--cyan)}
.muted{color:var(--muted)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- Barra superior ---------- */
.top{position:sticky;top:0;z-index:20;background:#070c16e6;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line);padding-top:env(safe-area-inset-top,0px)}
.top .wrap{display:flex;align-items:center;gap:16px;min-height:60px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font:700 1.06rem var(--display);letter-spacing:.14em;color:var(--strong)}
.brand img{width:34px;height:34px;border-radius:9px}
.nav{display:flex;gap:4px;margin-left:auto;align-items:center}
.nav a{color:var(--fg);text-decoration:none;font-size:.92rem;padding:.4rem .6rem;border-radius:8px}
.nav a:hover{color:var(--strong);background:#ffffff08}
.nav a[aria-current="page"]{color:var(--strong);box-shadow:inset 0 -2px var(--cyan);border-radius:0}
.lang{font:500 .78rem var(--mono);letter-spacing:.08em;color:var(--fg);background:none;border:1px solid var(--line2);border-radius:999px;padding:.3rem .7rem;cursor:pointer}
.lang:hover{border-color:var(--cyan);color:var(--strong)}
@media (max-width:560px){.nav .hide-s{display:none}}

/* ---------- Botones ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;min-height:48px;font:600 1rem var(--body);border-radius:12px;padding:.7rem 1.15rem;text-decoration:none;border:1px solid var(--line2);color:var(--strong);background:#0d1a2b;cursor:pointer;transition:transform .15s ease,border-color .15s ease,background .15s ease}
.btn:hover{border-color:var(--cyan)}
.btn:active{transform:translateY(1px)}
.btn svg{width:20px;height:20px;flex:none}
.btn.play{background:var(--mint);color:#032419;border-color:transparent;font:700 1.06rem var(--display);letter-spacing:.04em;box-shadow:0 0 34px #3dffb040}
.btn.play:hover{background:#6dffc6}
.btn.gold{background:var(--gold);color:#2a1b00;border-color:transparent}
.btn.gold:hover{background:#ffdc92}
.btn.small{min-height:40px;font-size:.88rem;padding:.45rem .85rem}
.btns{display:flex;flex-wrap:wrap;gap:10px}

/* ---------- Portada ---------- */
.hero{padding-block:40px 28px}
.hero .wrap{display:grid;gap:26px}
.hero h1{font-size:clamp(2.2rem,8.4vw,4rem);font-weight:700;letter-spacing:.005em}
.hero h1 em{font-style:normal;color:var(--cyan)}
.hero .lede{font-size:1.08rem;max-width:46ch;color:#cfdeea}
.hero .copy{display:grid;gap:18px;align-content:center}
.hint{font:500 .8rem var(--mono);color:var(--mint)}
.lineup{position:relative;height:300px;max-width:520px;width:100%;justify-self:center}
.lineup img{position:absolute;bottom:18px;width:38%;filter:drop-shadow(0 14px 26px #000c);border-radius:0 0 16px 16px;
  -webkit-mask-image:linear-gradient(#000 76%,transparent);mask-image:linear-gradient(#000 76%,transparent)}
.lineup img:nth-child(1){left:0;opacity:.82}
.lineup img:nth-child(2){left:26%;z-index:2;width:48%;bottom:4px}
.lineup img:nth-child(3){right:0;opacity:.82}
.lineup::after{content:"";position:absolute;left:6%;right:6%;bottom:0;height:24px;border-radius:50%;background:radial-gradient(#64e6ef50,transparent 70%)}
@media (min-width:860px){
  .hero{padding-block:72px 48px}
  .hero .wrap{grid-template-columns:1.05fr 1fr;align-items:center}
  .lineup{height:400px}
}

.section{padding-block:40px}
.section + .section{border-top:1px solid var(--line)}
.section .head{display:grid;gap:8px;margin-bottom:22px}
.section h2{font-size:clamp(1.5rem,4.6vw,2.1rem)}
.section .head p{max-width:62ch}

.modes{display:grid;gap:12px}
@media (min-width:640px){.modes{grid-template-columns:1fr 1fr}}
@media (min-width:1000px){.modes{grid-template-columns:repeat(4,1fr)}}
.mode{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:18px;display:grid;gap:6px;align-content:start}
.mode .tag{font:500 .72rem var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--c,var(--cyan))}
.mode h3{font-size:1.16rem}
.mode p{font-size:.94rem}

.build{display:grid;gap:22px}
@media (min-width:860px){.build{grid-template-columns:1fr 1.2fr;align-items:center}}
.slots{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.slotx{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:14px;display:grid;gap:4px}
.slotx small{font:500 .7rem var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.slotx b{color:var(--strong);font-family:var(--display);font-size:1.02rem}
.slotx span{font-size:.88rem}
.models{display:flex;flex-wrap:wrap;gap:8px}
.model{display:inline-flex;align-items:center;gap:7px;font:500 .82rem var(--mono);border:1px solid var(--line);border-radius:999px;padding:.3rem .7rem .3rem .55rem;background:#0b1625}
.model i{width:10px;height:10px;border-radius:50%;background:var(--accent);box-shadow:0 0 10px var(--accent)}

.split{display:grid;gap:16px}
@media (min-width:900px){.split{grid-template-columns:1.25fr 1fr}}
.box{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:18px;display:grid;gap:14px;align-content:start;min-width:0}
.box > header{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap}
.box > header h3{font-size:1.14rem}
.box > header a{font-size:.9rem}

/* Buscar por código */
.find{display:grid;gap:10px}
.find label{font:500 .72rem var(--mono);color:var(--muted);text-transform:uppercase;letter-spacing:.1em}
.find .row{display:flex;gap:8px}
.find input{flex:1;min-width:0;font:500 1.05rem var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--strong);background:#060c16;border:1px solid var(--line2);border-radius:12px;padding:.7rem .8rem;min-height:48px}
.find input::placeholder{color:#5d7486;letter-spacing:.08em}
.find input:focus{outline:none;border-color:var(--cyan);box-shadow:0 0 0 3px #64e6ef26}
.find .err{color:var(--red);font-size:.88rem}

.steps{display:grid;gap:10px;counter-reset:s;margin:0;padding:0;list-style:none}
.steps li{counter-increment:s;display:grid;grid-template-columns:32px 1fr;gap:12px;align-items:start;font-size:.95rem}
.steps li::before{content:counter(s);display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:#64e6ef14;border:1px solid var(--line2);font:700 .95rem var(--display);color:var(--cyan)}
.steps b{color:var(--strong)}

/* ---------- Filas de ranking ---------- */
.rows{display:grid}
.rrow{display:grid;grid-template-columns:30px 44px minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px 4px;border-bottom:1px solid #ffffff0c;text-decoration:none;color:inherit;border-radius:10px}
.rrow:last-child{border-bottom:0}
a.rrow:hover{background:#ffffff06}
.rrow .n{font:600 .95rem var(--display);color:var(--muted);text-align:center;font-variant-numeric:tabular-nums}
.rrow:nth-child(1) .n{color:var(--gold)}
.rrow .pic{width:44px;height:44px;border-radius:11px;object-fit:cover;object-position:top;background:#64e6ef12;border:1px solid var(--line)}
.rrow .pics{display:flex}
.rrow .pics .pic{width:34px;height:34px}
.rrow .pics .pic + .pic{margin-left:-10px;box-shadow:0 0 0 2px var(--panel)}
.rrow .who{min-width:0;display:grid;gap:1px}
.rrow .who b{color:var(--strong);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rrow .who b.anon{color:var(--muted);font-weight:500;font-style:italic}
.rrow .who small{color:var(--muted);font-size:.8rem}
.rrow .league{display:flex;align-items:center;gap:8px;text-align:right}
.rrow .league img{width:30px;height:30px}
.rrow .league div{display:grid;line-height:1.2}
.rrow .league b{color:var(--strong);font:600 .92rem var(--display);white-space:nowrap}
.rrow .league small{font:500 .74rem var(--mono);color:var(--muted);font-variant-numeric:tabular-nums}


.duo .rrow{grid-template-columns:30px 58px minmax(0,1fr) auto}
@media (max-width:420px){.rrow .league img{display:none}}

.tabs{display:inline-flex;gap:4px;background:#060c16;border:1px solid var(--line);border-radius:12px;padding:4px}
.tabs button{font:600 .9rem var(--body);color:var(--fg);background:none;border:0;border-radius:9px;padding:.5rem .9rem;min-height:40px;cursor:pointer}
.tabs button[aria-selected="true"]{background:var(--panel2);color:var(--strong);box-shadow:inset 0 0 0 1px var(--line2)}

.state{display:grid;justify-items:center;text-align:center;gap:12px;padding:36px 12px}
.state h2{font-size:1.4rem}
.state p{max-width:44ch}
.skel{height:56px;border-radius:10px;background:linear-gradient(90deg,#ffffff06,#ffffff10,#ffffff06);background-size:200% 100%;margin-bottom:8px}
@media (prefers-reduced-motion:no-preference){.skel{animation:sh 1.3s linear infinite}@keyframes sh{to{background-position:-200% 0}}}

/* ---------- Perfil ---------- */
.prof{padding-block:28px 40px;display:grid;gap:22px}
@media (min-width:900px){.prof{grid-template-columns:340px 1fr;align-items:start;padding-block:44px 56px}}
.card-id{position:relative;overflow:hidden;border:1px solid var(--line2);border-radius:20px;padding:20px;display:grid;gap:16px;
  background:radial-gradient(110% 70% at 50% 18%,color-mix(in srgb,var(--accent,#64e6ef) 26%,transparent) 0%,#0e1828 58%,#0a1220 100%)}
@media (min-width:900px){.card-id{position:sticky;top:84px}}
.portrait{position:relative;justify-self:center;width:min(260px,72vw);aspect-ratio:4/5}
.portrait img{width:100%;height:100%;object-fit:cover;object-position:top;border-radius:16px;
  -webkit-mask-image:linear-gradient(#000 82%,transparent);mask-image:linear-gradient(#000 82%,transparent);filter:drop-shadow(0 18px 30px #000b)}
.portrait .lvl{position:absolute;right:-4px;top:8px;font:700 .82rem var(--display);letter-spacing:.06em;color:#2a1b00;background:var(--gold);border-radius:8px;padding:.2rem .5rem;box-shadow:0 6px 18px #0008}
.idtext{display:grid;gap:4px;text-align:center}
.idtext h1{font-size:clamp(1.8rem,7vw,2.3rem);overflow-wrap:anywhere}
.idtext .gb{font-size:.95rem}
.idtext .gb b{color:var(--strong)}
.codebox{display:flex;align-items:center;gap:8px;background:#060c16cc;border:1px dashed var(--line2);border-radius:12px;padding:6px 6px 6px 14px}
.codebox{flex-wrap:wrap}
.codebox span{flex:1;min-width:0;font:500 .98rem var(--mono);letter-spacing:.06em;color:var(--strong);white-space:nowrap}
.copied{font:500 .8rem var(--mono);color:var(--mint);text-align:center;min-height:1.2em}

.pmain{display:grid;gap:18px;min-width:0}
.tiles{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.tile{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:14px;display:grid;gap:6px;align-content:start;min-width:0}
.tile small{font:500 .68rem var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.tile .big{display:flex;align-items:center;gap:8px}
.tile .big img{width:34px;height:34px}
.tile .big b{font:700 1.2rem var(--display);color:var(--strong)}
.tile span{font-size:.86rem;font-variant-numeric:tabular-nums}
.tile a{color:var(--cyan)}
.tile.none b{color:var(--muted);font-weight:600}

.chips{display:grid;gap:10px}
@media (min-width:600px){.chips{grid-template-columns:1fr 1fr}}
.chip{--accent:#64e6ef;position:relative;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:14px 14px 14px 18px;display:grid;gap:6px;min-width:0;overflow:hidden}
.chip::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--accent);box-shadow:0 0 16px var(--accent)}
.chip .chead{display:flex;justify-content:space-between;gap:8px;align-items:center}
.chip small{font:500 .7rem var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.chip h3{font-size:1.12rem;display:flex;gap:8px;align-items:baseline;flex-wrap:wrap}
.chip h3 span{font:500 .86rem var(--body);color:var(--fg)}
.chip .ab{font-size:.88rem}
.chip .ab b{color:var(--accent);font-weight:600}
.pips{display:inline-flex;gap:3px;align-items:center;font:500 .74rem var(--mono);color:var(--gold)}
.pips i{width:8px;height:8px;border-radius:2px;background:#ffcf7030}
.pips i.on{background:var(--gold)}

.howto{display:grid;gap:14px}
.note{font-size:.86rem;color:var(--muted)}

/* ---------- Pie ---------- */
.foot{border-top:1px solid var(--line);padding-block:28px calc(28px + env(safe-area-inset-bottom,0px));margin-top:24px;font-size:.88rem;color:var(--muted)}
.foot .wrap{display:grid;gap:14px}
.foot nav{display:flex;flex-wrap:wrap;gap:6px 18px}
.foot a{color:var(--fg);text-decoration:none}
.foot a:hover{color:var(--strong);text-decoration:underline}
.c-cyan{--c:var(--cyan)}.c-violet{--c:var(--violet)}.c-gold{--c:var(--gold)}.c-mint{--c:var(--mint)}
