.login-page{grid-template-columns:1fr 480px;min-height:100vh;display:grid;position:relative;overflow:hidden}.login-art{background:linear-gradient(90deg, transparent 60%, var(--bg-0) 100%), url(/assets/login-bg.png) center / cover no-repeat;position:relative;overflow:hidden}.login-art:after{content:"";pointer-events:none;background:linear-gradient(#00000026 0%,#0000 30% 70%,#0000004d 100%);background:linear-gradient(lab(0% 0 0/.15) 0%,#0000 30% 70%,lab(0% 0 0/.3) 100%);position:absolute;inset:0}.login-brand{z-index:3;color:var(--ink-0);cursor:pointer;align-items:center;gap:14px;text-decoration:none;display:flex;position:absolute;top:32px;left:36px}.login-brand .mark{width:44px;height:44px;color:var(--ink-0);filter:drop-shadow(0 2px 8px #0009);filter:drop-shadow(0 2px 8px lab(0% 0 0/.6));place-items:center;display:grid}.login-brand .wordmark{letter-spacing:.08em;text-shadow:0 1px 6px #0009;text-shadow:0 1px 6px lab(0% 0 0/.6);font-size:14px;font-weight:700;line-height:1.1}.login-quote{z-index:3;color:var(--ink-0);text-shadow:0 2px 12px #000000b3;text-shadow:0 2px 12px lab(0% 0 0/.7);max-width:540px;position:absolute;bottom:48px;left:56px;right:30%}.login-quote .eyebrow{font-family:var(--font-mono);letter-spacing:.24em;text-transform:uppercase;color:#b0d0ff;color:lab(82.2659% -2.98029 -28.8046);align-items:center;gap:10px;margin-bottom:14px;font-size:10.5px;display:inline-flex}.login-quote .eyebrow:before{content:"";background:#b0d0ff;background:lab(82.2659% -2.98029 -28.8046);width:22px;height:1px}.login-quote h1{letter-spacing:-.022em;margin:0 0 12px;font-size:clamp(28px,2.6vw,36px);font-weight:500;line-height:1.1}.login-quote p{color:#d9dfe5;color:lab(88.3915% -1.08966 -3.56903);max-width:440px;margin:0;font-size:14.5px;line-height:1.55}.login-panel{background:var(--bg-0);z-index:2;flex-direction:column;padding:56px 56px 48px;display:flex;position:relative}.panel-top{justify-content:flex-end;margin-bottom:64px;display:flex}.panel-top a{color:var(--ink-2);font-size:13px}.panel-top a:hover{color:var(--ink-0)}.panel-top a b{color:var(--ink-0);font-weight:500}.form-head h2{letter-spacing:-.022em;color:var(--ink-0);margin:0 0 8px;font-size:26px;font-weight:600;line-height:1.15}.form-head p{color:var(--ink-2);margin:0 0 32px;font-size:13.5px;line-height:1.5}.form{flex-direction:column;gap:18px;display:flex}.field{flex-direction:column;gap:7px;display:flex}.field-row{justify-content:space-between;align-items:center;display:flex}.field label{letter-spacing:.02em;color:var(--ink-1);font-size:12px;font-weight:500}.field .forgot{color:var(--accent-strong);font-size:12px;transition:color .15s}.field .forgot:hover{color:var(--ink-0)}.input-wrap{background:var(--bg-1);border:1px solid var(--line-1);border-radius:8px;align-items:center;gap:10px;height:44px;padding:0 14px;transition:border-color .15s,background .15s;display:flex;position:relative}.input-wrap:focus-within{border-color:var(--accent);background:var(--bg-2)}.input-wrap svg{color:var(--ink-3);flex-shrink:0}.input-wrap input{height:100%;color:var(--ink-0);font:inherit;background:0 0;border:0;outline:0;flex:1;font-size:14px}.input-wrap input::placeholder{color:var(--ink-3)}.input-wrap .toggle{color:var(--ink-3);transition:color .15s}.input-wrap .toggle:hover{color:var(--ink-0)}.remember{color:var(--ink-1);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;font-size:13px;display:flex}.remember input{display:none}.remember .box{border:1px solid var(--line-2);background:var(--bg-1);border-radius:4px;place-items:center;width:16px;height:16px;transition:background .15s,border-color .15s;display:grid}.remember .box svg{opacity:0;color:var(--ink-0)}.remember input:checked+.box{background:var(--accent);border-color:var(--accent)}.remember input:checked+.box svg{opacity:1;color:#090b0f;color:lab(3.02926% -.239909 -2.14034)}.form-error{color:var(--crimson);background:#d557531a;background:lab(54.3377% 50.2958 29.345/.1);border:1px solid #d5575359;border:1px solid lab(54.3377% 50.2958 29.345/.35);border-radius:8px;padding:10px 14px;font-size:13px;line-height:1.45}.btn-login{background:var(--accent);color:#07090d;color:lab(2.4614% -.201963 -1.87602);border:1px solid var(--accent-strong);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:8px;height:48px;font-size:15px;font-weight:600;transition:background .15s;display:flex}.btn-login:hover{background:var(--accent-strong)}.btn-login:disabled{opacity:.6;cursor:not-allowed}.btn-login:disabled:hover{background:var(--accent)}.divider{font-family:var(--font-mono);letter-spacing:.22em;color:var(--ink-3);text-transform:uppercase;align-items:center;gap:14px;margin:24px 0;font-size:10px;display:flex}.divider:before,.divider:after{content:"";background:var(--line-1);flex:1;height:1px}.social{grid-template-columns:1fr 1fr;gap:10px;display:grid}.btn-social{background:var(--bg-1);border:1px solid var(--line-1);height:42px;color:var(--ink-1);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:10px;font-size:13px;font-weight:500;transition:border-color .15s,background .15s,color .15s;display:flex}.btn-social:hover{border-color:var(--line-2);background:var(--bg-2);color:var(--ink-0)}.btn-social--discord:hover{color:#98b5ff;color:lab(73.5552% 4.78646 -43.4737);border-color:#4a69ce80;border-color:lab(46.0909% 13.8448 -56.9073/.5)}.btn-social:disabled{opacity:.5;cursor:not-allowed}.btn-social:disabled:hover{border-color:var(--line-1);background:var(--bg-1);color:var(--ink-1)}.panel-footer{color:var(--ink-3);justify-content:space-between;align-items:center;margin-top:auto;padding-top:32px;font-size:11px;display:flex}.panel-footer .legal{gap:16px;display:flex}.panel-footer a:hover{color:var(--ink-1)}.reset-info-box{border:1px solid var(--line-1);background:#1f130c66;background:lab(7.10554% 5.77258 5.94199/.4);border-radius:10px;flex-direction:column;gap:10px;margin-top:22px;padding:16px 18px;display:flex}.reset-info-row{color:var(--ink-2);align-items:flex-start;gap:10px;font-size:13px;line-height:1.5;display:flex}.reset-info-row svg{color:var(--accent);flex-shrink:0;margin-top:1px}.reset-info-row strong{color:var(--ink-1);font-weight:600}.reset-hint{color:var(--ink-3);text-align:center;margin:18px 0 0;font-size:11.5px;line-height:1.55}@media (max-width:980px){.login-page{grid-template-columns:1fr}.login-art{background:linear-gradient(180deg, transparent 60%, var(--bg-0) 100%), url(/assets/login-bg.png) center / cover no-repeat;height:280px}.login-quote{display:none}.login-panel{padding:32px 24px 24px}.panel-top{margin-bottom:24px}}
