:root{
  --bg:#050505;
  --card:#0d1117;
  --fg:#f7f7f7;
  --muted:#b8c0cc;
  --green:#45ff36;
  --pink:#ff4fd8;
  --cyan:#1ffcff;
  --yellow:#ffe45c;
  --red:#ff275d;
  --purple:#8b5cff;
  --line:rgba(255,255,255,.16);
}

*{box-sizing:border-box}

[hidden],
.hw-force-hidden{
  display:none!important;
}

html{
  min-height:100%;
  background:#050505;
}

body{
  margin:0;
  min-height:100vh;
  display:grid;
  place-items:center;
  background:
    radial-gradient(circle at 20% 20%,rgba(69,255,54,.15),transparent 35%),
    radial-gradient(circle at 80% 25%,rgba(255,79,216,.15),transparent 30%),
    radial-gradient(circle at 50% 100%,rgba(31,252,255,.13),transparent 38%),
    var(--bg);
  color:var(--fg);
  font-family:Arial,Helvetica,sans-serif;
  overflow-x:hidden;
}

body.account-page{
  padding-top:94px;
}

.auth-shell{
  width:min(980px,100% - 24px);
  padding:24px 0;
}

.account-shell{
  width:min(1120px,100% - 24px);
}

.card{
  border:1px solid rgba(69,255,54,.35);
  border-radius:24px;
  background:rgba(0,0,0,.55);
  padding:24px;
  box-shadow:0 0 30px rgba(69,255,54,.12);
  position:relative;
}

h1{
  margin:0 0 8px;
  font-size:clamp(2.2rem,7vw,4.8rem);
  line-height:.9;
  letter-spacing:-.06em;
  text-transform:uppercase;
}

.sub{
  margin:0 0 18px;
  color:var(--muted);
  line-height:1.5;
}

.grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}

.panel{
  display:grid;
  gap:10px;
  padding:14px;
  border:1px solid var(--line);
  border-radius:18px;
  background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.025)),var(--card);
}

label{
  display:grid;
  gap:6px;
  font-weight:800;
  color:#fff;
}

input,
select{
  padding:11px;
  border-radius:12px;
  border:1px solid #2d3748;
  background:#070b11;
  color:#fff;
  font:inherit;
}

button,
a{
  min-height:42px;
  padding:10px 14px;
  border-radius:999px;
  border:none;
  text-decoration:none;
  font-weight:900;
  cursor:pointer;
}

button{
  background:var(--green);
  color:#000;
}

button:disabled{
  opacity:.5;
  cursor:not-allowed;
}

.actions{
  margin-top:14px;
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
}

.actions a,
.auth-pill{
  background:#fff;
  color:#000;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}

.message{
  min-height:24px;
  margin:6px 0 10px;
  font-weight:900;
  color:#fff;
}

.message.error{color:#ff7b7b}
.message.success{color:var(--green)}
.message.warn{color:var(--yellow)}

.account-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  flex-wrap:wrap;
  margin-bottom:14px;
}

.mini-kicker{
  display:inline-flex;
  margin:0 0 10px;
  color:#061006;
  background:linear-gradient(90deg,var(--green),var(--cyan),var(--yellow));
  border-radius:999px;
  padding:8px 12px;
  font-weight:1000;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-size:.78rem;
}

.account-points{
  min-width:160px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:22px;
  background:radial-gradient(circle at top left,rgba(255,228,92,.18),transparent 40%),rgba(0,0,0,.35);
  padding:16px;
  text-align:center;
}

.account-points span{
  display:block;
  color:var(--muted);
  font-weight:900;
  text-transform:uppercase;
  font-size:.78rem;
}

.account-points strong{
  display:block;
  color:var(--yellow);
  font-size:2.4rem;
  line-height:1;
}

.account-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}

body.is-logged-out #accountPanel,
body.is-logged-in #loggedOutPanel{
  display:none!important;
}

body.is-logged-in #accountPanel{
  display:grid!important;
}

body.is-logged-out #loggedOutPanel{
  display:grid!important;
}

body.is-loading-account #accountPanel,
body.is-loading-account #loggedOutPanel{
  display:none!important;
}

.account-panel h2{
  margin:0 0 4px;
  text-transform:uppercase;
}

.status-stack{
  display:grid;
  gap:8px;
}

.status-stack p{
  margin:0;
  color:var(--muted);
  line-height:1.45;
}

.status-stack strong{color:#fff}

.fun-managements{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-top:10px;
}

.fun-managements button{
  background:linear-gradient(135deg,var(--green),var(--cyan));
  color:#020202;
}

.fun-managements button:nth-child(2){background:linear-gradient(135deg,var(--pink),var(--yellow))}
.fun-managements button:nth-child(3){background:linear-gradient(135deg,var(--cyan),var(--green))}
.fun-managements button:nth-child(4){background:linear-gradient(135deg,var(--red),var(--pink));color:#fff}

.account-actions button{
  background:linear-gradient(135deg,var(--red),var(--pink));
  color:#fff;
}

.account-actions a:nth-child(2){background:linear-gradient(135deg,var(--green),var(--cyan));color:#050505}
.account-actions a:nth-child(3){background:linear-gradient(135deg,var(--yellow),var(--pink));color:#050505}

.hw-user-chip{
  display:inline-flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  padding:10px 12px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:999px;
  background:rgba(0,0,0,.35);
  font-weight:900;
  box-shadow:0 0 18px rgba(57,255,122,.16);
  margin-top:12px;
}

.hw-user-icon{
  display:inline-grid;
  place-items:center;
  width:30px;
  height:30px;
  border-radius:999px;
  background:linear-gradient(135deg,var(--green),var(--cyan),var(--pink));
  color:#050505;
  font-size:1rem;
}

.hw-user-points{
  padding:5px 8px;
  border-radius:999px;
  background:var(--green);
  color:#050505;
  font-size:.78rem;
  font-weight:1000;
}

.avatar-picker{
  border:1px solid rgba(255,255,255,.18);
  border-radius:18px;
  padding:12px;
  margin:10px 0;
  background:rgba(0,0,0,.18);
}

.avatar-picker legend{
  font-weight:900;
  padding:0 8px;
}

.avatar-choice-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-top:8px;
}

.avatar-choice-row label{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:12px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(0,0,0,.28);
  cursor:pointer;
  font-weight:900;
}

.avatar-choice-row input{
  width:auto;
  margin:0;
  accent-color:var(--green);
}

.hw-gta-hud{
  position:fixed;
  top:max(12px,env(safe-area-inset-top));
  left:max(12px,env(safe-area-inset-left));
  z-index:9999;
  display:flex;
  align-items:center;
  gap:10px;
  min-height:54px;
  padding:8px 12px 8px 8px;
  border:1px solid rgba(69,255,54,.45);
  border-radius:18px;
  background:linear-gradient(135deg,rgba(0,0,0,.92),rgba(8,19,15,.84));
  box-shadow:0 0 22px rgba(69,255,54,.20), inset 0 0 18px rgba(31,252,255,.07);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  isolation:isolate;
}

.hw-gta-hud::before{
  content:"";
  position:absolute;
  inset:5px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.08);
  pointer-events:none;
}

.hw-hud-icon-stack{
  display:grid;
  grid-template-columns:24px 24px;
  gap:4px;
  align-items:center;
}

.hw-hud-icon{
  display:grid;
  place-items:center;
  width:24px;
  height:24px;
  border-radius:8px;
  background:linear-gradient(135deg,var(--green),var(--cyan));
  color:#030303;
  font-size:14px;
  font-weight:1000;
  box-shadow:0 0 12px rgba(31,252,255,.18);
}

.hw-hud-icon:nth-child(2){background:linear-gradient(135deg,var(--yellow),var(--pink))}
.hw-hud-icon:nth-child(3){background:linear-gradient(135deg,var(--cyan),var(--purple));color:#fff}
.hw-hud-icon:nth-child(4){background:linear-gradient(135deg,var(--red),var(--pink));color:#fff}

.hw-hud-readout{
  display:grid;
  gap:2px;
  min-width:92px;
}

.hw-hud-label{
  color:rgba(255,255,255,.72);
  font-size:.62rem;
  line-height:1;
  letter-spacing:.14em;
  text-transform:uppercase;
  font-weight:1000;
}

.hw-hud-points{
  color:var(--green);
  font-size:1.22rem;
  line-height:1;
  font-weight:1000;
  text-shadow:0 0 12px rgba(69,255,54,.50);
  font-variant-numeric:tabular-nums;
}

.hw-hud-name{
  color:rgba(255,255,255,.82);
  font-size:.72rem;
  line-height:1.05;
  max-width:128px;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
  font-weight:900;
}

.hw-hud-status{
  display:inline-flex;
  align-items:center;
  gap:5px;
  color:var(--yellow);
  font-size:.64rem;
  line-height:1;
  font-weight:1000;
  text-transform:uppercase;
}

.hw-hud-status::before{
  content:"";
  width:6px;
  height:6px;
  border-radius:999px;
  background:var(--green);
  box-shadow:0 0 10px var(--green);
}

@media(max-width:760px){
  body.account-page{padding-top:88px}
  .grid,.account-grid{grid-template-columns:1fr}
  .fun-managements{grid-template-columns:1fr}
  .avatar-choice-row{grid-template-columns:1fr}
  .hw-user-chip{border-radius:18px}
  .hw-gta-hud{
    min-height:48px;
    max-width:calc(100vw - 24px);
    padding:7px 10px 7px 7px;
    border-radius:16px;
  }
  .hw-hud-icon-stack{
    grid-template-columns:21px 21px;
    gap:3px;
  }
  .hw-hud-icon{
    width:21px;
    height:21px;
    border-radius:7px;
    font-size:12px;
  }
  .hw-hud-points{font-size:1.05rem}
  .hw-hud-name{max-width:96px}
}
