*{box-sizing:border-box}
:root{--gold:#d9ad43;--gold-light:#f1cc6b;--black:#050505;--line:#2d2d2d}
html,body{margin:0;min-height:100%;background:var(--black);color:#f4f1ea;font-family:Arial,Helvetica,sans-serif}
body{min-height:100vh}
.topbar{height:86px;background:#050505;border-bottom:1px solid rgba(217,173,67,.65);display:flex;align-items:center;justify-content:space-between;padding:0 42px;position:relative;z-index:5}
.brand{display:flex;align-items:center;gap:13px;color:#fff;text-decoration:none}.brand img{width:55px;height:55px}.brand strong{font:700 27px Georgia,serif;display:block}.brand span{font-size:8px;letter-spacing:.27em;color:#d9ad43;display:block;margin-top:4px}
nav{display:flex;align-items:center;gap:39px}nav a{color:#eee;text-decoration:none;font-size:12px;font-weight:800;letter-spacing:.14em}nav a:hover{color:var(--gold-light)}nav .join{border:1px solid var(--gold);padding:14px 25px;border-radius:7px}
.login-page{height:calc(100vh - 86px);min-height:680px;display:grid;grid-template-columns:58% 42%;overflow:hidden}
.hero-art{position:relative;background-image:url('nba2k27-ggc-login-visual.jpg');background-size:cover;background-position:center center;min-height:100%;overflow:hidden}
.art-vignette{position:absolute;inset:0;background:linear-gradient(90deg,transparent 55%,rgba(5,5,5,.94) 100%),linear-gradient(0deg,rgba(0,0,0,.48),transparent 45%)}
.art-caption{position:absolute;left:42px;bottom:32px;display:flex;align-items:center;gap:18px;color:#fff;text-shadow:0 2px 10px #000}.art-caption span{font-size:11px;letter-spacing:.24em;color:#e6bb59}.art-caption b{font-size:10px;letter-spacing:.18em;color:#bbb}
.portal{background:radial-gradient(circle at 50% 20%,rgba(217,173,67,.075),transparent 35%),#050505;display:flex;align-items:center;justify-content:center;padding:42px 55px;position:relative}
.portal-inner{width:min(100%,500px)}
.portal-top{text-align:center}.mini-crest img{width:65px;height:65px}.eyebrow{color:#e9bd58;font-size:10px;font-weight:900;letter-spacing:.3em;margin-top:12px}
h1{font:700 clamp(44px,4vw,61px)/.98 Georgia,serif;text-align:center;letter-spacing:-.035em;margin:18px 0 14px}h1 span{color:var(--gold)}
.intro{text-align:center;color:#a5a5a5;font-size:14px;line-height:1.55;max-width:430px;margin:0 auto}
form{margin-top:30px;display:grid;gap:19px}.field{display:grid;gap:8px}.field label,.label-row label{font-size:10px;font-weight:900;letter-spacing:.14em;color:#ddd}.label-row{display:flex;justify-content:space-between;align-items:center}.label-row a{font-size:11px;color:#e4b84e;text-decoration:underline}
.field input{width:100%;height:53px;background:#101010;border:1px solid #3a3a3a;border-radius:8px;color:#fff;padding:0 15px;font-size:14px;outline:0}.field input:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(217,173,67,.1)}.field input::placeholder{color:#6e6e6e}
.password-input{position:relative}.password-input input{padding-right:65px}.password-input button{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:0;color:#aaa;font-size:9px;font-weight:800;letter-spacing:.1em;cursor:pointer}
.remember{display:flex;gap:8px;align-items:center;color:#ccc;font-size:12px}.remember input{accent-color:var(--gold);width:15px;height:15px}
.message{display:none;padding:11px;border-radius:7px;border:1px solid #383838;background:#121212;font-size:12px;line-height:1.4}.message.show{display:block}.message.error{border-color:#693535;color:#efb1b1}.message.success{border-color:#665020;color:#f1d38a}
.login-button{height:55px;border:1px solid var(--gold-light);border-radius:8px;background:linear-gradient(100deg,#b68120,#f1ca67);color:#090909;font-size:12px;font-weight:900;letter-spacing:.16em;cursor:pointer}.login-button span{font-size:20px;margin-left:18px;vertical-align:-2px}.login-button:disabled{opacity:.65}
.or{display:flex;align-items:center;gap:15px;color:#777;font-size:10px;font-weight:800;letter-spacing:.18em;margin:22px 0 15px}.or:before,.or:after{content:"";height:1px;background:#2d2d2d;flex:1}
.create-button{height:50px;border:1px solid #9f7a2e;border-radius:8px;color:#eee;text-decoration:none;display:flex;align-items:center;justify-content:center;font-size:10px;letter-spacing:.12em}.create-button strong{color:#f0c65f;margin-left:5px}.create-button:hover{background:rgba(217,173,67,.07)}
.home-link{display:block;text-align:center;color:#888;text-decoration:none;font-size:12px;margin-top:19px}.home-link:hover{color:#e9bd58}
.values{display:flex;justify-content:center;gap:11px;margin-top:28px;color:#777;font-size:7px;font-weight:800;letter-spacing:.22em}.values i{color:#b48b38;font-style:normal}
@media(max-width:1100px){.topbar{padding:0 25px}nav{gap:22px}.login-page{grid-template-columns:53% 47%}.portal{padding:35px 30px}}
@media(max-width:820px){.topbar{height:76px;padding:0 16px}.brand img{width:47px;height:47px}.brand strong{font-size:23px}.brand span{display:none}nav a:not(.join){display:none}nav .join{padding:12px 16px;font-size:10px}.login-page{height:auto;min-height:calc(100vh - 76px);display:block}.hero-art{display:none}.portal{min-height:calc(100vh - 76px);padding:45px 20px 70px}}
@media(max-width:430px){.portal{padding:35px 17px 65px}.portal-inner{width:100%}h1{font-size:42px}.intro{font-size:13px}.values{gap:7px;font-size:6px}}
