   :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:760px;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)
    }

    .video-grid{
      display:grid;
      grid-template-columns:repeat(auto-fill, minmax(280px, 1fr));
      gap:22px;width:100%
    }
    .video-card{
      position:relative;background:var(--obsidian-plate);
      transition:all 0.5s var(--transition);
      border:1px solid var(--obsidian-edge);
      border-radius:8px;overflow:hidden;width:100%
    }
    .video-card:hover{
      transform:translateY(-7px);
      border-color:rgba(255,77,0,.35);
      box-shadow:0 10px 30px rgba(0,0,0,.55)
    }
    .card-link{display:block;color:inherit;text-decoration:none}
    .thumbnail{
      width:100%;
      aspect-ratio:16/9;
      background:#1a1a1e;
      position:relative;overflow:hidden
    }
    .thumbnail img{
      width:100%;height:100%;object-fit:cover;display:block;
      filter:grayscale(.4) contrast(1.1);
      transition:0.6s var(--transition)
    }
    .video-card:hover img{filter:grayscale(0) contrast(1);transform:scale(1.05)}

    .duration{
      position:absolute;bottom:10px;right:10px;
      background:rgba(0,0,0,.82);
      font-family:var(--font-mono);font-size:0.68rem;
      padding:3px 8px;border-radius:6px;z-index:3;
      border:1px solid rgba(255,255,255,.06)
    }
    .live-tag{
      position:absolute;top:12px;left:12px;
      background:var(--magma-glow);
      color:#fff;font-family:var(--font-mono);
      font-size:0.6rem;padding:3px 10px;font-weight:bold;border-radius:999px;
      animation:pulse 2s infinite;z-index:3
    }
    @keyframes pulse{0%{opacity:1}50%{opacity:.6}100%{opacity:1}}

    .card-content{padding:14px 14px 16px}
    .video-title{
      font-weight:800;font-size:0.98rem;margin-bottom:10px;
      display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;
      overflow:hidden;line-height:1.35
    }

    .meta{display:flex;gap:8px;flex-wrap:wrap}
    .meta-pills{margin-top:2px}
    .pill{
      display:inline-flex;align-items:center;gap:6px;
      font-family:var(--font-mono);
      font-size:.72rem;
      color:var(--text-secondary);
      padding:7px 10px;
      border-radius:999px;
      border:1px solid rgba(255,255,255,.08);
      background:rgba(0,0,0,.22);
      max-width:100%;
      overflow:hidden;text-overflow:ellipsis;white-space:nowrap
    }
    .pill-ic{
      opacity:.9;
      color:rgba(255,255,255,.55);
      font-weight:700;
      flex:0 0 auto
    }
    .pill-cat{border-color:rgba(255,77,0,.22)}
    .pill-studio{border-color:rgba(212,175,55,.18)}
    .video-card:hover .pill-cat{border-color:rgba(255,77,0,.42);color:var(--text-primary)}
    .video-card:hover .pill-studio{border-color:rgba(212,175,55,.32);color:var(--text-primary)}

    .video-box{
      position:absolute;inset:0;opacity:0;transition:opacity .25s ease;
      z-index:2
    }
    .video-box video{width:100%;height:100%;object-fit:cover;display:block}
    .video-box.playing{opacity:1}

    .load-more-wrap{display:flex;justify-content:center;margin:24px 0 6px}
    .load-more{
      border:1px solid rgba(255,77,0,.7);
      background:transparent;color:var(--magma-glow);
      font-family:var(--font-mono);
      padding:10px 16px;border-radius:10px;
      cursor:pointer;transition:all .2s ease
    }
    .load-more:hover{background:var(--magma-glow);color:#000}

    .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}

    /* ===== Bookmarks extras (mismo look) ===== */
    .bm-actions{
      display:flex;flex-wrap:wrap;gap:10px;align-items:center;
      margin: 8px 0 18px;
    }
    .bm-btn{
      display:inline-flex;align-items:center;gap:10px;
      font-family:var(--font-mono);
      font-size:.72rem;
      padding:9px 12px;border-radius:10px;
      border:1px solid rgba(255,255,255,.10);
      background:rgba(0,0,0,.18);
      color:var(--text-primary);
      cursor:pointer;
      transition:all .2s ease;
      text-decoration:none;
    }
    .bm-btn:hover{border-color:rgba(255,77,0,.55); transform: translateY(-1px);}
    .bm-btn-danger{border-color:rgba(255,77,0,.45); color:var(--magma-glow);}
    .bm-btn-danger:hover{background:var(--magma-glow); color:#000;}
    .bm-note{
      font-family:var(--font-mono);
      font-size:.75rem;
      color:var(--text-secondary);
      margin-left:auto;
    }
    .bm-empty{
      border:1px solid rgba(255,255,255,.08);
      background:rgba(0,0,0,.18);
      border-radius:10px;
      padding:16px 14px;
      font-family:var(--font-mono);
      color:var(--text-secondary);
    }
    .bm-remove{
      position:absolute; top:10px; right:10px; z-index:5;
      width:34px; height:34px; border-radius:10px;
      border:1px solid rgba(255,255,255,.10);
      background:rgba(0,0,0,.60);
      color:var(--text-primary);
      cursor:pointer;
      transition:all .2s ease;
      display:flex;align-items:center;justify-content:center;
      font-family:var(--font-mono);
    }
    .bm-remove:hover{
      border-color:rgba(255,77,0,.55);
      box-shadow:0 0 14px rgba(255,77,0,.15);
      transform: translateY(-1px);
    }

    @media(max-width:1024px){
      .container{grid-template-columns:200px 1fr}
      main{padding:22px}
      .video-grid{grid-template-columns:repeat(auto-fill, minmax(250px, 1fr))}
      .search-wrap{max-width:360px}
      .tectonic-hero h1{font-size:1.25rem}
    }
    @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}
      .video-grid{grid-template-columns:repeat(auto-fill, minmax(240px, 1fr));gap:18px}
      .mobile-search{display:block;margin:0 0 16px}
      .footer-inner{ grid-template-columns: 1fr 1fr; }
      .bm-note{ margin-left: 0; width: 100%; }
    }
    @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}
      .video-grid{grid-template-columns:1fr;gap:16px}
      .footer-inner{ grid-template-columns: 1fr; padding: 22px 14px; }
      .container, main, .video-grid, .video-card, .thumbnail, .category-scroll{max-width:100%;overflow:hidden}
    }