/* Switching views keeps the participant and the server clock alive. */
.hud .home-toggle{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;flex:none;width:58px;height:48px;padding:5px 8px;border:0;border-radius:0;background:transparent;color:#eed6a6;font:11px/14px var(--ng-body)}
.hud .home-toggle[hidden]{display:none}.home-toggle svg{width:21px;height:21px;shape-rendering:crispEdges}.hud .home-toggle:hover:not(:disabled){background:transparent;color:#fff0bc}
.is-home .hud-cluster .music-controls{display:flex}
.welcome-registration[hidden],.welcome-return[hidden]{display:none}
.welcome-return{display:flex;flex-direction:column;min-width:0;min-height:0;padding:24px}
.welcome-return>.eyebrow{font:10px/14px var(--ng-body);letter-spacing:1.4px;color:#b9a078}
.welcome-return h2{font:29px/31px var(--ng-title);color:#f0dfbd;margin:7px 0 21px}
.return-participant{display:flex;align-items:center;gap:14px;border-bottom:1px solid #b19a5b40;padding-bottom:18px;margin-bottom:18px;min-width:0}
.return-participant>[data-welcome-art]{flex:none;width:44px}.return-participant .ng-art{width:44px}.return-participant>div{min-width:0}.return-participant small{font:9px/14px var(--ng-body);letter-spacing:1px;color:#a8b39a}
.return-participant strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font:600 23px/27px var(--ng-body);color:#f4dfb6;margin-top:3px}
.return-participant>div{flex:1}
.join-card .edit-nickname{flex:none;width:auto;min-height:34px;margin:0;padding:7px 12px;font:12px/18px var(--ng-body);white-space:nowrap}
#nickname-dialog{width:420px;max-height:calc(100vh - 40px);overflow:auto}
#nickname-dialog h2{margin:9px 0 14px;padding-right:0}
#nickname-dialog label{display:block;margin:16px 0 6px;font:14px/20px var(--ng-body);color:#ead4a8}
#nickname-input{display:block;box-sizing:border-box;width:100%;min-height:44px}
#nickname-hint{display:block;margin-top:7px;font:12px/17px var(--ng-body);color:#b2bda4}
#nickname-status{margin:8px 0;min-height:20px;color:#f0b191}
#nickname-dialog .actions-row{display:flex;gap:12px}
#nickname-dialog .actions-row button{flex:1}
.account-character{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:8px 0}
.account-character strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:18px/24px var(--ng-body)}
.account-character button{flex:none}
.season-ticket .account-character .edit-nickname{width:auto;min-height:32px;font-size:12px;padding:6px 10px}
.return-professions{display:grid;gap:11px}.return-profession{position:relative;isolation:isolate;display:flex;align-items:center;gap:14px;padding:13px 15px;min-width:0}
.return-profession>.ng-art{width:37px;max-height:41px;flex:none}.return-profession>div{min-width:0}.return-profession small{display:block;font:8px/12px var(--ng-body);letter-spacing:1.1px;color:#bfa77a}.return-profession b{font:600 17px/21px var(--ng-body);color:#f2dcb0;display:block;margin:1px 0 3px}.return-profession span:not(.ng-art):not(.ng-skin){font:12px/16px var(--ng-body);color:#c3bda3}
.join-card .return-lock{font:11px/16px var(--ng-body);color:#aab69a;margin:11px 0 20px}
.return-round{position:relative;isolation:isolate;padding:15px 17px;margin-bottom:21px;color:#684c2b}.return-round>.eyebrow{font:9px/13px var(--ng-body);color:#876431;letter-spacing:1px}.return-round strong{display:block;font:500 13px/18px var(--ng-body);color:#65441e;margin:7px 0}.join-card .return-round p{font:12px/18px var(--ng-body);color:#765630;margin:0}
.welcome-return>[data-return-game]{margin-top:auto;flex:none}.return-session{display:block;text-align:center;font:11px/16px var(--ng-body);color:#a6b497;margin-top:10px}
@media(max-width:1550px){.welcome-return{padding-inline:18px}}
@media(max-width:1220px){.welcome-return{padding-inline:14px}.return-profession{padding:11px 12px;gap:10px}.return-profession>.ng-art{width:30px}.return-participant{gap:10px}.return-participant strong{font-size:20px;line-height:24px}.return-round{padding:13px 14px}}
@media(max-width:1120px){.hud .home-toggle{width:48px;padding-inline:6px}.hud-cluster{gap:8px}.home-toggle svg{width:19px;height:19px}}
@media(max-height:780px){.welcome-return{padding-block:18px}.welcome-return h2{font-size:27px;line-height:29px;margin-bottom:15px}.return-participant{padding-bottom:12px;margin-bottom:12px}.return-profession{padding-block:10px}.return-professions{gap:8px}.join-card .return-lock{margin:9px 0 14px}.return-round{padding-block:11px;margin-bottom:14px}.return-session{font-size:10px}}
@media(max-height:700px){.welcome-return{padding-block:16px}.welcome-return h2{font-size:25px;line-height:27px;margin-bottom:10px}.return-participant{padding-bottom:9px;margin-bottom:10px}.return-participant strong{font-size:20px;line-height:23px}.return-participant>[data-welcome-art],.return-participant .ng-art{width:35px}.return-profession{padding-block:8px}.return-profession>.ng-art{width:29px}.return-profession b{font-size:15px;line-height:18px}.return-profession span:not(.ng-art):not(.ng-skin){font-size:11px;line-height:14px}.return-round strong{font-size:11px;line-height:16px;margin-block:5px}.join-card .return-round p{font-size:11px;line-height:15px}.join-card .return-lock{font-size:10px;line-height:14px;margin:7px 0 10px}.return-round{margin-bottom:10px}.return-session{margin-top:7px}}

/* One reversible fade owns both directions; the stage stays behind it. */
.welcome-layout .join-card{animation:none}
.is-joining .scene-rail{visibility:visible}
.welcome-return{overflow:hidden;padding:20px;gap:0}
.welcome-return h2{font:10px/14px var(--ng-body);letter-spacing:1.4px;color:#b9a078;margin:0 0 12px;flex:none}
.welcome-return .return-participant{gap:10px;padding-bottom:10px;margin-bottom:10px;flex:none}
.welcome-return .return-participant>[data-welcome-art],.welcome-return .return-participant .ng-art{width:34px}
.welcome-return .return-participant strong{font-size:21px;line-height:24px}
.welcome-return .return-professions{grid-template-columns:1fr 1fr;gap:6px;flex:none;margin-bottom:13px}
.welcome-return .return-profession{padding:9px;gap:7px;align-items:center}
.welcome-return .return-profession>.ng-art{width:23px;max-height:26px}
.welcome-return .return-profession small{font-size:7px;letter-spacing:.3px;line-height:10px}
.welcome-return .return-profession b{font-size:13px;line-height:16px;margin:2px 0;overflow-wrap:anywhere}
.welcome-return .return-profession span:not(.ng-art):not(.ng-skin){display:none}
.home-record{display:flex;flex-direction:column;min-height:0;flex:1}
.record-tabs{display:flex;gap:3px;border-bottom:1px solid #b49b654d;padding-bottom:7px;flex:none}
.join-card .record-tabs button{flex:1;min-width:0;min-height:32px;padding:7px 5px;background:transparent;border:0;border-radius:0;color:#c8bd9f;font:12px/17px var(--ng-body)}
.record-tabs button>.ng-skin{opacity:.42}.record-tabs button[aria-selected=true]>.ng-skin{opacity:1}.record-tabs button[aria-selected=true]{color:#ffdfa0;box-shadow:inset 0 -2px #d2aa60}
.record-content{overflow:auto;min-height:0;flex:1;padding:13px 3px 8px;scrollbar-width:thin;scrollbar-color:#8f7446 #222923;outline-offset:-2px}
.record-time{position:relative;isolation:isolate;padding:8px 12px;display:flex;align-items:center;justify-content:space-between;gap:10px;color:#64472b;margin-bottom:10px}
.record-time small{font:8px/12px var(--ng-body);letter-spacing:.9px}.record-time strong{display:block;font:26px/28px var(--ng-title);color:#593b21;margin-top:2px}.record-time>span{font:10px/14px var(--ng-body);color:#765631;text-align:right}
.record-heading{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:7px}.record-heading h3{font:21px/24px var(--ng-title);color:#ead7ae;margin:0}.record-heading>span{font:8px/12px var(--ng-body);letter-spacing:.7px;color:#aab29a;white-space:nowrap}
.record-scores{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.record-score{display:flex;flex-direction:column;align-items:stretch;gap:6px;padding:9px 4px;text-align:center;background:#c6a65d08;border:1px solid #a8996b25}.record-score>.ng-art{display:none}.record-score>span{flex:1;font:14px/17px var(--ng-body);color:#e1d6b8}.record-score small{display:block;font:10px/14px var(--ng-body);color:#9eae97}.record-score>strong{font:25px/25px var(--ng-title);color:#f0d299;text-align:center;min-width:32px}.record-score>strong small{font:8px/10px var(--ng-body);color:#bba478}
.record-battles{display:grid;grid-template-columns:repeat(3,1fr);padding-top:13px;gap:6px}.record-battles>div{text-align:center;border-right:1px solid #b09a622b}.record-battles>div:last-child{border:0}.record-battles b{display:block;font:24px/25px var(--ng-title);color:#e7d1a0}.record-battles span{font:10px/14px var(--ng-body);color:#a9b69e}
.join-card .record-note{font:10px/14px var(--ng-body);color:#9eac96;margin:12px 0 0}
.join-card .record-empty{font:12px/17px var(--ng-body);color:#bcc3aa;margin:11px 0 16px}
.record-podium{display:flex;align-items:center;gap:13px;position:relative;isolation:isolate;padding:12px 15px;color:#63441f}.record-podium>.ng-art{width:34px;max-height:34px}.record-podium>div{display:flex;align-items:baseline;gap:10px}.record-podium strong{font:32px/34px var(--ng-title)}.record-podium span{font:13px var(--ng-body)}
.record-places{list-style:none;margin:9px 0 15px;padding:0}.record-places li{display:flex;align-items:center;gap:11px;padding:8px 3px;border-bottom:1px solid #b09a6236}.record-places li>b{font:24px var(--ng-title);color:#e9bf70}.record-places li>span{font:14px var(--ng-body);color:#e4d3ac}.record-places small{display:block;font:10px/15px var(--ng-body);color:#b6bca1}
.record-badges{display:grid;grid-template-columns:1fr 1fr;gap:6px}.record-badge{display:flex;align-items:center;gap:9px;padding:9px;background:#121b173b;border:1px solid #a8996b24}.record-badge>.ng-art{width:23px;max-height:26px;filter:grayscale(1);opacity:.45}.record-badge>span{flex:1}.record-badge b{display:block;font:13px/17px var(--ng-body);color:#abb39c}.record-badge small{display:block;font:10px/14px var(--ng-body);color:#8e9f88}.record-badge i{font-style:normal;color:#71836c}.record-badge.earned{background:#c7aa5210;border-color:#b79d555c}.record-badge.earned>.ng-art{filter:none;opacity:1}.record-badge.earned b{color:#ead5a7}.record-badge.earned i{color:#acd39e}
.record-keepsakes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.record-keepsake{position:relative;isolation:isolate;text-align:center;padding:9px 8px;min-width:0;display:grid;grid-template-columns:32px 1fr;gap:3px 6px;align-items:center;color:#a6af96}.record-keepsake>.ng-skin{opacity:.4}.record-keepsake .wheel-reward-icon{width:30px;height:30px;opacity:.4;filter:grayscale(1);grid-row:1 / 3;justify-self:center}.record-keepsake b{font:12px/15px var(--ng-body);min-height:30px;max-width:110px;justify-self:center}.record-keepsake strong{font:22px/25px var(--ng-title);grid-column:2}.record-keepsake small{font:9px/12px var(--ng-body);color:#82927c;grid-column:1 / -1}.record-keepsake.collected{color:#f2d9a3}.record-keepsake.collected>.ng-skin{opacity:1}.record-keepsake.collected .wheel-reward-icon{opacity:1;filter:none}.record-keepsake.collected small{color:#b9c5a6}
.record-latest{display:flex;align-items:center;gap:10px;border-top:1px solid #a8996b35;margin-top:13px;padding-top:11px}.record-latest .wheel-reward-icon{width:27px;height:27px;flex:none}.record-latest small{display:block;font:8px/12px var(--ng-body);color:#a4b294;letter-spacing:.8px}.record-latest b{display:block;font:13px/18px var(--ng-body);color:#dfd0ac}
.welcome-return .return-round{padding:7px 0;margin:5px 0 3px;border-top:1px solid #b49b6538;flex:none}.welcome-return .return-round strong{font:10px/14px var(--ng-body);color:#b8bfa5;margin:0}.welcome-return>[data-return-game]{margin-top:0}.welcome-return .return-session{margin-top:6px;font-size:10px}
@media(max-width:1220px){.welcome-return{padding-inline:13px}.welcome-return .return-profession{padding:8px 6px;gap:4px}.welcome-return .return-profession>.ng-art{width:18px}.welcome-return .return-profession b{font-size:11px;line-height:14px}.record-tabs{gap:1px}.join-card .record-tabs button{font-size:11px;padding-inline:3px}.record-time{padding:10px}.record-time strong{font-size:23px}.record-time>span{font-size:9px}.record-heading h3{font-size:19px}.record-score>span{font-size:12px}}
@media(max-height:780px){.welcome-return{padding-block:15px}.welcome-return h2{font-size:9px;line-height:13px;margin-bottom:8px}.welcome-return .return-participant{padding-bottom:7px;margin-bottom:8px}.welcome-return .return-participant strong{font-size:19px;line-height:22px}.welcome-return .return-professions{margin-bottom:9px}.welcome-return .return-profession{padding-block:7px}.record-content{padding-top:9px}.record-time{padding-block:9px;margin-bottom:9px}.record-score{padding-block:4px}.record-battles{padding-top:9px}.record-keepsake{padding-block:10px}}

@media(max-height:700px){.record-time{padding:7px 10px}.record-time small{font-size:7px;letter-spacing:.4px}.record-time strong{display:inline-block;font-size:21px;line-height:24px;margin:0 0 0 8px}.record-time>span{font-size:8px;line-height:11px}}
