/* Shared darkroom look: used by the dashboard and the guest welcome/permission screens. */
:root {
  --bg: #100d09;
  --bg-2: #181309;
  --fg: #f1e6cd;
  --fg-2: #b9ac92;
  --line: rgba(241, 230, 205, .13);
  --glass: rgba(241, 230, 205, .07);
  --glass-hi: rgba(241, 230, 205, .16);
  --amber: #eaa43c;
  --amber-ink: #26170a;
  --rust: #b4531f;
  --ok: #6fbf73;
  --bad: #ff9c85;
  --display: 'Fraunces', 'Frank Ruhl Libre', Georgia, 'Times New Roman', serif;
  --body: 'Instrument Sans', 'Heebo', system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
  --mono: 'DM Mono', ui-monospace, 'SF Mono', Menlo, Consolas, monospace;
  color-scheme: dark;
}

.aurora { position: relative; isolation: isolate; background: var(--bg); color: var(--fg); font-family: var(--body); }
.aurora::before, .aurora::after { content: ''; position: fixed; z-index: -1; border-radius: 50%; pointer-events: none; }
.aurora::before { inset: -20% -10% auto auto; width: 70vmax; height: 70vmax; background: radial-gradient(closest-side, rgba(234, 164, 60, .16), transparent); filter: blur(30px); animation: drift 18s ease-in-out infinite alternate; }
.aurora::after { inset: auto auto -30% -15%; width: 60vmax; height: 60vmax; background: radial-gradient(closest-side, rgba(180, 83, 31, .17), transparent); filter: blur(40px); animation: drift 24s ease-in-out infinite alternate-reverse; }
@keyframes drift { to { transform: translate(6vw, 4vw) scale(1.12); } }
@keyframes rise { from { opacity: 0; transform: translateY(14px); } }
.rise > * { animation: rise .6s cubic-bezier(.2, .8, .2, 1) both; }
.rise > *:nth-child(2) { animation-delay: .06s; }
.rise > *:nth-child(3) { animation-delay: .12s; }
.rise > *:nth-child(4) { animation-delay: .18s; }
.rise > *:nth-child(5) { animation-delay: .24s; }
.rise > *:nth-child(6) { animation-delay: .3s; }
.rise > *:nth-child(7) { animation-delay: .36s; }

/* Glass button with a light sweep. .go is the amber primary. */
.gbtn { position: relative; overflow: hidden; border: 1px solid rgba(255, 255, 255, .2); padding: 0 28px; min-height: 52px; border-radius: 999px; cursor: pointer; font: 600 16px var(--body); color: var(--fg); display: inline-flex; align-items: center; justify-content: center; gap: 10px; text-decoration: none; text-align: center; background: linear-gradient(180deg, rgba(255, 255, 255, .22), rgba(255, 255, 255, .06)); backdrop-filter: blur(16px) saturate(1.4); -webkit-backdrop-filter: blur(16px) saturate(1.4); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .35), inset 0 -10px 20px -12px rgba(0, 0, 0, .5), 0 14px 30px -14px rgba(0, 0, 0, .8); transition: transform .3s cubic-bezier(.2, .8, .2, 1), box-shadow .3s, opacity .2s; }
.gbtn::before { content: ''; position: absolute; inset: 0; background: linear-gradient(105deg, transparent 35%, rgba(255, 255, 255, .45) 50%, transparent 65%); transform: translateX(-120%); transition: transform .8s; pointer-events: none; }
.gbtn:hover { transform: translateY(-2px); }
.gbtn:hover::before { transform: translateX(120%); }
.gbtn:active { transform: translateY(0) scale(.98); }
.gbtn.go { background: linear-gradient(180deg, rgba(246, 190, 98, .96), rgba(214, 138, 38, .9)); color: var(--amber-ink); border-color: rgba(255, 224, 160, .6); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .6), 0 16px 34px -14px rgba(234, 164, 60, .7); }
.gbtn.quiet { background: none; box-shadow: none; border-color: var(--line); backdrop-filter: none; -webkit-backdrop-filter: none; color: var(--fg-2); }
.gbtn.quiet::before { display: none; }
.gbtn.danger { color: var(--bad); border-color: rgba(255, 156, 133, .4); }
.gbtn.small { min-height: 38px; padding: 0 16px; font-size: 14px; }
.gbtn[disabled] { opacity: .45; pointer-events: none; }
.gbtn.wide { width: 100%; }

.glass { background: var(--glass); border: 1px solid var(--line); border-radius: 18px; backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); }

/* Segmented glass switch */
.seg { display: inline-flex; flex-wrap: wrap; gap: 6px; padding: 5px; border-radius: 999px; background: var(--glass); border: 1px solid var(--line); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); }
.seg button { border: 0; background: none; padding: 10px 20px; border-radius: 999px; cursor: pointer; color: var(--fg-2); transition: color .25s, background .25s; min-height: 44px; font: 500 15px var(--body); }
.seg button[aria-pressed='true'] { color: var(--fg); background: var(--glass-hi); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .18), 0 6px 18px -8px rgba(0, 0, 0, .7); }

@media (prefers-reduced-motion: reduce) { .aurora::before, .aurora::after { animation: none; } .rise > * { animation: none; } .gbtn, .gbtn::before { transition: none; } }
