#tester-name-dialog{width:min(410px,calc(100% - 32px));max-height:calc(100dvh - 32px);padding:0;border:1px solid #bdc38890;border-radius:28px;background:linear-gradient(145deg,#193238,#0d2028);color:#edf4ed;box-shadow:0 30px 100px #0006;overflow:auto;font-family:system-ui,-apple-system,sans-serif}
#tester-name-dialog::backdrop{background:#07151c99;backdrop-filter:blur(7px)}
.tester-name-card{padding:32px 28px 26px;text-align:center}
.tester-name-emblem{width:68px;height:68px;margin:0 auto 20px;border-radius:22px;background:#d9b76518;border:1px solid #ddc37e60;display:grid;place-items:center;color:#f3d789}
.tester-name-emblem svg{width:44px;height:44px}
.tester-name-eyebrow{color:#d9bd79;font-size:11px;font-weight:650;letter-spacing:2.6px}
#tester-name-title{font-size:29px;letter-spacing:-1px;margin:10px 0 12px}
.tester-name-card p{font-size:15px;color:#b6c8c5;margin:0 0 24px}
.tester-name-card label{display:block;text-align:left;font-size:13px;color:#c8d8d3;margin-bottom:9px}
#tester-name-input{box-sizing:border-box;width:100%;font:inherit;font-size:18px;padding:16px;border-radius:14px;border:1px solid #58756e;background:#081a21;color:#fff;outline:none}
#tester-name-input:focus{border-color:#f0d28c;box-shadow:0 0 0 3px #efd18a18}
#tester-name-error{display:block;min-height:18px;text-align:left;font-size:12px;color:#ffb8a6;margin-top:6px}
.tester-name-submit{width:100%;padding:16px;border:0;border-radius:14px;color:#182720;background:linear-gradient(110deg,#f3d990,#dfbb67);font:750 16px system-ui;cursor:pointer}
.tester-name-note{display:block;font-size:12px;color:#8fa8a2;margin-top:18px}
#game-menu>.tester-name-badge{flex:none;align-self:flex-end;margin:8px max(16px,env(safe-area-inset-right)) 8px 16px;padding:8px 14px;max-width:calc(100% - 32px);overflow-wrap:anywhere;border:1px solid #d7bd7560;border-radius:12px;background:#d9b76512;color:#f3d789;font:650 14px system-ui;cursor:pointer}
.tester-name-badge[hidden]{display:none!important}
.owner-catch-ticker[hidden]{display:none!important}
#scene>.owner-catch-ticker{position:absolute;z-index:3;top:max(76px,calc(env(safe-area-inset-top) + 62px));left:50%;transform:translateX(-50%);display:inline-flex;align-items:center;gap:8px;width:max-content;max-width:calc(100% - 32px);padding:8px 12px;border:1px solid #ffffff30;border-radius:10px;background:#101d24e6;backdrop-filter:blur(5px);color:#fff;text-shadow:0 1px 2px #000;font:600 13px/1.4 system-ui;pointer-events:none;box-shadow:0 2px 10px #0003}#scene .owner-catch-label{min-width:0;white-space:normal;overflow-wrap:anywhere}body:has(dialog[open]) #scene>.owner-catch-ticker{display:none!important}@media(max-width:600px){#scene>.owner-catch-ticker{font-size:12px;padding:7px 10px;max-width:calc(100% - 24px)}}
@media(max-height:570px){.tester-name-card{padding:20px 24px}.tester-name-emblem{width:42px;height:42px;margin-bottom:10px}.tester-name-emblem svg{width:30px;height:30px}.tester-name-card p{margin-bottom:12px}}
#game-menu>.player-roster{flex:none;margin:0 max(16px,env(safe-area-inset-right)) 12px 16px;padding:12px 14px;border:1px solid #71908350;border-radius:14px;background:#173038;max-height:180px;overflow:auto;color:#dae7e2;font-family:system-ui}
.player-roster h3{font-size:13px;margin:0 0 9px;color:#e7cb8b}
.player-roster p{font-size:12px;margin:0;line-height:1.5;color:#aabfb8}
.player-roster-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:7px 0;border-top:1px solid #ffffff10;font-size:13px}
.player-roster-row strong{overflow-wrap:anywhere;min-width:0}.player-roster-row span{font-size:11px;color:#8fa8a2;white-space:nowrap}.player-roster-row .online{color:#a6dab4}
#game-menu>.player-roster{max-height:360px}
.player-info-card{padding:10px 12px;margin:10px 0;border:1px solid #6d8d7d50;border-radius:13px;background:#0c232a}
.player-info-card .player-roster-row{border:0;padding:0 0 8px}
.player-info-card p{margin:4px 0}.player-info-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0}
.player-info-metrics small,.player-info-catches>small{display:block;color:#9eb6ad;font-size:11px;margin-bottom:5px}.player-info-metrics b{font-size:18px;color:#edcf88}
.player-info-catches{border-top:1px solid #ffffff16;padding-top:10px}.player-info-catches p{font-size:12px}
.player-info-note{padding-top:8px;font-size:11px!important}
.player-info-login{margin:10px 0}.player-info-login label{display:block;font-size:12px;color:#b5c8bd}.player-info-login input{display:block;box-sizing:border-box;width:100%;margin:8px 0;padding:10px;border:1px solid #758f81;border-radius:8px;background:#0b2027;color:#fff;font:16px system-ui}.player-info-login button{padding:10px;border-radius:8px;border:1px solid #e0c57e;background:#d4b976;color:#10242a;font:600 12px system-ui}
.player-info-link{display:inline-block;margin:0 0 10px;padding:9px 12px;border:1px solid #e0c57e80;border-radius:10px;color:#edcf88;font:600 12px system-ui;text-decoration:none}

#game-menu .player-directory-columns{display:grid;grid-template-columns:minmax(110px,180px) minmax(0,1fr);gap:12px;margin:8px 16px 14px;flex:none;min-width:0}
#game-menu .player-self-column{padding:10px;border-radius:12px;background:#172e31;border:1px solid #71908350;min-width:0}
#game-menu .player-self-column .tester-name-badge{width:100%;padding:9px 12px;border:1px solid #d7bd7560;border-radius:10px;background:#d9b76512;color:#f3d789;font:650 14px system-ui;overflow-wrap:anywhere}
#game-menu .player-self-stats{margin-top:10px;font:13px system-ui;color:#dae7e2}
#game-menu .player-self-stats summary{cursor:pointer}
#game-menu .player-directory .player-roster{max-height:220px;overflow:auto;padding:10px 12px;border-radius:12px;background:#173038;border:1px solid #71908350;min-width:0}
#game-menu .player-directory .player-info-card{margin:4px 0;padding:9px;border-radius:9px}
#game-menu .player-info-card>summary{cursor:pointer;list-style:disclosure-closed;padding:3px 0}
#game-menu .player-info-card[open]>summary{list-style:disclosure-open}
#game-menu .player-info-detail p{font:12px system-ui;line-height:1.5}
@media(max-width:500px){#game-menu .player-directory-columns{grid-template-columns:minmax(95px,125px) minmax(0,1fr);gap:8px;margin:8px 10px 12px}#game-menu .player-roster-row{flex-wrap:wrap;gap:4px}#game-menu .player-self-stats .player-info-metrics{grid-template-columns:1fr}}

#game-menu .player-directory[hidden]{display:none!important}.player-city{color:#edcf88!important}

#game-menu .player-directory{flex:none;margin:0 16px 8px;min-width:0}
#game-menu .player-statistics-toggle{display:inline-flex;align-items:center;gap:6px;list-style:none;cursor:pointer;padding:6px 9px;border:1px solid #e0c57e60;border-radius:8px;color:#edcf88;font:600 11px system-ui;background:#172e31}
.player-statistics-toggle::-webkit-details-marker{display:none}.player-statistics-toggle svg{width:16px;height:16px}
#game-menu .player-directory:not([open])>.player-directory-columns{display:none}
#game-menu .player-directory-columns{margin:8px 0 0}
.player-info-link{padding:5px 8px;font-size:11px;border-radius:7px;margin-bottom:6px}
@media(orientation:portrait) and (max-width:600px){#scene>.owner-catch-ticker{left:auto;right:var(--hud-right,14px);transform:none;top:var(--audio-row-top,76px);max-width:calc(100% - 120px)}}
@media(orientation:landscape) and (max-height:600px){#scene>.owner-catch-ticker{top:var(--hud-top,12px);max-width:calc(100% - 400px);font-size:12px;padding:7px 10px}}
@media(orientation:landscape) and (min-height:601px){#scene>.owner-catch-ticker{top:var(--hud-top,12px);max-width:calc(100% - 400px)}}
