/* Shared player account UI, scoped independently from each game theme. */
.ta-entry,.ta-button{font:600 14px/1.3 system-ui,sans-serif;cursor:pointer;border-radius:10px;padding:10px 15px;border:1px solid #c9cfe0;background:#fff;color:#303650;white-space:nowrap;transition:background .15s,border-color .15s}
.ta-entry{max-width:170px;overflow:hidden;text-overflow:ellipsis;margin-left:8px;flex-shrink:0}
.ta-entry:hover,.ta-button:hover{background:#eef0ff;border-color:#8b85d8}
.ta-floating{position:fixed;top:12px;right:12px;z-index:1000}
.ta-dialog,.ta-dialog *{box-sizing:border-box}
.ta-dialog{width:min(440px,calc(100% - 32px));max-height:calc(100dvh - 32px);margin:auto;padding:36px 32px 24px;border:1px solid #fff;border-radius:28px;background:#fafafc;color:#24243a;font:15px/1.6 system-ui,-apple-system,sans-serif;box-shadow:0 32px 100px #0b10294d,0 2px 12px #0b102914;overflow:auto;text-align:left;color-scheme:light}
.ta-dialog::backdrop{background:#11162b80;backdrop-filter:blur(8px)}
/* Soft lavender scrollbars match the dialog's light surface and purple accents. */
.ta-dialog,.ta-dialog .ta-games{scrollbar-width:thin;scrollbar-color:#c6bfdc #fafafc}
@supports selector(::-webkit-scrollbar){
  .ta-dialog,.ta-dialog .ta-games{scrollbar-width:auto;scrollbar-color:auto}
  .ta-dialog::-webkit-scrollbar,.ta-dialog .ta-games::-webkit-scrollbar{width:8px;height:8px}
  .ta-dialog::-webkit-scrollbar-track,.ta-dialog .ta-games::-webkit-scrollbar-track{background:#fafafc;border-radius:999px;margin-block:24px}
  .ta-dialog::-webkit-scrollbar-thumb,.ta-dialog .ta-games::-webkit-scrollbar-thumb{background:#c6bfdc;border:2px solid #fafafc;border-radius:999px}
  .ta-dialog::-webkit-scrollbar-thumb:hover,.ta-dialog .ta-games::-webkit-scrollbar-thumb:hover{background:#a99cc9}
  .ta-dialog::-webkit-scrollbar-thumb:active,.ta-dialog .ta-games::-webkit-scrollbar-thumb:active{background:#9183b8}
  .ta-dialog::-webkit-scrollbar-corner,.ta-dialog .ta-games::-webkit-scrollbar-corner{background:#fafafc}
}
.ta-dialog h2{font-size:26px;font-weight:750;line-height:1.2;letter-spacing:-.8px;margin:6px 20px 16px 0;color:#24243a}
.ta-dialog h3{font-size:16px;font-weight:650;margin-top:24px;color:#24243a}
.ta-close{position:absolute;right:14px;top:14px;display:grid;place-items:center;width:32px;height:32px;padding:0;border:1px solid #e4e5ee;border-radius:50%;background:#fff9;color:#6f7085;font:400 23px/1 system-ui;cursor:pointer;z-index:1}
.ta-close:hover{background:#eeeef6;color:#24243a}
.ta-muted{color:#6b7086;margin:12px 0}.ta-small{font-size:12px}
.ta-google{display:flex;justify-content:center;min-height:44px;margin:26px 0 18px;width:100%}
.ta-link{display:inline-block;background:none;border:0;color:#6550bc;font:inherit;text-decoration:underline;text-underline-offset:4px;cursor:pointer;padding:5px 0}
.ta-dialog label{display:block;font-size:13px;font-weight:600;margin:18px 0 10px}
.ta-dialog input{display:block;width:100%;background:#fff;color:#24243a;border:1px solid #d4d6e3;border-radius:10px;padding:11px 12px;margin-top:7px;font:16px system-ui}
.ta-status{font-size:13px;line-height:1.5;margin:16px 0 0;padding:10px 12px;border-radius:10px;background:#efedf9;color:#605390;overflow-wrap:anywhere}
.ta-status:empty{display:none}.ta-status.ta-error{color:#a1423b;background:#fff0ec}
.ta-games{padding:0;list-style:none;max-height:220px;overflow:auto}.ta-games li{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid #e7e7f0;padding:11px 0}.ta-games span{color:#777a8d;font-size:12px}
.ta-prompt{display:flex;align-items:center;justify-content:center;gap:12px;padding:10px 12px;margin-top:12px;font:13px/1.4 system-ui,sans-serif;border-top:1px solid #64748b55}.ta-prompt .ta-link{color:inherit}.ta-prompt[hidden]{display:none}
.ta-dismiss{background:none;border:0;color:#94a3b8;cursor:pointer;font-size:20px;padding:5px}.ta-button:disabled{opacity:.5;cursor:wait}
.ta-dialog :focus-visible,.ta-entry:focus-visible{outline:3px solid #9183e2;outline-offset:4px}
.ta-login-hero{text-align:center;padding-top:8px}
.ta-block-mark{display:grid;grid-template-columns:repeat(3,15px);grid-template-rows:repeat(2,15px);gap:3px;width:51px;margin:0 auto 18px;transform:rotate(-8deg)}
.ta-block-mark span{border-radius:4px;background:#8170d8;box-shadow:inset 0 2px 0 #ffffff35,inset 0 -2px 0 #39297925}
.ta-block-mark span:first-child{grid-column:2;background:#a295ea}.ta-block-mark span:nth-child(2){grid-column:1}.ta-block-mark span:nth-child(3){background:#6e5bc7}
.ta-eyebrow{font:700 10px/1.4 system-ui,sans-serif;letter-spacing:2.5px;color:#88839e;margin:0 0 16px}
.ta-login-hero h2{margin:0;font-size:38px;line-height:1.12;letter-spacing:-1.5px;font-weight:780}
.ta-login-hero h2 span{display:block;color:#7762ca}
.ta-login-description{font-size:14px;line-height:1.65;color:#77788c;max-width:280px;margin:16px auto 0;text-wrap:balance}
.ta-perks{display:flex;justify-content:center;gap:20px;margin:24px 0 0;padding:15px 0;border-top:1px solid #e8e7ef;border-bottom:1px solid #e8e7ef}
.ta-perk{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:550;color:#57566d;white-space:nowrap}
.ta-perk-number{font:600 10px/1.6 ui-monospace,monospace;color:#8e80bd}
.ta-divider{display:flex;align-items:center;gap:12px;color:#a09cac;font-size:11px;margin:0 12px 14px}.ta-divider::before,.ta-divider::after{content:"";flex:1;height:1px;background:#e8e7ef}
.ta-guest{display:block;width:100%;border:1px solid #dfddea;border-radius:24px;padding:12px 10px;background:transparent;color:#666176;font:550 13px/1.4 system-ui,sans-serif;cursor:pointer;transition:background .15s}
.ta-guest:hover{background:#f0edf8;border-color:#c6bddf}
.ta-login-footer{text-align:center;margin-top:22px;font-size:11px;line-height:1.7;color:#9691a3}.ta-login-footer p{margin:0}.ta-login-footer a{color:#777183;text-decoration:underline;text-underline-offset:3px;font-size:11px}
.ta-mobile-entry{box-sizing:border-box;width:40px;max-width:40px;margin:0;padding:9px 0;font-size:10px;white-space:normal}
.ta-sync{font:12px/1.5 system-ui,sans-serif;color:#c5d7e3;text-align:center;margin:8px 0}.ta-sync:empty{display:none}
@media(max-width:600px){.ta-dialog{padding:30px 22px 22px;border-radius:24px;max-height:calc(100dvh - 24px)}.ta-login-hero h2{font-size:32px}.ta-perks{gap:14px}.ta-perk{font-size:11px}.ta-entry{font-size:12px;padding:8px 10px;max-width:110px}.ta-prompt{font-size:12px}}
@media(prefers-reduced-motion:reduce){.ta-entry,.ta-button,.ta-guest{transition:none}}
/* Header account links inherit the active game's palette. */
.ta-entry{display:inline-flex;align-items:center;justify-content:center;background:transparent;color:inherit;border-color:currentColor;border-color:color-mix(in srgb,currentColor 25%,transparent);text-decoration:none;box-shadow:none;font-family:inherit;vertical-align:middle}
.ta-entry:hover{background:color-mix(in srgb,currentColor 8%,transparent);border-color:currentColor;color:inherit;text-decoration:none}
.ta-entry{gap:8px}.ta-entry-name{overflow:hidden;text-overflow:ellipsis;min-width:0}.ta-avatar,.account-avatar{position:relative;overflow:hidden;isolation:isolate;flex-shrink:0}.ta-avatar{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;background:color-mix(in srgb,currentColor 12%,transparent);font:600 12px/1 system-ui}.ta-avatar img,.account-avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:inherit}.ta-mobile-entry .ta-avatar{margin:auto}
/* Compact account and check-in links share each game's accent. */
body{--player-accent:#8abaff;--player-radius:12px}
body[data-theme="space-theme"]{--player-accent:#63e5ff}
body.tetris-anime-sakura-girl{--player-accent:#f3a8c4;--player-radius:16px}
body.tetris-sewage-plant{--player-accent:#efb94f;--player-radius:5px}
.ta-entry{box-sizing:border-box;height:38px;padding:5px 11px 5px 6px;gap:8px;border-radius:var(--player-radius);border-color:color-mix(in srgb,currentColor 18%,transparent);background:color-mix(in srgb,currentColor 4%,transparent);font:600 12px/1.2 system-ui,sans-serif;max-width:155px}
.ta-entry:hover{border-color:var(--player-accent);background:color-mix(in srgb,var(--player-accent) 12%,transparent)}
.ta-avatar{width:26px;height:26px;color:var(--player-accent);background:color-mix(in srgb,var(--player-accent) 14%,transparent)}
.ta-account-icon{position:relative;display:block;width:26px;height:26px;flex-shrink:0;border-radius:50%;background:color-mix(in srgb,var(--player-accent) 14%,transparent);color:var(--player-accent)}
.ta-account-icon::before{content:"";position:absolute;top:5px;left:10px;width:6px;height:6px;border:1.5px solid currentColor;border-radius:50%;box-sizing:border-box}
.ta-account-icon::after{content:"";position:absolute;left:6px;bottom:5px;width:14px;height:8px;border:1.5px solid currentColor;border-radius:8px 8px 3px 3px;box-sizing:border-box}
.ta-entry.ta-mobile-entry{width:40px;max-width:40px;height:40px;padding:5px;margin:0;font-size:10px}
@media(max-width:600px){.ta-entry{max-width:110px;height:36px;padding:4px 8px 4px 5px;gap:6px}}
.header-actions:has(.ta-entry){align-items:center}
@media(max-width:900px){
  body .command-header:has(.ta-entry){height:auto;grid-template-columns:minmax(0,1fr)}
  body .command-header:has(.ta-entry) .brand{grid-column:1;grid-row:1;justify-self:center}
  body .command-header .header-actions:has(.ta-entry){grid-column:1;grid-row:2;justify-self:center;width:100%;min-width:0;flex-wrap:wrap;justify-content:center;gap:6px}
  body .command-header:has(.ta-entry) .mode-tabs{grid-column:1;grid-row:3}
  .header-actions:has(.ta-entry) .icon-button{flex-shrink:0}
  .tetris-pc-page .game-settings:has(.ta-entry){flex-wrap:wrap;overflow:visible}
}
@media(max-width:600px){
  body .command-header .header-actions:has(.ta-entry){display:grid;grid-template-columns:repeat(6,minmax(0,1fr));width:min(100%,350px);justify-items:center}
  .header-actions .ta-entry{grid-column:1/4;justify-self:end;margin-left:0}
  .header-actions .dc-entry{grid-column:4/7;justify-self:start}
}
.tetris-pc-page .game-header:has(.ta-entry),.tetris-pc-page .game-settings:has(.ta-entry){flex-shrink:0}
