:root,[data-theme=niebla]{--grafito: #2a2c2b;--niebla: #abbab9;--cinta: #09a89a;--escritorio: #248c8e;--menta: #b3e5dc;--granate: #5a1500;--bronce: #a8730a;--oliva: #6c5408;--panasonic: #1818f0;--lavanda: #9c6cc6;--papel: #ffffff;--superficie: #abbab9;--superficie-ventana: #c9d0cf;--superficie-campo: #eef1ef;--tinta: #2a2c2b;--tinta-suave: #3d4443;--enlace: #1010c0;--foco: #1818f0;--titulo-activo: var(--panasonic);--titulo-inactivo: #6e7776;--bisel-luz: #eef1ef;--bisel-medio: #8a9594;--bisel-sombra: #2a2c2b;--aviso-fondo: #b3e5dc;--aviso-tinta: #5a1500;--bisel-alto: inset -1px -1px 0 #2a2c2b, inset 1px 1px 0 #eef1ef, inset -2px -2px 0 #8a9594, inset 2px 2px 0 #dfe4e3;--bisel-hundido: inset 1px 1px 0 #2a2c2b, inset -1px -1px 0 #eef1ef, inset 2px 2px 0 #8a9594, inset -2px -2px 0 #dfe4e3}[data-theme=sotano]{--superficie: #1f2120;--superficie-ventana: #343736;--superficie-campo: #141615;--tinta: #e3e9e7;--tinta-suave: #a9b4b2;--enlace: #b3e5dc;--foco: #b3e5dc;--titulo-activo: var(--panasonic);--titulo-inactivo: #4a504f;--bisel-luz: #5a5f5e;--bisel-medio: #232524;--bisel-sombra: #0a0b0b;--aviso-fondo: #5a1500;--aviso-tinta: #b3e5dc;--bisel-alto: inset -1px -1px 0 #0a0b0b, inset 1px 1px 0 #5a5f5e, inset -2px -2px 0 #232524, inset 2px 2px 0 #464b4a;--bisel-hundido: inset 1px 1px 0 #0a0b0b, inset -1px -1px 0 #5a5f5e, inset 2px 2px 0 #232524, inset -2px -2px 0 #464b4a}:root{--espacio-1: 4px;--espacio-2: 8px;--espacio-3: 12px;--espacio-4: 16px;--espacio-6: 24px;--espacio-8: 32px;--espacio-12: 48px;--espacio-16: 64px;--radio-0: 0;--radio-ranura: 6px;--radio-agujero: 50%;--grano: .22;--raspado: .14;--trama-paso: 5px;--font-cartel: "Gloock", "Bodoni Moda", Georgia, serif;--font-grotesca: "Archivo", "Helvetica Neue", Arial, sans-serif;--font-pixel: "VT323", "Lucida Console", monospace;--font-mono: "IBM Plex Mono", "Courier New", monospace;--font-titular: "Aujournuit Condensed", "Gloock", Georgia, serif;--font-titular-medio: "Aujournuit", "Gloock", Georgia, serif;--font-titular-ancho: "Aujournuit Wide", "Gloock", Georgia, serif;--text-titular: 400 88px/.92 var(--font-titular);--text-titular-ancho: 400 56px/1 var(--font-titular-ancho);--text-subtitulo: 400 32px/1.1 var(--font-titular-medio);--text-numeral: 500 22px/1 var(--font-grotesca);--text-cuerpo: 400 15px/1.6 var(--font-mono);--text-control: 500 14px/1.2 var(--font-mono);--text-pixel-etiqueta: 400 22px/1 var(--font-pixel);--text-pixel-ventana: 400 19px/1 var(--font-pixel);--text-pixel-fecha: 400 18px/1.1 var(--font-pixel)}.titular{font-family:var(--font-titular);font-size:88px;line-height:.92;font-weight:400;letter-spacing:-.01em}.titular-ancho{font-family:var(--font-titular-ancho);font-size:56px;line-height:1;font-weight:400;letter-spacing:0}.subtitulo{font-family:var(--font-titular-medio);font-size:32px;line-height:1.1;font-weight:400;letter-spacing:0}.numeral{font-family:var(--font-grotesca);font-size:22px;line-height:1;font-weight:500;letter-spacing:-.02em}.cuerpo{font-family:var(--font-mono);font-size:15px;line-height:1.6;font-weight:400;letter-spacing:0}.control{font-family:var(--font-mono);font-size:14px;line-height:1.2;font-weight:500;letter-spacing:0}.pixel-etiqueta{font-family:var(--font-pixel);font-size:22px;line-height:1;font-weight:400;letter-spacing:0}.pixel-ventana{font-family:var(--font-pixel);font-size:19px;line-height:1;font-weight:400;letter-spacing:0}.pixel-fecha{font-family:var(--font-pixel);font-size:18px;line-height:1.1;font-weight:400;letter-spacing:0}@font-face{font-family:Aujournuit Condensed;src:url(/assets/Aujournuit-Condensed-V84w6Wmb.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Aujournuit Densed;src:url(/assets/Aujournuit-Densed-CctJSGuz.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Aujournuit;src:url(/assets/Aujournuit-Regular-TY_gGr9P.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Aujournuit Airy;src:url(/assets/Aujournuit-Airy-nb3_Oixq.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Aujournuit Wide;src:url(/assets/Aujournuit-Wide-BxjrZpPI.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}html,body,#root{height:100%}body{margin:0;background:var(--escritorio);overflow:hidden}a{color:#1010c0}a:hover{color:#1818f0}.stage{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center}.stage-scaler{width:1280px;height:800px;flex:none;transform-origin:center center}.juego{width:1280px;height:800px;box-sizing:border-box;padding:24px;background:var(--escritorio);font-family:IBM Plex Mono,Courier New,monospace;color:var(--grafito);position:relative}.juego:focus{outline:none}.bevel{box-shadow:var(--bisel-alto)}.win{padding:4px;background:var(--superficie-ventana);box-shadow:var(--bisel-alto),8px 8px 0 var(--grafito)}.main-win{width:1232px;height:752px;box-sizing:border-box;display:flex;flex-direction:column}.titlebar{height:28px;display:flex;align-items:center;padding:0 10px;background:var(--panasonic);color:var(--papel);font-family:VT323,monospace;font-size:19px}.titlebar-main{height:30px;flex:none;justify-content:space-between;padding:0 4px 0 10px;font-family:VT323,Lucida Console,monospace;line-height:1}.titlebar-controls{display:flex;gap:4px}.titlebar-controls span{width:22px;height:20px;display:flex;align-items:center;justify-content:center;background:var(--superficie-ventana);color:var(--grafito);box-shadow:inset -1px -1px #2a2c2b,inset 1px 1px #eef1ef}.win-body{padding:20px 24px 24px;display:flex;flex-direction:column;gap:16px}.viewport{flex:1;min-height:0;margin:4px 0;position:relative;padding:2px;background:#141615;box-shadow:var(--bisel-hundido);overflow:hidden}.viewport canvas{position:absolute;left:2px;top:2px;width:calc(100% - 4px);height:calc(100% - 4px);display:block}.overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center}.flash{position:absolute;top:2px;right:2px;bottom:2px;left:2px;background:var(--granate);opacity:.4;pointer-events:none}.cuenta-wrap{position:absolute;top:24px;left:0;right:0;display:flex;justify-content:center;pointer-events:none}.cuenta{min-width:120px;padding:8px 28px 4px;text-align:center;background:var(--superficie-ventana);box-shadow:var(--bisel-alto),6px 6px 0 var(--grafito);font-family:Aujournuit Condensed,Gloock,Georgia,serif;font-size:88px;line-height:.92;color:var(--grafito)}.cargando{font-family:VT323,monospace;font-size:22px;color:#e3e9e7}.pixel-tag{padding:4px 10px;background:var(--menta);color:var(--granate);font-family:VT323,monospace;font-size:22px;line-height:1}.pixel-meta{font-family:VT323,monospace;font-size:18px;line-height:1.1;color:var(--tinta-suave)}.num{font-family:Archivo,sans-serif;font-stretch:62%;font-weight:500;font-size:22px;line-height:1}.h2{margin:0;font-family:Aujournuit,Gloock,Georgia,serif;font-weight:400;font-size:32px;line-height:1.1}.body-text{margin:0;font-size:15px;line-height:1.6}.row{display:flex;gap:16px}.btn{min-height:44px;padding:10px 20px;border:0;border-radius:0;background:var(--superficie-ventana);color:var(--grafito);font-family:IBM Plex Mono,monospace;font-weight:500;font-size:14px;line-height:1.2;cursor:pointer;box-shadow:var(--bisel-alto)}.btn-accent{background:var(--cinta);box-shadow:inset -1px -1px #2a2c2b,inset 1px 1px #eef1ef,inset -2px -2px #067a70,inset 2px 2px #5cc9bf}.btn:active{box-shadow:var(--bisel-hundido)!important;transform:translateY(2px)}.btn:focus-visible{outline:2px solid var(--foco);outline-offset:2px}.btn-icon{width:44px;height:44px;padding:0;font-family:VT323,monospace;font-size:22px}.tira{height:64px;margin-top:4px;display:flex;align-items:center;justify-content:space-between;padding:0 18px;background:var(--cinta);overflow:hidden}.tira-col{display:flex;flex-direction:column;align-items:center;gap:4px}.tira-col .num{color:var(--grafito)}.ranura{width:12px;height:24px;border-radius:6px;background:var(--grafito)}.titulo-body{padding:24px 32px 28px;display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center}.titular-oops{margin:0;font-family:Aujournuit Condensed,Gloock,Georgia,serif;font-weight:400;font-size:88px;line-height:.92;color:var(--grafito);text-shadow:3px 3px 0 var(--cinta)}.song-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.song{display:flex;flex-direction:column;background:var(--superficie-ventana);box-shadow:var(--bisel-alto);padding:4px}.song-cover{height:176px;box-sizing:border-box;padding:14px 16px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}.song-cover-meta{display:flex;justify-content:space-between;align-items:baseline;font-family:VT323,monospace;font-size:22px;line-height:1}.song-bpm{font-family:Aujournuit Wide,Gloock,Georgia,serif;font-size:56px;line-height:1}.song-title{margin:0;font-family:Aujournuit,Gloock,Georgia,serif;font-weight:400;font-size:28px;line-height:1.1}.song-body{padding:12px;display:flex;flex-direction:column;gap:10px;flex:1}.song-diff{padding:4px 10px;background:var(--grafito);color:var(--menta);font-family:VT323,monospace;font-size:22px;line-height:1}.song-desc{margin:0;font-size:14px;line-height:1.6;flex:1}.song-body .btn{padding:10px 16px}.nota-box{width:160px;height:160px;flex:none;display:flex;align-items:center;justify-content:center;font-family:Aujournuit Wide,Gloock,Georgia,serif;font-size:96px;line-height:1}.stats{margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 16px;font-size:14px;line-height:1.4}.stats dt{color:var(--tinta-suave)}.stats dd{margin:0;font-weight:500}.hud{height:60px;flex:none;display:flex;align-items:stretch;gap:6px}.hud-cell{box-sizing:border-box;padding:6px 10px;display:flex;flex-direction:column;justify-content:center;gap:4px;box-shadow:inset 1px 1px #8a9594,inset -1px -1px #eef1ef}.hud-label{font-family:VT323,monospace;font-size:18px;line-height:1;color:var(--tinta-suave)}.hud-track{font-size:14px;font-weight:500;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.escudo{width:28px;height:16px;box-shadow:inset -1px -1px #2a2c2b,inset 1px 1px #eef1ef}.progress{height:18px;padding:3px;box-sizing:border-box;display:flex;gap:2px;background:#eef1ef;box-shadow:inset 1px 1px #2a2c2b,inset -1px -1px #eef1ef,inset 2px 2px #8a9594}.progress span{flex:1}.hud-controls{display:flex;gap:4px;align-items:center}.hud-controls .btn-pause{height:44px;padding:0 14px}
