*{box-sizing:border-box}html{color-scheme:dark}body{margin:0;background:#101112;color:#e9edf0;font-family:Inter,system-ui,sans-serif;user-select:none}body::before{content:'';position:fixed;inset:0;pointer-events:none;background:url('/ui-icons/topography-v2.svg') center/cover;opacity:.035}main{min-height:100svh;display:grid;place-items:center;padding:80px 24px}.home{position:absolute;top:24px;left:28px;width:42px;height:42px;display:grid;place-items:center}.home img{width:64px;height:64px;transition:filter .25s}.home:hover img{filter:drop-shadow(0 0 7px #fff3)}.login-card{position:relative;width:100%;max-width:500px;padding:30px 28px 28px;border:1px solid #ffffff10;border-radius:38px;background:#0d0f10;box-shadow:0 20px 70px #0003;animation:arrive .55s cubic-bezier(.22,1,.36,1) both}h1{font-size:44px;line-height:1.15;letter-spacing:-.045em;margin:0;font-weight:600}.divider{height:1px;background:#ffffff10;margin:18px 0 20px}.discord-login{display:flex;justify-content:center;align-items:center;gap:6px;min-height:64px;padding:16px;border:1px solid #ffffff18;border-radius:18px;background:linear-gradient(145deg,#e3e7eb,#bec6ce);color:#20252a;font-size:17px;font-weight:500;text-decoration:none;transition:transform .25s,filter .25s,box-shadow .25s}.discord-login svg{width:22px;height:22px;fill:currentColor}.discord-login:hover{transform:translateY(-2px);filter:brightness(1.06);box-shadow:0 8px 25px #ffffff08}.discord-login:focus-visible,.home:focus-visible{outline:2px solid #dde4eb;outline-offset:5px}.discord-login:active{transform:translateY(0)}#login-status{font-size:13px;line-height:1.6;color:#aeb7c0;margin:18px 0 0}@keyframes arrive{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@media(max-width:500px){.login-card{padding:26px 22px;border-radius:30px}h1{font-size:38px}.discord-login{min-height:60px;font-size:16px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
.login-card{isolation:isolate;box-shadow:0 20px 70px #0003,0 0 32px #d4dfe70a;transition:box-shadow .45s ease}
.login-card:hover,.login-card:focus-within{box-shadow:0 20px 70px #0003,0 0 42px #d4dfe71a}
.login-card h1{text-shadow:0 0 22px #d4dfe72b}
.discord-login,.discord-login:hover,.discord-login:active{transform:none;filter:none;box-shadow:0 0 15px #d4dfe712;transition:box-shadow .4s ease,background-color .4s ease}
.discord-login:hover,.discord-login:focus-visible{box-shadow:0 0 12px #d4dfe744,0 0 30px #d4dfe722}
.login-alternative{display:flex;align-items:center;gap:14px;color:#aeb7c0;font-size:12px;margin:22px 0 12px}.login-alternative::before,.login-alternative::after{content:"";height:1px;flex:1;background:#ffffff10}
.account-login summary{list-style:none;cursor:pointer;text-align:center;padding:12px;border-radius:999px;font-size:14px;transition:background-color .35s ease}.account-login summary::-webkit-details-marker{display:none}.account-login summary:hover{background:#111416}.account-login summary::after{content:"";display:inline-block;vertical-align:middle;margin-left:10px;width:18px;height:18px;background:currentColor;mask:url('/prism-assets/prism-arrow.svg') center/contain no-repeat;-webkit-mask:url('/prism-assets/prism-arrow.svg') center/contain no-repeat;transform:rotate(90deg);transition:transform .35s ease}.account-login[open] summary::after{transform:rotate(-90deg)}
#prism-login-form{padding-top:16px;animation:login-details-in .35s ease}.account-login label{display:block;font-size:13px;margin:12px 0 8px}.account-login input{width:100%;min-height:48px;border:1px solid #ffffff14;border-radius:16px;padding:12px 16px;background:#080a0b;color:white;font:inherit;user-select:text}.account-login input:focus{outline:1px solid #d4dfe766}.account-login button{width:100%;min-height:48px;margin-top:20px;border:0;border-radius:999px;background:#111416;color:#f2f5f7;font:inherit;cursor:pointer;transition:background-color .35s,box-shadow .35s}.account-login button:hover{background:#1b2024;box-shadow:0 0 20px #d4dfe714}.login-signup{display:block;text-align:center;margin-top:16px;font-size:13px;color:#d4dfe7}@keyframes login-details-in{from{opacity:0}to{opacity:1}}
.account-login summary::after{transform:rotate(0deg)}
.account-login[open] summary::after{transform:rotate(90deg)}
/* The form height is animated independently of the details toggle. */
#prism-login-form{animation:none;overflow:hidden;transform-origin:top}
.account-login[open] summary::after{transform:rotate(0deg)}
.account-login summary.is-expanded::after{transform:rotate(90deg)}
@media(prefers-reduced-motion:reduce){.account-login[open] summary::after{transform:rotate(90deg)}}

.account-login summary::after{content:none!important;display:none!important}

html body .account-login summary{background:#171b1e;color:#f2f5f7;border:1px solid #d4dfe71a;min-height:48px;display:flex;align-items:center;justify-content:center}html body .account-login summary:hover{background:#22282d}

html body .account-login input:focus,html body .account-login input:focus-visible{outline:none!important;box-shadow:none!important;border-color:#ffffff14!important}

html body .account-login summary,html body .account-login summary:hover{background:transparent!important;border:0!important;box-shadow:none!important}html body .discord-login{position:relative;overflow:hidden;isolation:isolate}html body .discord-login>.prism-pointer-glow{border-radius:inherit;background:radial-gradient(110px circle at var(--trail-x,50%) var(--trail-y,50%),#ffffff66,transparent 80%)!important;pointer-events:none}

html body a.discord-login.prism-trail-control:hover:not(:disabled):not(.action):not(#accountLogout):not(.nav-profile){background:linear-gradient(145deg,#e3e7eb,#bec6ce)!important;color:#20252a!important}

html body main{width:100%;max-width:none;margin:0}html body .header .brand img{max-width:none}
/* One-screen login layout with space reserved for the legal footer. */
html:has(.login-card){height:100%;overflow:hidden}
html body:has(.login-card){height:100dvh;min-height:0!important;overflow:hidden;display:flex;flex-direction:column}
html body:has(.login-card)>main{min-height:0!important;flex:1 1 0!important;padding:100px 24px 20px!important;overflow:auto;scrollbar-width:none}
html body:has(.login-card)>main::-webkit-scrollbar{display:none}
html body:has(.login-card)>.prism-info-footer{flex:0 0 auto;margin:0 auto 16px!important}
@media(max-height:650px){html body:has(.login-card)>main{padding-top:84px!important;padding-bottom:12px!important}.login-card{padding-block:22px}.login-card h1{font-size:34px}}
/* Dedicated error notification, outside the login card layout. */
html body #login-status{position:fixed;left:50%;bottom:82px;transform:translateX(-50%);z-index:100;width:max-content;max-width:calc(100vw - 32px);margin:0;padding:14px 20px;border:1px solid #a2676d26;border-radius:20px;background:#121012f5;color:#ead8da;box-shadow:0 8px 30px #0005,0 0 20px #60373915;text-align:center;font-size:13px;line-height:1.5;backdrop-filter:blur(12px);animation:login-error-in .3s ease}
html body #login-status[hidden]{display:none!important}
@keyframes login-error-in{from{opacity:0;translate:0 8px}to{opacity:1;translate:0 0}}
/* Prism notification: inset matte pill and restrained neutral glow. */
html body #login-status{border:7px solid #080a0b!important;border-radius:999px!important;background:#111416!important;background-clip:padding-box!important;color:#d4dfe7!important;box-shadow:0 8px 26px #0004,0 0 22px #d4dfe708!important;padding:12px 20px!important;backdrop-filter:none!important}

html body #prism-login-form{overflow:visible;padding-inline:6px;margin-inline:-6px}
html body .login-card.recovery-sent{background:#080a0b!important;color:#f2f5f7!important;border-color:#ffffff10;box-shadow:0 20px 70px #0003,0 0 32px #d4dfe70a;transition:background-color .45s ease,color .45s ease}
html body .recovery-sent :is(h1,p,a){color:#f2f5f7!important;text-shadow:none!important}.recovery-sent .divider{background:#ffffff10}.recovery-success{display:grid;place-items:center;padding:24px 0}.recovery-success svg{width:84px;height:84px;fill:none;stroke:#f2f5f7;stroke-width:5;stroke-linecap:round;stroke-linejoin:round}.tick-short{stroke-dasharray:22;stroke-dashoffset:22;animation:tick-short .25s .15s ease-out forwards}.tick-long{stroke-dasharray:43;stroke-dashoffset:43;animation:tick-long .4s .4s cubic-bezier(.22,1,.36,1) forwards}@keyframes tick-short{to{stroke-dashoffset:0}}@keyframes tick-long{to{stroke-dashoffset:0}}@media(prefers-reduced-motion:reduce){.tick-short,.tick-long{stroke-dashoffset:0;animation:none!important}}
html body .discord-login svg{width:24px;height:24px;flex:0 0 24px;fill:currentColor;stroke:none!important;display:block;overflow:visible;filter:none}
html body main .login-card.recovery-sent #login-title,html body main .login-card.recovery-sent #recovery-intro,html body main .login-card.recovery-sent a.login-signup{color:#f2f5f7!important;-webkit-text-fill-color:#f2f5f7!important;text-shadow:none!important}

html body main .login-card.recovery-sent{font-family:Poppins,sans-serif!important;font-weight:500!important}html body main .login-card.recovery-sent #recovery-intro{color:#b8c5cf!important;-webkit-text-fill-color:#b8c5cf!important;line-height:1.7}.recovery-sent a.login-signup{text-decoration:none;padding:12px 20px;border-radius:999px;transition:background .3s,box-shadow .3s}.recovery-sent a.login-signup:hover{background:#111416;box-shadow:0 0 24px #d4dfe710}

html body #login-status,html body .prism-notification,html body .prism-toast,html body [data-notification]{width:max-content;max-width:min(420px,calc(100vw - 32px))!important;white-space:normal!important;overflow-wrap:anywhere;box-sizing:border-box;line-height:1.6!important;border-radius:24px!important}
html body #login-status{top:100px;bottom:auto!important;z-index:200!important}@media(max-width:600px){html body #login-status{top:88px}}
.recovery-choice{border:0;padding:0;margin:0 0 22px;display:flex;gap:8px;flex-wrap:wrap}.recovery-choice legend{font-size:13px;color:#b8c5cf;margin-bottom:12px}.recovery-choice label{position:relative;flex:1;margin:0!important;cursor:pointer}.recovery-choice input{position:absolute;opacity:0;width:1px;height:1px}.recovery-choice span{display:block;text-align:center;padding:12px 8px;border-radius:999px;background:#0d1012;color:#b8c5cf;transition:background .25s,color .25s,box-shadow .25s}.recovery-choice input:checked+span{background:#1c2226;color:#f2f5f7;box-shadow:0 0 20px #d4dfe70a}.recovery-choice input:focus-visible+span{outline:2px solid #b8c5cf;outline-offset:2px}
/* Compact recovery selector, matching Prism's matte controls. */
#prism-recovery-form .recovery-choice{gap:3px;background:#0d1012;border-radius:999px;padding:5px;margin:0 0 24px;position:relative;margin-top:32px;flex-wrap:nowrap}
#prism-recovery-form .recovery-choice legend{position:absolute;top:-25px;left:0;margin:0;line-height:20px}
#prism-recovery-form .recovery-choice label{flex:1;min-width:0}
#prism-recovery-form .recovery-choice span{background:transparent;padding:10px 6px;font-size:13px;border-radius:999px;color:#8998a3}
#prism-recovery-form .recovery-choice input:checked+span{background:#20262a;color:#f2f5f7;box-shadow:0 2px 8px #0003}
#prism-recovery-form .recovery-choice input:focus-visible+span{outline:1px solid #9caeb9;outline-offset:-2px}
#recovery-intro{margin:0 0 24px;line-height:1.65;color:#a6b3bd;font-size:13px}
#prism-recovery-form #recovery-email>label{margin-bottom:9px}
#prism-recovery-form #recoverySubmit{margin-top:20px}
html body #prism-recovery-form .recovery-choice{isolation:isolate;touch-action:pan-y;cursor:grab;overflow:visible}.recovery-choice.dragging{cursor:grabbing!important}html body #prism-recovery-form .recovery-choice label{z-index:2;cursor:inherit}html body #prism-recovery-form .recovery-choice label span{background:transparent!important;box-shadow:none!important;transition:color .2s}html body #prism-recovery-form .recovery-choice .recovery-slider{position:absolute;left:0;top:5px;bottom:5px;z-index:0;padding:0;border-radius:999px;background:#20262a;box-shadow:0 2px 8px #0003;opacity:0;pointer-events:none}html body .recovery-choice.prism-glow-host{overflow:visible}.recovery-choice .prism-pointer-glow{border-radius:999px;inset:0;z-index:1;overflow:hidden;pointer-events:none}
