/* TS Latex entry overlay. Site-specific identifiers avoid Brave cosmetic filtering. */
html.tsl-lock, body.tsl-lock { overflow: hidden; }
body.tsl-lock > header, body.tsl-lock > main, body.tsl-lock > footer { filter: blur(8px); pointer-events: none; user-select: none; }
.tsl_entry { position: fixed; inset: 0; z-index: 2147483646; display: flex; align-items: center; justify-content: center; box-sizing: border-box; padding: 24px; font-family: "Roboto", Arial, sans-serif; }
.tsl_entry.is-hidden { display: none; }
.tsl_shade { position: absolute; inset: 0; background: rgba(0,0,0,.74); backdrop-filter: blur(7px); -webkit-backdrop-filter: blur(7px); }
.tsl_card { position: relative; z-index: 1; width: min(560px,100%); box-sizing: border-box; padding: 30px 34px 28px; border: 1px solid #08a8ef; border-radius: 6px; background: #111; color: #fff; text-align: center; box-shadow: 0 18px 60px rgba(0,0,0,.58); }
.tsl_logo { display: block; width: min(300px,88%); height: auto; margin: 0 auto 18px; }
.tsl_age { margin: 0 0 12px; font-size: 42px; line-height: 1; font-weight: 900; color: #08a8ef; }
.tsl_title { margin: 0 0 12px; font-size: 20px; line-height: 1.25; font-weight: 800; text-transform: uppercase; }
.tsl_text { margin: 0 auto 12px; max-width: 480px; font-size: 14px; line-height: 1.45; color: #d7d7d7; }
.tsl_text a { color: #f40093; font-weight: 700; text-decoration: none; }
.tsl_text a:hover, .tsl_text a:focus { text-decoration: underline; }
.tsl_actions { display: flex; gap: 14px; align-items: center; justify-content: center; margin-top: 24px; flex-wrap: wrap; }
.tsl_button { appearance: none; -webkit-appearance: none; min-width: 190px; padding: 14px 18px; border: 0; border-radius: 3px; font-family: inherit; font-size: 15px; line-height: 1; font-weight: 800; cursor: pointer; text-transform: uppercase; }
.tsl_enter { background: #08a8ef; color: #fff; }
.tsl_exit { min-width: 120px; background: transparent; color: #f40093; }
.tsl_button:hover, .tsl_button:focus { transform: translateY(-1px); }
@media (max-width: 540px) {
  .tsl_entry { padding: 16px; }
  .tsl_card { padding: 24px 18px 22px; }
  .tsl_logo { width: min(270px,90%); }
  .tsl_age { font-size: 36px; }
  .tsl_title { font-size: 17px; }
  .tsl_button { width: 100%; min-width: 0; }
}
