
    /* --- Analysis Modal Overlay --- */
    .analysis-modal-overlay {
        position: fixed;
        inset: 0;
        z-index: 9999;
        background: rgba(15, 23, 42, 0.85);
        backdrop-filter: blur(4px);
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 20px;
    }

    /* --- Modal Box Styling --- */
    .analysis-modal-box {
        width: 400px;
        max-width: 90%;
        min-height: 550px;
        max-height: 550px;
        background: #0f172a;
        border-radius: 20px;
        padding: 0;
        position: relative;
        margin-top: 30px;
        display: flex;
        flex-direction: column;
        overflow: hidden;
        animation: modalIn .25s ease;
    }

    @keyframes modalIn {
        from { opacity: 0; transform: translateY(20px) scale(0.95); }
        to { opacity: 1; transform: translateY(0) scale(1); }
    }

    .analysis-stage {
      position: relative;
      flex: 1;
      overflow: hidden;
      display: flex;
      flex-direction: column;
      justify-content: flex-end;
    }

    .analysis-resume-bg {
      position: absolute;
      inset: 0;
      background-image: url('https://res.cloudinary.com/dkmemoia1/image/upload/v1761502122/Screenshot_from_2025-10-26_19-06-32_xuzq3u.png');
      background-size: cover;
      background-position: center;
      filter: blur(8px) brightness(0.6);
      transform: scale(1.05);
    }

    .analysis-overlay {
      position: absolute;
      inset: 0;
      background: radial-gradient(circle at center, rgba(0,0,0,0.25), rgba(0,0,0,0.6));
    }

    .analysis-core {
      position: absolute;
      top: 50%; left: 50%;
      width: 70px; height: 70px;
      transform: translate(-50%, -50%);
      border-radius: 50%;
      background: radial-gradient(circle at center, #e5f0ff, #1c2938);
      box-shadow: 0 0 25px rgba(122,175,235,0.55);
      display: flex;
      align-items: center;
      justify-content: center;
    }

    .analysis-core .core-inner {
      width: 36px; height: 44px;
      border-radius: 6px;
      border: 2px solid rgba(255,255,255,0.65);
      position: relative;
    }
    .analysis-core .core-inner::before,
    .analysis-core .core-inner::after {
      content: ''; position: absolute; left: 4px; right: 4px; height: 3px;
      border-radius: 999px; background: rgba(255,255,255,0.7);
    }
    .analysis-core .core-inner::before { top: 10px; }
    .analysis-core .core-inner::after { top: 20px; }

    .analysis-ray {
      position: absolute;
      top: 50%; left: 50%;
      transform-origin: 0 50%;
      transform: rotate(var(--angle));
    }

    .ray-line {
      width: 120px; height: 2px;
      background: linear-gradient(to right, rgba(122,175,235,0.2), #7aafeb);
      border-radius: 999px;
      transform: scaleX(0);
      animation: ray-grow 0.8s ease-out forwards;
      animation-delay: calc(var(--delay) + .15s);
    }

    .ray-icon {
      position: absolute;
      top: -15px; left: calc(120px - 16px);
      width: 32px; height: 32px;
      border-radius: 999px;
      background: #fff;
      display: flex;
      align-items: center;
      justify-content: center;
      color: #0f172a;
      font-size: 15px;
      box-shadow: 0 6px 18px rgba(0,0,0,0.28);
      opacity: 0;
      animation: icon-pop .4s ease-out forwards;
      animation-delay: calc(var(--delay) + .35s);
    }

    @keyframes ray-grow {
      0%   { transform: scaleX(0); opacity: 0; }
      100% { transform: scaleX(1); opacity: 1; }
    }

    @keyframes icon-pop {
      0%   { transform: scale(.4); opacity: 0; }
      70%  { transform: scale(1.1); opacity: 1; }
      100% { transform: scale(1); opacity: 1; }
    }

    .analysis-footer {
      position: relative;
      z-index: 2;
      background: linear-gradient(to top, rgba(15,23,42,0.98), rgba(15,23,42,0.6));
      padding: 30px 20px 40px;
      text-align: center;
    }

    .analysis-footer .loader-pulse {
      display: flex; justify-content: center; gap: 7px; margin-bottom: 12px;
    }

    .analysis-footer .loader-pulse span {
      width: 10px; height: 10px; border-radius: 999px;
      background: #7aafeb;
      animation: pulse 1s infinite ease-in-out;
    }
    .analysis-footer .loader-pulse span:nth-child(2) { animation-delay: 0.2s; }
    .analysis-footer .loader-pulse span:nth-child(3) { animation-delay: 0.4s; }

    @keyframes pulse {
      0%, 80%, 100% { transform: scale(0.8); opacity: 0.5; }
      40%          { transform: scale(1.4); opacity: 1; }
    }

    .loader-text { font-size: 16px; font-weight: 600; color: #e5f0ff; margin: 0; }

    @media (max-width: 600px) {
        .analysis-modal-box { margin-top: 0; }
        .ray-line { width: 100px; }
        .ray-icon { left: calc(100px - 16px); }
    }
