   :root{
      --obsidian-deep:#050505;
      --obsidian-plate:#0f0f11;
      --obsidian-edge:#1f1f23;
      --magma-glow:#ff4d00;
      --magma-muted:#8a2b00;
      --batik-gold:#d4af37;
      --text-primary:#f0f0f0;
      --text-secondary:#888888;
      --font-main:'Inter',sans-serif;
      --font-mono:'JetBrains Mono',monospace;
      --transition:cubic-bezier(0.23, 1, 0.32, 1);
    }

    *{margin:0;padding:0;box-sizing:border-box;-webkit-font-smoothing:antialiased}
    html,body{width:100%;max-width:100vw;overflow-x:hidden}
    body{background-color:var(--obsidian-deep);color:var(--text-primary);font-family:var(--font-main);line-height:1.5}

    body::before{
      content:"";
      position:fixed;top:0;left:0;width:100%;height:100%;
      background:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E");
      opacity:0.04;pointer-events:none;z-index:9999
    }

    nav{
      position:fixed;top:0;width:100%;height:70px;
      background:rgba(5,5,5,0.95);
      backdrop-filter:blur(20px);
      border-bottom:1px solid var(--obsidian-edge);
      display:flex;align-items:center;justify-content:space-between;
      padding:0 20px;z-index:1000
    }

    .logo{
      display:inline-block;
      text-decoration:none;
      font-weight:900;font-size:1.25rem;letter-spacing:-0.5px;
      color:var(--text-primary);text-transform:uppercase;white-space:nowrap
    }
    .logo span{color:var(--magma-glow)}

    .search-wrap{width:100%;max-width:420px;margin:0 15px}
    .search-form{
      display:flex;align-items:center;gap:10px;
      background:var(--obsidian-plate);
      border:1px solid var(--obsidian-edge);
      padding:8px 12px;border-radius:4px
    }
    .search-form input{
      width:100%;border:0;outline:0;background:transparent;
      color:var(--text-primary);
      font-family:var(--font-mono);
      font-size:0.8rem
    }
    .search-form input::placeholder{color:var(--text-secondary)}
    .search-form button{
      border:0;background:transparent;color:var(--magma-glow);
      font-family:var(--font-mono);cursor:pointer
    }

    .mobile-menu-btn{
      display:none;background:none;border:1px solid var(--obsidian-edge);
      color:var(--text-primary);width:40px;height:40px;border-radius:4px;
      font-size:1.2rem;cursor:pointer
    }

    .premium-btn{
      display:inline-flex;align-items:center;gap:10px;
      text-decoration:none;
      background:linear-gradient(135deg, rgba(255,77,0,.15), rgba(0,0,0,.0));
      border:1px solid rgba(255,77,0,.55);
      color:var(--magma-glow);
      font-family:var(--font-mono);
      font-size:.75rem;
      padding:10px 12px;
      border-radius:6px;
      transition:all .2s ease;
      white-space:nowrap
    }
    .premium-btn:hover{
      background:var(--magma-glow);
      color:#000;
      box-shadow:0 0 18px rgba(255,77,0,.25)
    }
    .premium-dot{
      width:8px;height:8px;border-radius:999px;background:var(--batik-gold);
      box-shadow:0 0 10px rgba(212,175,55,.35)
    }

    .container{display:grid;grid-template-columns:240px 1fr;margin-top:70px;min-height:calc(100vh - 70px)}
    aside{
      padding:34px 20px 28px;
      border-right:1px solid var(--obsidian-edge);
      background:var(--obsidian-deep);
      position:sticky;top:70px;height:calc(100vh - 70px);
      overflow-y:auto;
    }

    aside{ scrollbar-width:thin; scrollbar-color:#151518 #070708; }
    aside::-webkit-scrollbar{width:6px}
    aside::-webkit-scrollbar-track{background:#070708}
    aside::-webkit-scrollbar-thumb{
      background:#151518;border-radius:10px;border:1px solid #0b0b0c
    }
    aside::-webkit-scrollbar-thumb:hover{background:#1d1d21}

    .sidebar-label{
      font-size:0.6rem;color:var(--magma-muted);font-weight:700;margin-bottom:14px;
      display:block;letter-spacing:2px
    }
    .sidebar-link{
      display:block;color:var(--text-secondary);text-decoration:none;font-size:0.85rem;
      font-family:var(--font-mono);margin-bottom:14px;
      transition:var(--transition) 0.3s;text-transform:uppercase;letter-spacing:1px
    }
    .sidebar-link:hover,.sidebar-link.active{color:var(--magma-glow);transform:translateX(5px)}
    .sidebar-link small{color:var(--text-secondary);opacity:.7;font-size:.7rem}

    main{
      padding:24px 30px 30px;
      background:linear-gradient(135deg,#050505 0%,#0a0a0c 100%);
      width:100%;overflow:hidden
    }

    .tectonic-hero{
      height:auto;
      margin-bottom:18px;
      background:
        linear-gradient(rgba(0,0,0,0), var(--obsidian-deep)),
        url('/public/hero.jpg');
      background-size:cover;background-position:center;
      padding:16px 18px;
      border:1px solid var(--obsidian-edge);
      border-radius:6px;position:relative;width:100%;
      display:block;
    }
    .tectonic-hero .badge{
      font-family:var(--font-mono);
      color:var(--batik-gold);
      margin-bottom:6px;font-size:0.72rem
    }
    .tectonic-hero h1{
      font-size:1.45rem;font-weight:900;max-width:860px;line-height:1.05;
      text-transform:uppercase;margin-bottom:6px
    }
    .tectonic-hero p{
      font-family:var(--font-mono);
      color:var(--text-secondary);
      font-size:0.78rem;
      margin-bottom:0
    }

    .category-scroll{
      display:flex;gap:10px;margin-bottom:20px;overflow-x:auto;
      padding-bottom:10px;width:100%;
      -webkit-overflow-scrolling:touch
    }
    .category-scroll::-webkit-scrollbar{display:none}
    .cat-chip{
      white-space:nowrap;padding:7px 14px;
      border:1px solid var(--obsidian-edge);
      background:var(--obsidian-plate);
      font-size:0.72rem;font-family:var(--font-mono);
      cursor:pointer;transition:all 0.4s var(--transition);
      flex-shrink:0;text-decoration:none;color:var(--text-primary);
      border-radius:6px
    }
    .cat-chip:hover,.cat-chip.active{
      border-color:var(--magma-glow);
      box-shadow:0 0 15px rgba(255,77,0,.18)
    }

    /* ===== Categories grid (nuevo) ===== */
    .cat-grid{
      display:grid;
      grid-template-columns:repeat(auto-fill, minmax(210px, 1fr));
      gap:18px;
      width:100%;
    }
    .cat-card{
      display:block;
      text-decoration:none;
      color:inherit;
      background:var(--obsidian-plate);
      border:1px solid var(--obsidian-edge);
      border-radius:10px;
      overflow:hidden;
      transition:all .45s var(--transition);
      position:relative;
    }
    .cat-card:hover{
      transform:translateY(-6px);
      border-color:rgba(255,77,0,.35);
      box-shadow:0 12px 30px rgba(0,0,0,.55)
    }
    .cat-thumb{
      width:100%;
      aspect-ratio:16/9;
      background:#1a1a1e;
      position:relative;
      overflow:hidden;
    }
    .cat-thumb img{
      width:100%;height:100%;object-fit:cover;display:block;
      filter:grayscale(.35) contrast(1.1);
      transition:.6s var(--transition);
    }
    .cat-card:hover .cat-thumb img{filter:grayscale(0) contrast(1);transform:scale(1.06)}
    .cat-thumb::after{
      content:"";
      position:absolute;inset:0;
      background:linear-gradient(180deg, rgba(0,0,0,.05) 0%, rgba(0,0,0,.75) 100%);
      opacity:.95;
      pointer-events:none;
    }
    .cat-pill{
      position:absolute;bottom:10px;left:10px;right:10px;
      display:flex;align-items:center;justify-content:space-between;gap:10px;
      z-index:2;
      font-family:var(--font-mono);
      font-size:.72rem;
    }
    .cat-pill .name{
      font-weight:700;color:#fff;
      overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
    }
    .cat-pill .count{
      flex:0 0 auto;
      padding:4px 10px;border-radius:999px;
      background:rgba(0,0,0,.68);
      border:1px solid rgba(255,255,255,.08);
      color:rgba(255,255,255,.9);
      white-space:nowrap;
    }
    .cat-body{
      padding:12px 12px 13px;
      display:flex;align-items:center;justify-content:space-between;gap:10px;
    }
    .cat-body .label{
      font-weight:800;font-size:.9rem;
      overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
    }
    .cat-body .arrow{
      font-family:var(--font-mono);
      color:rgba(255,255,255,.35);
      transition:all .2s ease;
    }
    .cat-card:hover .cat-body .arrow{color:var(--magma-glow);transform:translateX(2px)}

    .section{
      margin-top:28px;padding-top:20px;border-top:1px solid var(--obsidian-edge)
    }
    .section h3{
      font-size:1.0rem;font-weight:900;letter-spacing:.5px;text-transform:uppercase
    }
    .chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}
    .chips a{
      text-decoration:none;
      font-family:var(--font-mono);
      font-size:.72rem;
      color:var(--text-secondary);
      border:1px solid rgba(255,255,255,.08);
      padding:8px 12px;border-radius:10px;
      background:rgba(0,0,0,.18);
      transition:all .2s ease
    }
    .chips a:hover{border-color:rgba(255,77,0,.55);color:var(--text-primary)}

    /* Footer */
    .site-footer{
      margin-top: 28px;
      border-top: 1px solid var(--obsidian-edge);
      background: linear-gradient(180deg, rgba(0,0,0,0), rgba(0,0,0,.25));
    }
    .footer-inner{
      max-width: 1300px;
      margin: 0 auto;
      padding: 28px 30px;
      display: grid;
      grid-template-columns: 1.2fr 1fr 1fr 1fr;
      gap: 22px;
    }
    .footer-brand{
      text-decoration: none;
      font-weight: 900;
      font-size: 1.05rem;
      letter-spacing: -0.3px;
      color: var(--text-primary);
      text-transform: uppercase;
    }
    .footer-brand span{ color: var(--magma-glow); }
    .footer-text{
      margin-top: 10px;
      color: var(--text-secondary);
      font-family: var(--font-mono);
      font-size: .78rem;
      line-height: 1.45;
    }
    .footer-mini{
      margin-top: 12px;
      color: rgba(255,255,255,.35);
      font-family: var(--font-mono);
      font-size: .72rem;
    }
    .footer-title{
      font-weight: 900;
      text-transform: uppercase;
      letter-spacing: 1px;
      font-size: .78rem;
      margin-bottom: 10px;
      color: var(--text-primary);
    }
    .footer-link{
      display: block;
      text-decoration: none;
      font-family: var(--font-mono);
      font-size: .78rem;
      color: var(--text-secondary);
      padding: 7px 0;
      border-bottom: 1px solid rgba(255,255,255,.06);
      transition: all .2s ease;
    }
    .footer-link:hover{
      color: var(--text-primary);
      border-bottom-color: rgba(255,77,0,.35);
      transform: translateX(3px);
    }

    /* Age gate */
    body.age-locked{overflow:hidden}
    .popup-overlay{
      position:fixed;inset:0;
      background:rgba(0,0,0,.85);
      backdrop-filter:blur(10px);
      display:flex;align-items:center;justify-content:center;
      z-index:2000
    }
    .popup-container{
      width:min(520px,92vw);
      border:1px solid var(--obsidian-edge);
      background:linear-gradient(180deg,var(--obsidian-plate), #070707);
      border-radius:14px;overflow:hidden
    }
    .popup-header{padding:18px 18px 10px;border-bottom:1px solid var(--obsidian-edge)}
    .popup-header h2{font-weight:900;text-transform:uppercase}
    .popup-header p{color:var(--text-secondary);font-family:var(--font-mono);font-size:.8rem;margin-top:4px}
    .age-badge{
      margin-top:10px;display:inline-flex;align-items:center;justify-content:center;
      border:1px solid rgba(255,77,0,.7);
      color:var(--magma-glow);
      font-family:var(--font-mono);
      padding:6px 10px;border-radius:999px
    }
    .popup-content{padding:16px 18px 18px}
    .popup-content p{color:var(--text-primary);opacity:.95}
    .warning-text{margin-top:12px;font-family:var(--font-mono);font-size:.8rem;color:var(--text-secondary)}
    .button-group{display:flex;gap:10px;margin-top:14px}
    .btn{
      flex:1;border-radius:12px;padding:10px 12px;
      font-family:var(--font-mono);
      border:1px solid rgba(255,255,255,.1);
      cursor:pointer
    }
    .btn-primary{border-color:rgba(255,77,0,.7);color:#000;background:var(--magma-glow)}
    .btn-secondary{background:transparent;color:var(--text-primary)}
    .legal-text{margin-top:12px;color:var(--text-secondary);font-size:.75rem}
    .legal-text a{color:var(--text-primary)}

    .overlay{
      display:none;position:fixed;top:70px;left:0;width:100%;
      height:calc(100vh - 70px);
      background:rgba(0,0,0,.8);backdrop-filter:blur(5px);
      z-index:998
    }
    .overlay.active{display:block}

    @media(max-width:1024px){
      .container{grid-template-columns:200px 1fr}
      main{padding:22px}
      .search-wrap{max-width:360px}
      .tectonic-hero h1{font-size:1.25rem}
      .cat-grid{grid-template-columns:repeat(auto-fill, minmax(190px, 1fr))}
    }
    @media(max-width:768px){
      .container{grid-template-columns:1fr;grid-template-rows:auto}
      aside{
        display:none;position:fixed;top:70px;left:0;width:280px;
        height:calc(100vh - 70px);
        z-index:999;padding:26px 18px;
        transform:translateX(-100%);
        transition:transform .3s ease
      }
      aside.active{display:block;transform:translateX(0)}
      .mobile-menu-btn{display:flex;align-items:center;justify-content:center}
      .search-wrap{display:none}
      .mobile-search{display:block;margin:0 0 16px}
      .footer-inner{ grid-template-columns: 1fr 1fr; }
      .cat-grid{grid-template-columns:repeat(auto-fill, minmax(170px, 1fr))}
    }
    @media(max-width:600px){
      nav{padding:0 15px;height:60px}
      .container{margin-top:60px;display:block}
      aside{top:60px;height:calc(100vh - 60px);width:100%}
      main{padding:18px 14px}
      .logo{font-size:1.1rem}
      .footer-inner{ grid-template-columns: 1fr; padding: 22px 14px; }
      .container, main, .category-scroll{max-width:100%;overflow:hidden}
      .cat-grid{grid-template-columns:1fr}
    }