:root{
  --bg:#03070a;
  --panel:rgba(5,12,17,.78);
  --panel-strong:rgba(3,9,14,.94);
  --white:#f4f7f9;
  --muted:#9ba8b1;
  --muted-2:#6f7c85;
  --cyan:#20d8f2;
  --cyan-soft:rgba(32,216,242,.14);
  --discord:#5865f2;
  --line:rgba(181,219,232,.13);
}
*{box-sizing:border-box}
html,body{width:100%;min-height:100%;margin:0}
html{color-scheme:dark}
body{
  min-height:100vh;
  overflow:hidden;
  background:var(--bg);
  color:var(--white);
  font-family:Inter,"Segoe UI",Arial,sans-serif;
  -webkit-font-smoothing:antialiased;
}
button,a{font:inherit}
[hidden]{display:none!important}
.login-page{
  position:relative;
  min-height:100vh;
  isolation:isolate;
  overflow:hidden;
  display:flex;
  align-items:center;
  padding:72px clamp(28px,7vw,124px);
}
.login-bg{
  position:absolute;
  inset:-24px;
  z-index:-4;
  background:url("../images/hollywood-bg.webp") center 52%/cover no-repeat;
  transform:scale(1.035) translateZ(0);
  filter:saturate(.72) contrast(1.03);
}
.login-overlay{
  position:absolute;
  inset:0;
  z-index:-3;
  background:
    radial-gradient(circle at 68% 43%,rgba(239,166,106,.13),transparent 29%),
    linear-gradient(90deg,rgba(1,5,8,.93) 0%,rgba(2,7,11,.78) 34%,rgba(2,6,10,.38) 62%,rgba(1,4,7,.78) 100%),
    linear-gradient(180deg,rgba(1,5,8,.13),rgba(1,5,8,.68));
}
.login-grain{
  position:absolute;
  inset:0;
  z-index:-2;
  opacity:.15;
  pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.02) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.016) 1px,transparent 1px);
  background-size:42px 42px;
  mask-image:linear-gradient(to right,black,transparent 76%);
}
.login-card{
  width:min(520px,100%);
  padding:32px 34px 29px;
  border:1px solid var(--line);
  border-radius:16px;
  background:linear-gradient(145deg,rgba(8,17,23,.88),rgba(3,9,14,.76));
  box-shadow:0 34px 95px rgba(0,0,0,.45),inset 0 1px rgba(255,255,255,.035);
  backdrop-filter:blur(20px) saturate(115%);
  animation:cardIn .62s cubic-bezier(.2,.8,.2,1) both;
  contain:layout paint;
}
.login-card:before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:2px;
  border-radius:16px 0 0 16px;
  background:linear-gradient(180deg,transparent,var(--cyan),transparent);
  box-shadow:0 0 24px rgba(32,216,242,.48);
}
@keyframes cardIn{
  from{opacity:0;transform:translateY(14px);filter:blur(4px)}
  to{opacity:1;transform:none;filter:none}
}
.login-brand{display:flex;align-items:center;gap:12px;margin-bottom:30px}
.login-brand img{width:54px;height:34px;object-fit:contain;filter:drop-shadow(0 0 16px rgba(32,216,242,.12))}
.login-brand div{display:flex;flex-direction:column;gap:2px;padding-left:12px;border-left:1px solid rgba(255,255,255,.1)}
.login-brand span{color:var(--muted-2);font-size:10px;font-weight:800;letter-spacing:.19em;text-transform:uppercase}
.login-brand strong{color:#eaf2f6;font-size:13px;letter-spacing:.04em}
.secure-pill{
  width:max-content;
  display:flex;
  align-items:center;
  gap:8px;
  padding:7px 10px;
  border:1px solid rgba(32,216,242,.17);
  border-radius:7px;
  background:rgba(32,216,242,.055);
  color:#b5eaf1;
  font-size:10px;
  font-weight:850;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.secure-pill svg{width:13px;height:13px;fill:var(--cyan)}
.login-eyebrow{margin:22px 0 7px;color:var(--cyan);font-size:11px;font-weight:850;letter-spacing:.2em;text-transform:uppercase}
.login-card h1{
  margin:0;
  color:#f6f8f9;
  font-size:clamp(43px,4.2vw,62px);
  line-height:.96;
  font-weight:900;
  letter-spacing:-.055em;
  text-transform:uppercase;
  text-shadow:0 10px 32px rgba(0,0,0,.28);
}
.login-description{
  max-width:430px;
  margin:16px 0 24px;
  color:#aab5bc;
  font-size:14px;
  line-height:1.72;
}
.discord-button{
  width:100%;
  min-height:52px;
  display:flex;
  align-items:center;
  gap:12px;
  padding:0 17px;
  border:1px solid rgba(119,132,255,.38);
  border-radius:9px;
  background:linear-gradient(135deg,rgba(88,101,242,.92),rgba(72,83,213,.92));
  box-shadow:0 14px 36px rgba(42,51,145,.27),inset 0 1px rgba(255,255,255,.16);
  color:#fff;
  text-decoration:none;
  font-size:10px;
  font-weight:900;
  letter-spacing:.09em;
  text-transform:uppercase;
  transition:transform .2s ease,box-shadow .2s ease,filter .2s ease,border-color .2s ease;
}
.discord-button:hover{
  transform:translateY(-2px);
  filter:brightness(1.06);
  border-color:rgba(150,160,255,.72);
  box-shadow:0 18px 42px rgba(42,51,145,.37),0 0 28px rgba(88,101,242,.16);
}
.discord-button:focus-visible,.logout-button:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}
.discord-button .discord-icon{width:21px;height:21px;fill:currentColor;flex:0 0 auto}
.discord-button span{flex:1;text-align:left}
.discord-button b{font-size:18px;font-weight:500;line-height:1}
.connected-profile{
  display:flex;
  align-items:center;
  gap:13px;
  margin:0 0 15px;
  padding:12px;
  border:1px solid rgba(255,255,255,.085);
  border-radius:10px;
  background:rgba(0,5,9,.42);
}
.connected-profile img{width:46px;height:46px;border-radius:9px;object-fit:cover;border:1px solid rgba(255,255,255,.1)}
.connected-profile div{min-width:0;display:flex;flex-direction:column}
.connected-profile small{color:var(--muted-2);font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.connected-profile strong{margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}
.connected-profile span{margin-top:3px;color:var(--cyan);font-size:11px;font-weight:800}
.connected-button-row{display:grid;grid-template-columns:1fr auto;gap:9px}
.site-access-button{min-width:0;background:linear-gradient(135deg,rgba(16,168,194,.94),rgba(7,121,146,.94));border-color:rgba(70,225,247,.34);box-shadow:0 14px 34px rgba(0,118,142,.2)}
.logout-button{
  min-height:52px;
  padding:0 15px;
  border:1px solid rgba(255,255,255,.09);
  border-radius:9px;
  background:rgba(255,255,255,.025);
  color:#9ba7ae;
  font-size:9px;
  font-weight:850;
  text-transform:uppercase;
  cursor:pointer;
  transition:.2s ease;
}
.logout-button:hover{color:#fff;border-color:rgba(255,255,255,.18);background:rgba(255,255,255,.055)}
.logout-button:disabled{opacity:.5;cursor:not-allowed}
.error{
  margin:13px 0 0;
  padding:10px 12px;
  border:1px solid rgba(255,92,109,.3);
  border-radius:8px;
  background:rgba(255,70,91,.085);
  color:#ffabb5;
  font-size:12px;
  line-height:1.5;
}
.security-notes{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px 15px;
  margin-top:21px;
  padding-top:18px;
  border-top:1px solid rgba(255,255,255,.065);
  color:#73818a;
  font-size:10px;
  font-weight:700;
}
.security-notes span{display:flex;align-items:center;gap:6px}
.security-notes i{width:4px;height:4px;border-radius:50%;background:var(--cyan);box-shadow:0 0 8px rgba(32,216,242,.7)}
.login-footer{
  position:absolute;
  left:clamp(28px,7vw,124px);
  right:clamp(28px,7vw,124px);
  bottom:22px;
  display:flex;
  justify-content:space-between;
  gap:16px;
  color:rgba(220,229,234,.38);
  font-size:10px;
  font-weight:750;
  letter-spacing:.13em;
  text-transform:uppercase;
}
@media(max-width:760px){
  body{overflow:auto}
  .login-page{min-height:100svh;align-items:center;padding:72px 18px 84px}
  .login-overlay{background:linear-gradient(180deg,rgba(1,5,8,.62),rgba(1,5,8,.88))}
  .login-card{margin:auto;padding:27px 22px 24px;border-radius:13px}
  .login-card:before{border-radius:13px 0 0 13px}
  .login-card h1{font-size:43px}
  .connected-button-row{grid-template-columns:1fr}
  .login-footer{left:18px;right:18px;bottom:16px;justify-content:center;flex-wrap:wrap;text-align:center}
}
@media(max-width:430px){
  .login-brand{margin-bottom:24px}
  .login-description{font-size:13px}
  .security-notes{display:grid;grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}
