course details

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="utf-8" />
  <title>Stylish Buttons — Open YouTube</title>
  <meta name="viewport" content="width=device-width, initial-scale=1" />
  <style>
    :root{
      --bg: #0b0f14;
      --card:#0f1520;
      --text:#e8ecf1;
      --muted:#9aa4af;
      --red:#ff2d55;
      --pink:#ff4d6d;
      --orange:#ff9f1a;
      --yellow:#ffd166;
      --lime:#a7f3d0;
      --blue:#60a5fa;
      --purple:#a78bfa;
      --shadow: 0 10px 25px rgba(0,0,0,.35);
    }

    *{box-sizing:border-box}
    html,body{height:100%}
    body{
      margin:0; background:
        radial-gradient(1200px 800px at 10% 10%, #111827 0%, #0b0f14 60%) fixed;
      color:var(--text); font:500 16px/1.4 system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
      display:flex; align-items:center; justify-content:center; padding:24px;
    }
    .wrap{
      width:min(980px,100%); background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.02));
      border:1px solid rgba(255,255,255,.08); border-radius:18px; box-shadow:var(--shadow); padding:28px;
      backdrop-filter:saturate(140%) blur(6px);
    }
    h1{margin:0 0 8px; font-size:28px; letter-spacing:.2px}
    p{margin:0 0 22px; color:var(--muted)}

    .grid{
      display:grid; grid-template-columns:repeat(auto-fit, minmax(220px,1fr)); gap:18px;
    }

    /* Base button */
    .btn{
      position:relative; display:inline-flex; align-items:center; justify-content:center; gap:.5rem;
      width:100%; min-height:48px; padding:12px 16px; border-radius:12px; border:0;
      color:#fff; text-decoration:none; cursor:pointer; user-select:none;
      transition:transform .18s ease, box-shadow .18s ease, filter .18s ease;
      will-change:transform, filter; outline:none;
    }
    .btn svg{width:18px; height:18px; flex:0 0 auto}
    .btn:focus-visible{box-shadow:0 0 0 3px rgba(96,165,250,.45)}
    .btn:active{transform:translateY(1px) scale(.99)}

    /* 1) Animated Gradient + Shine */
    .btn--shine{
      background:linear-gradient(120deg, var(--pink), var(--orange), var(--yellow));
      background-size:200% 200%;
      animation:gradient 6s ease infinite;
      overflow:hidden;
    }
    .btn--shine::after{
      content:""; position:absolute; inset:-60% -20%;
      background:linear-gradient(90deg, transparent, rgba(255,255,255,.55), transparent);
      transform:rotate(20deg) translateX(-120%);
      animation:shine 2.8s ease-in-out infinite;
      pointer-events:none;
    }

    /* 2) Neon Glow */
    .btn--glow{
      background:#121a26; border:1px solid rgba(255,255,255,.1);
      box-shadow:0 0 0 rgba(0,0,0,0);
    }
    .btn--glow:hover{
      box-shadow:
        0 0 18px rgba(96,165,250,.45),
        inset 0 0 18px rgba(96,165,250,.25);
      color:#eaf2ff;
      filter:saturate(115%);
    }
    .btn--glow .ring{
      position:absolute; inset:-2px; border-radius:inherit;
      background:conic-gradient(from 0deg, var(--blue), var(--purple), var(--pink), var(--blue));
      filter:blur(18px) opacity(.35); z-index:-1;
    }

    /* 3) Glassmorphism + subtle tilt */
    .btn--glass{
      background:linear-gradient(180deg, rgba(255,255,255,.12), rgba(255,255,255,.06));
      border:1px solid rgba(255,255,255,.16);
      backdrop-filter:blur(8px) saturate(140%);
    }
    .btn--glass:hover{transform:translateY(-2px) rotateX(2deg)}

    /* 4) 3D Pressed */
    .btn--3d{
      background:linear-gradient(180deg, #2a2f3a, #1b212d);
      box-shadow: 0 7px 0 #0e131c, 0 14px 24px rgba(0,0,0,.35);
    }
    .btn--3d:active{
      transform:translateY(5px);
      box-shadow: 0 2px 0 #0e131c, 0 6px 12px rgba(0,0,0,.35);
    }

    /* 5) Outline → Fill */
    .btn--outline{
      color:#fff; background:transparent; border:2px solid transparent;
      background-image:
        linear-gradient(var(--bg), var(--bg)),
        linear-gradient(90deg, var(--pink), var(--purple), var(--blue));
      background-origin:border-box; background-clip:padding-box, border-box;
    }
    .btn--outline:hover{
      background-image:
        linear-gradient(90deg, var(--pink), var(--purple), var(--blue)),
        linear-gradient(90deg, var(--pink), var(--purple), var(--blue));
      filter:brightness(1.05);
    }

    /* 6) Ripple (needs tiny JS below) */
    .btn--ripple{
      background:linear-gradient(135deg, #ff375f, #ff793f);
      overflow:hidden;
    }
    .ripple-wave{
      position:absolute; border-radius:999px; transform:translate(-50%,-50%);
      pointer-events:none; background:rgba(255,255,255,.35);
      animation:ripple .6s ease-out forwards;
    }

    /* Animations */
    @keyframes gradient{
      0%{background-position:0% 50%}
      50%{background-position:100% 50%}
      100%{background-position:0% 50%}
    }
    @keyframes shine{
      0%{transform:rotate(20deg) translateX(-120%)}
      100%{transform:rotate(20deg) translateX(120%)}
    }
    @keyframes ripple{
      from{width:0;height:0;opacity:.5}
      to{width:420px;height:420px;opacity:0}
    }

    /* Reduced motion */
    @media (prefers-reduced-motion: reduce){
      .btn, .btn::after, .ring{transition:none; animation:none}
    }

    /* Small helper card look for the grid items */
    .card{
      background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.03));
      border:1px solid rgba(255,255,255,.08); border-radius:14px; padding:14px;
    }
    .label{font-size:12px; color:var(--muted); margin:4px 2px 10px}
  </style>
</head>
<body>
  <div class="wrap" role="region" aria-label="Fancy buttons demo">
    <h1>Stylish Buttons (Open YouTube)</h1>
    <p>All buttons open in a new tab. Pick any style you like.</p>

    <div class="grid">
      <div class="card">
        <div class="label">Animated Gradient + Shine</div>
        <a class="btn btn--shine"
           href="https://www.youtube.com"
           target="_blank" rel="noopener noreferrer" aria-label="Open YouTube">
          <!-- simple play icon -->
          <svg viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><path d="M10 8l6 4-6 4V8z"></path><rect x="2" y="5" width="20" height="14" rx="4" ry="4" fill="none" stroke="currentColor" stroke-width="1.6"/></svg>
          Open YouTube
        </a>
      </div>

      <div class="card">
        <div class="label">Neon Glow</div>
        <a class="btn btn--glow"
           href="https://www.youtube.com"
           target="_blank" rel="noopener noreferrer" aria-label="Open YouTube Neon">
          <span class="ring" aria-hidden="true"></span>
          <svg viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><path d="M10 8l6 4-6 4V8z"></path><rect x="2" y="5" width="20" height="14" rx="4" ry="4" fill="none" stroke="currentColor" stroke-width="1.6"/></svg>
          Neon YouTube
        </a>
      </div>

      <div class="card">
        <div class="label">Glassmorphism</div>
        <a class="btn btn--glass"
           href="https://www.youtube.com"
           target="_blank" rel="noopener noreferrer" aria-label="Open YouTube Glass">
          <svg viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><path d="M10 8l6 4-6 4V8z"></path><rect x="2" y="5" width="20" height="14" rx="4" ry="4" fill="none" stroke="currentColor" stroke-width="1.6"/></svg>
          Glass YouTube
        </a>
      </div>

      <div class="card">
        <div class="label">3D Press</div>
        <a class="btn btn--3d"
           href="https://www.youtube.com"
           target="_blank" rel="noopener noreferrer" aria-label="Open YouTube 3D">
          <svg viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><path d="M10 8l6 4-6 4V8z"></path><rect x="2" y="5" width="20" height="14" rx="4" ry="4" fill="none" stroke="currentColor" stroke-width="1.6"/></svg>
          3D YouTube
        </a>
      </div>

      <div class="card">
        <div class="label">Outline → Fill</div>
        <a class="btn btn--outline"
           href="https://www.youtube.com"
           target="_blank" rel="noopener noreferrer" aria-label="Open YouTube Outline Fill">
          <svg viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><path d="M10 8l6 4-6 4V8z"></path><rect x="2" y="5" width="20" height="14" rx="4" ry="4" fill="none" stroke="currentColor" stroke-width="1.6"/></svg>
          Outline → Fill
        </a>
      </div>

      <div class="card">
        <div class="label">Ripple (click effect)</div>
        <a class="btn btn--ripple"
           href="https://www.youtube.com"
           target="_blank" rel="noopener noreferrer" aria-label="Open YouTube Ripple">
          <svg viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><path d="M10 8l6 4-6 4V8z"></path><rect x="2" y="5" width="20" height="14" rx="4" ry="4" fill="none" stroke="currentColor" stroke-width="1.6"/></svg>
          Ripple YouTube
        </a>
      </div>
    </div>
  </div>

  <script>
    // Tiny ripple effect for buttons with .btn--ripple
    const rippleButtons = document.querySelectorAll('.btn--ripple');
    rippleButtons.forEach(btn => {
      btn.addEventListener('click', e => {
        const rect = btn.getBoundingClientRect();
        const x = e.clientX - rect.left;
        const y = e.clientY - rect.top;

        const wave = document.createElement('span');
        wave.className = 'ripple-wave';
        wave.style.left = x + 'px';
        wave.style.top  = y + 'px';
        btn.appendChild(wave);

        // Clean up after animation
        setTimeout(() => wave.remove(), 650);
      });
    });
  </script>
</body>
</html>
Stylish Buttons — Open YouTube

Stylish Buttons (Open YouTube)

All buttons open in a new tab. Pick any style you like.

Animated Gradient + Shine
Open YouTube
Neon Glow
Neon YouTube
Glassmorphism
Glass YouTube
3D Press
3D YouTube
Outline → Fill
Outline → Fill
Ripple (click effect)
Ripple YouTube