/* Color Palette */
:root {
  --banana-yellow: #FFEB3B;
  --banana-accent: #FFD700;
  --success-green: #4CAF50;
  --metric-green: #8BC34A;
  --complete-blue: #5C6BC0;
  --dark-blue: #1A237E;
  --light-gray: #F8F9FA;
  --border-gray: #E0E0E0;
  --text-gray: #777;
}

body {
  font-family: 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
  margin: 0;
  padding: 0;
}

.banana-bg {
  background: var(--banana-yellow);
  min-height: 100vh;
}

.header-gradient {
  background: linear-gradient(135deg, var(--banana-yellow) 0%, var(--banana-accent) 100%);
}

.footer-gradient {
  background: linear-gradient(135deg, var(--banana-accent) 0%, var(--banana-yellow) 100%);
}

.header-card {
  background: white;
}

.shadow-playful {
  box-shadow: 8px 8px 0px rgba(0, 0, 0, 0.1);
}

.shadow-playful-hover {
  box-shadow: 12px 12px 0px rgba(0, 0, 0, 0.15);
  transform: translateY(-2px);
}

.get-started-btn {
  background: var(--success-green);
  transition: all 0.3s ease;
}

.get-started-btn:hover {
  background: #45a049;
  transform: translateY(-2px);
}

.input-card {
  background: white;
  border: 3px dashed var(--banana-accent);
  max-width: 800px;
  margin: 0 auto;
}

.summarize-btn {
  background: var(--banana-accent);
  transition: all 0.3s ease;
}

.summarize-btn:hover {
  background: #FFC700;
  transform: translateY(-2px);
}

.summarize-btn:active {
  transform: translateY(0px);
}

.loading-card {
  background: white;
  max-width: 600px;
  margin: 0 auto;
  animation: pulse 2s ease-in-out infinite;
}

@keyframes pulse {
  0%, 100% {
    transform: scale(1);
    box-shadow: 8px 8px 0px rgba(0, 0, 0, 0.1);
  }
  50% {
    transform: scale(1.02);
    box-shadow: 12px 12px 0px rgba(0, 0, 0, 0.15);
  }
}

.banana-spinner {
  width: 80px;
  height: 80px;
  background: var(--banana-accent);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: inset 0 4px 8px rgba(0, 0, 0, 0.2);
  animation: spin 1.5s linear infinite;
}

.banana-spinner div {
  filter: drop-shadow(2px 2px 4px rgba(0, 0, 0, 0.3));
}

@keyframes spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}

.loading-message {
  animation: fadeInOut 1.5s ease-in-out infinite;
}

@keyframes fadeInOut {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.6;
  }
}

.summary-card {
  background: white;
  border-top: 6px solid var(--complete-blue);
}

.summary-title {
  font-size: 2.2rem;
  font-weight: 900;
  color: var(--dark-blue);
  letter-spacing: 1px;
}

.section-card {
  background: var(--light-gray);
  transition: all 0.3s ease;
}

.section-card:hover {
  transform: translateY(-4px);
  box-shadow: 4px 4px 0px rgba(0, 0, 0, 0.1);
}

.section-header {
  color: var(--dark-blue);
  border-bottom: 3px solid var(--banana-accent);
  padding-bottom: 8px;
}

.section-emoji {
  margin-right: 8px;
}

.metric-bar {
  background: var(--border-gray);
  height: 32px;
}

.metric-fill {
  background: linear-gradient(90deg, var(--metric-green) 0%, var(--success-green) 100%);
  animation: fillBar 1s ease-out;
}

@keyframes fillBar {
  from {
    width: 0%;
  }
}

.secondary-btn {
  background: white;
  border-color: var(--banana-accent);
  color: #333;
  transition: all 0.3s ease;
}

.secondary-btn:hover {
  background: var(--banana-yellow);
  transform: translateY(-2px);
}

@media (max-width: 768px) {
  .summary-title {
    font-size: 1.5rem;
  }
  
  .section-header {
    font-size: 1.1rem;
  }
  
  .header-card {
    padding: 1.5rem !important;
  }
  
  .input-card,
  .loading-card,
  .summary-card {
    padding: 1.5rem !important;
  }
}