html.script-library-locked body > :not(#scriptLibraryGate) { display: none !important; }
#scriptLibraryGate { position: fixed; inset: 0; z-index: 2147483647; display: grid; place-items: center; padding: 24px; background: #171713; color: #f6f0df; font-family: Georgia, 'Noto Serif SC', serif; }
#scriptLibraryGate[hidden] { display: none; }
.script-library-gate-card { width: min(100%, 420px); padding: 42px 36px; border: 1px solid #847b61; background: #25251f; box-shadow: 18px 18px 0 #0d0d0b; }
.script-library-gate-kicker { margin: 0 0 14px; color: #d3b97a; font: 700 12px/1.4 ui-monospace, Consolas, monospace; letter-spacing: .12em; }
.script-library-gate-card h1 { margin: 0; font-size: clamp(30px, 7vw, 46px); line-height: 1.1; }
.script-library-gate-card p { margin: 18px 0 28px; color: #d4cfbf; line-height: 1.7; }
.script-library-gate-form { display: flex; gap: 10px; }
.script-library-gate-form input { min-width: 0; flex: 1; padding: 13px 14px; border: 1px solid #8e856d; border-radius: 0; color: #f6f0df; background: #171713; font: 16px/1 ui-monospace, Consolas, monospace; outline: none; }
.script-library-gate-form button { padding: 0 18px; border: 0; border-radius: 0; color: #1e1d19; background: #d3b97a; font-weight: 700; cursor: pointer; }
.script-library-gate-error { min-height: 1.5em; margin: 13px 0 0; color: #ffb6a8; font-size: 14px; }
@media (max-width: 440px) { .script-library-gate-card { padding: 32px 24px; box-shadow: 10px 10px 0 #0d0d0b; } .script-library-gate-form { flex-direction: column; } .script-library-gate-form button { min-height: 44px; } }
