
  .rashi {
    display:grid;
    grid-template-columns: repeat(4, 1fr);
    grid-template-rows: repeat(4, 1fr);
    width: 320px;
    height: 320px;
    background:#fff;
    border-radius: 18px;
    box-shadow: 0 8px 30px rgba(60,40,10,0.15);
    padding: 6px;
    gap: 3px;
  }
  .house {
    background: #fdf6ec;
    border-radius: 6px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    font-size: 10px;
    color:#8a5a2b;
    font-weight:700;
    text-align:center;
    line-height:1.25;
    padding:2px;
  }
  .house .num { font-size:8px; color:#c99a5b; font-weight:400; }
  .house.lagna { background:#fbe4c8; color:#7a4a12; border: 1.5px solid #f4623a; }

  .center {
    grid-column: 2 / 4;
    grid-row: 2 / 4;
    background: linear-gradient(135deg,#f7941d,#f4623a);
    border-radius: 10px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    color:#fff;
  }
  .center .om { font-size: 32px; }
  .center .lbl { font-size:11px; margin-top:4px; font-weight:700; }

  @keyframes fadeUp {
    0% { opacity: 0; transform: translateY(10px); }
    100% { opacity: 1; transform: translateY(0); }
  }
  .fade-up { animation: fadeUp 0.5s cubic-bezier(.2,.8,.2,1) both; }

  @keyframes drawPath {
    to { stroke-dashoffset: 0; }
  }
  .draw-path { animation: drawPath 1.4s cubic-bezier(.4,0,.2,1) forwards; }

  @keyframes dotGlow {
    0%, 100% { transform: scale(1); filter: drop-shadow(0 0 0px currentColor); }
    50% { transform: scale(1.25); filter: drop-shadow(0 0 4px currentColor); }
  }
  .dot-glow { animation: dotGlow 2s ease-in-out infinite; transform-origin: center; transform-box: fill-box; }

  @keyframes badgePulse {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.04); }
  }
  .badge-pulse { animation: badgePulse 2.4s ease-in-out infinite; }

  @keyframes rise {
    0% { opacity: 0; transform: translateY(6px) scale(0.98); }
    100% { opacity: 1; transform: translateY(0) scale(1); }
  }
  .rise-in { animation: rise 0.5s cubic-bezier(.2,.8,.2,1) both; }

  .scrollbar-hide::-webkit-scrollbar { display: none; }