<script>
  import { signInWithGoogle } from './userStore.svelte.js';
  import logoImg from '../../assets/logo.png';
</script>

<div class="overlay">
  <div class="card">
    <img src={logoImg} alt="Journi" class="logo" />
    <h1 class="title">Journi</h1>
    <p class="subtitle">Collect Colors Along the Way</p>
    <button class="google-btn" onclick={signInWithGoogle}>
      <svg class="google-icon" viewBox="0 0 48 48">
        <path fill="#EA4335" d="M24 9.5c3.54 0 6.71 1.22 9.21 3.6l6.85-6.85C35.9 2.38 30.47 0 24 0 14.62 0 6.51 5.38 2.56 13.22l7.98 6.19C12.43 13.72 17.74 9.5 24 9.5z"/>
        <path fill="#4285F4" d="M46.98 24.55c0-1.57-.15-3.09-.38-4.55H24v9.02h12.94c-.58 2.96-2.26 5.48-4.78 7.18l7.73 6c4.51-4.18 7.09-10.36 7.09-17.65z"/>
        <path fill="#FBBC05" d="M10.53 28.59A14.5 14.5 0 0 1 9.5 24c0-1.59.28-3.14.76-4.59l-7.98-6.19A23.99 23.99 0 0 0 0 24c0 3.77.87 7.35 2.56 10.78l7.97-6.19z"/>
        <path fill="#34A853" d="M24 48c6.48 0 11.93-2.13 15.89-5.81l-7.73-6c-2.15 1.45-4.92 2.3-8.16 2.3-6.26 0-11.57-4.22-13.47-9.91l-7.98 6.19C6.51 42.62 14.62 48 24 48z"/>
        <path fill="none" d="M0 0h48v48H0z"/>
      </svg>
      Sign in with Google
    </button>
  </div>
</div>

<style>
  .overlay {
    position: fixed;
    inset: 0;
    background: var(--bg);
    display: flex;
    align-items: center;
    justify-content: center;
    padding-bottom: 20vh;
    z-index: 100;
  }

  .card {
    text-align: center;
    max-width: 360px;
    width: 90%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0;
  }

  .logo {
    width: 216px;
    height: 216px;
    object-fit: contain;
    margin-bottom: 16px;
    animation: jitter 1.4s steps(1, end) 1 forwards;
  }

  @keyframes jitter {
    0%   { transform: scale(0.7)  rotate(0deg);   opacity: 0.5; }
    8%   { transform: scale(0.85) rotate(-16deg);  opacity: 1; }
    16%  { transform: scale(1.0)  rotate(16deg); }
    24%  { transform: scale(1.06) rotate(-16deg); }
    32%  { transform: scale(1.12) rotate(16deg); }
    40%  { transform: scale(1.16) rotate(-16deg); }
    48%  { transform: scale(1.2)  rotate(16deg); }
    56%  { transform: scale(1.2)  rotate(-16deg); }
    64%  { transform: scale(1.2)  rotate(16deg); }
    72%  { transform: scale(1.2)  rotate(-10deg); }
    80%  { transform: scale(1.2)  rotate(10deg); }
    88%  { transform: scale(1.2)  rotate(-4deg); }
    94%  { transform: scale(1.2)  rotate(4deg); }
    100% { transform: scale(1.2)  rotate(0deg); }
  }

  .title {
    font-family: var(--heading);
    font-size: 28px;
    font-weight: 600;
    color: var(--text-h);
    letter-spacing: -0.5px;
    margin: 0;
  }

  .subtitle {
    font-family: var(--sans);
    font-size: 14px;
    font-weight: 300;
    color: var(--text);
    margin: 0 0 32px;
  }

  .google-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 10px 24px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--bg-subtle);
    color: var(--text-h);
    font-family: var(--sans);
    font-size: 14px;
    font-weight: 400;
    cursor: pointer;
    transition: background 0.15s, border-color 0.15s;
  }

  .google-btn:hover {
    background: var(--bg);
    border-color: var(--accent-border);
  }

  .google-icon {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
  }
</style>
