/* Estilo compartido: arcade de los 90, CRT y bordes duros */
@font-face{font-family:'JetBrains Mono';src:url(/fuentes/jetbrains-mono-400.woff2) format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'JetBrains Mono';src:url(/fuentes/jetbrains-mono-700.woff2) format('woff2');font-weight:700;font-display:swap}
@font-face{font-family:'JetBrains Mono';src:url(/fuentes/jetbrains-mono-800.woff2) format('woff2');font-weight:800;font-display:swap}
:root{--base:#24161a;--mantle:#170e11;--crust:#0b0708;--s0:#3d2228;--s1:#5c3039;--text:#f6e7d8;--sub:#cdb5a6;--ov:#8f7268;
--red:#ff3b4a;--acc:#ff3b4a;--acc2:#9e0f26;--yellow:#ffd25e;--green:#7dff9a;--cyan:#3ef0ff;--peach:#ff9d5c;--sh:4px 4px 0 #000}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth}
body{background:var(--crust);color:var(--text);font-family:'JetBrains Mono',ui-monospace,monospace;font-size:14px;line-height:1.55;min-height:100vh;position:relative;
  background-image:radial-gradient(ellipse at 50% 120%,#3a0d16 0,transparent 60%)}
a{color:var(--acc);text-decoration:none}
::selection{background:var(--yellow);color:#000}
.wrap{max-width:1140px;margin:0 auto;padding:0 16px}

/* fondo 3D (js/fondo.js) y capa CRT por encima de todo */
#fondo{position:fixed;inset:0;width:100%;height:100%;z-index:-1;image-rendering:pixelated;opacity:0;transition:opacity 1.2s}
#fondo.on{opacity:1}
body:after{content:'';position:fixed;inset:0;pointer-events:none;z-index:100;
  background:repeating-linear-gradient(#0000 0 2px,#00000038 2px 3px),radial-gradient(ellipse at center,transparent 55%,#000a 100%)}

/* barra superior */
.top{position:sticky;top:0;z-index:10;background:var(--crust);border-bottom:3px solid var(--acc);box-shadow:0 3px 0 #000}
.top .wrap{display:flex;align-items:center;gap:18px;height:54px}
.brand{color:var(--text);font-weight:800;display:flex;align-items:center;gap:10px;white-space:nowrap;letter-spacing:.04em;text-transform:uppercase}
.brand small{color:var(--ov);font-weight:400;text-transform:none}
.dots{display:grid;place-items:center;width:28px;height:28px;background:var(--acc);color:#000;font-size:15px;font-weight:800;box-shadow:3px 3px 0 #000}
.dots:before{content:'学'}
.dots i{display:none}
.cats{display:flex;gap:2px;overflow-x:auto;scrollbar-width:none;flex:1}
.cats::-webkit-scrollbar{display:none}
.cats a{color:var(--ov);padding:4px 10px;white-space:nowrap;text-transform:uppercase;font-size:12px;letter-spacing:.06em}
.cats a.on{color:#000;background:var(--yellow)}
.cats a.on:before{content:'▶ '}
.cats a.off{pointer-events:none;opacity:.5}
.cats sup{font-size:9px;color:var(--yellow);margin-left:3px}
.lang{display:flex;border:2px solid var(--s1)}
.lang button{background:none;border:0;color:var(--ov);font:inherit;font-size:12px;cursor:pointer;padding:2px 7px;text-transform:uppercase}
.lang button.on{color:#000;background:var(--yellow)}

/* piezas comunes */
.btn{display:inline-block;border:2px solid var(--text);color:var(--text);padding:8px 16px;background:var(--mantle);text-transform:uppercase;letter-spacing:.06em;font-weight:700;box-shadow:var(--sh);transition:transform .08s,box-shadow .08s}
.btn.pri{border-color:#000;background:var(--acc);color:#000}
.btn:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 #000}
.btn:active{transform:translate(4px,4px);box-shadow:none}
.blink{animation:b 1s steps(1) infinite}
@keyframes b{50%{opacity:0}}
footer{margin:56px 0 0;padding:18px 0 40px;color:var(--ov);border-top:3px double var(--s1);display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;text-transform:uppercase;font-size:12px;letter-spacing:.06em}
@media(max-width:820px){.brand small{display:none}.top .wrap{gap:10px}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
