/* Login-only styles: provider buttons stack without changing the page layout. */
.auth-page{margin:0;padding:0;background:#f4f5f8;color:#202636;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-text-size-adjust:100%;line-height:1.5}
.auth-page *{box-sizing:border-box}
.auth-page [hidden]{display:none!important}
.auth-page a{color:inherit;text-underline-offset:3px}
.auth-page :focus-visible{outline:3px solid #7a84ef;outline-offset:5px}
.auth-layout{display:grid;grid-template-columns:1.04fr 1fr;max-width:1200px;min-height:min(790px,calc(100svh - 80px));margin:40px auto;padding:12px;background:#fff;border:1px solid #e3e6ec;border-radius:30px;box-shadow:0 18px 70px #18243a08}
.auth-story{display:flex;flex-direction:column;justify-content:space-between;position:relative;padding:38px 40px 28px;border-radius:20px;background:#192632;color:#fff;overflow:hidden}
.auth-brand{display:flex;align-items:center;gap:9px;width:fit-content;font-size:29px;font-weight:750;letter-spacing:-1.5px;text-decoration:none}
.auth-mark{width:35px;height:35px;color:#c6ec9a;display:inline-flex}.auth-mark svg{width:100%;height:100%}.brand-dot{color:#c6ec9a;margin-left:-8px}
.story-copy{padding:52px 0 48px}
.auth-eyebrow{margin:0 0 19px;font-size:10px;font-weight:750;letter-spacing:1.8px;color:#c6ec9a}
.story-copy h1{font-size:clamp(36px,4.4vw,56px);font-weight:650;line-height:1.07;letter-spacing:-2.5px;margin:0 0 24px}.story-copy h1>span{color:#c6ec9a}
.story-description{font-size:16px;line-height:1.7;color:#b9c4cd;max-width:330px;margin:0 0 40px}
.moment-preview{border:1px solid #ffffff20;border-radius:14px;padding:20px;background:#22333f;max-width:420px;transform:rotate(-2deg)}
.moment-top{display:flex;align-items:center;gap:10px;font-size:12px;font-weight:550;color:#e1e8ed}.moment-play{background:#c6ec9a;color:#192632;border-radius:50%;width:25px;height:25px;display:grid;place-items:center;font-size:9px}.moment-duration{margin-left:auto;font-size:10px;color:#a9bac7;font-variant-numeric:tabular-nums}
.moment-timeline{height:4px;background:#44535e;margin:20px 0 24px;position:relative;border-radius:5px}.moment-timeline>span{display:block;background:#c6ec9a;width:38%;height:100%;border-radius:5px}.moment-timeline i{position:absolute;top:-2px;width:8px;height:8px;background:#c6ec9a;border:2px solid #22333f;border-radius:50%;left:16%}.moment-timeline i:nth-of-type(2){left:38%}.moment-timeline i:nth-of-type(3){left:73%;background:#9dabb6}
.moment-note{display:flex;gap:13px;align-items:flex-start}.moment-time{font-size:10px;letter-spacing:.3px;padding:4px 6px;color:#c6ec9a;background:#c6ec9a12;border-radius:5px}.moment-note strong{display:block;font-size:12px;font-weight:550;margin:1px 0 4px}.moment-note div>span{font-size:10px;color:#a9bac7}.story-footer{font-size:11px;color:#a9bac7;margin:0}
.auth-panel{display:flex;align-items:center;justify-content:center;padding:55px 48px}
.auth-form-wrap{width:100%;max-width:360px}.panel-eyebrow{font-size:9px;letter-spacing:1.4px;color:#66717f;margin-bottom:16px}
.auth-panel h2{font-size:30px;font-weight:680;letter-spacing:-1px;line-height:1.2;margin:0 0 14px}
.auth-intro{color:#66717f;font-size:14px;line-height:1.75;margin:0 0 30px}
.auth-page .policy-ack{font-size:12px;line-height:1.75;color:#596372;gap:12px;margin:0 0 22px}.auth-page .policy-ack input{appearance:auto;width:19px;height:19px;margin:3px 0 0;accent-color:#5865f2;cursor:pointer}.auth-page .policy-ack a{color:#333c4c}
.auth-providers{display:grid;gap:12px}.auth-provider{appearance:none;border:1px solid #dce0e8;display:flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:52px;padding:14px 18px;border-radius:10px;background:#fff;color:#202636;font:inherit;font-size:14px;font-weight:600;line-height:1.4;cursor:pointer;transition:background .15s,box-shadow .15s}
.auth-provider-discord{background:#5865f2;border-color:#5865f2;color:#fff;box-shadow:0 4px 10px #5865f21a;font-size:14px;font-weight:600}.auth-provider svg{width:21px;height:21px;flex:none}.auth-provider .provider-arrow{margin-left:auto;font-size:19px;font-weight:400}.auth-provider:hover{background:#f5f6fa}.auth-provider-discord:hover{background:#4752c4;border-color:#4752c4}.auth-provider:active{box-shadow:none}.auth-account-hint{font-size:11px;line-height:1.7;color:#74808e;text-align:center;margin:15px 0 0}
.auth-help{border-top:1px solid #e9ecf1;margin-top:35px;padding-top:25px;font-size:12px;display:flex;flex-wrap:wrap;gap:5px 8px}.auth-help>span{color:#74808e}.auth-help a{text-decoration:none;font-weight:550}.auth-help a:hover{text-decoration:underline}.auth-footer{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:12px;margin-top:38px;font-size:10px;color:#74808e}.auth-footer a{text-decoration:none}.auth-footer a:hover{text-decoration:underline}
.auth-alert{padding:14px;border:1px solid #f1d2ba;background:#fff7ef;border-radius:10px;font-size:13px;line-height:1.6;margin:0 0 22px;color:#794a27}
#testLoginForm{border-top:1px solid #e9ecf1;margin-top:25px;padding-top:15px}#testLoginForm h3{font-size:16px}#testLoginForm p,#testLoginForm label{font-size:12px;color:#66717f}#testLoginCode{display:block;width:100%;font-size:16px;padding:12px;margin:8px 0 14px;border:1px solid #cdd3dd;border-radius:8px}.auth-dev-link{display:block;margin:10px 0;font-size:13px}
@media(min-width:1250px){.auth-layout{margin:40px auto}}
@media(min-width:761px) and (max-width:1249px){.auth-layout{margin:24px;min-height:calc(100svh - 48px)}.auth-story{padding:32px}.auth-panel{padding:40px 32px}}
@media(max-width:760px){.auth-page{background:#fff}.auth-layout{display:block;border:0;border-radius:0;box-shadow:none;margin:0;padding:0;min-height:100svh}.auth-story{border-radius:0;padding:24px 24px 26px}.auth-brand{font-size:25px}.auth-mark{width:30px;height:30px}.story-copy{padding:26px 0 0}.story-copy .auth-eyebrow,.moment-preview,.story-footer{display:none}.story-copy h1{font-size:32px;letter-spacing:-1.3px;line-height:1.1;margin:0 0 12px}.story-copy h1 br{display:none}.story-description{font-size:13px;line-height:1.65;max-width:330px;margin:0}.auth-panel{padding:34px 24px max(28px,env(safe-area-inset-bottom))}.auth-form-wrap{max-width:400px}.auth-panel h2{font-size:27px}.auth-intro{font-size:14px;margin-bottom:24px}.auth-help{margin-top:26px;padding-top:22px}.auth-footer{margin-top:28px}.auth-page .policy-ack{font-size:13px}.panel-eyebrow{font-size:9px}}
@media(prefers-reduced-motion:reduce){.auth-provider{transition:none}}
