body {
    font-family: sans-serif;
    background: #f5f5f5;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 40px;
    padding: 60px 20px;
  }
  
  h1 { font-size: 20px; color: #333; }
  
  .section { text-align: center; }
  .section p { font-size: 13px; color: #999; margin-top: 10px; }
  
  .btn {
    padding: 12px 28px;
    background: white;
    border: 2px solid #3b82f6;
    color: #3b82f6;
    border-radius: 8px;
    font-size: 15px;
    cursor: pointer;
    transition: background 0.3s, color 0.3s;
  }
  .btn:hover { background: #3b82f6; color: white; }
  
  .img-box {
    width: 100px;
    height: 100px;
    background: #e0e7ff;
    border-radius: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 48px;
    cursor: pointer;
    transition: background 0.4s;
  }
  .img-box:hover { background: #fde68a; }
  .img-box .b { display: none; }
  .img-box:hover .a { display: none; }
  .img-box:hover .b { display: inline; }
  
  .fancy {
    font-size: 32px;
    font-weight: 800;
    animation: colours 3s linear infinite;
  }
  @keyframes colours {
    0%   { color: #3b82f6; }
    33%  { color: #ef4444; }
    66%  { color: #22c55e; }
    100% { color: #3b82f6; }
  }
  
  .spinner {
    width: 50px;
    height: 50px;
    border: 4px solid #ddd;
    border-top-color: #3b82f6;
    border-radius: 50%;
    animation: spin 1s linear infinite;
    display: inline-block;
  }
  @keyframes spin { to { transform: rotate(360deg); } }
  
  .flip {
    width: 140px;
    height: 140px;
    perspective: 500px;
    cursor: pointer;
    display: inline-block;
  }
  .flip-inner {
    width: 100%;
    height: 100%;
    transform-style: preserve-3d;
    transition: transform 0.6s;
    position: relative;
  }
  .flip:hover .flip-inner { transform: rotateY(180deg); }
  .front, .back {
    position: absolute;
    inset: 0;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    font-weight: 600;
    backface-visibility: hidden;
  }
  .front { background: #e0e7ff; font-size: 48px; }
  .back  { background: #3b82f6; color: white; transform: rotateY(180deg); padding: 12px; text-align: center; }