* { box-sizing: border-box; margin: 0; padding: 0; }

body {
  font-family: 'Crimson Text', Georgia, serif;
  background: var(--ink);
  padding-top: env(safe-area-inset-top);
  padding-bottom: env(safe-area-inset-bottom);
  background-image:
    radial-gradient(ellipse at 20% 20%, rgba(139,26,26,0.15) 0%, transparent 60%),
    radial-gradient(ellipse at 80% 80%, rgba(45,90,39,0.1) 0%, transparent 60%),
    url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.02'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
  min-height: 100vh;
  color: var(--ink);
}

::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: var(--bronze); border-radius: 3px; }

.loading {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 200px;
  font-family: 'Cinzel', serif;
  color: var(--stone-light);
  font-size: 0.9rem;
  letter-spacing: 0.1em;
}

.ornament {
  text-align: center;
  color: var(--gold);
  font-size: 1.2rem;
  margin: 0.5rem 0 1.5rem;
  letter-spacing: 0.5em;
}

.error-msg { color: var(--blood); font-size: 0.85rem; margin-top: 0.5rem; text-align: center; }
.switch-link { text-align: center; margin-top: 1rem; font-size: 0.9rem; color: var(--stone); }
.switch-link a { color: var(--blood); cursor: pointer; text-decoration: underline; }

#debug-panel { display: none; }

#toast {
  position: fixed;
  bottom: 1.5rem;
  right: 1.5rem;
  background: var(--ink);
  border: 1px solid var(--gold);
  border-radius: 4px;
  padding: 0.7rem 1rem;
  font-family: 'Cinzel', serif;
  font-size: 0.8rem;
  color: var(--gold);
  z-index: 1000;
  transform: translateY(100px);
  opacity: 0;
  transition: all 0.3s;
}
#toast.show { transform: translateY(0); opacity: 1; }
#toast.error { border-color: var(--blood); color: var(--blood); }
