/* ================= Entry screen and sign-in (2026) ================= */
#gate .gate-in{gap:16px;padding-block:18px 28px}
#gate .om{font-size:6.4rem;margin-top:4px;background:linear-gradient(180deg,#fff3c8 0%,#f6c35a 45%,#d9822b 100%);-webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 0 28px rgba(244,187,79,.55));position:relative}
#gate .om::after{content:"";position:absolute;left:50%;top:52%;width:180px;height:180px;margin:-90px 0 0 -90px;border-radius:50%;z-index:-1;
  background:radial-gradient(circle,rgba(244,187,79,.28),transparent 65%);animation:breathe 5s ease-in-out infinite}
#gate .gname{font-size:2.5rem;letter-spacing:.01em;background:linear-gradient(180deg,#fff 40%,#f2d9a6);-webkit-background-clip:text;background-clip:text;color:transparent}
#gate .gname small{-webkit-text-fill-color:var(--night-muted);font-size:.95rem}
#gate .gcard{gap:12px;padding:20px;border-radius:30px;
  background:linear-gradient(150deg,rgba(255,255,255,.17),rgba(255,255,255,.05) 45%,rgba(255,255,255,.08));
  border:1px solid rgba(255,255,255,.22);box-shadow:inset 0 1px 0 rgba(255,255,255,.45),0 30px 60px -24px rgba(0,0,0,.75);
  -webkit-backdrop-filter:blur(30px) saturate(190%);backdrop-filter:blur(30px) saturate(190%)}

/* Sign in with Apple / Google: brand-correct colours, glass depth, large touch targets */
.sso{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:56px;border-radius:18px;cursor:pointer;
  font:600 1.07rem/1 -apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Roboto,var(--f-body);letter-spacing:-.005em;
  transition:transform .2s cubic-bezier(.3,1.4,.5,1),box-shadow .25s ease,filter .25s ease}
.sso:hover{transform:translateY(-1px)}
.sso:active{transform:scale(.975)}
.sso:focus-visible{outline:2px solid #f4bb4f;outline-offset:3px}
.sso svg{width:20px;height:20px;flex:none;position:relative}
.sso span{position:relative}
.sso::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.45) 48%,transparent 60%);background-size:260% 100%;background-position:130% 0;transition:background-position .9s ease}
.sso:hover::after{background-position:-130% 0}
.sso.apple{background:linear-gradient(180deg,#ffffff 0%,#f2f2f4 100%);color:#000;border:0;
  box-shadow:inset 0 1px 0 #fff,inset 0 -2px 0 rgba(0,0,0,.06),0 1px 1px rgba(0,0,0,.2),0 14px 30px -14px rgba(255,255,255,.5),0 0 0 1px rgba(255,255,255,.35)}
.sso.apple svg{width:18px;height:21px;margin-top:-3px}
.sso.google{background:linear-gradient(180deg,#1f1f20 0%,#131314 100%);color:#e3e3e3;border:1px solid #8e918f;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 14px 30px -16px rgba(0,0,0,.9)}
.sso.google::after{background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.14) 48%,transparent 60%);background-size:260% 100%;background-position:130% 0}
.sso.google svg{width:20px;height:20px;background:#fff;border-radius:50%;padding:3px;box-sizing:content-box;margin-left:-4px}
.sso[aria-busy="true"]{opacity:.65;pointer-events:none}
.sso + .sso{margin-top:2px}
@media (prefers-reduced-motion:reduce){.sso,.sso::after{transition:none}}
.or{display:flex;align-items:center;gap:12px;color:var(--night-muted);font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;margin:4px 0}
.or::before,.or::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.25),transparent)}

.authtabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;border-radius:16px;background:rgba(0,0,0,.25);border:1px solid rgba(255,255,255,.1)}
.authtabs button{border:0;border-radius:12px;padding:10px;background:transparent;color:var(--night-muted);font:600 .95rem var(--f-body);cursor:pointer;transition:all .25s ease}
.authtabs button[aria-selected="true"]{background:linear-gradient(180deg,rgba(255,255,255,.26),rgba(255,255,255,.1));color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.5)}
.authform{display:flex;flex-direction:column;gap:10px}
.authform[data-mode="signin"] [data-only="create"],.authform[data-mode="create"] [data-only="signin"]{display:none}
.fld{display:flex;flex-direction:column;gap:6px}
.fld>span{font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--night-muted)}
.fld em{font-style:normal;text-transform:none;letter-spacing:0;opacity:.75}
#gate .gin{background:rgba(0,0,0,.28);border:1px solid rgba(255,255,255,.16);border-radius:14px;min-height:48px;color:var(--night-ink);box-shadow:inset 0 1px 2px rgba(0,0,0,.3)}
#gate .gin:focus{outline:none;border-color:rgba(244,187,79,.7);box-shadow:0 0 0 3px rgba(244,187,79,.2)}
#gate input[type="date"]{color-scheme:dark}
.pw{position:relative;display:block}
.pw .gin{width:100%;padding-right:70px}
.pwshow{position:absolute;right:8px;top:50%;transform:translateY(-50%);border:0;background:rgba(255,255,255,.1);color:var(--night-ink);border-radius:10px;padding:6px 10px;font:600 .8rem var(--f-body);cursor:pointer}
.authmsg{margin:0;min-height:1.2em;font-size:.9rem;color:var(--night-muted);text-align:center}
.authmsg.err{color:#ffab90}
.authmsg.ok{color:#8de3b1}
#gate .gbtn{min-height:52px;border-radius:16px;font-size:1.05rem}
#gate .gbtn[aria-busy="true"]{opacity:.7}

/* Returning devotee */
.wb{display:flex;align-items:center;gap:14px;padding:4px 2px}
.wb b{display:block;font:400 1.5rem/1.15 var(--f-display);color:#fff}
.wbav{width:52px;height:52px;flex:none;border-radius:50%;display:grid;place-items:center;font:400 1.6rem var(--f-display);color:#1d1405;
  background:var(--liquid-gold,linear-gradient(180deg,#ffe19a,#e08d2b));box-shadow:inset 0 1px 0 rgba(255,255,255,.7),0 8px 20px -8px rgba(244,160,60,.8)}
#gate:not(.returning) #enterBtn{display:none}
#gate.returning #agreeRow,#gate.returning #docLinks{display:none}

/* Entry sound tucked away */
.soundpick{border-top:1px solid rgba(255,255,255,.1);padding-top:10px}
.soundpick summary{display:flex;justify-content:space-between;align-items:center;gap:10px;cursor:pointer;list-style:none;color:var(--night-ink);font-size:.92rem}
.soundpick summary::-webkit-details-marker{display:none}
.soundpick summary::after{content:"";width:8px;height:8px;border-right:1.6px solid var(--night-muted);border-bottom:1.6px solid var(--night-muted);transform:rotate(45deg);margin-left:4px;transition:transform .2s}
.soundpick[open] summary::after{transform:rotate(-135deg)}
.soundpick summary .glbl{margin-right:auto}
.soundpick[open] .sounds{margin-top:12px}
.soundpick .grow{margin-top:10px}
@media (prefers-reduced-motion:reduce){#gate .om::after{animation:none}}
