/* Login sheet: same vocabulary as the site (card frame cuts, condensed italic caps, orange name band). */
.fbauth { position: fixed; inset: 0; z-index: 200; display: grid; place-items: center; padding: 16px; }
.fbauth-bg { position: absolute; inset: 0; background: rgba(28, 11, 0, .62); }
.fbauth-card { position: relative; width: min(420px, 100%); display: grid; gap: 14px; padding: 30px 28px 24px; background: #fff; color: #1c0b00;
  border-top: 8px solid #eb6101; box-shadow: 0 30px 80px -20px rgba(28, 11, 0, .6); animation: fbauth-in .28s cubic-bezier(.16, 1, .3, 1); }
@keyframes fbauth-in { from { opacity: 0; transform: translateY(14px) scale(.98); } }
.fbauth-card h2 { margin: 0 0 2px; font: italic 800 34px/1 "Barlow Condensed", system-ui, sans-serif; text-transform: uppercase; letter-spacing: .01em; }
.fbauth-x { position: absolute; top: 10px; right: 12px; width: 36px; height: 36px; border: 0; background: none; font-size: 26px; line-height: 1; color: #1c0b00; cursor: pointer; }
.fbauth-card label { display: grid; gap: 6px; }
.fbauth-card label span { font: 700 12px/1 "Barlow Condensed", system-ui, sans-serif; letter-spacing: .14em; text-transform: uppercase; color: #6b5f58; }
.fbauth-card input { height: 48px; padding: 0 14px; border: 2px solid #1c0b00; border-radius: 0; background: #fff; font: 500 16px/1 system-ui, sans-serif; color: #1c0b00; outline: none; }
.fbauth-card input:focus-visible { border-color: #eb6101; box-shadow: 0 0 0 3px rgba(235, 97, 1, .25); }
.fbauth-go, .fbauth-g { height: 50px; border: 0; cursor: pointer; font: italic 800 19px/1 "Barlow Condensed", system-ui, sans-serif; letter-spacing: .06em; text-transform: uppercase;
  clip-path: polygon(12px 0, 100% 0, calc(100% - 12px) 100%, 0 100%); transition: transform .15s ease-out; }
.fbauth-go { background: #eb6101; color: #fff; }
.fbauth-g { display: flex; align-items: center; justify-content: center; gap: 10px; background: #1c0b00; color: #fff; }
.fbauth-go:active, .fbauth-g:active { transform: scale(.98); }
.fbauth-card :disabled { opacity: .55; cursor: default; }
.fbauth-err { min-height: 18px; margin: 0; font: 600 13.5px/1.3 system-ui, sans-serif; color: #c00058; }
.fbauth-links { display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.fbauth-links button { border: 0; background: none; padding: 6px 0; font: 600 13.5px/1.2 system-ui, sans-serif; color: #1c0b00; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
:root[data-mode="dark"] .fbauth-card { background: #17120f; color: #fff; }
:root[data-mode="dark"] .fbauth-card input { background: #0f0b09; color: #fff; border-color: #fff; }
:root[data-mode="dark"] .fbauth-x, :root[data-mode="dark"] .fbauth-links button { color: #fff; }
:root[data-mode="dark"] .fbauth-g { background: #fff; color: #1c0b00; }
@media (prefers-reduced-motion: reduce) { .fbauth-card { animation: none; } }

/* Prerendered text for crawlers and previews: the app draws the real page over it on boot. */
#pages > .pre { visibility: hidden; height: 0; overflow: hidden; }
.fbauth-legal { margin: 2px 0 0; font: 400 12.5px/1.4 system-ui, sans-serif; color: #6b5f58; }
.fbauth-legal a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
