/* Signal Architect Persistent Research Identity v10.5.2 */
html.sa-identity-required,body.sa-identity-required{overflow:hidden!important;overscroll-behavior:none;height:100%!important}.sa-id-gate[hidden],.sa-id-account[hidden],.sa-id-menu[hidden],.sa-session-warning[hidden],.sa-id-complete[hidden],.sa-id-form[hidden],.sa-id-tabs[hidden],.sa-id-card>details[hidden]{display:none!important}
.sa-id-gate{position:fixed;inset:0;z-index:100000;background:rgba(2,7,12,.94);backdrop-filter:blur(12px);display:block;padding:20px;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:auto}
.sa-id-card{position:relative;z-index:1;width:min(560px,100%);max-height:none;margin:auto;overflow:auto;-webkit-overflow-scrolling:touch;border:1px solid rgba(73,203,255,.38);border-radius:18px;background:linear-gradient(145deg,#07131d,#03090e);box-shadow:0 30px 90px rgba(0,0,0,.65);padding:28px;color:#dcecf7;pointer-events:auto;touch-action:auto}
.sa-id-kicker{font:700 11px/1.2 ui-monospace,monospace;letter-spacing:.18em;color:#54d9ff}.sa-id-card h1{margin:.55rem 0 .65rem;font-size:clamp(1.65rem,4vw,2.35rem)}.sa-id-card>p{color:#9fb3c2;line-height:1.6}
.sa-id-tabs{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:20px 0 14px;pointer-events:auto}.sa-id-tabs button,.sa-id-form button,.sa-id-menu button{appearance:none;-webkit-appearance:none;border:1px solid #24506a;background:#0a1a25;color:#b9d5e5;border-radius:9px;padding:12px;font-weight:800;cursor:pointer;pointer-events:auto;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.sa-id-tabs button.active,.sa-id-form button{background:#0d6688;color:white;border-color:#42c9ff}.sa-id-tabs button:focus-visible,.sa-id-form input:focus-visible,.sa-id-form button:focus-visible{outline:3px solid rgba(66,201,255,.45);outline-offset:2px}
.sa-id-form{position:relative;z-index:2;display:grid;gap:13px;pointer-events:auto}.sa-id-form[aria-hidden="true"]{display:none!important}.sa-id-form label{display:grid;gap:7px;font-size:13px;font-weight:700;pointer-events:auto}.sa-id-form input{position:relative;z-index:3;width:100%;box-sizing:border-box;background:#02080d;border:1px solid #244353;color:white;border-radius:9px;padding:13px;font:inherit;pointer-events:auto;touch-action:auto;-webkit-user-select:text;user-select:text}.sa-id-form small,.sa-id-card details{color:#8299a8;font-size:12px;line-height:1.5}.sa-id-status{min-height:1.4em;margin:12px 0 0!important;color:#71e0b2!important}.sa-id-status.error{color:#ff8e8e!important}
.sa-id-account{position:fixed;right:18px;bottom:86px;z-index:9000;border:1px solid rgba(74,208,255,.45);border-radius:999px;background:#071722;color:#bfefff;padding:10px 14px;font:800 10px/1 ui-monospace,monospace;letter-spacing:.08em;cursor:pointer;box-shadow:0 8px 30px rgba(0,0,0,.4)}
.sa-id-menu{position:fixed;right:18px;bottom:130px;z-index:9001;width:min(300px,calc(100vw - 36px));display:grid;gap:8px;border:1px solid #244d63;border-radius:12px;background:#06121a;color:#d8ebf5;padding:15px;box-shadow:0 18px 50px rgba(0,0,0,.55)}.sa-id-menu span{font-size:12px;color:#8fa8b7}
.sa-id-complete{border:1px solid rgba(83,224,178,.35);border-radius:12px;padding:18px;background:rgba(15,70,55,.18)}.sa-id-complete h2{margin:0 0 10px}.sa-id-complete p{line-height:1.9;color:#bfe8d8}.sa-id-complete button{width:100%;border:1px solid #42c9ff;background:#0d6688;color:#fff;border-radius:9px;padding:12px;font-weight:800}
.sa-id-commerce{color:#78dfff;text-decoration:none;font-size:11px;font-weight:800}.sa-session-warning{position:fixed;z-index:100010;right:18px;top:18px;width:min(390px,calc(100vw - 36px));border:1px solid #f2c85d;border-radius:12px;background:#181407;color:#fff4c4;padding:16px;box-shadow:0 18px 60px #000}.sa-session-warning p{color:#d8cda7}.sa-session-warning>div{display:flex;gap:8px}.sa-session-warning button{flex:1;border:1px solid #e8c65d;background:#3a2e08;color:#fff7d6;border-radius:8px;padding:10px;font-weight:800}
@media(max-width:600px){.sa-id-gate{padding:calc(env(safe-area-inset-top) + 12px) 12px calc(env(safe-area-inset-bottom) + 12px)}.sa-id-card{padding:20px 18px;max-height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 24px)}.sa-id-tabs{grid-template-columns:1fr 1fr}.sa-id-tabs button{min-height:64px;font-size:12px}.sa-id-form input{min-height:54px;font-size:16px}.sa-id-form button{min-height:54px}.sa-id-account{right:10px;bottom:78px}}
@media(prefers-reduced-motion:reduce){.sa-id-gate,.sa-id-card,.sa-id-tabs button{scroll-behavior:auto;transition:none!important;animation:none!important}}

.sa-id-explore-close{position:absolute;top:14px;right:14px;border:0;background:transparent;color:#8fb2c4;font:800 10px/1 ui-monospace,monospace;letter-spacing:.08em;cursor:pointer;padding:8px;touch-action:manipulation}.sa-id-explore-close:hover,.sa-id-explore-close:focus-visible{color:#65ddff}.sa-id-explore-link{width:100%;margin-top:10px;border:1px solid rgba(80,190,230,.3);background:transparent;color:#9fd8ef;border-radius:9px;padding:11px;font-weight:800;cursor:pointer}.sa-id-preview-note{font-size:11px!important;line-height:1.5!important;color:#7893a3!important;text-align:center}.sa-public-preview-only{display:none}html[data-sa-public-preview="true"] .sa-public-preview-only{display:block}

.sa-id-mobile-heading{margin:18px 0 2px;font-size:1rem;color:#dcecf7}.sa-id-mobile-heading-login{border-top:1px solid rgba(74,208,255,.18);padding-top:22px;margin-top:28px}
@media(max-width:600px){.sa-id-gate{touch-action:auto}.sa-id-card{overflow:visible!important;touch-action:auto}.sa-id-tabs{display:none!important}.sa-id-mobile-heading{display:block!important}.sa-id-form,.sa-id-form[hidden],.sa-id-form[aria-hidden="true"]{display:grid!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important}.sa-id-form input{touch-action:auto!important;-webkit-user-select:text!important;user-select:text!important}.sa-id-form button,.sa-id-explore-close,.sa-id-explore-link{touch-action:manipulation!important;pointer-events:auto!important}.sa-id-explore-close{position:static;display:block;width:100%;text-align:right;margin:-4px 0 8px}.sa-id-card>p:first-of-type{margin-bottom:10px}}


/* Sprint 10.5.4 — iOS inline identity gate stabilization
   On phones the identity experience becomes normal document flow instead of
   a fixed modal. This removes any invisible overlay/touch interception risk. */
@media (max-width:600px){
  html.sa-identity-required.sa-identity-mobile-inline,
  body.sa-identity-required.sa-identity-mobile-inline{
    overflow:auto!important;
    height:auto!important;
    min-height:100%!important;
    overscroll-behavior:auto!important;
    position:static!important;
  }

  body.sa-identity-required.sa-identity-mobile-inline > :not(#saIdentityGate):not(script){
    display:none!important;
  }

  body.sa-identity-required.sa-identity-mobile-inline #saIdentityGate{
    position:relative!important;
    inset:auto!important;
    z-index:auto!important;
    display:block!important;
    min-height:100dvh!important;
    width:100%!important;
    box-sizing:border-box!important;
    overflow:visible!important;
    padding:calc(env(safe-area-inset-top) + 12px) 12px calc(env(safe-area-inset-bottom) + 18px)!important;
    background:#02070c!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
    touch-action:auto!important;
    pointer-events:auto!important;
  }

  body.sa-identity-required.sa-identity-mobile-inline .sa-id-card{
    position:relative!important;
    z-index:auto!important;
    display:block!important;
    width:100%!important;
    max-width:none!important;
    max-height:none!important;
    margin:0!important;
    overflow:visible!important;
    transform:none!important;
    pointer-events:auto!important;
    touch-action:auto!important;
    -webkit-overflow-scrolling:auto!important;
  }

  body.sa-identity-required.sa-identity-mobile-inline .sa-id-form,
  body.sa-identity-required.sa-identity-mobile-inline .sa-id-form label,
  body.sa-identity-required.sa-identity-mobile-inline .sa-id-form input,
  body.sa-identity-required.sa-identity-mobile-inline .sa-id-form button,
  body.sa-identity-required.sa-identity-mobile-inline .sa-id-explore-close,
  body.sa-identity-required.sa-identity-mobile-inline .sa-id-explore-link{
    position:relative!important;
    z-index:1!important;
    pointer-events:auto!important;
  }

  body.sa-identity-required.sa-identity-mobile-inline .sa-id-form input{
    -webkit-user-select:text!important;
    user-select:text!important;
    touch-action:auto!important;
  }

  body.sa-identity-required.sa-identity-mobile-inline .sa-id-form button,
  body.sa-identity-required.sa-identity-mobile-inline .sa-id-explore-close,
  body.sa-identity-required.sa-identity-mobile-inline .sa-id-explore-link{
    touch-action:manipulation!important;
  }
}


/* Sprint 10.5.6 — mobile identity and navigation stabilization */
@media (max-width: 760px) {
  .sa-id-account {
    right: 12px !important;
    bottom: calc(12px + env(safe-area-inset-bottom)) !important;
    max-width: calc(100vw - 24px) !important;
    z-index: 9300 !important;
    touch-action: manipulation !important;
    pointer-events: auto !important;
  }

  .sa-id-menu {
    right: 12px !important;
    bottom: calc(58px + env(safe-area-inset-bottom)) !important;
    width: min(330px, calc(100vw - 24px)) !important;
    max-height: min(70dvh, 560px) !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    z-index: 9400 !important;
    pointer-events: auto !important;
  }

  .sa-id-menu a,
  .sa-id-menu button,
  .sa-id-form input,
  .sa-id-form button,
  .sa-id-explore-close,
  .sa-id-explore-link {
    pointer-events: auto !important;
    touch-action: manipulation !important;
  }
}


/* =========================================================
   FLOATING CONTROL COMPACT DOCK v1.1
   RESEARCH IDENTITY = RI
   Positioned below Research Environment to prevent overlap.
   ========================================================= */
.sa-id-account{
  right:18px;
  bottom:30px;
  width:42px;
  min-width:42px;
  height:42px;
  min-height:42px;
  padding:0;
  overflow:hidden;
  white-space:nowrap;
  font-size:0;
  display:flex;
  align-items:center;
  justify-content:center;
  transition:width .18s ease,padding .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.sa-id-account::after{
  content:"RI";
  color:#bfefff;
  font:900 11px/1 ui-monospace,monospace;
  letter-spacing:.07em;
}
.sa-id-account:hover,
.sa-id-account:focus-visible{
  width:142px;
  padding:0 12px;
  font-size:10px;
}
.sa-id-account:hover::after,
.sa-id-account:focus-visible::after{
  content:"";
}
.sa-id-menu{
  right:68px;
  bottom:28px;
}
@media(max-width:700px){
  .sa-id-account{right:12px;bottom:22px}
  .sa-id-account:hover,.sa-id-account:focus-visible{width:42px;padding:0;font-size:0}
  .sa-id-account:hover::after,.sa-id-account:focus-visible::after{content:"RI"}
  .sa-id-menu{right:60px;bottom:18px;width:min(300px,calc(100vw - 78px))}
}
