html { scroll-behavior: smooth; }
  body {
    background:
      radial-gradient(60rem 40rem at 85% -10%, rgba(124,111,240,0.16), transparent 60%),
      radial-gradient(50rem 30rem at -10% 20%, rgba(34,201,154,0.12), transparent 60%),
      linear-gradient(rgba(11, 15, 26, 0.92), rgba(11, 15, 26, 0.92)),
      url('/assets/images/laptop-bg.jpg') no-repeat center / cover fixed,
    #0B0F1A;
    
  
  }
  .reveal { opacity: 0; transform: translateY(24px); transition: opacity .7s ease, transform .7s ease; }
  .reveal.in { opacity: 1; transform: translateY(0); }
  .reveal-delay-1 { transition-delay: .08s; }
  .reveal-delay-2 { transition-delay: .16s; }
  .reveal-delay-3 { transition-delay: .24s; }
  .reveal-delay-4 { transition-delay: .32s; }

  .caret { display:inline-block; width:9px; height:1.1em; background:#3FE0B0; margin-left:4px; vertical-align:-2px; animation: blink 1s steps(1) infinite; }
  @keyframes blink { 50% { opacity:0; } }

  .grid-fade {
    background-image: linear-gradient(rgba(255,255,255,0.035) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,0.035) 1px, transparent 1px);
    background-size: 34px 34px;
    -webkit-mask-image: radial-gradient(60% 60% at 50% 40%, black 20%, transparent 80%);
    mask-image: radial-gradient(60% 60% at 50% 40%, black 20%, transparent 80%);
  }

  .tag-badge { transition: transform .25s ease, border-color .25s ease, background .25s ease; }
  .tag-badge:hover { transform: translateY(-3px); border-color: rgba(63,224,176,0.6); background: rgba(63,224,176,0.08); }

  .proj-card { transition: transform .35s ease, box-shadow .35s ease, border-color .35s ease; }
  .proj-card:hover { transform: translateY(-6px); border-color: rgba(63,224,176,0.45); box-shadow: 0 20px 45px -20px rgba(34,201,154,0.35); }

  .dot-blink { animation: pulse 1.6s ease-in-out infinite; }
  @keyframes pulse { 0%,100% { opacity: .5; } 50% { opacity: 1; } }

  ::selection { background: rgba(63,224,176,0.3); color: #fff; }

  @media (prefers-reduced-motion: reduce) {
    .reveal, .caret, .dot-blink, .proj-card, .tag-badge { transition: none !important; animation: none !important; opacity: 1 !important; transform: none !important; }
  }