/* Sign-in gate + scans pill. Black / cream / gold, serif. No inline styles needed. */
html.sb-gated body > *:not(.sb-gate):not(.sb-pill):not(.sb-modal) { visibility: hidden; }
.sb-gate, .sb-modal { position: fixed; inset: 0; z-index: 100000; display: flex; align-items: center; justify-content: center;
  background: #0b0b0b; color: #f3ead7; font-family: 'Cormorant Garamond', Georgia, serif; padding: 24px; overflow-y: auto; }
.sb-modal { background: #0b0b0b; }
.sb-modal[hidden], .sb-gate[hidden], .sb-pill[hidden] { display: none; }
.sb-card { width: 100%; max-width: 440px; text-align: center; }
.sb-the { font-size: 18px; letter-spacing: .5em; text-transform: uppercase; color: #c9a45c; }
.sb-name { font-size: 44px; line-height: 1.1; margin: 4px 0 14px; font-weight: 500; }
.sb-rule { width: 64px; height: 1px; background: #c9a45c; margin: 0 auto 22px; }
.sb-h { font-size: 26px; font-style: italic; margin: 0 0 8px; font-weight: 400; }
.sb-p { font-family: 'Inter', system-ui, sans-serif; font-size: 14px; line-height: 1.55; color: #d9cfba; margin: 0 0 20px; }
.sb-input { width: 100%; box-sizing: border-box; background: #141414; border: 1px solid #5a4a28; color: #f3ead7; border-radius: 4px;
  padding: 14px 16px; font-size: 18px; font-family: 'Inter', system-ui, sans-serif; margin-bottom: 14px; text-align: center; }
.sb-input:focus { outline: 2px solid #c9a45c; outline-offset: 1px; }
.sb-code { letter-spacing: .5em; font-size: 26px; }
.sb-btn { display: block; width: 100%; box-sizing: border-box; background: #c9a45c; color: #0b0b0b; border: 0; border-radius: 4px; padding: 14px 16px;
  font-size: 13px; letter-spacing: .12em; text-transform: uppercase; font-weight: 600; cursor: pointer; font-family: 'Inter', system-ui, sans-serif; text-decoration: none; }
.sb-btn:disabled { opacity: .5; cursor: default; }
.sb-link { background: none; border: 0; color: #c9a45c; text-decoration: underline; cursor: pointer; margin-top: 14px; font-size: 13px; font-family: 'Inter', system-ui, sans-serif; }
.sb-msg { min-height: 20px; margin: 12px 0 0; font-family: 'Inter', system-ui, sans-serif; font-size: 13px; color: #e8b4a8; }
.sb-msg.ok { color: #b9d8b0; }
.sb-pill { position: fixed; top: 10px; left: 10px; z-index: 99999; background: #0b0b0b; color: #c9a45c; border: 1px solid #c9a45c; border-radius: 999px;
  padding: 6px 14px; font-family: 'Inter', system-ui, sans-serif; font-size: 12px; letter-spacing: .06em; box-shadow: 0 2px 10px rgba(0,0,0,.5); }
.sb-pill button { background: none; border: 0; color: #d9cfba; text-decoration: underline; cursor: pointer; font-size: 11px; margin-left: 8px; padding: 0; }
@media (max-width: 480px) { .sb-name { font-size: 36px; } .sb-pill { top: 8px; left: 8px; font-size: 11px; padding: 4px 9px; } }
.sb-gate { align-items: flex-start; }
.sb-wrap { margin: auto; width: 100%; max-width: 980px; display: flex; flex-direction: column; align-items: center; gap: 22px; }
.sb-poster { display: block; width: 100%; max-width: 360px; }
.sb-poster img { display: block; width: 100%; height: auto; border-radius: 6px; box-shadow: 0 10px 40px rgba(0,0,0,.6); }
.sb-wrap .sb-card { max-width: 440px; }
@media (min-width: 860px) { .sb-wrap { flex-direction: row; gap: 56px; } .sb-poster { flex: 0 0 400px; max-width: 400px; } .sb-wrap .sb-card { flex: 1; } }
.sb-short { display: none; }
@media (max-width: 480px) { .sb-full { display: none; } .sb-short { display: inline; } }
