
:root{
  color-scheme:dark;
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  background:#05080d;
  color:#f7ead0;
  --bg:#05080d;
  --panel:#0a1420cc;
  --panel-solid:#101a26;
  --line:#3d5a70;
  --line-gold:#d7a94e;
  --cyan:#65e3de;
  --gold:#f2c56f;
  --gold-deep:#9b6a25;
  --pink:#ff3ebd;
  --muted:#a9bad0;
  --text:#f7ead0;
}
*{box-sizing:border-box}
body{
  margin:0;
  min-height:100vh;
  background:
    linear-gradient(180deg,rgba(5,8,13,.52),rgba(5,8,13,.92) 46%,#05080d),
    radial-gradient(ellipse at top right,rgba(255,62,189,.24),transparent 42%),
    radial-gradient(ellipse at top left,rgba(101,227,222,.18),transparent 40%),
    url('/static/cyberpunk_city_rain.png') center top/cover fixed no-repeat;
}
body:before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  background:linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px);
  background-size:44px 44px;
  mask-image:linear-gradient(#000,transparent 72%);
}
main{max-width:1180px;margin:auto;padding:34px 22px 46px;position:relative;z-index:1}
h1{font-size:clamp(34px,6vw,64px);letter-spacing:.02em;line-height:.98;margin:10px 0 12px;text-transform:uppercase}
h2{margin:12px 0;color:var(--text)}
p{color:var(--muted);line-height:1.6}.brand{display:flex;align-items:center;gap:16px;letter-spacing:.24em;font-size:12px;color:var(--cyan);text-transform:uppercase}.brand img{width:76px;height:76px;object-fit:cover;border:1px solid rgba(215,169,78,.35);box-shadow:0 0 28px rgba(215,169,78,.22)}
.panel,article{
  background:linear-gradient(145deg,rgba(16,26,38,.92),rgba(6,12,20,.88));
  border:1px solid rgba(215,169,78,.35);
  border-radius:22px;
  padding:28px;
  box-shadow:0 18px 70px rgba(0,0,0,.36),inset 0 1px rgba(255,255,255,.08);
  backdrop-filter:blur(10px);
}
.panel{max-width:470px;margin:8vh 0 8vh auto;position:relative;overflow:hidden}.panel:before{content:"";position:absolute;inset:0 0 auto auto;width:160px;height:160px;background:url('/static/athena_owl_roundel.png') center/contain no-repeat;opacity:.16;transform:translate(28px,-30px);pointer-events:none}
input,button,a.launch,summary{font:inherit;border-radius:12px;padding:13px 18px}
input{width:100%;background:rgba(5,8,13,.72);border:1px solid rgba(101,227,222,.34);color:white;margin:12px 0 16px;outline:none}input:focus{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(101,227,222,.14)}
button,a.launch{
  background:linear-gradient(135deg,var(--gold),#ffe6a3 48%,var(--gold-deep));
  color:#091016;
  border:0;
  cursor:pointer;
  text-decoration:none;
  font-weight:750;
  display:inline-block;
  text-transform:uppercase;
  letter-spacing:.06em;
  box-shadow:0 10px 30px rgba(215,169,78,.22);
}
button:hover,a.launch:hover{transform:translateY(-1px);filter:saturate(1.08)}
button:disabled{opacity:.6;cursor:not-allowed;transform:none}
button.secondary{background:rgba(20,34,49,.86);color:white;border:1px solid rgba(101,227,222,.35);box-shadow:none}
#grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;margin-top:28px}
article{display:flex;flex-direction:column;min-height:245px;position:relative;overflow:hidden}article:after{content:"";position:absolute;inset:auto 16px 16px auto;width:68px;height:68px;background:url('/static/athena_a_cyan_circle.png') center/contain no-repeat;opacity:.16;pointer-events:none}article p{flex:1}.tag{font-size:12px;color:var(--cyan);letter-spacing:.12em;text-transform:uppercase}.pending{color:#d8c294;font-size:14px;padding:12px 0;text-transform:uppercase;letter-spacing:.08em}.hidden{display:none!important}.error,#email-message{color:#ffb5d9;min-height:24px}header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding-top:34px}footer{color:#93a6bd;font-size:13px;margin-top:32px}
.registration-note{font-size:13px;color:var(--muted);margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}
details{margin:18px 0 0;color:var(--muted)}summary{cursor:pointer;border:1px solid rgba(101,227,222,.24);display:inline-block;margin-bottom:12px;color:var(--cyan)}
.button-row{display:flex;gap:12px;flex-wrap:wrap}.button-row button{flex:1 1 180px}
.status-panel{margin-top:34px;padding-top:28px;border-top:1px solid rgba(101,227,222,.22)}.status-panel h2{font-size:clamp(26px,4vw,42px);text-transform:uppercase;letter-spacing:.08em}.status-note{margin-top:-4px}.status-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}.status-card{min-height:230px;border-color:rgba(101,227,222,.22)}.status-card h3{font-size:22px;margin:12px 0;color:var(--text)}.server-state{color:#d8c294}.player-list{font-size:14px}.status-card.online{border-color:rgba(101,227,222,.55)}.status-card.online .server-state{color:var(--cyan)}.status-card.not-responding .server-state{color:#ffb5d9}.status-card.process-running .server-state{color:var(--gold)}
.error-page{min-height:100vh;display:flex;flex-direction:column}.error-hero{margin:8vh 0 0;max-width:760px;min-height:470px;display:flex;flex-direction:column;justify-content:flex-end;background:linear-gradient(90deg,rgba(6,12,20,.96),rgba(6,12,20,.70)),var(--error-image) center/cover no-repeat}.error-hero h1{font-size:clamp(76px,17vw,160px);color:var(--cyan);text-shadow:0 0 28px rgba(101,227,222,.38);margin:0}.error-hero h2{text-transform:uppercase;letter-spacing:.16em;color:var(--gold)}
.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.7);display:flex;align-items:center;justify-content:center;z-index:1000;backdrop-filter:blur(8px)}.modal-content{background:var(--panel-solid);padding:30px;border-radius:15px;max-width:500px;width:90%;position:relative;border:1px solid var(--line)}.modal-content h2{margin-top:0}.close-button{position:absolute;top:10px;right:10px;background:none;border:0;font-size:28px;color:var(--muted);cursor:pointer;padding:5px;line-height:1}.close-button:hover{color:var(--text)}#request-form button{width:100%;margin-top:10px}
@media (min-width:900px){#dashboard:before{content:"";display:block;min-height:230px;margin:20px 0 28px;border:1px solid rgba(215,169,78,.32);border-radius:26px;background:linear-gradient(90deg,rgba(5,8,13,.58),rgba(5,8,13,.24)),url('/static/athena_server_network_hero.png') center/cover no-repeat;box-shadow:0 20px 80px rgba(0,0,0,.34)}}
@media (max-width:720px){main{padding:24px 16px 34px}.brand{gap:12px;letter-spacing:.16em;align-items:flex-start}.brand img{width:58px;height:58px}.panel{margin:42px 0;padding:22px}header{flex-direction:column;padding-top:18px}header .secondary{width:100%}button,a.launch{width:100%;text-align:center}h1{font-size:clamp(32px,14vw,48px)}body{background-attachment:scroll}.status-grid,#grid{grid-template-columns:1fr}.error-hero{min-height:560px;background-position:center}.button-row{display:block}.button-row button+button{margin-top:10px}}
/* Visual pass: reusable Athena trim and icon treatment */
button,a.launch,summary{position:relative;isolation:isolate;transition:transform .18s ease,filter .18s ease,box-shadow .18s ease;border:1px solid rgba(242,197,111,.55)}
button::before,a.launch::before{content:"";position:absolute;inset:3px;border:1px solid rgba(255,255,255,.2);border-radius:9px;pointer-events:none;opacity:.7}
button:hover,a.launch:hover{box-shadow:0 12px 34px rgba(101,227,222,.2),0 0 0 1px rgba(101,227,222,.28)}

article:nth-child(3n+1)::after{background-image:url('/static/athena_a_cyan_circle.png')}
article:nth-child(3n+2)::after{background-image:url('/static/athena_owl_roundel.png')}
article:nth-child(3n)::after{background-image:url('/static/athena_coin_profile.png')}
.brand img{object-fit:contain;background:rgba(5,8,13,.7);padding:4px}

.portal-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:34px;padding:20px 22px;border:1px solid rgba(101,227,222,.3);border-radius:18px;background:linear-gradient(110deg,rgba(10,20,32,.94),rgba(20,30,42,.72));box-shadow:0 12px 38px rgba(0,0,0,.24)}.portal-footer div{display:flex;flex-direction:column;gap:4px}.portal-footer strong{color:var(--gold);font-size:16px;letter-spacing:.04em;text-transform:uppercase}.portal-footer span{color:var(--muted)}@media(max-width:720px){.portal-footer{flex-direction:column;align-items:stretch}.portal-footer button{width:100%}}
