.login-screen{--login-ink:#244957;--login-muted:#71868b;min-height:100dvh;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:18px;padding:34px 26px;background:radial-gradient(ellipse at 10% 10%,#e2eceb 0,transparent 48%),radial-gradient(ellipse at 100% 100%,#f5e7cc 0,transparent 40%),#f5f4ed;color:var(--login-ink);isolation:isolate}
.login-shell{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(370px,1fr);width:min(1100px,100%);min-height:650px;overflow:hidden;border:1px solid #fff;border-radius:23px;background:#fffefa;box-shadow:0 5px 0 #d4dfde80,0 22px 70px #203e4a16}
.login-world{position:relative;display:flex;flex-direction:column;justify-content:space-between;min-width:0;padding:29px 34px 32px;overflow:hidden;background:#163c4a;isolation:isolate}
.login-landscape{position:absolute;top:0;left:76%;z-index:-3;display:block;width:auto;max-width:none;height:100%;transform:translateX(-81.2%)}
.login-world:before{position:absolute;inset:0;z-index:-2;background:linear-gradient(180deg,#0b304a45 0%,#0c354510 36%,#0c2e3bc7 76%,#0c2e3bf2 100%);content:""}
.login-world:after{position:absolute;inset:0;z-index:-1;border:1px solid #ffffff0f;border-radius:inherit;box-shadow:inset 0 0 100px #0b2e3f20;content:"";pointer-events:none}
.login-logo{display:block;position:relative;width:min(315px,68%);height:auto;align-self:center;filter:drop-shadow(0 3px 8px #0c2d4855)}
.login-logo img,.login-loading-logo img{display:block;width:100%;height:auto}
.login-world-copy{margin-top:auto;padding-top:170px;color:#fff9e9}
.login-world-rule{display:block;width:43px;height:3px;margin-bottom:20px;border-radius:2px;background:#e9d5a4}
.login-world-copy p{margin:0;font-size:clamp(29px,3vw,42px);font-weight:500;line-height:1.12;letter-spacing:-1px;text-wrap:balance;text-shadow:0 2px 15px #102f4b35}
.login-world-copy strong{font-weight:850;color:#fff9e9}
.login-panel{display:flex;align-items:center;justify-content:center;min-width:0;padding:43px 46px 34px;background:linear-gradient(165deg,#fffefa,#fff)}
.login-panel-body{width:100%;max-width:360px}
.login-eyebrow{display:block;color:#a3484c;font-size:9px;font-weight:850;line-height:1.6;letter-spacing:1.8px}
.login-panel h1{margin:10px 0 26px;color:var(--login-ink);font-size:32px;font-weight:850;line-height:1.17;letter-spacing:-.9px;text-wrap:balance}
.login-panel h1:focus{outline:none}
.login-modes{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin-bottom:25px;padding:4px;border:1px solid #e0e7e4;border-radius:10px;background:#f0f4f1}
.login-mode{min-height:36px;padding:8px 10px;border:0;border-radius:7px;background:transparent;color:#6b8086;font-size:12px;font-weight:750;transition:background .16s,color .16s,box-shadow .16s}
.login-mode.selected{background:#fff;color:#244e5b;box-shadow:0 1px 5px #28485415}
.login-mode:hover:not(:disabled){color:#244e5b;background:#ffffffa0}
.login-google,.login-submit,.login-email-toggle,.login-guest{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;font-family:inherit;cursor:pointer;line-height:1.35;text-align:center}
.login-google{min-height:51px;padding:13px 18px;border:1px solid #c4d3d7;border-radius:10px;background:#fff;color:#244655;font-size:13px;font-weight:800;box-shadow:0 3px 0 #e3e9e7;transition:border-color .15s,background .15s,translate .15s,box-shadow .15s}
.login-google:hover:not(:disabled){border-color:#658c99;background:#f8fbfa;box-shadow:0 3px 0 #cddbd9}
.login-google:active:not(:disabled){translate:0 2px;box-shadow:0 1px 0 #cddbd9}
.login-google-mark{display:inline-flex;width:21px;height:21px;flex:none}
.login-google-mark svg{width:100%;height:100%}
.login-divider{display:flex;align-items:center;gap:13px;margin:22px 0 16px;color:#9aabae;font-size:10px}
.login-divider>span:first-child,.login-divider>span:last-child{flex:1;height:1px;background:#e2e9e6}
.login-email-toggle{min-height:44px;padding:10px 12px;border:1px solid #dae5e1;border-radius:9px;background:#f5f8f5;color:#446771;font-size:12px;font-weight:750;transition:border-color .15s,background .15s}
.login-email-toggle .icon{width:15px;height:15px;margin-left:auto;flex:none}
.login-email-toggle.expanded{background:#eef5f1;border-color:#9dbab6}
.login-email-toggle:hover:not(:disabled){background:#edf4ef;border-color:#a1bcb7}
.login-email-fields{margin-top:20px}
.login-panel-body>.login-email-fields:first-child{margin-top:0}
.login-form{display:grid;gap:15px}
.login-recovery{display:block;margin-top:14px;text-align:right;color:#446771;font-size:11px;text-underline-offset:3px}
.login-form label{display:grid;gap:7px;margin:0;color:#49656f;font-size:11px;font-weight:750;line-height:1.4}
.login-form input{box-sizing:border-box;width:100%;min-width:0;min-height:44px;padding:11px 13px;border:1px solid #cddbd9;border-radius:8px;background:#fff;color:#284a58;font-family:inherit;font-size:14px;font-weight:500;line-height:1.4;transition:border-color .15s,box-shadow .15s}
.login-form input:hover:not(:disabled){border-color:#90b0b1}
.login-form input:focus{border-color:#437e90;outline:none;box-shadow:0 0 0 3px #3c839018}
.login-submit{min-height:46px;margin-top:3px;padding:12px 15px;border:1px solid #b52e43;border-radius:9px;background:#df344c;color:#fff;font-size:12px;font-weight:800;box-shadow:0 3px 0 #b92b3e;transition:background .15s,translate .15s,box-shadow .15s}
.login-submit .icon{width:16px;height:16px}
.login-submit:hover:not(:disabled){background:#ce2c43}
.login-submit:active:not(:disabled){translate:0 2px;box-shadow:0 1px 0 #b92b3e}
.login-guest-row{margin-top:26px;padding-top:22px;border-top:1px solid #e4eae6}
.login-guest{width:auto;margin-inline:auto;min-height:38px;padding:8px 4px;border:0;border-radius:5px;background:transparent;color:#4c7077;font-size:12px;font-weight:750}
.login-guest .icon{width:14px;height:14px;transition:translate .15s}
.login-contact{margin:18px 0 0;color:#71868b;font-size:10px;line-height:1.7;text-align:center;overflow-wrap:anywhere}
.login-contact a{color:inherit;text-underline-offset:3px}
.login-privacy-summary{margin:0 0 16px;color:#49656f;font-size:11px;line-height:1.6;overflow-wrap:anywhere}
.login-privacy-summary a{color:inherit;text-underline-offset:3px}
.login-guest:hover:not(:disabled){color:#244c58}
.login-guest:hover:not(:disabled) .icon{translate:3px 0}
.login-legal{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:11px;margin-top:25px;color:#bdc8c5;font-size:10px}
.login-legal a{color:#789094;text-decoration:none;text-underline-offset:3px}
.login-legal a:hover{color:#2d6573;text-decoration:underline}
.login-fan-note{max-width:100%;margin:0;text-align:center;color:#8a9e9e;font-size:9px;line-height:1.6}
.login-message{margin:0 0 18px;padding:11px 13px;border:1px solid;border-radius:8px;font-size:12px;line-height:1.65;overflow-wrap:anywhere}
.login-error{border-color:#edc7cc;background:#fff4f4;color:#a43445}
.login-notice{border-color:#c7ddd3;background:#f0f8f3;color:#3f715a}
.login-checking{margin:15px 0 0;color:#7a9094;font-size:11px;line-height:1.5;text-align:center}
.login-screen button:disabled,.login-screen input:disabled{cursor:wait;opacity:.55}
.login-screen button:focus-visible,.login-screen a:focus-visible{outline:3px solid #4399af;outline-offset:4px}
@media(min-width:900px) and (max-height:760px){.login-screen{padding-block:23px;gap:14px}.login-shell{min-height:590px}.login-panel{padding-block:32px}.login-world-copy{padding-top:170px}.login-panel h1{margin-bottom:21px}.login-modes{margin-bottom:21px}}
@media(max-width:899px){.login-screen{padding:25px 20px;gap:17px}.login-shell{max-width:760px;grid-template-columns:minmax(0,.9fr) minmax(340px,1fr);min-height:610px;border-radius:20px}.login-world{padding:27px 24px}.login-panel{padding:35px 30px}.login-world-copy p{font-size:32px}.login-logo{width:min(280px,68%)}.login-panel h1{font-size:29px}}
@media(max-width:700px){.login-screen{display:block;padding:0 0 20px;background:#f6f6ef}.login-shell{display:flex;flex-direction:column;max-width:none;min-height:100dvh;overflow:visible;border:0;border-radius:0;box-shadow:none;background:#fffefa}.login-world{display:block;height:185px;min-height:185px;flex:none;padding:22px 25px 0;overflow:hidden}.login-landscape{inset:0;width:100%;height:100%;object-fit:cover;object-position:92% top;transform:none}.login-world:before{background:linear-gradient(180deg,#173c4a3b 0,#173c4a0a 50%,#12364773 100%)}.login-logo{width:190px;max-width:56%;margin:0 auto}.login-world-copy{display:none}.login-panel{display:block;position:relative;flex:1;z-index:1;margin-top:-10px;padding:29px 25px 24px;border-radius:19px 19px 0 0;background:#fffefa}.login-panel-body{max-width:410px;margin-inline:auto}.login-eyebrow{font-size:8px;letter-spacing:1.5px}.login-panel h1{margin-top:8px;margin-bottom:21px;font-size:30px;letter-spacing:-.7px}.login-modes{margin-bottom:22px}.login-google{min-height:49px}.login-divider{margin:20px 0 15px}.login-guest-row{margin-top:23px;padding-top:18px}.login-legal{margin-top:19px}.login-fan-note{padding:15px 20px 0;font-size:8px}.login-form{gap:14px}.login-form input{font-size:16px}.login-email-fields{margin-top:19px}}
@media(max-width:370px){.login-world{height:160px;min-height:160px;padding-top:16px}.login-logo{width:165px}.login-panel{padding-inline:20px;padding-top:25px}.login-panel h1{font-size:28px}.login-google,.login-email-toggle,.login-guest{font-size:11px}.login-guest-row{margin-top:20px}}
@media(prefers-reduced-motion:reduce){.login-screen *{scroll-behavior:auto;transition:none!important}}

.login-loading{gap:22px;text-align:center}
.login-loading-logo{display:block;width:min(270px,70vw);height:auto}
.login-loading h1{margin:0;color:var(--login-ink);font-size:18px;font-weight:650;letter-spacing:0}
.login-loading .login-guest{margin-top:16px}
