:root{color-scheme:dark;--ink:#030812;--panel:rgba(4,12,25,.84);--gold:#d7ad5b;--gold-light:#f1d583;--cyan:#52d9ff;--text:#f8f4e8;--muted:#a9bfd1;--danger:#ff8b69}*{box-sizing:border-box}html,body{min-height:100%}body{margin:0;min-height:100vh;overflow-x:hidden;background:var(--ink);color:var(--text);font-family:"Segoe UI",Arial,sans-serif;letter-spacing:0}.scene,.shade{position:fixed;inset:0}.scene{background:url("/assets/nexus-card-arena-login-v1.webp") center/cover no-repeat;transform:scale(1.01)}.shade{background:linear-gradient(90deg,rgba(1,5,13,.54),rgba(1,5,13,.18) 40%,rgba(1,5,13,.06) 68%,rgba(1,5,13,.18)),linear-gradient(0deg,rgba(1,5,13,.62),transparent 30%);pointer-events:none}.topbar{position:relative;z-index:2;height:96px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(24px,4vw,72px)}.back{color:#d8e8ef;text-decoration:none;font-size:11px;font-weight:800}.back span{margin-right:7px;color:var(--cyan);font-size:23px;vertical-align:-2px}.brand{position:absolute;left:50%;display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none;transform:translateX(-50%)}.brand-mark{width:28px;height:40px;background:#32c8f4;border:2px solid var(--gold);clip-path:polygon(50% 0,88% 50%,50% 100%,12% 50%);filter:drop-shadow(0 0 12px rgba(47,207,255,.65))}.brand-copy{display:grid;line-height:.84}.brand-copy strong{font:700 22px/1 "Palatino Linotype",Georgia,serif}.brand-copy small{margin-top:5px;color:var(--gold-light);font-size:10px;letter-spacing:3px}.language select{width:68px;height:38px;border:1px solid rgba(215,173,91,.55);border-radius:4px;background:rgba(3,9,20,.78);color:var(--text);padding:0 12px;font-weight:700}main{position:relative;z-index:1;width:100%;min-height:calc(100vh - 150px);display:grid;grid-template-columns:minmax(340px,1fr) minmax(380px,.9fr);align-items:center;gap:5vw;padding:24px clamp(24px,6vw,112px) 72px}.intro{align-self:start;margin-top:clamp(30px,8vh,100px);max-width:620px;text-shadow:0 4px 28px #000}.eyebrow,.portal-label{margin:0 0 10px;color:var(--cyan);font-weight:800;font-size:13px;letter-spacing:4px}h1{margin:0;font:700 clamp(64px,8vw,132px)/.74 "Palatino Linotype",Georgia,serif;filter:drop-shadow(0 8px 18px rgba(0,0,0,.8))}h1 span{color:transparent;-webkit-text-stroke:2px var(--gold-light);text-shadow:0 0 24px rgba(71,203,255,.24)}.tagline{margin:30px 0 0;max-width:450px;color:#e6edf4;font:600 19px/1.5 "Segoe UI",sans-serif}.auth{width:min(440px,100%);justify-self:center;padding:24px 38px 20px;border-top:1px solid rgba(82,217,255,.52);border-bottom:1px solid rgba(215,173,91,.48);background:linear-gradient(90deg,transparent,var(--panel) 10%,var(--panel) 90%,transparent);box-shadow:0 28px 70px rgba(0,0,0,.32)}.auth-heading{text-align:center}.auth h2{margin:0;font:700 30px/1.2 "Palatino Linotype",Georgia,serif}.mode-switch{display:grid;grid-template-columns:1fr 1fr;margin:20px 0 14px;border-bottom:1px solid rgba(169,191,209,.25)}button{font:inherit}.mode{height:44px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--muted);font-weight:700;cursor:pointer}.mode.active{color:var(--text);border-color:var(--cyan)}.google-auth{width:100%;height:48px;display:flex;align-items:center;justify-content:center;gap:12px;border:1px solid rgba(220,231,238,.46);border-radius:4px;background:rgba(248,250,252,.96);color:#17212b;font-weight:750;cursor:pointer}.google-auth:hover{background:#fff;border-color:#fff}.google-mark{font:800 20px/1 Arial,sans-serif;color:#4285f4}.divider{display:flex;align-items:center;gap:12px;margin:12px 0;color:var(--muted);font-size:12px}.divider:before,.divider:after{content:"";flex:1;height:1px;background:rgba(169,191,209,.24)}.field{margin-bottom:14px}.field>label{display:block;margin-bottom:7px;color:#dce8ef;font-size:13px;font-weight:700}.field input{width:100%;height:48px;border:1px solid rgba(120,172,202,.38);border-radius:4px;outline:0;background:rgba(1,8,18,.82);color:var(--text);padding:0 14px;font:500 16px/1 "Segoe UI",sans-serif}.field input:focus{border-color:var(--cyan);box-shadow:0 0 0 2px rgba(82,217,255,.12)}.field input.invalid{border-color:var(--danger)}.password-wrap{position:relative}.password-wrap input{padding-right:88px}.text-action{position:absolute;right:8px;top:6px;height:36px;border:0;background:transparent;color:var(--cyan);font-weight:700;cursor:pointer}.form-options{min-height:34px;display:flex;justify-content:space-between;align-items:center;gap:12px;margin:2px 0 14px;font-size:13px}.remember{display:flex;align-items:center;gap:8px;color:var(--muted)}.remember input{accent-color:var(--cyan);width:16px;height:16px}.link-button{border:0;background:transparent;color:var(--gold-light);cursor:pointer}.primary,.secondary{width:100%;height:50px;border-radius:4px;font-weight:800;cursor:pointer}.primary{display:flex;justify-content:center;align-items:center;gap:18px;border:1px solid var(--gold-light);background:#0b8fbe;color:#fff;box-shadow:inset 0 0 18px rgba(82,217,255,.25),0 8px 25px rgba(0,0,0,.32)}.primary:hover{background:#10a2d0}.arrow{font-size:22px}.secondary{margin-top:10px;border:1px solid rgba(169,191,209,.32);background:rgba(2,8,18,.68);color:#d9e4eb}.secondary:hover{border-color:var(--gold)}.status{min-height:18px;margin:6px 0 0;text-align:center;color:var(--cyan);font-size:13px}footer{position:relative;z-index:2;height:54px;display:flex;justify-content:space-between;align-items:center;padding:0 clamp(24px,4vw,72px);color:rgba(214,226,234,.7);font-size:11px}.rotate-device{display:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-height:760px) and (min-width:901px){.topbar{height:72px}main{min-height:calc(100vh - 112px);padding-top:0;padding-bottom:24px}.intro{margin-top:20px}h1{font-size:76px}.auth{padding-top:18px;padding-bottom:14px}.mode-switch{margin-top:12px}.field{margin-bottom:10px}footer{height:40px}}@media(orientation:portrait) and (max-width:900px){.topbar,main,footer{visibility:hidden}.rotate-device{position:fixed;z-index:100;inset:0;display:grid;place-content:center;justify-items:center;gap:13px;padding:28px;background:radial-gradient(circle at 50% 38%,#234f88,#091b34 55%,#030914);text-align:center}.phone-icon{display:grid;place-items:center;width:58px;height:92px;border:2px solid #73e2ff;border-radius:11px;color:#95eeff;box-shadow:0 0 24px #31cfff66;animation:turn-phone 2s ease-in-out infinite}.rotate-device strong{font:600 1.15rem Georgia,serif;color:#fff0b5}.rotate-device small{color:#aac8d8;font-size:.72rem}.rotate-device:after{content:"↻";position:absolute;top:50%;left:calc(50% + 44px);color:#6ce2ff;font-size:1.7rem}@keyframes turn-phone{50%{transform:rotate(90deg)}}}@media(max-width:900px) and (orientation:landscape){.topbar{height:62px}.brand{display:none}main{min-height:calc(100vh - 92px);grid-template-columns:minmax(250px,.8fr) minmax(340px,1fr);gap:24px;padding:0 28px 20px}.intro{margin-top:10px}.intro h1{font-size:60px}.tagline{margin-top:18px;font-size:14px}.auth{width:390px;padding:14px 24px 10px}.auth h2{font-size:24px}.portal-label{margin-bottom:4px}.mode-switch{margin:8px 0}.mode{height:32px}.google-auth{height:38px}.divider{margin:7px 0}.field{margin-bottom:7px}.field input{height:40px}.form-options{margin-bottom:7px}.primary,.secondary{height:40px}.secondary{margin-top:6px}.status{display:none}footer{height:30px}}@media(prefers-reduced-motion:reduce){.phone-icon{animation:none}}
/* Invitation deep-link state */
.invite-arrival{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;margin:0 0 15px;padding:11px 13px;border:1px solid #55e5ff73;background:linear-gradient(90deg,#0a3346d9,#071b2bdd);box-shadow:inset 0 0 18px #55e5ff12,0 0 18px #02091499;text-align:left}.invite-arrival[hidden]{display:none}.invite-arrival>span{color:#76ecff;font:28px/1 Georgia;text-shadow:0 0 12px #55e5ff}.invite-arrival strong{display:block;color:#f2d486;font-size:9px;letter-spacing:1.2px;text-transform:uppercase}.invite-arrival p{margin:4px 0 0;color:#c3dae3;font-size:10px;line-height:1.4}.invite-arrival button{height:36px;padding:0 10px;border:1px solid #f1d583;background:#0b8fbe;color:white;font-size:8px;font-weight:900;white-space:nowrap;cursor:pointer}.invite-arrival button:hover{filter:brightness(1.16)}
@media(max-width:1100px){.invite-arrival{grid-template-columns:auto 1fr;padding:8px 10px}.invite-arrival button{grid-column:1/-1;width:100%;height:32px}}
