/* Door page: staff door passphrase view (v10, 2026-10-25). Full-screen dark view like the Loft's own
   screens: Tilt Neon title, a label over an underline field, words for buttons. No boxes, no glow. */
.sd { position: fixed; inset: 0; z-index: 60; background: #050308; color: #ece6f5;
  display: flex; flex-direction: column; align-items: center;
  padding: calc(var(--safe-top, env(safe-area-inset-top)) + 16vh) 28px calc(var(--safe-bottom, env(safe-area-inset-bottom)) + 24px);
  overflow-y: auto; -webkit-overflow-scrolling: touch; }
.sd[hidden] { display: none; }
.sd-x { position: absolute; left: calc(14px + var(--safe-left, env(safe-area-inset-left))); top: calc(12px + var(--safe-top, env(safe-area-inset-top)));
  background: none; border: 0; padding: 10px 6px; color: rgba(236, 230, 245, .7); cursor: pointer;
  font: 400 11px/1 "IBM Plex Mono", ui-monospace, monospace; letter-spacing: .12em; -webkit-tap-highlight-color: transparent; }
.sd-x b { font-weight: 400; color: #d9b46a; }
.sd h2 { margin: 0; font: 400 1.5rem/1.2 "Tilt Neon", system-ui, sans-serif; letter-spacing: .14em; text-transform: lowercase; color: #efe3ff; }
.sd form { width: 100%; max-width: 320px; margin-top: 30px; }
.sd label { display: block; font: 400 10.5px/1.2 "IBM Plex Mono", ui-monospace, monospace; letter-spacing: .14em; color: rgba(236, 230, 245, .6); text-transform: lowercase; }
.sd input { display: block; width: 100%; box-sizing: border-box; margin-top: 8px; padding: 8px 0 10px; background: none; border: 0;
  border-bottom: 1px solid rgba(236, 230, 245, .22); border-radius: 0; color: #ece6f5;
  font: 400 16px/1.3 "IBM Plex Mono", ui-monospace, monospace; letter-spacing: .2em; -webkit-appearance: none; appearance: none; }
.sd input:focus { outline: none; border-bottom-color: #d9b46a; }
.sd .sd-err { min-height: 1.6em; margin: 12px 0 0; font: 400 12px/1.6 "IBM Plex Mono", ui-monospace, monospace; letter-spacing: .04em; color: #ffb3c0; }
.sd .sd-go { margin-top: 10px; background: none; border: 0; padding: 12px 0; color: #d9b46a; cursor: pointer;
  font: 400 1rem/1 "Tilt Neon", system-ui, sans-serif; letter-spacing: .14em; text-transform: lowercase; -webkit-tap-highlight-color: transparent; }
.sd .sd-go:disabled { opacity: .45; }
.sd .sd-go:focus-visible, .sd-x:focus-visible { outline: 2px solid #d9b46a; outline-offset: 2px; }
