:root {
  --auth-gold: #c9a35a;
  --auth-gold-bright: #f1d495;
  --auth-cyan: #48d8ec;
  --auth-ink: #06111b;
  --status-online: #55dc82;
  --status-busy: #e5aa36;
  --status-offline: #e05252;
}

:root[data-color-mode="deuteranopia"]{--auth-cyan:#49b7ff;--auth-gold:#ffb000;--status-online:#4fa7ff;--status-busy:#ffb000;--status-offline:#d45d00}
:root[data-color-mode="protanopia"]{--auth-cyan:#36d4ff;--auth-gold:#ffd166;--status-online:#27c2e8;--status-busy:#ffd166;--status-offline:#7d6cff}
:root[data-color-mode="tritanopia"]{--auth-cyan:#ff62bd;--auth-gold:#78e65c;--status-online:#78e65c;--status-busy:#ff62bd;--status-offline:#e05252}
:root[data-color-mode="high-contrast"]{--auth-cyan:#fff;--auth-gold:#ffe66b;--status-online:#fff;--status-busy:#ffe66b;--status-offline:#ff6060}

html[data-auth-state="checking"],
html[data-auth-state="required"],
html[data-auth-state="error"] {
  overflow: hidden;
}

html[data-auth-state="checking"] #galaxyApp,
html[data-auth-state="required"] #galaxyApp,
html[data-auth-state="error"] #galaxyApp {
  visibility: hidden;
  pointer-events: none;
}

.auth-gate {
  position: fixed;
  inset: 0;
  z-index: 2147483000;
  display: grid;
  place-items: center;
  min-height: 100dvh;
  padding: max(18px, env(safe-area-inset-top)) max(18px, env(safe-area-inset-right)) max(18px, env(safe-area-inset-bottom)) max(18px, env(safe-area-inset-left));
  overflow: auto;
  isolation: isolate;
  color: #dcecf3;
  background:
    linear-gradient(90deg, rgba(2, 8, 14, .94) 0%, rgba(3, 12, 20, .76) 47%, rgba(3, 10, 17, .9) 100%),
    url("../assets/ui/v4.1/backgrounds/login.webp") center / cover no-repeat,
    #030910;
}

.auth-gate-carousel {
  position: fixed;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
}

.auth-gate-carousel::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(2, 8, 14, .94) 0%, rgba(3, 12, 20, .76) 47%, rgba(3, 10, 17, .9) 100%);
}

.auth-gate-carousel img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.auth-gate-server,.auth-gate-settings{position:fixed;z-index:5;top:14px;font-family:"Segoe UI",sans-serif}
.auth-gate-server{left:14px}
.auth-gate-settings{right:14px}
.auth-gate-corner-button{min-height:44px;border:1px solid rgba(196,145,66,.7);background:linear-gradient(180deg,rgba(7,28,43,.97),rgba(2,12,21,.97));color:#e7f5f8;box-shadow:0 8px 20px rgba(0,0,0,.5);cursor:pointer}
.auth-gate-corner-button:hover,.auth-gate-corner-button:focus-visible,.auth-gate-corner-button[aria-expanded="true"]{border-color:var(--auth-cyan);outline:none;box-shadow:0 0 12px rgba(72,216,236,.25)}
.auth-server-button{display:grid;grid-template-columns:auto minmax(112px,auto) auto;align-items:center;gap:8px;min-width:218px;padding:7px 12px;font-size:11px;letter-spacing:.04em}
.auth-server-button b,.auth-server-menu b{color:#f1c668;font-size:10px;font-variant-numeric:tabular-nums}
.auth-server-dot{display:block;width:9px;height:9px;border-radius:50%;background:var(--status-busy);box-shadow:0 0 8px color-mix(in srgb,var(--status-busy) 70%,transparent)}
.auth-server-dot[data-server-state="online"]{background:var(--status-online);box-shadow:0 0 8px color-mix(in srgb,var(--status-online) 70%,transparent)}
.auth-server-dot[data-server-state="offline"]{background:var(--status-offline);box-shadow:0 0 8px color-mix(in srgb,var(--status-offline) 70%,transparent)}
.auth-settings-button{display:grid;width:64px;height:64px;min-height:64px;padding:0;border:0;background:transparent;place-items:center;box-shadow:none}
.auth-settings-button:hover,.auth-settings-button:focus-visible,.auth-settings-button[aria-expanded="true"]{border:0;background:transparent;box-shadow:none;outline:none;filter:drop-shadow(0 0 8px rgba(72,216,236,.42))}
.auth-settings-button:focus-visible img{outline:2px solid var(--auth-cyan);outline-offset:2px;border-radius:50%}
.auth-settings-button img{display:block;width:64px;height:64px;object-fit:contain;transition:transform .18s ease}
.auth-settings-button[aria-expanded="true"] img{transform:rotate(18deg)}
.auth-gate-corner-menu{position:absolute;top:calc(100% + 6px);padding:10px;border:1px solid rgba(196,145,66,.72);background:linear-gradient(180deg,rgba(4,20,32,.99),rgba(1,9,17,.99));box-shadow:0 18px 35px rgba(0,0,0,.65)}
.auth-server-menu{left:0;width:270px}
.auth-server-menu>button{display:grid;width:100%;min-height:46px;grid-template-columns:auto 1fr auto;align-items:center;gap:9px;padding:8px 10px;border:1px solid rgba(74,174,202,.42);background:#04131f;color:#e8f5f7;text-align:left}
.auth-settings-menu{right:0;width:280px;display:grid;gap:12px}
.auth-settings-toggle,.auth-settings-color{display:flex;min-height:44px;align-items:center;justify-content:space-between;gap:16px;color:#e5f1f4;font-size:12px}
.auth-settings-toggle input{position:absolute;opacity:.01;pointer-events:none}
.auth-settings-toggle i{position:relative;width:44px;height:24px;border:1px solid #4b7181;border-radius:14px;background:#071722;cursor:pointer}
.auth-settings-toggle i::after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#8ea5ad;transition:transform .18s ease,background .18s ease}
.auth-settings-toggle input:checked+i{border-color:var(--auth-cyan);background:#0a3b4a}
.auth-settings-toggle input:checked+i::after{transform:translateX(20px);background:var(--auth-cyan)}
.auth-settings-toggle input:focus-visible+i{outline:2px solid var(--auth-cyan);outline-offset:2px}
.auth-settings-color{align-items:stretch;flex-direction:column;gap:6px}
.auth-settings-color select{width:100%;min-height:44px;padding:7px 9px;border:1px solid #426b7c;background:#03121d;color:#e8f5f7}

.auth-gate [hidden] {
  display: none !important;
}

html[data-auth-state="authenticated"] .auth-gate,
html[data-auth-state="dev-bypass"] .auth-gate {
  display: none;
}

.auth-gate::before,
.auth-gate::after {
  content: "";
  position: fixed;
  pointer-events: none;
}

.auth-gate::before {
  z-index: 1;
  inset: 0;
  background:
    radial-gradient(circle at 68% 38%, rgba(57, 212, 235, .13), transparent 29%),
    linear-gradient(rgba(255,255,255,.018) 1px, transparent 1px);
  background-size: auto, 100% 4px;
  mix-blend-mode: screen;
}

.auth-gate::after {
  z-index: 3;
  inset: 16px;
  border: 1px solid rgba(201, 163, 90, .32);
  clip-path: polygon(0 18px, 18px 0, calc(100% - 18px) 0, 100% 18px, 100% calc(100% - 18px), calc(100% - 18px) 100%, 18px 100%, 0 calc(100% - 18px));
}

.auth-gate-card {
  position: relative;
  z-index: 2;
  width: min(100%, 480px);
  border: 1px solid rgba(202, 164, 91, .7);
  border-radius: 2px;
  padding: 7px;
  background: linear-gradient(145deg, rgba(212, 176, 105, .55), rgba(45, 57, 66, .3) 18%, rgba(179, 134, 64, .56) 78%, rgba(10, 22, 31, .7));
  box-shadow: 0 28px 80px rgba(0,0,0,.68), 0 0 40px rgba(47, 191, 213, .08);
}

.auth-gate-card::before,
.auth-gate-card::after {
  content: "";
  position: absolute;
  z-index: 2;
  width: 24px;
  height: 24px;
  border-color: var(--auth-gold-bright);
}

.auth-gate-card::before {
  top: -3px;
  left: -3px;
  border-top: 2px solid;
  border-left: 2px solid;
}

.auth-gate-card::after {
  right: -3px;
  bottom: -3px;
  border-right: 2px solid;
  border-bottom: 2px solid;
}

.auth-gate-brand {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 76px;
  border: 1px solid rgba(207, 172, 103, .36);
  border-bottom: 0;
  background: linear-gradient(180deg, rgba(8, 23, 33, .97), rgba(5, 15, 24, .9));
  text-align: left;
}

.auth-gate-brand b {
  display: block;
  color: var(--auth-gold-bright);
  font: 700 clamp(22px, 6vw, 30px)/1 Georgia, "Times New Roman", serif;
  letter-spacing: .16em;
  text-shadow: 0 1px #000, 0 0 16px rgba(222, 184, 107, .2);
}

.auth-gate-brand small {
  display: block;
  margin-top: 5px;
  color: #7ccbd6;
  font-size: 10px;
  letter-spacing: .32em;
}

.auth-gate-sigil {
  position: relative;
  width: 42px;
  height: 42px;
  border: 1px solid var(--auth-gold);
  transform: rotate(45deg);
  box-shadow: inset 0 0 14px rgba(65, 218, 236, .16), 0 0 10px rgba(196, 157, 85, .2);
}

.auth-gate-sigil i {
  position: absolute;
  inset: 9px;
  border: 2px solid var(--auth-cyan);
  border-left-color: transparent;
  border-radius: 50%;
}

.auth-gate-console {
  padding: clamp(22px, 5vw, 34px);
  border: 1px solid rgba(207, 172, 103, .36);
  background:
    linear-gradient(145deg, rgba(8, 25, 36, .98), rgba(4, 14, 23, .97)),
    var(--auth-ink);
}

.auth-gate-kicker {
  margin: 0 0 7px;
  color: var(--auth-cyan);
  font-size: 10px;
  letter-spacing: .24em;
}

.auth-gate h1 {
  margin: 0;
  color: #f0ddb4;
  font: 600 clamp(24px, 7vw, 34px)/1.1 Georgia, "Times New Roman", serif;
}

.auth-gate-console > p:not(.auth-gate-kicker) {
  margin: 10px 0 20px;
  color: #9eb1bb;
  line-height: 1.5;
}

.auth-gate-modes {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px;
  margin-bottom: 20px;
}

.auth-gate button,
.auth-gate input {
  min-height: 44px;
  border-radius: 2px;
  font: inherit;
}

.auth-gate-modes button,
.auth-gate-retry {
  border: 1px solid rgba(163, 142, 100, .45);
  color: #aebcc4;
  background: linear-gradient(180deg, rgba(21, 41, 51, .95), rgba(8, 21, 30, .95));
  cursor: pointer;
}

.auth-gate-modes button[aria-selected="true"] {
  border-color: var(--auth-gold);
  color: #f4deaf;
  box-shadow: inset 0 -2px var(--auth-cyan), 0 0 16px rgba(57, 212, 235, .08);
}

.auth-gate form {
  display: grid;
  gap: 14px;
}

.auth-gate label {
  display: grid;
  gap: 6px;
  color: #c5d3d9;
  font-size: 12px;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.auth-gate .auth-gate-remember {
  display: flex;
  align-items: center;
  gap: 9px;
  min-height: 44px;
  color: #9fb3bc;
  font-size: 11px;
  letter-spacing: .03em;
  text-transform: none;
  cursor: pointer;
}

.auth-gate .auth-gate-remember input {
  width: 18px;
  height: 18px;
  min-height: 18px;
  margin: 0;
  accent-color: var(--auth-cyan);
}

.auth-gate input {
  width: 100%;
  box-sizing: border-box;
  border: 1px solid rgba(164, 144, 103, .55);
  padding: 10px 12px;
  color: #edf9fb;
  background: rgba(2, 11, 18, .86);
  outline: none;
}

.auth-gate input:focus-visible,
.auth-gate button:focus-visible {
  border-color: var(--auth-cyan);
  outline: 2px solid rgba(72, 216, 236, .32);
  outline-offset: 2px;
}

.auth-gate-submit {
  margin-top: 4px;
  border: 1px solid #d2af68;
  color: #06131a;
  background: linear-gradient(180deg, #f0d38d, #b88d45);
  font-weight: 800;
  letter-spacing: .06em;
  cursor: pointer;
  box-shadow: inset 0 1px rgba(255,255,255,.45), 0 5px 18px rgba(0,0,0,.35);
}

.auth-gate button:disabled,
.auth-gate input:disabled {
  cursor: wait;
  opacity: .62;
}

.auth-gate-status {
  min-height: 22px;
  margin-top: 16px;
  color: #8ecdd7;
  font-size: 12px;
  line-height: 1.45;
}

.auth-gate-status[data-tone="error"] {
  color: #ff9f8f;
}

.auth-gate-retry {
  width: 100%;
  margin-top: 9px;
}

.auth-gate-security {
  display: block;
  margin-top: 14px;
  color: #687c87;
  font-size: 10px;
  text-align: center;
}

html[data-auth-state="checking"] .auth-gate-modes,
html[data-auth-state="checking"] .auth-gate form {
  visibility: hidden;
}

@media (max-width: 520px) {
  .auth-gate {
    place-items: start center;
    padding: max(10px, env(safe-area-inset-top)) max(10px, env(safe-area-inset-right)) max(10px, env(safe-area-inset-bottom)) max(10px, env(safe-area-inset-left));
  }

  .auth-gate::after {
    inset: 5px;
  }

  .auth-gate-card {
    margin: auto 0;
  }

  .auth-gate-brand {
    min-height: 66px;
  }

  .auth-gate-console {
    padding: 20px 17px;
  }
}

@media (max-height: 780px) and (min-width: 521px) {
  .auth-gate {
    padding-top: 10px;
    padding-bottom: 10px;
  }

  .auth-gate-brand {
    min-height: 62px;
  }

  .auth-gate-console {
    padding: 17px 28px;
  }

  .auth-gate-kicker {
    margin-bottom: 4px;
  }

  .auth-gate-console > p:not(.auth-gate-kicker) {
    margin: 6px 0 12px;
  }

  .auth-gate-modes {
    margin-bottom: 12px;
  }

  .auth-gate form {
    gap: 8px;
  }

  .auth-gate-status {
    margin-top: 9px;
  }

  .auth-gate-security {
    margin-top: 7px;
  }
}

/* Gate I riaperto: il pannello v4.1 è la geometria reale del login. */
.auth-gate {
  background:#01050b;
}

.auth-gate-carousel::after {
  background:radial-gradient(circle at 50% 48%,transparent 18%,rgba(1,6,14,.2) 55%,rgba(0,3,9,.8) 100%),linear-gradient(90deg,rgba(0,5,12,.56),transparent 34%,transparent 66%,rgba(0,5,12,.56));
}

.auth-gate-card {
  width:min(94vw,504px);
  aspect-ratio:1312/1199;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  filter:drop-shadow(0 26px 46px rgba(0,0,0,.72));
}

.auth-gate-card::before,.auth-gate-card::after { content:none; }
.auth-gate-panel-art { position:absolute;z-index:0;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none; }
/* Centro dei due fregi nell'asset 1312 x 1199: x=656, y=1085. */
.auth-gate-version{position:absolute;z-index:4;left:50%;right:auto;top:90.492%;transform:translate(-50%,-50%);width:15%;height:auto;display:grid;place-items:center;color:#b7c1c8;font:500 clamp(10px,1.25vw,15px)/1 "Segoe UI",sans-serif;letter-spacing:.02em;text-shadow:0 1px 3px #000;white-space:nowrap;pointer-events:none}
.auth-gate-brand { position:absolute;z-index:1;left:20%;right:20%;top:8%;min-height:0;border:0;background:none;opacity:0;pointer-events:none; }
.auth-gate-brand img { display:block;width:100%;height:auto; }
.auth-gate-console { position:absolute;z-index:2;inset:0;padding:0;border:0;background:none; }
.auth-gate-kicker,.auth-gate h1,.auth-gate-console>p:not(.auth-gate-kicker),.auth-gate-security { position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0; }

.auth-gate-modes { position:absolute;z-index:4;left:25%;right:25%;top:79.7%;height:9.6%;display:block;margin:0; }
.auth-gate-modes button { position:absolute;inset:0;width:100%;height:100%;min-height:0;border:0;background:transparent;color:transparent;box-shadow:none;cursor:pointer; }
.auth-gate-modes button[data-auth-mode="login"] { display:none; }
.auth-gate-modes button[data-auth-mode="register"]:focus-visible { outline:2px solid var(--auth-cyan);outline-offset:2px; }

.auth-gate form { position:absolute;inset:0;display:block; }
.auth-gate form>label:not(.auth-gate-remember) { position:absolute;left:24.7%;right:17.5%;display:block; }
.auth-gate form>label:not(.auth-gate-remember)>span { position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0; }
.auth-gate form>label:nth-of-type(1) { top:31.1%;height:8.7%; }
.auth-gate form>label:nth-of-type(2) { top:43.1%;height:8.7%; }
.auth-gate form>label[data-auth-confirm] { top:52.2%;height:7.7%; }
.auth-gate form>label[data-auth-confirm][hidden] { display:none!important; }
.auth-gate input:not([type="checkbox"]) { height:100%;min-height:44px;padding:0 4%;border:0;border-radius:0;background:#020c15!important;color:#eef8fb;font-size:clamp(15px,2.25vw,25px);box-shadow:none!important; }
.auth-gate input:not([type="checkbox"]):focus-visible { outline:1px solid #60dfff;outline-offset:-1px; }
.auth-gate .auth-gate-remember { position:absolute;left:17.2%;top:55.5%;display:flex;width:35%;height:4.3%;min-height:0;gap:0;color:transparent; }
.auth-gate .auth-gate-remember input { width:20px;max-width:20px;min-width:20px;height:100%;min-height:0;margin:0;opacity:.01;cursor:pointer; }
.auth-gate .auth-gate-remember:has(input:checked)::after { content:"✓";position:absolute;inset:-1px auto auto 0;display:grid;width:20px;height:100%;place-items:center;color:#65deff;font-size:18px;line-height:1;text-shadow:0 0 7px #36d9ff;pointer-events:none; }
.auth-gate-submit { position:absolute;left:20.5%;right:19.3%;top:64%;height:13.1%;min-height:0;margin:0;border:0;background:transparent!important;color:transparent;box-shadow:none;cursor:pointer; }
.auth-gate-submit:focus-visible { outline:2px solid var(--auth-cyan);outline-offset:-6px; }
.auth-gate-status { position:absolute;left:18%;right:18%;top:88.5%;min-height:0;margin:0;color:#8de9f5;font-size:clamp(9px,1.3vw,13px);line-height:1.25;text-align:center;text-shadow:0 1px 3px #000,0 0 8px #000; }
.auth-gate-status:empty,.auth-gate-status:not([data-tone="error"]){display:none}
#authConnectionOverlay {
  position: fixed;
  inset: 0;
  margin: auto;
  padding: 16px;
  width: max-content;
  max-width: calc(100vw - 32px);
  border: 0;
  background: transparent;
  box-shadow: none;
}
#authConnectionOverlay::backdrop { background: rgba(0, 0, 0, .78); }
.auth-gate-card { isolation: isolate; }
#authConnectionOverlay { text-align: center; }
#authConnectionOverlay #authConnectionMessage {
  position: static;
  margin: 0 0 20px;
  max-width: 36rem;
  color: #f2d39a;
  font: 400 18px/1.5 "Segoe UI", sans-serif;
  text-wrap: balance;
}
#authConnectionOverlay #authGateRetry {
  position: static;
  width: auto;
  max-width: 100%;
  min-height: 48px;
  margin: 0;
  padding: 14px 24px;
  border: 1px solid #b68c44;
  border-radius: 3px;
  background: #07141e;
  color: #f2d39a;
  font: inherit;
  font-size: 16px;
  white-space: normal;
  cursor: pointer;
}
#authConnectionOverlay #authGateRetry:focus-visible { outline: 2px solid #65ddec; outline-offset: 4px; }
html[data-auth-mode="register"] .auth-gate-modes button[data-auth-mode="login"] {
  border: 1px solid rgba(182, 140, 68, .85);
  border-radius: 2px;
}

/* Crea account resta nello stesso pannello: aggiunge solo i controlli necessari. */
.auth-gate-password-help,.auth-gate-providers{display:none}
html[data-auth-mode="register"] .auth-gate-card{height:auto;min-height:0;aspect-ratio:1312/1199}
html[data-auth-mode="register"] .auth-gate-version{display:none}
html[data-auth-mode="register"] .auth-gate-console::before{content:none}
html[data-auth-mode="register"] .auth-gate-console::after{content:"";position:absolute;z-index:1;left:14.8%;right:14.8%;top:24.3%;bottom:5.8%;background:linear-gradient(180deg,#020c15 0%,#010912 100%)}
html[data-auth-mode="register"] .auth-gate form{z-index:2}
html[data-auth-mode="register"] .auth-gate form>label:not(.auth-gate-remember){left:24.7%;right:17.5%}
html[data-auth-mode="register"] .auth-gate form>label:nth-of-type(1){top:31.1%;height:7.8%}
html[data-auth-mode="register"] .auth-gate form>label:nth-of-type(2){top:42.5%;height:7.8%}
html[data-auth-mode="register"] .auth-gate form>label[data-auth-confirm]{left:17.2%;right:17.5%;top:53.9%;height:7.8%}
html[data-auth-mode="register"] .auth-gate form>label[data-auth-confirm] input{padding-left:11.5%}
html[data-auth-mode="register"] .auth-gate input:not([type="checkbox"]){padding:0 4%;font-size:clamp(12px,1.6vw,17px)!important}
.auth-gate input::placeholder{color:#71838d;opacity:1}
html[data-auth-mode="register"] .auth-gate-password-help{position:absolute;z-index:2;left:24.7%;right:17.5%;top:64.3%;display:grid;grid-template-columns:1fr 1.35fr;gap:4px 12px;margin:0;padding:0;list-style:none;color:#9fc3ce;font-size:clamp(8px,1vw,11px);line-height:1.2}
html[data-auth-mode="register"] .auth-gate-password-help li::before{content:"✓";margin-right:5px;color:#57d7ed}
html[data-auth-mode="register"] .auth-gate .auth-gate-remember{left:24.7%;top:68.8%;width:35%;height:3.9%;gap:7px;color:#c6dce4;font-size:clamp(9px,1vw,11px)}
html[data-auth-mode="register"] .auth-gate .auth-gate-remember::before{content:"";display:block;width:18px;min-width:18px;height:18px;border:1px solid #4a9db7;background:#061522;box-shadow:inset 0 0 5px rgba(46,194,231,.24)}
html[data-auth-mode="register"] .auth-gate .auth-gate-remember:has(input:checked)::after{width:18px;height:18px;inset:0 auto auto 0}
html[data-auth-mode="register"] .auth-gate .auth-gate-remember input{position:absolute;inset:0 auto auto 0;width:18px;height:18px}
html[data-auth-mode="register"] .auth-gate .auth-gate-remember span{align-self:center}
html[data-auth-mode="register"] .auth-gate-submit{left:20.5%;right:19.3%;top:73.5%;height:7.7%;min-height:44px;border:1px solid #c8964e!important;background:linear-gradient(180deg,#0b2c40,#03101c)!important;color:#f4dba5!important;font:600 clamp(11px,1.65vw,17px)/1 Cinzel,Georgia,serif;letter-spacing:.08em}
html[data-auth-mode="register"] .auth-gate-providers{position:absolute;z-index:3;left:20.5%;right:19.3%;top:84.8%;display:block;text-align:center}
html[data-auth-mode="register"] .auth-gate-providers>div{display:grid;grid-template-columns:1fr 1fr;gap:7px}
html[data-auth-mode="register"] .auth-gate-providers button{min-height:44px;padding:4px 7px;border:1px solid rgba(78,201,232,.58);border-radius:3px;background:rgba(2,18,30,.94);color:#d6edf2;font:600 clamp(9px,1.1vw,11px)/1.1 "Segoe UI",sans-serif;cursor:pointer}
html[data-auth-mode="register"] .auth-gate-providers button:hover,html[data-auth-mode="register"] .auth-gate-providers button:focus-visible{border-color:#58d9f3;box-shadow:0 0 10px rgba(37,190,224,.28);outline:none}
html[data-auth-mode="register"] .auth-gate-providers button:disabled{opacity:1;cursor:not-allowed}
html[data-auth-mode="register"] .auth-gate-modes{z-index:5;left:56%;right:17.5%;top:21.3%;height:9.5%}
html[data-auth-mode="register"] .auth-gate-modes button[data-auth-mode="register"]{display:none}
html[data-auth-mode="register"] .auth-gate-modes button[data-auth-mode="login"]{display:block;border:1px solid rgba(182,140,68,.85);border-radius:2px;background:transparent;color:#55d9ee;font:600 clamp(8px,1vw,10px)/1 "Segoe UI",sans-serif;letter-spacing:.05em;text-transform:uppercase}
html[data-auth-mode="register"] .auth-gate-status{z-index:4;left:20.5%;right:19.3%;top:62.7%;padding:3px;background:#020c15;color:#e8b6a8;font-size:8px!important;text-align:center;white-space:normal}
html[data-auth-mode="register"] .auth-gate-status:empty{display:none}

@media(max-width:520px){
  .auth-gate-server,.auth-gate-settings{top:8px}
  .auth-gate-server{left:8px}
  .auth-gate-settings{right:8px}
  .auth-server-button{min-width:192px;padding-inline:9px;grid-template-columns:auto minmax(92px,auto) auto}
  .auth-server-menu{width:min(270px,calc(100vw - 16px))}
  .auth-settings-menu{width:min(280px,calc(100vw - 16px))}
  .auth-gate-card{width:min(95vw,420px);height:auto;min-height:0;aspect-ratio:1312/1199;margin:auto 0}
  html[data-auth-mode="register"] .auth-gate-card{height:auto;min-height:0;aspect-ratio:1312/1199}
  .auth-gate input:not([type="checkbox"]){min-height:44px;font-size:clamp(13px,4vw,20px)}
  .auth-gate-submit,.auth-gate-modes,.auth-gate-modes button{min-height:44px}
  .auth-gate-status{font-size:9px}
  html[data-auth-mode="register"] .auth-gate-modes,
  html[data-auth-mode="register"] .auth-gate-modes button{min-height:32px}
  html[data-auth-mode="register"] .auth-gate form>label:nth-of-type(1){top:31.1%;height:10%}
  html[data-auth-mode="register"] .auth-gate form>label:nth-of-type(2){top:41.8%;height:10%}
  html[data-auth-mode="register"] .auth-gate form>label[data-auth-confirm]{top:52.5%;height:10%}
  html[data-auth-mode="register"] .auth-gate input:not([type="checkbox"]){min-height:32px;font-size:clamp(12px,3.7vw,16px)!important}
  html[data-auth-mode="register"] .auth-gate-password-help{top:63.4%;gap:2px 6px;font-size:clamp(7px,2.2vw,9px)}
  html[data-auth-mode="register"] .auth-gate .auth-gate-remember{top:70.2%;height:4.8%;font-size:clamp(8px,2.4vw,10px)}
  html[data-auth-mode="register"] .auth-gate .auth-gate-remember::before,
  html[data-auth-mode="register"] .auth-gate .auth-gate-remember input,
  html[data-auth-mode="register"] .auth-gate .auth-gate-remember:has(input:checked)::after{width:16px;min-width:16px;height:16px}
  html[data-auth-mode="register"] .auth-gate-submit{top:76.4%;height:11%;min-height:36px}
  html[data-auth-mode="register"] .auth-gate-providers{top:88%}
  html[data-auth-mode="register"] .auth-gate-providers button{min-height:32px}
}

@media (prefers-reduced-motion: reduce) {
  .auth-gate *,
  .auth-gate *::before,
  .auth-gate *::after {
    scroll-behavior: auto !important;
    transition: none !important;
    animation: none !important;
  }
}
