/* ZeroCore Account System — complements the original v3 homepage without replacing its design. */
.account-entry {
  flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;gap:9px;
  min-height:38px;padding:7px 9px;color:#c5d3db;border:1px solid rgba(160,185,202,.24);
  border-radius:3px;background:rgba(15,25,35,.58);font:800 11px/1.2 var(--body);
  white-space:nowrap;transition:border-color .2s,background .2s,color .2s;
}
.account-entry:hover,.account-entry:focus-visible {color:#fff;border-color:#8aa7b7;background:#17232f}
.account-entry[data-authenticated="true"] {color:#eaf7f9;border-color:rgba(102,212,227,.5)}
.account-entry svg {width:17px;height:17px;flex:0 0 17px;stroke-linecap:round;stroke-linejoin:round}

.auth-stage,.account-stage {position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 8% 10%,rgba(149,42,59,.20),transparent 41%),radial-gradient(ellipse at 92% 33%,rgba(29,95,123,.13),transparent 38%),#080e16}
.auth-stage::before,.account-stage::before {content:"";position:absolute;inset:0;pointer-events:none;z-index:-1;opacity:.5;background-image:linear-gradient(rgba(145,176,195,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(145,176,195,.07) 1px,transparent 1px);background-size:86px 86px;mask-image:linear-gradient(to bottom,black,transparent 93%)}
.auth-stage::after,.account-stage::after {content:"";position:absolute;top:-650px;left:-190px;width:1000px;height:1000px;border:1px solid rgba(224,78,101,.27);border-radius:50%;z-index:-1;box-shadow:inset 0 0 100px rgba(152,49,71,.11),0 0 110px rgba(173,40,69,.08)}
.auth-stage__orbit {position:absolute;z-index:-1;right:-350px;bottom:-430px;width:1000px;height:1000px;border-radius:50%;border:1px solid rgba(99,183,208,.15);transform:rotate(13deg) scaleY(.8);pointer-events:none}
.auth-layout {position:relative;min-height:calc(100vh - 210px);display:grid;grid-template-columns:minmax(0,1fr) minmax(375px,510px);align-items:center;gap:clamp(50px,8vw,150px);padding-top:clamp(72px,9vw,120px);padding-bottom:clamp(85px,9vw,130px)}
.auth-pitch {max-width:690px;align-self:center}
.auth-pitch .eyebrow {font:700 10px/1.6 var(--mono);letter-spacing:.24em;margin-bottom:30px}
.auth-pitch h1 {margin:0 0 26px;font:900 clamp(40px,4.3vw,78px)/1.1 var(--display);letter-spacing:0;max-width:740px;text-wrap:balance}
.auth-pitch h1 span {color:#b8c7d4}
.auth-pitch h1 em {color:#f15867;font-style:normal}
.auth-pitch > p {color:#b5c2cd;font:500 clamp(13px,1vw,15px)/1.9 var(--body);max-width:600px;margin:0 0 32px}
.auth-universes {display:flex;flex-wrap:wrap;gap:10px;margin-bottom:36px}
.auth-universe {display:inline-flex;align-items:center;gap:8px;min-height:34px;padding:9px 12px;border:1px solid rgba(184,200,215,.23);background:rgba(7,13,22,.6);font:700 9px var(--mono);letter-spacing:.055em;color:#d9e2e8}
.auth-universe i {width:6px;height:6px;background:var(--a);box-shadow:0 0 9px var(--a)}
.auth-universe--imperial {--a:#f1596c}.auth-universe--halo {--a:#71dce7}.auth-universe--warhammer {--a:#e0b972}
.auth-pitch__note {display:flex;align-items:flex-start;gap:12px;max-width:530px;padding-top:24px;border-top:1px solid rgba(174,193,207,.2);color:#8294a4;font:500 11px/1.85 var(--body)}
.auth-pitch__note > span {font-size:20px;line-height:1.2;color:#e65e6a}
.auth-panel {width:100%;border:1px solid rgba(161,184,199,.31);border-top:2px solid #dc4858;background:linear-gradient(158deg,rgba(18,29,41,.96),rgba(9,16,26,.97));box-shadow:0 35px 80px rgba(0,0,0,.3),0 0 60px rgba(139,37,61,.06);border-radius:4px;padding:clamp(25px,3vw,43px) clamp(23px,3.1vw,43px) 0}
.auth-panel__header {padding-bottom:25px;border-bottom:1px solid rgba(170,192,206,.18)}
.auth-panel__header .section-kicker,.account-card__number {font:700 10px/1.3 var(--mono);letter-spacing:.12em;color:#a7c6da}
.auth-panel__header h2 {font:900 clamp(26px,2.5vw,39px)/1.12 var(--display);margin:17px 0 9px}
.auth-panel__header p {color:#9aadb9;font:500 13px/1.7 var(--body);margin:0}
.auth-form {display:flex;flex-direction:column;align-items:stretch;padding-top:6px}
.auth-form label {display:block;margin:20px 0 9px;color:#b9cfdd;font:700 10px/1.4 var(--mono);letter-spacing:.14em}
.auth-form input,.auth-form select,.auth-form textarea {width:100%;min-width:0;min-height:49px;padding:13px 15px;border:1px solid rgba(149,174,189,.3);border-radius:2px;background:rgba(4,10,18,.65);color:#eef4f7;font:600 13px/1.5 var(--body);outline:none;transition:border-color .2s,box-shadow .2s}
.auth-form input::placeholder,.auth-form textarea::placeholder {color:#728594}
.auth-form input:focus,.auth-form select:focus,.auth-form textarea:focus {border-color:#7cb5c9;box-shadow:0 0 0 3px rgba(91,154,175,.13)}
.auth-form input:read-only {color:#8398a8;cursor:default;background:rgba(4,9,15,.35)}
.auth-form select {appearance:auto;cursor:pointer;color-scheme:dark}
.auth-form textarea {resize:vertical;min-height:105px}
.auth-password {position:relative}
.auth-password input {padding-right:103px}
.show-password {position:absolute;right:8px;top:50%;transform:translateY(-50%);padding:7px 9px;border:0;background:transparent;color:#91b3c6;font:700 10px var(--body)}
.show-password:hover {color:#eff8ff}
.field-hint {display:block;margin-top:7px;color:#899aa8;font:500 11px/1.7 var(--body)}
.auth-policy {margin-top:20px;padding:12px 15px;border-left:2px solid #687987;background:rgba(50,72,87,.15)}
.form-feedback {margin:20px 0 0;padding:12px 14px;border:1px solid rgba(232,80,97,.44);background:rgba(130,32,49,.14);color:#f5afb6;font:600 12px/1.65 var(--body)}
.form-feedback[data-kind="success"] {border-color:rgba(90,200,155,.43);background:rgba(32,109,83,.15);color:#a2ecd2}
.auth-submit {width:100%;margin-top:26px;display:flex;justify-content:space-between;font:800 12px var(--body);letter-spacing:.025em}
.auth-submit[disabled],.account-save[disabled] {opacity:.58;cursor:wait;pointer-events:none}
.auth-switch {margin:22px 0 25px;color:#91a6b6;text-align:center;font:600 12px/1.8 var(--body)}
.auth-switch a {color:#f6c1c5;text-decoration:underline;text-underline-offset:3px}
.auth-switch a:hover {color:#fff}
.auth-panel__bottom {display:flex;justify-content:space-between;gap:10px;margin:0 calc(clamp(23px,3.1vw,43px) * -1);padding:18px clamp(23px,3.1vw,43px);border-top:1px solid rgba(149,174,189,.2);color:#667f91;font:600 9px var(--mono);letter-spacing:.07em}

/* Account overview */
.account-stage {padding:70px 0 105px;min-height:calc(100vh - 210px)}
.account-loading {padding:90px 0;color:#9eb9cb;font:700 12px var(--mono);letter-spacing:.12em}
.account-hero {margin-bottom:38px}
.account-hero .eyebrow {font:700 10px var(--mono);letter-spacing:.12em;margin-bottom:24px}
.account-hero__row {display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:35px}
.account-hero__title h1 {font:900 clamp(39px,5vw,67px)/1.12 var(--display);margin:0 0 13px}
.account-hero__title h1 span {color:#b7c5d0}
.account-hero__title p {color:#9ab0bf;font:500 14px var(--body);margin:0}
.account-logout {flex:0 0 auto;min-height:42px;padding:10px 17px;display:flex;align-items:center;gap:30px;border:1px solid rgba(207,102,117,.45);border-radius:3px;background:rgba(112,32,43,.15);color:#f0c5c9;font:800 11px var(--body)}
.account-logout:hover {border-color:#e36775;background:rgba(149,40,58,.3)}
.profile-summary {display:flex;align-items:center;gap:22px;min-height:143px;padding:25px 30px;border:1px solid rgba(160,187,204,.26);border-left:3px solid #d64757;background:linear-gradient(90deg,rgba(38,46,60,.75),rgba(12,24,35,.78));box-shadow:0 15px 40px rgba(0,0,0,.17)}
.profile-avatar {display:grid;place-items:center;flex:0 0 78px;width:78px;height:78px;border:1px solid #ad465b;background:linear-gradient(130deg,#722332,#161d29);font:900 37px var(--display);color:#fff;border-radius:10px;text-transform:uppercase}
.profile-summary__label {font:700 9px var(--mono);letter-spacing:.13em;color:#8da9bc}
.profile-summary h2 {font:900 30px/1.3 var(--display);margin:4px 0;overflow-wrap:anywhere}
.profile-summary p {color:#96a9b9;font:600 12px/1.7 var(--body);margin:0}
.profile-summary__status {margin-left:auto;white-space:nowrap;display:flex;align-items:center;gap:8px;color:#abd8cb;font:700 9px var(--mono);letter-spacing:.05em}
.profile-summary__status i {width:7px;height:7px;background:#67d4b4;box-shadow:0 0 10px #67d4b4;border-radius:50%}
.account-grid {display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:24px;align-items:start}
.account-grid__aside {display:flex;flex-direction:column;gap:24px}
.account-card {padding:clamp(22px,2.5vw,35px);background:linear-gradient(155deg,rgba(18,29,41,.94),rgba(9,16,25,.94));border:1px solid rgba(151,178,195,.26);box-shadow:0 14px 45px rgba(0,0,0,.1)}
.account-card__heading {border-bottom:1px solid rgba(162,185,204,.21);padding-bottom:19px}
.account-card__heading h2 {font:900 clamp(24px,2vw,33px)/1.2 var(--display);margin:12px 0 7px}
.account-card__heading p {font:500 12px/1.7 var(--body);color:#8ea5b7;margin:0}
.account-form {padding-top:0}
.account-save {display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:23px;min-height:47px;letter-spacing:.05em}
.account-card--network {background:linear-gradient(140deg,rgba(24,47,59,.86),rgba(9,18,29,.94))}
.network-item {display:flex;justify-content:space-between;align-items:center;gap:15px;flex-wrap:wrap;padding:17px 0;border-bottom:1px solid rgba(158,180,199,.19);font:800 11px var(--display)}
.network-item span:last-child {font:700 9px var(--mono);letter-spacing:.035em}
.network-item__neutral {color:#879bad}.network-item__cyan {color:#72d3df}.network-item__gold {color:#e0bd75}
.account-card--network .field-hint {margin:22px 0;max-width:530px}
.account-discord {display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:20px;padding:13px 16px;border:1px solid rgba(144,171,188,.34);color:#e3eff6;font:700 11px var(--mono);letter-spacing:.06em}
.account-discord:hover {background:rgba(120,163,186,.13);border-color:#9ebdce}

@media(max-width:1450px){
 .account-entry {padding-inline:8px;gap:7px}
 .auth-layout {gap:60px}
}
@media(max-width:1160px){
 .account-entry {padding:8px 10px;min-width:38px}
 .account-entry [data-account-label] {display:none}
 .auth-layout {grid-template-columns:minmax(0,1fr) minmax(340px,450px);gap:35px}
 .auth-pitch h1 {font-size:clamp(39px,4vw,59px)}
}
@media(max-width:790px){
 .account-entry {min-width:38px;min-height:35px;padding:7px;gap:0}
 .account-entry svg {width:18px;height:18px}
 .auth-layout {grid-template-columns:1fr;gap:38px;padding-top:52px;padding-bottom:75px}
 .auth-pitch {max-width:650px}
 .auth-pitch h1 {font-size:clamp(42px,7.1vw,65px)}
 .auth-pitch__note {font-size:11px}
 .auth-panel {max-width:620px;margin-inline:auto}
 .account-grid {grid-template-columns:1fr}
 .account-grid__aside {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
 .account-stage {padding-top:48px}
 .account-hero__row {align-items:start}
 .profile-summary__status {display:none}
}
@media(max-width:640px){
 .account-grid__aside {grid-template-columns:1fr}
 .account-hero__row {flex-wrap:wrap}
 .profile-summary {padding:21px;gap:14px}
 .profile-avatar {flex-basis:62px;width:62px;height:62px;font-size:29px}
 .profile-summary h2 {font-size:23px}
 .account-hero__title h1 {font-size:clamp(36px,8.5vw,51px)}
}
@media(max-width:420px){
 .header-inner {gap:8px}
 .account-entry {min-width:32px;width:32px;min-height:34px;padding:6px}
 .header-connect {gap:3px;padding-inline:7px}
 .header-connect svg {display:none}
 .brand__name {font-size:16px}
 .brand__tagline {font-size:6px;letter-spacing:.13em}
 .auth-layout {padding-top:46px}
 .auth-pitch h1 {font-size:41px}
 .auth-universes {gap:6px}
 .auth-universe {font-size:8px;padding:7px}
 .auth-panel {padding:25px 19px 0}
 .auth-panel__bottom {margin-inline:-19px;padding:16px 19px;font-size:8px}
 .auth-panel__header h2 {font-size:28px}
 .profile-summary {align-items:flex-start}
}

/* v5.1: password recovery forms in the existing ZeroCore auth style. */
.auth-forgot-link {margin:15px 0 0;text-align:right;font:700 11px/1.8 var(--body)}
.auth-forgot-link a {color:#c5ddea;text-decoration:underline;text-underline-offset:3px}
.auth-forgot-link a:hover {color:#fff}
.auth-reset-hint {margin-top:17px}
.auth-reset-status {font:600 12px/1.8 var(--body);color:#adc1cf;margin:25px 0 2px;padding:16px 18px;border:1px solid rgba(131,169,192,.3);background:rgba(12,27,40,.65)}
.auth-reset-status[data-kind="error"] {color:#f5b2b9;border-color:rgba(232,80,97,.45);background:rgba(130,32,49,.12)}
.auth-reset-status[data-kind="success"] {color:#b1f0d8;border-color:rgba(90,200,155,.45);background:rgba(32,109,83,.14)}
[hidden] {display:none !important}

/* ZeroCore v5.2 security components */
.turnstile-box{margin-top:22px;min-height:0;max-width:100%;overflow:visible;color:#9bc0d1;font:500 12px/1.6 var(--body)}
.security-info{font:600 12px/1.8 var(--body);color:#a9bfcd;margin:20px 0}
.security-info strong{color:#e9f2fa}
.security-small-button{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:10px 17px;margin-top:12px;cursor:pointer;background:rgba(144,39,56,.19);border:1px solid rgba(232,97,113,.53);border-radius:3px;color:#f3d6da;font:700 11px/1.5 var(--body);letter-spacing:.035em;text-align:center}
.security-small-button:hover{background:rgba(144,39,56,.3)}
.security-small-button:disabled{opacity:.55;cursor:wait}
.security-session{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:17px 0;border-bottom:1px solid rgba(149,174,189,.2)}
.security-session strong,.security-session small{display:block}
.security-session strong{font:700 12px/1.7 var(--body);color:#eaf4f8}
.security-session small{font:500 11px/1.7 var(--body);color:#91aabb;margin-top:4px}
.security-session button{flex-shrink:0}
.security-sessions-card,.security-audit-card{margin-top:24px}
.security-revoke-form{max-width:430px;padding-top:0}
.security-secret,.security-recovery{margin-top:20px;border:1px solid rgba(115,186,204,.35);background:rgba(20,42,53,.2);padding:18px;overflow-wrap:anywhere}
.security-secret>span{display:block;color:#9ac5d4;font:700 10px/1.5 var(--mono)}
.security-secret code,.security-recovery code{display:block;overflow-wrap:anywhere;padding-top:14px;color:#e4f0f7;font:600 12px/1.8 var(--mono)}
.security-audit-line{padding:10px 0;color:#a8bfcf;border-bottom:1px solid rgba(149,174,189,.16);font:600 11px/1.7 var(--mono);overflow-wrap:anywhere}
.security-login-mfa{padding:6px 0 2px;border-top:1px solid rgba(124,171,193,.3);margin-top:18px}
@media(max-width:480px){.security-session{align-items:flex-start;flex-direction:column}.security-session button{width:100%}}

/* v5.3 — authenticated Steam account + Garry's Mod characters. */
.zc-steam-panel{margin-top:24px;position:relative;overflow:hidden;background:radial-gradient(ellipse at 92% 0,rgba(77,169,191,.10),transparent 48%),linear-gradient(130deg,#111d29,#09111b)}
.zc-steam-panel::after{content:'';pointer-events:none;position:absolute;top:0;right:0;width:180px;height:1px;background:#68c4d1}
.zc-steam-unlinked{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:24px}
.zc-steam-link-form{padding-top:0;min-width:245px;max-width:380px}
.zc-steam-link-form label{margin-top:0}
.zc-steam-link-form input{width:100%;min-width:0}
.zc-steam-unlinked p{color:#93aaba;font:500 12px/1.8 var(--body);max-width:590px;margin:8px 0}
.zc-steam-label{display:block;font:800 10px/1.7 var(--mono);letter-spacing:.10em;color:#80d6e3}
.zc-steam-link{display:inline-flex;align-items:center;justify-content:center;gap:24px;white-space:nowrap;min-height:45px;padding-inline:22px}
.zc-steam-identity{display:flex;align-items:center;gap:20px;padding:24px 0}
.zc-steam-identity>img{width:70px;height:70px;object-fit:cover;border:1px solid #7cbccc;border-radius:4px}
.zc-steam-identity>div{display:flex;flex-direction:column;gap:4px;min-width:0}
.zc-steam-identity strong{font:900 23px/1.4 var(--display);overflow-wrap:anywhere}
.zc-steam-identity code{font:700 13px var(--mono);color:#c5ddeb;letter-spacing:.045em}
.zc-steam-identity small{color:#809bac;font:500 11px/1.6 var(--body)}
.zc-steam-profile{margin-left:auto;white-space:nowrap;border:1px solid rgba(139,190,205,.4);padding:12px 15px;font:700 10px var(--mono);color:#d4eef6;letter-spacing:.05em}
.zc-steam-profile:hover{border-color:#9ccddf;background:rgba(99,161,184,.13)}
.zc-steam-divider{display:flex;justify-content:space-between;gap:18px;border-top:1px solid rgba(151,183,204,.25);padding-top:20px;font:800 10px/1.5 var(--mono);letter-spacing:.10em;color:#d8eaf3}
.zc-steam-divider span:last-child{color:#7194a5}
.zc-steam-panel .field-hint{color:#95b1c1;line-height:1.7;margin:15px 0}
.zc-character-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin:21px 0}
.zc-character{border:1px solid rgba(146,181,203,.27);padding:18px 20px;background:linear-gradient(145deg,rgba(20,35,48,.7),rgba(7,16,26,.88));min-width:0}
.zc-character__top{display:flex;align-items:center;gap:12px;justify-content:space-between;margin-bottom:16px;flex-wrap:wrap}
.zc-character__top h3{font:850 clamp(16px,2vw,22px)/1.35 var(--display);margin:0;overflow-wrap:anywhere}
.zc-character__badge{font:700 9px var(--mono);letter-spacing:.055em;padding:7px 9px;border:1px solid rgba(236,90,107,.45);color:#e5a2ae}
.zc-character__badge[data-universe=halo]{color:#8bdee2;border-color:#5caab8}
.zc-character__badge[data-universe=warhammer]{color:#d5b875;border-color:#987d4d}
.zc-character__row{display:flex;align-items:start;gap:12px;justify-content:space-between;padding:10px 0;border-top:1px solid rgba(152,188,209,.13)}
.zc-character__row span{color:#7498ab;font:700 9px/1.6 var(--mono);letter-spacing:.04em}
.zc-character__row strong{font:700 11px/1.6 var(--body);color:#e0edf2;text-align:right;overflow-wrap:anywhere}
.zc-steam-unlink-details{border-top:1px solid rgba(149,185,201,.22);padding:18px 0 2px;margin-top:19px}
.zc-steam-unlink-details summary{cursor:pointer;color:#c5a2aa;font:700 11px var(--body)}
.zc-steam-unlink-details form{max-width:410px;margin-top:15px}
.zc-steam-notice{border:1px solid rgba(110,173,196,.36);background:rgba(44,89,104,.16);color:#bde3ec;font:600 12px/1.6 var(--body);padding:12px 16px}
.zc-steam-notice[data-kind=error]{color:#ffb4bd;border-color:rgba(231,94,109,.4);background:rgba(129,38,52,.12)}
@media(max-width:820px){.zc-character-list{grid-template-columns:1fr}}
@media(max-width:620px){.zc-steam-unlinked,.zc-steam-identity{align-items:stretch;flex-direction:column}.zc-steam-profile{margin-left:0;align-self:flex-start}.zc-steam-link{width:100%}.zc-steam-divider{flex-direction:column;gap:6px}.zc-character__row{flex-direction:column;gap:4px}.zc-character__row strong{text-align:left}}
