/* MIXED CSS PACK */
/* Template: turnopolis/index.php */
/* Template mtime: 2026-01-31 15:37:03 */

/* external link (no embedded): https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css */
/* external link (no embedded): https://fonts.googleapis.com/css2?family=Orbitron:wght@400;700&family=Montserrat:wght@300;500;700&display=swap */

/* ===== INLINE <style> BLOCK #1 ===== */
:root{ 
      --neon-blue:#00f3ff; 
      --neon-pink:#ff00e6; 
      --neon-purple:#8a2be2;
      --text:#fff; 
      --bg:#000;
      --dark-bg:rgba(5,5,15,0.95);
      --darker-bg:rgba(0,0,10,0.98);
    }
    *{box-sizing:border-box;margin:0;padding:0}
    html,body{height:100%;background:#000;color:var(--text);font-family:Montserrat,system-ui,sans-serif;overflow:hidden}

    .game-font{font-family:Orbitron,monospace;letter-spacing:2px;text-transform:uppercase}

    /* Fondo */
    .space-bg{position:fixed;inset:0;z-index:-2;background:radial-gradient(ellipse at bottom,#1B2735 0%,#090A0F 100%)}
    .stars{position:absolute;inset:0;background:transparent url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="100" height="100"><circle cx="50" cy="50" r="0.5" fill="white" opacity="0.5"/></svg>') repeat;background-size:1px 1px;animation:sm 180s linear infinite}
    .stars:nth-child(2){background-size:2px 2px;animation-duration:140s;opacity:.7}
    .stars:nth-child(3){background-size:3px 3px;animation-duration:100s;opacity:.5}
    @keyframes sm{to{transform:translateY(-100%)}}

    .main{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:20px}

    /* ====== VIDEO ====== */
    .video-wrap{width:min(90vw,1400px);margin:0 auto 40px;position:relative;perspective:2000px}
    .video-tilt{position:relative;border-radius:12px;overflow:hidden;transition:transform .5s ease}
    .ratio{width:100%;aspect-ratio:21/9;position:relative;overflow:hidden}
    @supports not (aspect-ratio:21/9){.ratio{height:0;padding-top:42.85%}.ratio>*{position:absolute;inset:0}}
    video{width:100%;height:100%;object-fit:cover;display:block}

    /* —— Marco NEON del video (APAGADO por defecto) —— */
    .video-frame,
    .video-tilt::before,
    .video-tilt::after{display:none}
    body.authed .video-frame{display:block;position:absolute;inset:-15px;border:2px solid rgba(0,243,255,.3);border-radius:15px;box-shadow:0 0 15px rgba(0,243,255,.3),inset 0 0 15px rgba(0,243,255,.3);pointer-events:none;z-index:2}
    body.authed .video-frame::before,
    body.authed .video-frame::after{content:'';position:absolute;width:30px;height:30px;border:2px solid var(--neon-blue);box-shadow:0 0 10px var(--neon-blue)}
    body.authed .video-frame::before{top:-15px;left:-15px;border-right:none;border-bottom:none}
    body.authed .video-frame::after{bottom:-15px;right:-15px;border-left:none;border-top:none}
    body.authed .video-tilt::before,
    body.authed .video-tilt::after{display:block;content:'';position:absolute;inset:-10px;z-index:1}
    body.authed .video-tilt::before{inset:0;background:linear-gradient(135deg,rgba(255,255,255,.1) 0%,rgba(255,255,255,0) 50%,rgba(255,255,255,.1) 100%);mix-blend-mode:overlay}
    body.authed .video-tilt::after{background:linear-gradient(45deg,var(--neon-pink),var(--neon-blue));background-size:400%;filter:blur(24px);opacity:.6;border-radius:15px}

    /* ====== BOTONES ====== */
    .buttons{display:flex;flex-wrap:wrap;gap:20px;justify-content:center}
    .btn-neon{
      padding:16px 30px;
      background:linear-gradient(145deg,rgba(40,40,80,.98),rgba(30,30,70,.95));
      color:#eaffff;
      border:2px solid var(--neon-blue);
      border-radius:8px;
      text-decoration:none;
      font-weight:700;
      letter-spacing:1.3px;
      box-shadow:0 0 16px rgba(0,243,255,.45), inset 0 0 12px rgba(0,243,255,.25), 0 6px 28px rgba(0,0,0,.85);
      text-transform:uppercase;
      transition: all 0.3s ease;
    }
    .btn-neon:hover{
      color:#fff;
      transform:translateY(-2px);
      box-shadow:0 0 30px var(--neon-blue), inset 0 0 20px rgba(0,243,255,.5), 0 10px 40px rgba(0,0,0,.95);
    }

    /* ====== HSPACE SIEMPRE VISIBLE y ABAJO-IZQ (prioridad máxima) ====== */
    #btn-hspace{
      position:fixed !important; 
      left:24px !important; 
      bottom:24px !important; 
      z-index:9999 !important;  /* Máxima prioridad */
      min-width:160px; 
      padding:10px 16px; 
      font-size:.9rem;
    }

    /* ====== LOGIN MODAL MODERNO Y DARK ====== */
    #loginModal{padding:0 !important}
    #loginModal .modal-dialog{
      position:fixed; 
      left:24px; 
      bottom:110px;  /* modal arriba del botón HSPACE */
      width:min(360px, 92vw); 
      max-width:360px; 
      margin:0;
      transform:none !important; 
      pointer-events:auto;
    }
    #loginModal .modal-content{
      background: linear-gradient(145deg, var(--darker-bg), var(--dark-bg));
      border: 1px solid var(--neon-purple);
      border-radius: 12px;
      box-shadow: 0 8px 32px rgba(0, 0, 0, 0.8), 
                  0 0 0 1px rgba(138, 43, 226, 0.3),
                  inset 0 0 20px rgba(138, 43, 226, 0.2);
      backdrop-filter: blur(16px) brightness(0.8);
      overflow: hidden;
    }
    #loginModal .modal-header{
      padding: 14px 16px;
      border-bottom: 1px solid rgba(138, 43, 226, 0.4);
      background: linear-gradient(90deg, rgba(138, 43, 226, 0.1), rgba(0, 243, 255, 0.1));
    }
    #loginModal .modal-title{
      font-size: 1.1rem;
      letter-spacing: 2px;
      text-shadow: 0 0 10px rgba(138, 43, 226, 0.7);
    }
    #loginModal .modal-body{
      padding: 20px;
      background: rgba(0, 0, 20, 0.3);
    }
    #loginModal .form-control{
      background: rgba(10, 10, 30, 0.7);
      border: 1px solid rgba(138, 43, 226, 0.4);
      color: #fff;
      margin-bottom: 16px;
      padding: 12px 16px;
      border-radius: 6px;
      transition: all 0.3s ease;
    }
    #loginModal .form-control:focus{
      border-color: var(--neon-blue);
      box-shadow: 0 0 0 0.25rem rgba(0, 243, 255, 0.25);
      background: rgba(20, 20, 50, 0.7);
    }
    #loginModal .btn-primary{
      background: linear-gradient(135deg, var(--neon-purple), var(--neon-blue));
      border: none;
      padding: 12px;
      font-weight: bold;
      letter-spacing: 1.5px;
      border-radius: 6px;
      transition: all 0.3s ease;
      box-shadow: 0 0 15px rgba(138, 43, 226, 0.5);
    }
    #loginModal .btn-primary:hover{
      transform: translateY(-2px);
      box-shadow: 0 0 25px rgba(138, 43, 226, 0.8);
    }
    #loginError {
      background: rgba(255, 0, 0, 0.15);
      border: 1px solid rgba(255, 0, 0, 0.3);
      padding: 8px;
      border-radius: 4px;
      text-align: center;
      margin-bottom: 16px !important;
      text-shadow: 0 0 5px rgba(255, 0, 0, 0.5);
    }

    /* Sin backdrop: deja clicar HSPACE sin login */
    .modal-backdrop.show{opacity:0}

    /* Cerrar sesión oculto hasta login */
    #logoutBox{
      display:none;
      position:fixed;
      top:24px;
      right:24px;
      z-index:1200;
    }

