:root{color-scheme:light;--ink:#151515;--paper:#f7f5f1;--surface:#fffdfa;--muted:#65615c;--line:#dedbd5;--control:#a39e97;--pink:#ff3083;--brand-ground:#101010;--brand-ink:#f8f7f4;--brand-muted:#c0beba;--success:#376244;--radius:8px}*{box-sizing:border-box}body,html{margin:0;min-height:100%}body{color:var(--ink);background:var(--paper);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit}button,input{font:inherit}a,button{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}[tabindex="-1"]:focus-visible,a:focus-visible,button:focus-visible{outline:3px solid var(--pink);outline-offset:5px}::selection{background:#fbb7d2;color:var(--ink)}.skip-link{position:fixed;top:12px;left:12px;z-index:10;transform:translateY(-180%);padding:14px 20px;background:var(--paper);color:var(--ink);border-radius:var(--radius)}.skip-link:focus{transform:translateY(0)}.auth-shell{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);min-height:100svh}.brand-panel{position:-webkit-sticky;position:sticky;top:0;height:100svh;min-height:650px;background:var(--brand-ground);color:var(--brand-ink);padding:42px clamp(28px,3.8vw,64px) 30px;display:flex;flex-direction:column;justify-content:space-between;gap:48px}.brand-logo{display:inline-flex;align-items:center;gap:12px;align-self:flex-start;min-height:44px;text-decoration:none}.brand-logo img{display:block;width:148px;height:auto}.brand-logo>span{color:var(--brand-muted);font-size:20px;font-weight:400;border-left:1px solid #53514e;padding-left:12px}.brand-message{width:100%;max-width:700px;margin-block:auto}.brand-title{font-size:clamp(44px,5.05vw,80px);line-height:1.01;letter-spacing:-.055em;font-weight:700;margin:0}.accent{color:var(--pink)}.brand-description{margin:22px 0 0;font-size:clamp(15px,1.3vw,19px);line-height:1.55;color:var(--brand-muted);text-wrap:pretty}.game-logos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;grid-gap:28px;gap:28px;list-style:none;padding:30px 0 0;margin:42px 0 0;border-top:1px solid #393735}.game-logos li{display:flex;align-items:center;justify-content:center;min-width:0;min-height:90px}.game-logos img{display:block;width:100%;max-width:160px;height:auto;max-height:90px;object-fit:contain}.game-logos .game-logo-prime{filter:invert(1);max-width:144px}.brand-footer{margin:0;border-top:1px solid #393735;padding-top:20px;font-size:12px;color:var(--brand-muted);line-height:1.5}.account-panel{display:flex;flex-direction:column;align-items:center;padding:56px clamp(28px,4.4vw,80px) 30px;min-width:0}.account-content{width:100%;max-width:420px;margin-block:auto}.eyebrow{color:var(--ink);font-size:20px;font-weight:700;letter-spacing:-.04em;margin:0 0 24px;line-height:1.4}.eyebrow>span{font-size:15px;font-weight:400;letter-spacing:0;margin-left:4px}.account-content h1{font-size:clamp(30px,3vw,42px);line-height:1.12;letter-spacing:-.045em;margin:0 0 18px;overflow-wrap:anywhere;text-wrap:balance}.panel-description{color:var(--muted);font-size:16px;line-height:1.65;margin:0;text-wrap:pretty}.signin-form{margin-top:36px}.auth-button{min-height:52px;width:100%;padding:14px 16px;border:1px solid var(--control);border-radius:var(--radius);display:inline-flex;justify-content:center;align-items:center;gap:12px;font-size:15px;font-weight:600;line-height:1.5;text-align:center;text-decoration:none;transition:background-color .15s ease,border-color .15s ease}.auth-button svg{flex-shrink:0}.auth-button-primary{background:var(--ink);color:white;border-color:var(--ink)}.auth-button-primary:hover:not(:disabled){background:#33312e}.auth-button-google,.auth-button-secondary{background:var(--surface);color:var(--ink)}.auth-button-google:hover:not(:disabled),.auth-button-secondary:hover:not(:disabled){background:#eeeae3;border-color:var(--ink)}.auth-button-link{background:transparent;border-color:transparent;color:var(--muted);font-size:13px;font-weight:400;margin-top:8px}.auth-button-link:hover:not(:disabled){color:var(--ink);text-decoration:underline;text-underline-offset:4px}.signin-note{margin:22px 0 0;color:var(--muted);font-size:13px;line-height:1.7}.signin-details{border-top:1px solid var(--line);margin:36px 0 0;padding-top:24px;display:grid;grid-gap:16px;gap:16px;font-size:12px;line-height:1.5}.signin-details>div{display:grid;grid-template-columns:1fr 1.25fr;grid-gap:12px;gap:12px}.signin-details dt{color:var(--muted)}.signin-details dd{margin:0}.account-footer{width:100%;max-width:420px;display:flex;justify-content:space-between;gap:16px;padding-top:44px;color:var(--muted);font-size:11px;line-height:1.5}.identity{display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--line);padding:24px 0;margin-bottom:22px;min-width:0}.identity-avatar{width:42px;height:42px;background:#e9e3dd;border-radius:50%;display:grid;place-items:center;font-size:17px;flex-shrink:0}.identity>div{min-width:0;flex:1 1}.identity strong{display:block;font-size:14px;line-height:1.4;overflow-wrap:anywhere}.identity p{font-size:12px;color:var(--muted);margin:5px 0 0;line-height:1.5;overflow-wrap:anywhere}.signed-in{font-size:11px;color:var(--success);display:flex;align-items:center;gap:5px;white-space:nowrap}.signed-in i{width:6px;height:6px;background:var(--success);border-radius:50%}.xid-display{display:flex;justify-content:space-between;gap:16px;margin:0 0 30px;font-size:12px;line-height:1.5;color:var(--muted)}.xid-display code{color:var(--ink);overflow-wrap:anywhere;text-align:right;min-width:0}.profiles-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:16px}.profiles-heading h2{font-size:15px;margin:0;line-height:1.4;letter-spacing:-.02em}.profiles-heading>span{font-size:11px;color:var(--muted);text-align:right}.profile-list{display:flex;flex-direction:column}.profile-card{padding:18px 0;border-top:1px solid var(--line);min-width:0}.profile-card-heading{display:flex;align-items:center;gap:12px}.profile-card-heading>div{min-width:0}.region-icon{width:26px;flex-shrink:0;font-size:11px;font-weight:600;color:var(--muted)}.profile-card h2,.profile-card h3{font-size:14px;line-height:1.4;letter-spacing:-.01em;margin:0 0 3px}.profile-card-heading>div>span,.profile-state{font-size:11px;color:var(--muted)}.profile-state{margin-left:auto;text-align:right}.profile-connected{color:var(--success)}.account-game-list{display:grid;grid-gap:12px;gap:12px}.account-game-card{padding:20px;border:1px solid var(--line);border-radius:12px;background:var(--surface);min-width:0}.account-game-heading{display:grid;grid-template-columns:64px minmax(0,1fr);grid-column-gap:16px;column-gap:16px;grid-row-gap:6px;row-gap:6px;align-items:center}.account-game-logo{grid-row:span 2;display:flex;align-items:center;justify-content:center;min-height:60px}.account-game-logo img{display:block;width:64px;height:auto}.account-game-title{min-width:0}.account-game-title h3{margin:0;font-size:16px;line-height:1.4;letter-spacing:-.02em}.account-game-title p{margin:4px 0 0;color:var(--muted);font-size:11px;line-height:1.5;text-wrap:pretty}.account-game-title p>span{padding-inline:3px}.account-profile-status{grid-column:2;justify-self:start;display:inline-flex;align-items:center;padding:4px 8px;border-radius:5px;background:#efede8;color:#59554f;font-size:11px;line-height:1.4}.account-profile-status.profile-connected{color:#2e583a;background:#e7f0e7}.account-game-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:16px;gap:16px;margin:18px 0 0;padding-top:16px;border-top:1px solid var(--line)}.account-game-details>div{min-width:0}.account-player-id{text-align:right}.account-game-details dt{color:var(--muted);font-size:11px;line-height:1.5}.account-game-details dd{margin:5px 0 0;font-size:14px;line-height:1.5;overflow-wrap:anywhere}.account-player-name dd{font-weight:600}.account-game-details code{font-size:12px}.account-game-message{margin:16px 0 0;color:var(--muted);font-size:12px;line-height:1.6}.profile-details{margin:14px 0 0 38px}.profile-details strong{font-size:15px;line-height:1.4;overflow-wrap:anywhere}.profile-details p{font-size:12px;color:var(--muted);margin:6px 0 0;line-height:1.5}.profile-details code{color:var(--ink);margin-left:8px;overflow-wrap:anywhere}.profile-message{color:var(--muted);font-size:12px;line-height:1.6;margin:12px 0 0}.profile-card>.profile-message{margin-left:38px}.sign-out-button{margin-top:20px}.auth-error{padding:14px 16px;border-left:3px solid #a32950;background:#fbe9ef;font-size:13px;color:#8c2142;line-height:1.6;border-radius:0 var(--radius) var(--radius) 0;margin:24px 0 0;overflow-wrap:anywhere}.session-loading{display:flex;align-items:center;gap:12px;font-size:14px;color:var(--muted);min-height:200px}.spinner{width:16px;height:16px;flex-shrink:0;border:2px solid var(--line);border-top-color:var(--ink);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.google-login{width:100%;min-height:44px}.google-login-busy{pointer-events:none;opacity:.65}.google-login>div{max-width:100%}.logout-form{margin-top:30px}.logout-cancel{margin-top:14px}.consent-origin{font-size:13px;line-height:1.5;color:var(--muted);margin:0 0 20px;overflow-wrap:anywhere}.consent-identity{margin-bottom:24px;padding-block:20px 24px}.consent-shell{min-height:100svh;display:grid;place-items:center;padding:40px 24px;background:var(--brand-ground)}.consent-card{width:100%;max-width:480px;min-width:0;padding:36px;border:1px solid var(--line);border-radius:16px;background:var(--paper);text-align:center}.consent-brand{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:44px;margin-bottom:28px;text-decoration:none}.consent-brand img{display:block;width:112px;height:auto;filter:brightness(0)}.consent-brand>span{border-left:1px solid var(--control);padding-left:12px;color:var(--pink);font-size:17px}.consent-card .eyebrow{margin:0 0 14px;font-size:12px;letter-spacing:.04em;color:var(--muted)}.consent-card h1{margin:0 0 16px;font-size:24px;line-height:1.25;letter-spacing:-.035em;overflow-wrap:anywhere;text-wrap:balance}.consent-card .panel-description{font-size:14px}.consent-card .identity{text-align:left}.consent-card .identity p{margin-top:2px;line-height:1.35}.consent-avatar{width:40px;height:40px;overflow:hidden;background:#e8def8;color:#49316b;font-size:19px;font-weight:500}.consent-avatar img{display:block;width:100%;height:100%;object-fit:cover}.consent-game{margin-bottom:24px;text-align:left}.consent-game-heading{display:flex;align-items:center;gap:16px}.consent-game-heading img{width:72px;height:32px;object-fit:contain}.consent-game-heading h2{margin:0;font-size:15px;line-height:1.4}.consent-game-heading p{margin:4px 0 0;color:var(--muted);font-size:12px}.consent-game-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:14px;gap:14px;margin:18px 0 0}.consent-game-details>div{min-width:0}.consent-player-id{text-align:right}.consent-game-details dt{color:var(--muted);font-size:12px;line-height:1.5}.consent-game-details dd{margin:4px 0 0;font-size:14px;line-height:1.5;overflow-wrap:anywhere}.consent-game-message{color:var(--muted);font-size:13px;line-height:1.6;margin:16px 0 0}@media (max-width:520px){.consent-shell{padding:max(24px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}.consent-card{padding:28px 24px 20px;border-radius:12px}.consent-card h1{font-size:22px}}.consent-actions{display:flex;flex-direction:column;gap:10px}.consent-cancel{align-self:center;min-height:44px;border:0;background:transparent;padding:12px 24px;font-size:13px;color:var(--muted)}.consent-cancel:hover{color:var(--ink);text-decoration:underline;text-underline-offset:4px}@media (min-width:1600px){.brand-panel{padding:48px 64px 32px}.account-content,.account-footer{max-width:440px}}@media (min-width:901px) and (max-height:740px){.brand-panel{gap:30px;min-height:600px;padding-top:28px}.brand-title{font-size:clamp(42px,4.7vw,68px)}.game-logos{margin-top:28px;padding-top:22px}.account-panel{padding-top:36px}}@media (min-width:901px) and (max-width:1050px){.brand-panel{padding-inline:28px}.brand-title{font-size:48px}.brand-description{font-size:15px}.game-logos{gap:20px}.account-panel{padding-inline:32px}.account-content h1{font-size:32px}.signin-details>div{grid-template-columns:1fr;gap:4px}}@media (max-width:900px){.auth-shell{grid-template-columns:minmax(0,1fr)}.brand-panel{position:static;height:auto;min-height:0;padding:24px max(24px,env(safe-area-inset-left)) 28px;gap:28px}.brand-logo img{width:120px}.brand-logo>span{font-size:17px}.brand-title{font-size:clamp(36px,7vw,48px)}.brand-title br{display:none}.brand-description{margin-top:12px;font-size:14px}.game-logos{gap:24px;margin-top:24px;padding-top:20px}.game-logos li{min-height:54px}.game-logos img{max-height:60px}.brand-footer{display:none}.account-panel{padding:36px max(24px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom))}.account-content,.account-footer{max-width:480px}.account-content{margin-block:0}.account-content h1{font-size:32px}.eyebrow{font-size:17px;margin-bottom:18px}.panel-description{font-size:15px}.signin-form{margin-top:26px}.signin-details{margin-top:26px;padding-top:22px}.account-footer{padding-top:36px}}@media (max-width:360px){.account-panel,.brand-panel{padding-inline:20px}.brand-title{font-size:36px}.signed-in{white-space:normal;text-align:right}.signin-details>div{grid-template-columns:1fr;gap:4px}.profiles-heading{align-items:flex-start;flex-direction:column;gap:6px}.account-game-card{padding:16px}.account-game-heading{grid-template-columns:52px minmax(0,1fr);column-gap:12px}.account-game-logo img{width:52px}}@media (prefers-reduced-motion:reduce){.spinner{animation:none}.auth-button{transition:none}}