.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.visitor-hud{display:flex;align-items:center;flex-wrap:wrap;gap:7px 12px;margin-top:12px;max-width:390px;pointer-events:auto;text-shadow:none}
.profile-button{display:flex;align-items:center;gap:7px;min-height:44px;max-width:215px;padding:7px 12px 7px 9px;background:#25443191;border:1px solid #eee5ba36;backdrop-filter:blur(14px);border-radius:24px;color:#f0ecd5;font-size:10px;transition:background .2s}
.profile-button:hover{background:#3d5b3cdb}.profile-button svg{width:19px;height:19px;flex:none;color:#d9d2aa;stroke-width:1.4}
#profile-display-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.6}
.online-badge{display:inline-flex;align-items:center;gap:5px;font-size:9px;line-height:1.5;color:#f2efd6;text-shadow:0 1px 6px #163b2db0;white-space:nowrap;pointer-events:none}
.online-dot{display:block;width:6px;height:6px;background:#9cd6a4;border-radius:50%;margin-right:2px;box-shadow:0 0 0 3px #a9d4a31f}
#online-count{font-weight:600;min-width:7px}
.online-badge.offline .online-dot,.online-badge[data-state=offline] .online-dot{background:#c7ba8a;box-shadow:0 0 0 3px #c7ba8a15}
.menu-profile{display:flex;flex-direction:column;margin-top:17px;padding-top:8px;border-top:1px solid #e5e3be24;gap:3px}
.menu-profile button{display:flex;align-items:center;gap:11px;min-height:44px;padding:9px 1px;background:none;color:#d9e0c9;font-size:10px;text-align:left}
.menu-profile svg{width:17px;height:17px;color:#b5c19e;stroke-width:1.4}
.menu-profile button:hover{color:#fff2bf}.menu-profile #logout-profile-btn{color:#b7bca4}
.welcome-screen{position:fixed;inset:0;z-index:60;display:grid;place-items:center;overflow-x:hidden;overflow-y:auto;padding:25px max(22px,env(safe-area-inset-right)) max(25px,env(safe-area-inset-bottom)) max(22px,env(safe-area-inset-left));background:radial-gradient(ellipse at 50% 30%,#324e3d61,#102f28c9 85%);backdrop-filter:blur(9px) saturate(.82);-webkit-backdrop-filter:blur(9px) saturate(.82);color:#354b3a;user-select:text;-webkit-user-select:text}
.welcome-card{position:relative;width:min(426px,100%);padding:30px 35px 23px;text-align:center;border:1px solid #fffce8b0;border-radius:24px;background:linear-gradient(145deg,#faf8edf5,#f0f0e2f7);box-shadow:0 25px 100px #102c2866,0 1px 0 #fff9ed inset;isolation:isolate}
.welcome-card:before{content:'';position:absolute;inset:9px;border:1px solid #abb99532;border-radius:17px;z-index:-1;pointer-events:none}
.welcome-brand{display:flex;align-items:center;justify-content:center;gap:9px;font:400 26px/1.1 var(--serif);letter-spacing:-.5px;color:#4a6047;margin-bottom:23px}
.welcome-lotus{display:grid;place-items:center;width:39px;height:39px;border:1px solid #a6b29575;border-radius:50%;color:#78906a}
.welcome-lotus svg{width:28px;height:28px;stroke-width:1.1}
.welcome-kicker{font-size:8px;letter-spacing:2.6px;color:#9b9c7d;margin:0 0 10px}
.welcome-title{font:400 35px/1.27 var(--serif);letter-spacing:-.9px;color:#38523d;margin:0 0 10px}
.welcome-title br{display:block}
.welcome-copy{font-size:10px;line-height:1.8;color:#8d967e;margin:0 0 23px}
#guest-form{text-align:left}
.guest-name-label{display:block;font-size:10px;line-height:1.6;color:#6d7f62;margin:0 0 8px}
#guest-name{display:block;width:100%;height:49px;min-height:44px;border:1px solid #cdd5be;border-radius:10px;background:#fffef5b3;padding:12px 14px;font-size:13px;line-height:1.5;color:#3f573b;outline:none;box-shadow:0 1px 4px #67735305;user-select:text;-webkit-user-select:text;transition:border-color .2s,box-shadow .2s}
#guest-name::placeholder{color:#acb39c;font-size:11px}
#guest-name:focus{border-color:#81996b;box-shadow:0 0 0 3px #9ab08723}
#guest-name[aria-invalid=true]{border-color:#b18063;box-shadow:0 0 0 3px #b1806315}
.guest-helper{font-size:8px;line-height:1.8;color:#98a187;margin:8px 0 20px;text-align:center}.guest-helper span{margin:0 6px;color:#c0c6ae}
.avatar-presets{border:0;margin:0;padding:0;min-width:0}
.avatar-presets legend{padding:0;margin:0 0 10px;font-size:10px;line-height:1.7;color:#6f8064;float:left;width:100%}.avatar-presets legend span{font-size:8px;color:#a2ab93;margin-left:5px}
.avatar-options{clear:both;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.avatar-option{position:relative;display:flex;flex-direction:column;align-items:center;min-height:108px;padding:5px 5px 10px;border:1px solid #dbe0ce;border-radius:13px;background:#f3f4e9;color:#929f82;transition:border-color .18s,background .18s,box-shadow .18s;overflow:hidden}
.avatar-option:hover{border-color:#aaba96;background:#edf1e2}
.avatar-option[aria-pressed=true]{border-color:#8b9d72;background:#e6edda;box-shadow:0 0 0 2px #9aad7e1c inset;color:#506d42}
.avatar-portrait{width:76px;height:80px;max-width:100%;flex:none;stroke:none;overflow:visible}
.avatar-name{font-size:9px;line-height:1.5;margin-top:1px}
.avatar-check{position:absolute;z-index:1;top:6px;right:6px;display:grid;place-items:center;width:15px;height:15px;line-height:1;font-size:9px;background:#78905f;color:#f4f6e7;border:1px solid #f4f6e775;border-radius:50%;opacity:0;transform:scale(.7);transition:opacity .2s,transform .2s}
.avatar-option[aria-pressed=true] .avatar-check{opacity:1;transform:scale(1)}
.guest-error{min-height:16px;margin:9px 0 6px;color:#9c6044;font-size:9px;line-height:1.7;text-align:center}
.guest-submit{display:flex;align-items:center;justify-content:center;gap:16px;width:100%;min-height:49px;padding:12px 17px;border:1px solid #34573b;border-radius:11px;background:#3a5a3f;color:#fbf8e5;font-size:11px;box-shadow:0 4px 10px #3e583d0d;transition:background .2s,transform .2s}
.guest-submit:hover{background:#2a4830;transform:translateY(-1px)}
.guest-submit svg{width:18px;height:18px;color:#deddb9;stroke-width:1.3}
.guest-submit:disabled{opacity:.65;transform:none;cursor:wait}
.profile-footnote{font-size:7px;line-height:1.9;color:#a7af99;margin:16px -5px 0}
.scene-panel.inside .profile-button{background:#43382291;border-color:#e5c58c40;color:#efdfba}
.scene-panel.inside .online-badge{color:#e8d9b2;text-shadow:0 1px 6px #2b2116b0}
.welcome-screen[hidden]{display:none!important}
@media(max-width:760px){
  .visitor-hud{flex-direction:column;align-items:flex-start;gap:5px;margin-top:10px;max-width:190px}
  .profile-button{min-height:44px;max-width:185px;padding:7px 11px 7px 8px;font-size:9px}.profile-button svg{width:17px;height:17px}
  .online-badge{margin-left:9px;font-size:8px;gap:4px}.online-dot{width:5px;height:5px;margin-right:2px}
  .welcome-screen{padding:20px 20px max(20px,env(safe-area-inset-bottom));align-items:center}
  .welcome-card{max-width:395px;padding:25px 28px 21px;border-radius:23px}
  .welcome-brand{font-size:25px;margin-bottom:20px}.welcome-lotus{width:36px;height:36px}.welcome-lotus svg{width:27px;height:27px}
  .welcome-title{font-size:32px;line-height:1.3;margin-bottom:9px}.welcome-copy{font-size:10px;margin-bottom:21px}
  .welcome-kicker{font-size:7px;letter-spacing:2.3px;margin-bottom:9px}
  #guest-name{font-size:16px;height:49px}.guest-helper{font-size:7px;margin-bottom:17px}
  .avatar-options{gap:8px}.avatar-option{min-height:103px;padding:4px 3px 9px;border-radius:11px}.avatar-portrait{width:70px;height:75px}.avatar-name{font-size:9px}
  .profile-footnote{font-size:7px}.guest-error{margin-top:8px}.guest-submit{min-height:49px}
}
@media(max-height:700px){
  .welcome-screen{padding-top:17px;padding-bottom:17px}.welcome-card{padding-top:23px;padding-bottom:19px}.welcome-brand{margin-bottom:16px}.welcome-title{font-size:30px}.welcome-copy{margin-bottom:17px}.guest-helper{margin-bottom:15px}.avatar-option{min-height:95px}.avatar-portrait{height:68px}.profile-footnote{margin-top:12px}.guest-error{margin-top:7px;margin-bottom:5px}
}
@media(max-height:560px){.welcome-screen{place-items:start center}.welcome-card{margin:auto 0}.welcome-brand{margin-bottom:13px}.welcome-title{font-size:27px}.welcome-title br{display:none}.welcome-copy{margin-bottom:15px}.welcome-kicker{margin-bottom:7px}.guest-helper{margin-bottom:12px}.avatar-option{min-height:84px}.avatar-portrait{height:58px}.guest-error{min-height:14px;margin-top:6px}.profile-footnote{margin-top:10px}}
@media(max-width:360px){.welcome-screen{padding-left:14px;padding-right:14px}.welcome-card{padding-left:23px;padding-right:23px}.welcome-title{font-size:29px}.avatar-options{gap:6px}.avatar-portrait{width:65px}.profile-button{max-width:170px}.visitor-hud{max-width:175px}}
@media(max-height:510px) and (orientation:landscape){.visitor-hud{margin-top:7px;gap:8px;flex-direction:row;max-width:360px}.profile-button{min-height:44px}.online-badge{margin-left:0}.game-identity .home-return{margin-top:7px}.welcome-screen{padding:16px}.welcome-card{width:520px;max-width:calc(100% - 32px);padding:18px 29px}.welcome-brand{margin-bottom:10px;font-size:23px}.welcome-lotus{width:31px;height:31px}.welcome-kicker{display:none}.welcome-title{font-size:28px}.welcome-title br{display:none}.welcome-copy{margin-bottom:14px}.avatar-portrait{height:51px}.avatar-option{min-height:76px;padding-bottom:6px}.avatar-presets legend{margin-bottom:7px}.guest-helper{margin-bottom:11px}.guest-error{margin:5px 0;min-height:12px}.profile-footnote{margin-top:9px}}

.guest-cancel{display:block;margin:12px auto 0;background:none;color:#7d8b74;padding:8px 15px;font-size:11px;min-height:40px}.online-badge[data-connected=false] .online-dot{background:#b0b09a;box-shadow:none}

.online-badge{padding:7px 10px;border-radius:18px;background:#254431a6;border:1px solid #eee5ba24;backdrop-filter:blur(12px);text-shadow:none}.scene-panel.inside .online-badge{background:#433822a6}@media(max-width:760px){.online-badge{padding:6px 9px}}
