/**
 * Castle Genesis V10 - Main Styles
 * Global styles and design system
 */

:root { 
  --bg: #0b0f14; 
  --card: #121821; 
  --muted: #7b8a9c; 
  --accent: #88e0ff; 
  --ok: #7af0a3;
  --home-glow: #ff6b9d;
  --castle-glow: #8b5cf6;
  --studio-glow: #f59e0b;
}

* { box-sizing: border-box; }

html, body { 
  height: 100%; 
  margin: 0; 
  background: var(--bg); 
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial; 
  color: #eaf2ff; 
  overflow: hidden;
}

/* Brand & Typography */
.brand { 
  display: flex; 
  align-items: center; 
  gap: 10px; 
  margin-bottom: 20px; 
}

.brand .dot { 
  width: 12px; 
  height: 12px; 
  border-radius: 50%; 
  background: var(--ok); 
  box-shadow: 0 0 16px var(--ok);
  animation: pulse 2s ease-in-out infinite;
}

@keyframes pulse {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: 0.6; transform: scale(0.9); }
}

h1 { 
  font-size: 20px; 
  margin: 0; 
  letter-spacing: 0.4px; 
  font-weight: 800; 
}

.muted { 
  color: var(--muted); 
  font-size: 12px; 
}

/* Cards */
.card { 
  background: var(--card); 
  border: 1px solid #1e2a3a; 
  border-radius: 16px; 
  padding: 16px; 
  margin: 14px 0; 
  box-shadow: 0 10px 24px rgba(0, 0, 0, .28);
  transition: border-color 0.3s ease;
}

.card:hover { 
  border-color: #2a3f5a; 
}

.card h2 { 
  font-size: 15px; 
  margin: 0 0 12px; 
  font-weight: 700;
  display: flex;
  align-items: center;
  gap: 8px;
}

.card h2 .icon { 
  font-size: 18px; 
}

/* Form Elements */
label { 
  display: block; 
  font-size: 12px; 
  color: #b7c4d6; 
  margin: 10px 0 4px; 
  font-weight: 500; 
}

input, textarea, select { 
  width: 100%; 
  background: #0d1622; 
  border: 1px solid #203245; 
  color: #dce7f5; 
  border-radius: 12px; 
  padding: 10px 12px; 
  outline: none;
  font-size: 13px;
  transition: all 0.2s ease;
}

input:focus, textarea:focus, select:focus { 
  border-color: #2b8fff; 
  box-shadow: 0 0 0 3px rgba(43, 143, 255, 0.15);
  background: #111923;
}

/* Buttons */
button { 
  appearance: none; 
  background: linear-gradient(135deg, #2b8fff, #21c1d6); 
  border: none; 
  color: white; 
  padding: 11px 16px; 
  border-radius: 12px; 
  font-weight: 700; 
  cursor: pointer;
  font-size: 13px;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

button:hover { 
  transform: translateY(-1px); 
  box-shadow: 0 6px 20px rgba(43, 143, 255, 0.4); 
}

button:active { 
  transform: translateY(0); 
}

button.secondary { 
  background: #152233; 
  border: 1px solid #24364b; 
  color: #b9c5d7; 
}

button.secondary:hover { 
  background: #1a2a40; 
  box-shadow: 0 4px 12px rgba(0, 0, 0, .3); 
}

/* Utilities */
.row { 
  display: flex; 
  gap: 8px; 
}

.row > * { 
  flex: 1; 
}

.pill { 
  display: inline-flex; 
  align-items: center; 
  gap: 6px; 
  background: #0f1b2b; 
  border: 1px solid #1f3147; 
  color: #bcd0e8; 
  padding: 6px 12px; 
  border-radius: 999px; 
  font-size: 12px; 
  margin: 4px 6px 4px 0;
  transition: all 0.2s ease;
  cursor: pointer;
}

.pill:hover { 
  border-color: var(--accent); 
  background: #142235; 
  transform: translateY(-1px); 
}

.statusBar { 
  display: flex; 
  gap: 8px; 
  flex-wrap: wrap; 
  margin-top: 10px; 
}

.statusBar .stat { 
  background: #0f1824; 
  border: 1px solid #213147; 
  border-radius: 10px; 
  padding: 8px 12px; 
  font-size: 12px; 
  color: #b9c9de; 
  flex: 1; 
  text-align: center; 
}

.statusBar .stat.active { 
  border-color: var(--ok); 
  background: rgba(122, 240, 163, 0.08); 
  color: var(--ok); 
}

.hint { 
  font-size: 12px; 
  color: #8aa0bb; 
  background: rgba(123, 138, 156, 0.08); 
  padding: 10px 12px; 
  border-radius: 10px; 
  margin-top: 10px; 
  border-left: 3px solid #2a4055; 
}

.locationMode { 
  background: rgba(43, 143, 255, 0.1); 
  border: 1px solid var(--accent); 
  border-radius: 12px; 
  padding: 12px; 
  margin-top: 10px; 
  animation: glow 2s ease-in-out infinite; 
}

@keyframes glow { 
  0%, 100% { box-shadow: 0 0 10px rgba(43, 143, 255, 0.2); } 
  50% { box-shadow: 0 0 20px rgba(43, 143, 255, 0.4); } 
}

