/* OZ Web - Dual Theme System
   .theme-home  : Cozy indoor warmth - charcoal, amber, hearth
   .theme-farm  : Outdoor open sky - sage, sun, soil
*/

/* =============== HOME THEME =============== */
.theme-home {
  background:
    radial-gradient(ellipse at top, #2a1f1a 0%, #1a1410 50%, #0d0908 100%);
  color: #f5e6d3;
  font-family: 'Georgia', serif;
}
.theme-home .theme-header {
  background: linear-gradient(180deg, #3d2817 0%, #2a1810 100%);
  border-bottom: 2px solid #d4a574;
  box-shadow: 0 4px 20px rgba(212, 165, 116, 0.15);
}
.theme-home .theme-title { color: #f4d4a8; text-shadow: 0 0 10px rgba(212, 165, 116, 0.4); }
.theme-home .theme-subtitle { color: #8a6d56; }
.theme-home .theme-nav-link {
  color: #d4a574;
  padding: 6px 12px;
  border-radius: 4px;
  transition: all 0.2s;
}
.theme-home .theme-nav-link:hover {
  background: rgba(212, 165, 116, 0.15);
  color: #f4d4a8;
}
.theme-home .theme-user-badge {
  background: rgba(212, 165, 116, 0.2);
  color: #f4d4a8;
  padding: 4px 12px;
  border-radius: 999px;
  font-size: 0.85em;
}
.theme-home .theme-card {
  background: linear-gradient(135deg, #2a1f1a 0%, #1f1612 100%);
  border: 1px solid rgba(212, 165, 116, 0.2);
  border-radius: 12px;
  padding: 24px;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4),
              inset 0 1px 0 rgba(212, 165, 116, 0.1);
}
.theme-home .theme-button {
  background: linear-gradient(135deg, #d4a574 0%, #b8864e 100%);
  color: #1a1410;
  font-weight: 600;
  padding: 10px 20px;
  border-radius: 6px;
  border: none;
  cursor: pointer;
}
.theme-home .theme-button:hover { filter: brightness(1.1); }
.theme-home .theme-input {
  background: #1a1410;
  border: 1px solid rgba(212, 165, 116, 0.3);
  color: #f5e6d3;
  padding: 8px 12px;
  border-radius: 4px;
}
.theme-home .theme-flash-success { background: rgba(110, 158, 79, 0.2); border-left: 4px solid #6e9e4f; color: #c8e6a8; }
.theme-home .theme-flash-error { background: rgba(180, 60, 60, 0.2); border-left: 4px solid #b43c3c; color: #ffb8b8; }
.theme-home .theme-footer { color: #6e5a47; }

/* =============== FARM THEME =============== */
.theme-farm {
  background:
    linear-gradient(180deg, #87ceeb 0%, #b8e0d2 40%, #f4e8c1 100%);
  color: #2a3d1a;
  font-family: 'Verdana', sans-serif;
  min-height: 100vh;
}
.theme-farm .theme-header {
  background: linear-gradient(180deg, #5a8c3a 0%, #4a7530 100%);
  border-bottom: 4px solid #8b6f3a;
  box-shadow: 0 4px 12px rgba(74, 117, 48, 0.3);
}
.theme-farm .theme-title { color: #fff8e1; text-shadow: 1px 1px 2px rgba(0,0,0,0.3); }
.theme-farm .theme-subtitle { color: #d4e8a8; }
.theme-farm .theme-nav-link {
  color: #fff8e1;
  padding: 6px 12px;
  border-radius: 4px;
  transition: all 0.2s;
}
.theme-farm .theme-nav-link:hover { background: rgba(255, 248, 225, 0.2); }
.theme-farm .theme-user-badge {
  background: #f4e8c1;
  color: #2a3d1a;
  padding: 4px 12px;
  border-radius: 999px;
  font-size: 0.85em;
  font-weight: 600;
}
.theme-farm .theme-card {
  background: #fff8e1;
  border: 2px solid #8b6f3a;
  border-radius: 8px;
  padding: 24px;
  box-shadow: 0 4px 12px rgba(139, 111, 58, 0.2);
  position: relative;
}
.theme-farm .theme-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0; height: 4px;
  background: linear-gradient(90deg, #8b6f3a 0%, #d4a574 50%, #8b6f3a 100%);
  border-radius: 8px 8px 0 0;
}
.theme-farm .theme-button {
  background: linear-gradient(180deg, #6e9e4f 0%, #5a8c3a 100%);
  color: #fff8e1;
  font-weight: 700;
  padding: 10px 20px;
  border-radius: 6px;
  border: 2px solid #4a7530;
  cursor: pointer;
  text-transform: uppercase;
  font-size: 0.9em;
  letter-spacing: 0.5px;
}
.theme-farm .theme-button:hover { filter: brightness(1.1); }
.theme-farm .theme-input {
  background: #fff8e1;
  border: 2px solid #8b6f3a;
  color: #2a3d1a;
  padding: 8px 12px;
  border-radius: 4px;
}
.theme-farm .theme-flash-success { background: #d4e8a8; border-left: 4px solid #5a8c3a; color: #2a3d1a; }
.theme-farm .theme-flash-error { background: #f4c8c8; border-left: 4px solid #b43c3c; color: #5a1a1a; }
.theme-farm .theme-footer { color: #5a4a2a; }

/* Shared utility classes */
.theme-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 1.5rem; }
.theme-stat { font-size: 2.5rem; font-weight: 700; }
.theme-label { font-size: 0.85rem; text-transform: uppercase; letter-spacing: 1px; opacity: 0.7; }

/* Big buttons for L3 audio response */
.audio-button {
  width: 200px;
  height: 200px;
  border-radius: 50%;
  font-size: 1.5rem;
  font-weight: 700;
  border: 6px solid;
  cursor: pointer;
  transition: transform 0.1s;
}
.audio-button:active { transform: scale(0.95); }
.audio-button.recording { animation: pulse 1s infinite; }
@keyframes pulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(220, 38, 38, 0.7); }
  50% { box-shadow: 0 0 0 30px rgba(220, 38, 38, 0); }
}
