  /* Theme toggle (left side) */
  .theme-toggle {
    position: fixed;
    top: 20px;
    left: 20px;
    z-index: 1000;
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 22px;
    user-select: none;
    padding:6px 10px;
    border-radius:999px;
    background:rgba(0,0,0,0.3);
    backdrop-filter:blur(16px);
    -webkit-backdrop-filter:blur(16px);
    border:1px solid rgba(255,255,255,0.12);
  }
  body.light .theme-toggle{
    background:rgba(255,255,255,0.8);
    border:1px solid rgba(0,0,0,0.06);
  }

  #theme-icon {
    width:24px;
    height:24px;
    display:flex;
    align-items:center;
    justify-content:center;
    transition: transform 0.3s ease, opacity 0.3s ease;
  }

  .switch {
    position: relative;
    display: inline-block;
    width: 60px;
    height: 30px;
  }

  .switch input { display:none; }

  .slider {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(135deg, #444, #777);
    transition: .4s;
    border-radius: 30px;
    box-shadow: 0 0 12px rgba(0,0,0,0.35);
  }

  .slider:before {
    position: absolute;
    content: "";
    height: 24px;
    width: 24px;
    left: 3px;
    bottom: 3px;
    background: linear-gradient(135deg,#ffffff,#d9d9d9);
    transition: .4s;
    border-radius: 50%;
    box-shadow:0 2px 6px rgba(0,0,0,0.4);
  }

  input:checked + .slider {
    background: linear-gradient(135deg, #48c6ef, #6f86ff);
  }

  input:checked + .slider:before {
    transform: translateX(30px);
  }
