:root {
  --browser-gate-accent: #6ee7ff;
  --browser-gate-accent-rgb: 110, 231, 255;
  --browser-gate-accent-2: #a78bfa;
  --browser-gate-warning: #ffcc66;
  --browser-gate-text: #f4f9ff;
  --browser-gate-muted: #b7c7dc;
}

html[data-gate-theme="x"] { --browser-gate-accent: #b59cff; --browser-gate-accent-rgb: 181, 156, 255; --browser-gate-accent-2: #724dff; --browser-gate-warning: #d7c7ff; }
html[data-gate-theme="c"] { --browser-gate-accent: #4bf0bd; --browser-gate-accent-rgb: 75, 240, 189; --browser-gate-accent-2: #159e88; --browser-gate-warning: #b9ffe9; }
html[data-gate-theme="d"] { --browser-gate-accent: #67d7ff; --browser-gate-accent-rgb: 103, 215, 255; --browser-gate-accent-2: #347cff; --browser-gate-warning: #c8f4ff; }
html[data-gate-theme="m"] { --browser-gate-accent: #ffe11c; --browser-gate-accent-rgb: 255, 225, 28; --browser-gate-accent-2: #00c76b; --browser-gate-warning: #fff2a6; }
html[data-gate-theme="r"] { --browser-gate-accent: #20e6ba; --browser-gate-accent-rgb: 32, 230, 186; --browser-gate-accent-2: #7c4dff; --browser-gate-warning: #baffea; }
html[data-gate-theme="t"] { --browser-gate-accent: #ffd21f; --browser-gate-accent-rgb: 255, 210, 31; --browser-gate-accent-2: #ff8a00; --browser-gate-warning: #fff0a0; }
html[data-gate-theme="verify"] { --browser-gate-accent: #75a7ff; --browser-gate-accent-rgb: 117, 167, 255; --browser-gate-accent-2: #73e1ff; --browser-gate-warning: #d4e8ff; }

html[data-browser-gate="blocked"], html[data-browser-gate="blocked"] body { overflow: hidden; }
body.browser-gate-locked > *:not(.browser-gate):not(script):not(style) { filter: blur(1px) saturate(.78); opacity: .1; pointer-events: none; user-select: none; }

.browser-gate {
  position: fixed; inset: 0; z-index: 2147483000; display: grid; place-items: center;
  padding: max(22px, env(safe-area-inset-top)) 20px max(22px, env(safe-area-inset-bottom));
  background: rgba(3, 7, 13, .02);
  -webkit-backdrop-filter: blur(.5px);
  backdrop-filter: blur(.5px);
  color: var(--browser-gate-text); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
.browser-gate[hidden] { display: none; }
.browser-gate.is-leaving { opacity: 0; visibility: hidden; pointer-events: none; transition: opacity .4s ease, visibility .4s ease; }
.browser-gate-panel {
  width: min(370px, calc(100vw - 40px)); padding: 30px 22px 24px; overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .14); border-radius: 28px; background: rgba(8, 20, 36, .1);
  box-shadow: 0 22px 70px rgba(0, 0, 0, .38), inset 0 1px 0 rgba(255, 255, 255, .08);
  -webkit-backdrop-filter: blur(1px) saturate(1.02); backdrop-filter: blur(1px) saturate(1.02);
  text-align: center; animation: browser-gate-in .5s cubic-bezier(.2, .8, .2, 1) both;
}
.browser-gate-orbit {
  position: relative; display: grid; width: 108px; height: 108px; place-items: center; margin: 0 auto 18px; border-radius: 50%;
  background: radial-gradient(circle at center, rgba(var(--browser-gate-accent-rgb), .12) 0 41%, transparent 42%), conic-gradient(from 210deg, rgba(var(--browser-gate-accent-rgb), .76), rgba(var(--browser-gate-accent-rgb), .04) 38%, rgba(var(--browser-gate-accent-rgb), .32) 65%, rgba(var(--browser-gate-accent-rgb), .76));
  box-shadow: inset 0 0 0 1px rgba(var(--browser-gate-accent-rgb), .20), 0 16px 42px rgba(var(--browser-gate-accent-rgb), .16);
}
.browser-gate-icon { display: grid; width: 62px; height: 62px; place-items: center; border-radius: 50%; color: var(--browser-gate-warning); background: rgba(8, 20, 36, .94); box-shadow: inset 0 0 0 1px rgba(var(--browser-gate-accent-rgb), .24); }
.browser-gate-icon svg { width: 35px; height: 35px; }
.browser-gate-eyebrow { margin: 0 0 8px; color: var(--browser-gate-warning); font-size: 11px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.browser-gate-title { margin: 0; color: var(--browser-gate-text); font-size: clamp(27px, 7.6vw, 33px); line-height: 1.12; letter-spacing: -.04em; }
.browser-gate-copy { margin: 13px auto 0; max-width: 310px; color: var(--browser-gate-muted); font-size: 13px; line-height: 1.65; }
.browser-gate-button {
  display: flex; width: 100%; min-height: 54px; align-items: center; justify-content: center; gap: 9px; margin-top: 24px; padding: 0 17px;
  border: 0; border-radius: 16px; color: #071018; background: linear-gradient(100deg, var(--browser-gate-accent), var(--browser-gate-accent-2));
  box-shadow: 0 12px 30px rgba(var(--browser-gate-accent-rgb), .22), inset 0 1px 0 rgba(255, 255, 255, .34);
  font: inherit; font-size: 15px; font-weight: 900; cursor: pointer; -webkit-tap-highlight-color: transparent; transition: transform .16s ease, filter .16s ease;
}
.browser-gate-button:active { transform: scale(.985); filter: brightness(.96); }
.browser-gate-button:focus-visible { outline: 3px solid rgba(var(--browser-gate-accent-rgb), .46); outline-offset: 3px; }
.browser-gate-button svg { flex: 0 0 auto; width: 17px; height: 17px; }
.browser-gate-button[hidden] { display: none; }
.browser-gate-status { min-height: 18px; margin: 12px 2px 0; color: var(--browser-gate-warning); font-size: 12px; line-height: 1.5; }
.browser-gate-android .browser-gate-orbit { filter: saturate(.75); }
@keyframes browser-gate-in { from { opacity: 0; transform: translateY(12px) scale(.985); } to { opacity: 1; transform: translateY(0) scale(1); } }
@media (max-width: 420px) { .browser-gate-panel { width: min(346px, calc(100vw - 28px)); border-radius: 26px; } }
@media (prefers-reduced-motion: reduce) { .browser-gate-panel { animation: none !important; } .browser-gate.is-leaving { transition-duration: .01ms !important; } }
