@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap');
:root{color-scheme:dark;--accent:#75e1bc;--ink:#e9eee9}*{box-sizing:border-box}body{margin:0;background:#10191f;color:var(--ink);font-family:'DM Sans',sans-serif;overflow:hidden}button,input,select{font:inherit}button{cursor:pointer;color:inherit;background:none;border:1px solid #ffffff18;border-radius:12px;padding:12px 16px;transition:.2s}button:hover,button.active{background:#75e1bc16;border-color:#75e1bc80;color:var(--accent)}button:focus-visible{outline:2px solid var(--accent)}header{position:absolute;top:0;left:0;right:0;height:100px;padding:25px 3.2%;display:flex;align-items:center;justify-content:space-between;z-index:2;background:linear-gradient(#10191fbf,transparent)}.brand{display:flex;gap:14px;align-items:center;color:inherit;text-decoration:none;font:700 17px 'Space Grotesk';letter-spacing:2px}.brand small{display:block;font:500 8px 'DM Sans';letter-spacing:2.2px;color:#8a9b9e;margin-top:6px}.logo{font:700 48px 'Space Grotesk';line-height:1;color:#dce8df;letter-spacing:-5px}.logo span{color:var(--accent)}.room{font-size:12px;color:#c1d0ca}.room span{font-size:9px;letter-spacing:1.3px;color:#71858a;margin-left:16px}i{display:inline-block;width:6px;height:6px;background:var(--accent);border-radius:50%;margin-right:9px;box-shadow:0 0 12px #75e1bc55}header button{font-size:12px}#scene{position:absolute;inset:0}canvas{display:block}.intro{position:absolute;top:17%;left:4%;pointer-events:none}.eyebrow{font-size:9px;letter-spacing:2.5px;color:var(--accent)}h1{font:500 clamp(26px,3.2vw,52px)/1.08 'Space Grotesk';letter-spacing:-2px;margin:18px 0}p{font-size:13px;color:#a0b1b5;line-height:1.7}.status{display:flex;align-items:center;font-size:10px;color:#8fa59f;margin-top:25px}.scenehint{position:absolute;bottom:122px;left:50%;transform:translateX(-50%);font-size:10px;color:#94a6a7;white-space:nowrap;padding:8px 16px;background:#10191f99;border-radius:20px;pointer-events:none}footer{position:absolute;bottom:25px;left:3%;right:3%;display:flex;align-items:center;justify-content:space-between;gap:15px}.identity{display:flex;gap:10px;align-items:center;min-width:155px;font-size:13px}.identity>span{width:38px;height:38px;display:grid;place-items:center;background:#314f4a;border:1px solid #75e1bc40;border-radius:13px;color:var(--accent)}small{display:block;font-size:9px;color:#7f9498;margin-top:4px}nav{display:flex;padding:6px;gap:3px;background:#17252ce8;border:1px solid #ffffff13;border-radius:20px;box-shadow:0 18px 60px #0005;backdrop-filter:blur(15px)}nav button{border:0;padding:10px 15px;border-radius:14px;min-width:74px}nav b{display:block;font-size:23px;line-height:27px;font-weight:400}nav span{display:block;font-size:9px;margin-top:5px;color:#a6b8b8}#reset{font-size:12px}aside{position:absolute;right:3%;top:115px;width:295px;max-height:calc(100dvh - 245px);overflow:auto;padding:24px;background:#17252cf5;border:1px solid #ffffff17;border-radius:22px;box-shadow:0 20px 80px #0007;backdrop-filter:blur(20px);z-index:3}aside h2{font:500 23px 'Space Grotesk';margin:0 0 6px}aside p{font-size:11px;margin:8px 0 20px}aside label{display:block;font-size:11px;color:#bdccce;margin-top:20px;margin-bottom:8px}aside input[type=text],aside select{width:100%;border:1px solid #ffffff20;border-radius:9px;padding:10px;background:#0e1c22;color:white}aside input[type=range]{width:100%;accent-color:var(--accent)}.swatches{display:flex;gap:8px}.swatches button{width:30px;height:30px;padding:0;border-radius:50%;border:3px solid #ffffff30}.swatches button.selected{outline:2px solid var(--accent);outline-offset:2px}.close{float:right;padding:0 5px;border:0;font-size:22px}.wide{width:100%;margin-top:15px;background:#75e1bc;color:#142922;border:0;font-weight:600}.note{border-top:1px solid #ffffff12;margin-top:22px;padding-top:15px;font-size:10px;color:#83999f;line-height:1.6}#toast{position:absolute;left:50%;bottom:145px;transform:translateX(-50%);background:#29473c;border:1px solid #75e1bc55;padding:13px 23px;border-radius:13px;max-width:90%;font-size:12px;opacity:0;transition:.2s;pointer-events:none;z-index:5}.load{position:absolute;inset:0;display:grid;place-content:center;text-align:center;background:#10191f;z-index:10}.load p{margin-top:30px}meter{width:100%;height:16px}.bad{color:#ffc497}@media(max-width:850px){.room,.identity,#reset{display:none}.intro{top:13%;left:6%}h1{font-size:30px}.intro p,.status{display:none}footer{justify-content:center;left:8px;right:8px;bottom:12px}nav{max-width:100%;gap:0}nav button{padding:8px 9px;min-width:46px}nav span{font-size:8px}header{height:80px}.brand{font-size:13px}.scenehint{bottom:102px;font-size:8px}aside{top:85px;max-height:calc(100dvh - 190px)}header button span{display:none}}
.intro.editing{opacity:1}.catalog{display:grid;grid-template-columns:1fr 1fr;gap:6px}.catalog button{font-size:11px;padding:10px 7px}.editor-top{display:flex;gap:8px;margin:14px 0}.editor-top button{flex:1;font-size:11px;padding:10px 6px}button:disabled{opacity:.35;cursor:not-allowed}.danger{color:#ffb5a6;border-color:#ffb5a650}.object-props{border-top:1px solid #ffffff20;margin-top:20px;padding-top:8px}.object-props h3{font-size:14px}aside input[type=url]{width:100%;padding:10px;border-radius:8px;border:1px solid #ffffff20;background:#0e1c22;color:white}aside input[type=file]{max-width:100%;font-size:11px}#tvPopup{position:absolute;transform:translateX(-50%);z-index:4;background:#14272ff5;border:1px solid #75e1bc70;border-radius:15px;padding:7px;box-shadow:0 10px 30px #0008;white-space:nowrap}#tvPopup strong{font-size:10px;padding:0 10px}#tvPopup button{padding:9px;font-size:11px;border:0}#tvPopup #fullTV{color:#75e1bc;background:#75e1bc15}#mediaModal{position:fixed;inset:0;background:#080e14;z-index:100;padding:20px;display:flex;flex-direction:column}#mediaModal[hidden],#tvPopup[hidden]{display:none}.media-bar{display:flex;justify-content:space-between;align-items:center;padding-bottom:15px}#mediaHost{flex:1;min-height:0;display:flex;align-items:center;justify-content:center}#mediaHost video{width:100%;height:100%;object-fit:contain}.source-status{color:var(--accent)}@media(max-width:850px){header{gap:8px}.brand{margin-right:auto}#furnish{font-size:10px;padding:10px}aside{width:275px}#tvPopup strong{display:none}#mediaModal{padding:10px}}
.youtube-surface{position:absolute;left:0;top:0;width:640px;height:360px;transform-origin:0 0;pointer-events:none;z-index:1;backface-visibility:hidden}.youtube-surface iframe{border:0;width:100%;height:100%}.youtube-surface.expanded{position:fixed;inset:0;width:100%;height:100%;z-index:110;background:#080e14;pointer-events:auto;padding:60px 18px 18px}.youtube-close{display:none}.youtube-surface.expanded .youtube-close{display:block;position:absolute;right:18px;top:10px;background:#183029}.intro,footer,.scenehint{z-index:2}aside{z-index:5}
#chatBox{position:absolute;left:3%;bottom:122px;width:360px;height:min(620px,calc(100dvh - 240px));z-index:6;display:flex;flex-direction:column;background:#14232df7;border:1px solid #75e1bc30;border-radius:20px;box-shadow:0 20px 80px #0008;backdrop-filter:blur(18px);overflow:hidden}#chatBox[hidden]{display:none}.chat-head{display:flex;gap:8px;align-items:center;padding:15px;border-bottom:1px solid #ffffff12}.chat-head>div{flex:1}.chat-head strong{font:600 16px 'Space Grotesk'}.chat-head button{padding:6px 10px}#messages{flex:1;min-height:80px;overflow:auto;padding:15px}.chat-note{font-size:11px;line-height:1.6;color:#98adae}.chat-message{background:#ffffff07;padding:10px 12px;margin:10px 20px 10px 0;border-radius:12px;overflow-wrap:anywhere}.chat-message.own{margin:10px 0 10px 20px;background:#75e1bc13}.chat-message p{color:#dfebe6;font-size:12px;margin:6px 0;white-space:pre-wrap}.chat-message a{color:#75e1bc;font-size:12px}.chat-sticker{text-align:center;padding:15px;border-radius:14px;background:linear-gradient(130deg,#5d4770,#224b4c);margin-top:8px}.chat-sticker b{display:block;font-size:46px}.chat-sticker strong{display:block;font:700 16px 'Space Grotesk';margin-top:5px}#chatForm{border-top:1px solid #ffffff12;padding:10px}#chatInput{width:100%;resize:none;background:#0b1922;border:1px solid #ffffff10;border-radius:10px;color:white;padding:10px;font:12px 'DM Sans'}.chat-tools{display:flex;align-items:center;gap:3px;margin-top:7px}.chat-tools button{padding:6px 9px;border:0;font-size:13px}.chat-tools span{margin-left:auto;font-size:9px;color:#83999f}#sendMessage{color:#75e1bc}#chatPicker{padding:10px;max-height:140px;overflow:auto;border-top:1px solid #ffffff12}#chatPicker button{padding:8px;font-size:20px}.sticker-choice{font-size:11px!important}#transferStatus{font-size:10px;color:#75e1bc;padding:0 12px}#pairing{padding:12px 16px;overflow:auto;max-height:70%;border-bottom:1px solid #ffffff20}#pairing p{font-size:11px;margin:5px 0}#pairing label{display:block;font-size:10px;margin:10px 0 5px}#pairing textarea{display:block;width:100%;height:54px;border-radius:8px;background:#0b1922;color:#c6ded4;font:10px monospace;resize:vertical}#pairing button{font-size:10px;padding:8px}#pairing small{line-height:1.5}#surfaceColor{display:block;width:100%;height:42px;padding:2px;margin-bottom:12px;background:none;border:1px solid #ffffff30;border-radius:8px}nav button{min-width:64px;padding-left:11px;padding-right:11px}@media(max-width:850px){#chatBox{left:10px;right:10px;bottom:95px;width:auto;height:calc(100dvh - 200px)}nav{overflow-x:auto}nav button{min-width:46px;padding:7px}#chatToggle{min-width:44px}}
@font-face{font-family:'Pacifico';src:url('./fonts/pacifico.woff2') format('woff2');font-weight:400;font-display:swap}@font-face{font-family:'Dancing Script';src:url('./fonts/dancing-script.woff2') format('woff2');font-weight:400;font-display:swap}@font-face{font-family:'Caveat';src:url('./fonts/caveat.woff2') format('woff2');font-weight:400;font-display:swap}
#chooseRoom{display:block;font-size:12px;background:#172830b3}#roomPicker{position:fixed;inset:0;z-index:120;display:grid;place-items:center;background:#071117cc;backdrop-filter:blur(15px);padding:25px;overflow:auto}#roomPicker[hidden]{display:none}.room-picker-body{width:min(1100px,100%);background:#15252d;border:1px solid #ffffff1c;border-radius:25px;padding:32px}.room-picker-body h2{font:500 clamp(24px,3vw,36px) 'Space Grotesk';letter-spacing:-1px;margin:12px 0}.room-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:25px}.room-card{padding:0 0 18px;overflow:hidden;text-align:left;background:#1b3038;border:1px solid #ffffff13;border-radius:16px}.room-card.chosen{border-color:#75e1bc}.room-card h3{font:600 18px 'Space Grotesk';margin:8px 15px}.room-card small{margin:18px 15px 0;font-size:8px;letter-spacing:1.8px;color:#75e1bc}.room-card p{margin:8px 15px;font-size:11px;min-height:57px;line-height:1.6}.room-card em{display:block;margin:12px 15px;font-size:10px;font-style:normal;color:#9eb5b4;min-height:30px}.room-card strong{display:block;margin:15px 15px 0;font-size:11px;color:#75e1bc}.room-art{height:135px;position:relative;background:linear-gradient(140deg,#234755,#ac805c);overflow:hidden}.room-art>span{position:absolute;right:22px;top:14px;font-size:48px;color:#ffd6a0;opacity:.8}.mini-sofa{position:absolute;width:95px;height:36px;background:#44756d;left:25px;bottom:23px;border-radius:6px;box-shadow:-5px -12px 0 #36544e,0 8px 0 #263d3c;transform:skewY(10deg)}.mini-screen{position:absolute;width:65px;height:39px;background:linear-gradient(135deg,#664575,#eeae8a);right:25px;top:44px;transform:skewY(-10deg);border:5px solid #15242d}.rooftop .room-art{background:linear-gradient(#71527b,#e9a784)}.rooftop .mini-sofa{background:#ad9269;box-shadow:-5px -12px 0 #826645,0 8px 0 #433e37}.arcade .room-art{background:linear-gradient(135deg,#281e47,#255e70)}.arcade .mini-screen{box-shadow:0 0 18px #6e4dec, -75px 0 0 -3px #567e8e}.cabin .room-art{background:linear-gradient(135deg,#2b5148,#a27f4e)}.cabin .mini-sofa{background:#b58a5e;box-shadow:-5px -12px 0 #805c40,0 8px 0 #423e31}.cabin .mini-screen{background:linear-gradient(#292b2a,#e28e37)}@media(max-width:950px){.room-cards{grid-template-columns:repeat(2,1fr)}.room-picker-body{padding:20px}.room-art{height:110px}#chooseRoom span{display:none}#chooseRoom{font-size:10px;padding:9px}}@media(max-width:480px){#roomPicker{padding:10px}.room-card h3{font-size:15px}.room-card p{font-size:10px}.room-card em{font-size:9px}.room-picker-body{padding:15px}}

.room-cards{grid-template-columns:repeat(3,1fr)}.room-picker-body{max-height:calc(100dvh - 50px);overflow:auto}.cinema .room-art{background:linear-gradient(130deg,#211523,#593247)}.cinema .mini-sofa{background:#aa4157;box-shadow:-5px -12px 0 #732e42,0 8px 0 #251d29}.cinema .mini-screen{width:95px;height:55px;background:linear-gradient(140deg,#ece2c6,#ad98b3)}.business .room-art{background:linear-gradient(130deg,#b3c4c0,#8b9c9e)}.business .mini-sofa{background:#bca17f;box-shadow:0 8px 0 #52656d;border-radius:2px;height:16px;bottom:40px}.business .mini-screen{background:linear-gradient(130deg,#487385,#87bbb1)}@media(max-width:950px){.room-cards{grid-template-columns:repeat(2,1fr)}}
/* Shared-room account and invitation flow */
#cloudModal{position:fixed;inset:0;background:#091319bb;backdrop-filter:blur(10px);z-index:200;display:grid;place-items:center;padding:20px}#cloudModal[hidden]{display:none}.cloud-body{position:relative;width:min(470px,100%);max-height:88vh;overflow:auto;padding:32px;background:#192d32;border:1px solid #58746d;border-radius:22px;box-shadow:0 24px 100px #0008}.cloud-body h2{font-size:28px;margin:12px 0}.cloud-body p{color:#afc2bb;line-height:1.6}.cloud-body label{display:block;margin:18px 0 8px;font-size:13px;color:#c4d2ca}.cloud-body input{box-sizing:border-box;width:100%;border:1px solid #4c6460;background:#112126;color:#eaf3eb;border-radius:10px;padding:12px;font:inherit}.cloud-body button.wide{display:block;width:100%;margin:10px 0;padding:12px}.cloud-body .close{position:absolute;right:16px;top:16px}.cloud-current{background:#233d3e;padding:18px;border-radius:12px}.room-code{font-size:38px;font-weight:700;letter-spacing:.22em;color:#96e9c4;margin:8px 0}#cloudError{color:#f1c394;white-space:pre-wrap;font-size:13px}.cloud-account{overflow-wrap:anywhere;font-size:12px}#onlineRooms{white-space:nowrap;color:#b3f1d3}#cloudModal .note{font-size:12px}#joinValue{font-size:18px}
@media(max-width:760px){header{flex-wrap:wrap;gap:7px}#onlineRooms{padding:8px;font-size:12px}.cloud-body{padding:24px}.cloud-body h2{font-size:24px}}

.room-card.greenroom{background:linear-gradient(145deg,#244c31,#14281e);border-color:#749653}.greenroom .room-art{background:radial-gradient(ellipse at 75% 35%,#9fbd57aa,transparent 50%),#254a30}.greenroom .mini-sofa{background:#70874c}#fileRecipient{max-width:150px;background:#20363b;color:#d7eee4;border:1px solid #4d6d61;border-radius:7px;font-size:11px;padding:5px}

/* Keep chat, room editing and exit controls sharp during the local effect. */
#scene,.youtube-surface:not(.expanded){filter:blur(var(--bong-blur,0px))}
#endBongEffect{position:fixed;right:24px;top:96px;z-index:8;padding:12px 18px;border:1px solid #a8c982;border-radius:24px;background:#162b25;color:#e7f3da;box-shadow:0 6px 28px #0005;cursor:pointer}
#endBongEffect[hidden]{display:none}

/* Profiles, explicit account modes and compact sections. */
#cloudModal .cloud-body{width:min(520px,100%);max-height:calc(100dvh - 32px);overflow:auto;overscroll-behavior:contain}
#cloudContent label{display:block;margin:16px 0 6px;font-size:13px}
#cloudContent input,#cloudContent textarea{width:100%;min-width:0;border:1px solid #ffffff25;border-radius:10px;background:#0c1a20;color:var(--ink);padding:12px;font:inherit}
#cloudContent textarea{resize:vertical;max-height:180px}
.auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.auth-tabs [aria-pressed=true]{background:#75e1bc20;border-color:var(--accent);color:var(--accent)}
#cloudContent details,aside details{border:1px solid #ffffff20;border-radius:12px;margin-top:16px;padding:12px}
summary{cursor:pointer;font-size:13px;font-weight:600;min-height:24px}
.secondary.wide{background:#ffffff08;color:var(--ink);border:1px solid #ffffff20}
#cloudError{position:sticky;bottom:0;background:#17252c;border-radius:10px;padding:10px;overflow-wrap:anywhere}
#cloudError:empty{display:none}
#cloudContent[aria-busy=true]{opacity:.65;pointer-events:none}
.profile-preview,.member-photo{width:64px;height:64px;flex:none;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:#325447;font-size:24px}
.profile-preview{width:96px;height:96px;margin:16px auto}
.profile-preview img,.member-photo img,#initial img{width:100%;height:100%;object-fit:cover}
#initial{overflow:hidden}
.member-profile{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid #ffffff15}
.member-profile>div:last-child{min-width:0;overflow-wrap:anywhere}.member-profile p{margin:4px 0;white-space:pre-wrap}
#mobileHelp{display:none}
@media(max-width:850px){
 html,body{width:100%;height:100%;overflow:hidden;overscroll-behavior:none}
 body{position:fixed;inset:0;height:100dvh}
 header{height:104px;padding:8px 12px;display:grid;grid-template-columns:38px minmax(0,1fr)44px;grid-template-rows:42px 38px;gap:8px}
 .brand{margin:0}.brand>div,.brand small{display:none}.brand .logo{font-size:38px}
 header .room{display:block;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:10px;font-size:12px}
 header #furnish{min-width:44px;min-height:42px;font-size:20px;padding:8px}
 header #help{display:none}#onlineRooms{grid-row:2;grid-column:1/-1;padding:8px;font-size:13px;width:100%}
 .intro,.scenehint{display:none}
 footer{position:fixed;bottom:calc(8px + env(safe-area-inset-bottom));left:8px;right:8px;display:block}
 footer nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2px;padding:4px;width:100%;max-width:480px;margin:auto;border-radius:16px}
 footer nav button{min-width:0;min-height:48px;padding:5px 2px}nav b{font-size:20px;line-height:22px}nav span{font-size:10px;white-space:nowrap}
 .identity,#reset{display:none}#mobileHelp{display:block}
 #panel,#chatBox{position:fixed;left:8px;right:8px;top:calc(var(--view-top,0px) + 8px);bottom:auto;width:auto;height:calc(var(--view-height,100dvh) - 16px);max-height:calc(var(--view-height,100dvh) - 16px);margin:0;border-radius:16px;z-index:50;overscroll-behavior:contain}
 #panel{padding:16px;overflow:auto}#panel>.close{position:sticky;top:0;background:#17252c;width:44px;height:44px}
 #chatBox{display:flex}#chatBox[hidden],#panel[hidden]{display:none}#messages{min-height:0;padding:10px;overscroll-behavior:contain}
 .chat-head{padding:8px 12px}.chat-head button{min-height:44px}#chatForm{flex:none;padding:8px}#chatInput{font-size:16px;max-height:80px}
 .chat-tools{flex-wrap:wrap}.chat-tools button{min-height:40px}#fileRecipient{max-width:120px;min-width:0}
 #cloudModal,#roomPicker{position:fixed;inset:auto 0;top:var(--view-top,0px);height:var(--view-height,100dvh);padding:8px;overflow:hidden;align-items:stretch}
 #cloudModal .cloud-body,#roomPicker .room-picker-body{width:100%;height:100%;max-height:100%;overflow:auto;overscroll-behavior:contain;border-radius:16px;padding:18px}
 #closeCloud,#closeRoomPicker{position:sticky;top:0;background:#17252c;min-width:44px;min-height:44px;z-index:1}
 #cloudContent input,#cloudContent textarea,#cloudContent select,aside input,aside select{font-size:16px;max-width:100%}
 .room-cards{display:grid;grid-template-columns:1fr!important;gap:8px}.room-card{padding:14px;text-align:left;min-width:0}.room-card .room-art,.room-card p,.room-card em{display:none}.room-card h3{margin:6px 0}.room-card strong{margin-top:4px}
 #toast{position:fixed;z-index:250;bottom:145px;max-width:calc(100% - 24px);width:max-content}
 #tvPopup{max-width:calc(100vw - 16px);white-space:normal;display:flex}#tvPopup[hidden]{display:none}
 #endBongEffect{top:112px;right:12px}
}
@media(max-width:850px) and (max-height:500px){header{width:260px;height:96px}footer nav{display:flex;max-width:100%;justify-content:center}footer nav button{flex:1}#endBongEffect{top:12px} }

@media(max-width:850px){footer nav [data-action=pause]{display:none}}

.cloud-current{overflow-wrap:anywhere}#guestSection[open]{border-color:#75e1bc80;background:#75e1bc08}
/* Dedicated welcome stage, avatar feedback and visual catalogue. */
body.welcome-mode>header,body.welcome-mode>footer,body.welcome-mode>.intro,body.welcome-mode>.scenehint,body.welcome-mode>#panel,body.welcome-mode>#chatBox{display:none!important}
#welcomeScene{position:fixed;inset:0;z-index:20;pointer-events:none;display:flex;align-items:center;justify-content:flex-end;padding:5vw}
#welcomeScene[hidden]{display:none}.welcome-copy{pointer-events:auto;width:min(430px,46vw);padding:24px;background:#13232bcc;backdrop-filter:blur(12px);border:1px solid #ffffff20;border-radius:24px}.welcome-copy h1{font-size:32px;letter-spacing:-1px}.welcome-copy p{font-size:15px}.welcome-actions{display:flex;flex-wrap:wrap;gap:8px}.welcome-actions button{flex:1}#welcomeDemo{font-size:24px;color:#75e1bc;margin:16px 0;min-height:35px}#welcomePublic{flex-basis:100%}
.avatar-bubble{position:fixed;z-index:3;transform:translate(-50%,-100%);max-width:240px;padding:10px 14px;background:#eff8f1;color:#152b25;border-radius:16px 16px 16px 3px;box-shadow:0 5px 24px #0005;font-size:12px;white-space:pre-wrap;overflow-wrap:anywhere;pointer-events:none}.avatar-bubble.speaking{border:2px solid #5bdd9f}.avatar-bubble[hidden]{display:none}body.welcome-mode .avatar-bubble{display:none}
.room-preview{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;background:#15252d}.catalog button{position:relative;text-align:left;display:flex;align-items:center;gap:8px}.furniture-preview{width:48px;height:44px;object-fit:contain;border-radius:8px;background:#23343b;transition:transform .16s}.catalog button:hover .furniture-preview,.catalog button:focus-visible .furniture-preview{transform:scale(1.65);z-index:2;box-shadow:0 8px 24px #0008}.catalog button span{min-width:0;overflow-wrap:anywhere}.room-card.pub{border-color:#c99254}.pub .room-preview{background:#30251c}
@media(max-width:850px){.room-card{display:grid;grid-template-columns:110px minmax(0,1fr);column-gap:12px}.room-preview{grid-column:1;grid-row:1/5;width:110px;height:100%;min-height:100px;border-radius:8px}.room-card h3,.room-card small,.room-card strong{grid-column:2;margin:3px 0}.catalog{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog button{flex-direction:column;text-align:center}.furniture-preview{width:100%;height:70px}.catalog button:hover .furniture-preview{transform:none}}
@media(max-width:700px){#welcomeScene{align-items:flex-end;padding:12px;padding-bottom:calc(12px + env(safe-area-inset-bottom))}.welcome-copy{width:100%;max-height:62dvh;overflow:auto;padding:18px}.welcome-copy h1{font-size:24px;margin:10px 0}.welcome-copy p{font-size:13px;margin:8px 0}#welcomeDemo{margin:8px 0;font-size:19px}}

/* Text-only furniture catalogue; preview floats outside the scrolling panel. */
.catalog-entry{display:flex;min-width:0}.catalog-entry [data-add]{display:block;flex:1;min-width:0;text-align:left;min-height:42px;padding:10px}
.preview-trigger{display:none!important}
#furniturePreview{position:fixed;z-index:230;background:#17292f;border:1px solid #75e1bc66;border-radius:16px;padding:8px;box-shadow:0 16px 50px #0009;pointer-events:none;overflow:hidden}
#furniturePreview[hidden]{display:none}#furniturePreview img{display:block;width:100%;aspect-ratio:1.6;object-fit:contain;border-radius:10px}#furniturePreview strong{display:block;padding:10px 8px;font-size:14px;color:#eef5f0}
@media(hover:none),(pointer:coarse){.preview-trigger{display:block!important;width:42px;min-height:42px;padding:8px!important;font-size:22px!important}.catalog-entry [data-add]{border-radius:10px 0 0 10px}.preview-trigger{border-radius:0 10px 10px 0}}

/* Welcome: stable entry actions, independent short guide and dedicated character stage. */
#welcomeScene{display:block;padding:26px 5vw;background:radial-gradient(ellipse at 76% 57%,transparent 15%,#0d1b2333 64%,#0b172277 100%)}
#welcomeScene[hidden]{display:none}.welcome-shell{height:100%;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:20px}
.welcome-top,.welcome-bottom{display:flex;align-items:center;justify-content:space-between;gap:14px}.welcome-brand{display:flex;align-items:center;gap:12px;font:600 14px 'Space Grotesk',sans-serif;letter-spacing:3px}.welcome-brand>span{color:#a4f4d4;font-size:44px;letter-spacing:-4px}.welcome-browser{font-size:11px;color:#c3d7ce;padding:9px 14px;border:1px solid #ffffff20;border-radius:30px;background:#ffffff05}
.welcome-main{position:relative;display:flex;align-items:center;min-height:0}.welcome-copy{width:min(530px,47%);max-height:100%;overflow:auto;pointer-events:auto;padding:18px 0;border:0;background:none;backdrop-filter:none;border-radius:0}.welcome-copy h1{font:600 clamp(42px,5.5vw,76px)/1.04 'Space Grotesk',sans-serif;margin:22px 0;letter-spacing:-3px}.welcome-copy h1 em{font-style:normal;color:#9de6c8}.welcome-copy .welcome-lead{font-size:16px;line-height:1.75;max-width:420px;color:#b7c9c5}.welcome-features{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0 28px}.welcome-features span{font-size:11px;padding:9px 12px;border-radius:10px;border:1px solid #ffffff18;background:#ffffff04;color:#cee0d7}
.welcome-actions{display:flex;flex-direction:column;gap:12px;max-width:390px}.welcome-actions button{flex:auto;min-height:48px;text-align:left;border-radius:15px;padding:15px 18px;font-size:13px}.welcome-actions .welcome-primary{background:#a1edcb;color:#142b25;border-color:#a1edcb;font-size:15px;font-weight:700;box-shadow:0 8px 35px #4acc9922}.welcome-primary>span{float:right;font-size:23px}.welcome-primary small{font-size:11px;color:#365c4c;font-weight:400;margin-top:6px}.welcome-copy .welcome-privacy{font-size:11px;color:#8ea7a0;margin:14px 0 0}
.welcome-guide{position:absolute;pointer-events:auto;right:1%;top:0;width:min(340px,40%);padding:18px 20px;background:#1d3438ed;border:1px solid #acd9c52b;border-radius:20px;box-shadow:0 18px 60px #0003;backdrop-filter:blur(16px)}.welcome-guide:after{content:'';position:absolute;bottom:-10px;left:50%;width:18px;height:18px;transform:rotate(45deg);background:#1d3438;border-right:1px solid #acd9c52b;border-bottom:1px solid #acd9c52b}.guide-caption{font-size:9px;letter-spacing:2px;color:#b1d5c4;display:flex;align-items:center;gap:8px}.guide-dot{width:6px;height:6px;background:#9de6c8;border-radius:50%}.welcome-guide h2{font-size:17px;margin:12px 0 8px}.welcome-guide p{font-size:12px;line-height:1.65;margin:0;min-height:60px}.guide-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px}#welcomeDemo{font-size:18px;margin:0;min-height:0}#welcomeNext{padding:8px 10px;font-size:11px;white-space:nowrap}#welcomeStep{font-size:9px;color:#7d9c90}.welcome-bottom{color:#7f9a92;font-size:10px;letter-spacing:.3px}
@media(max-width:759px){#welcomeScene{padding:10px 16px max(12px,env(safe-area-inset-bottom));overflow:auto}.welcome-shell{height:auto;min-height:100%;gap:10px}.welcome-top{height:46px}.welcome-brand{font-size:11px;letter-spacing:2px}.welcome-brand>span{font-size:34px}.welcome-browser{display:none}.welcome-main{display:flex;flex-direction:column;padding-top:210px;align-items:stretch}.welcome-copy{width:100%;max-height:none;overflow:visible;padding:16px;background:linear-gradient(135deg,#162c32f5,#15282df5);border:1px solid #ffffff18;border-radius:20px}.welcome-copy .eyebrow{font-size:8px;letter-spacing:1.5px}.welcome-copy h1{font-size:36px;letter-spacing:-1.5px;margin:12px 0}.welcome-copy .welcome-lead{font-size:13px;line-height:1.55;margin:8px 0}.welcome-features{gap:5px;margin:14px 0}.welcome-features span{font-size:9px;padding:7px}.welcome-actions{max-width:none;gap:8px}.welcome-actions button{padding:12px 14px;font-size:12px}.welcome-actions .welcome-primary{font-size:13px}.welcome-copy .welcome-privacy{font-size:10px;margin-top:10px}.welcome-guide{top:2px;right:0;width:55%;max-width:255px;padding:12px;pointer-events:auto}.welcome-guide h2{font-size:14px;margin:8px 0 5px}.welcome-guide p{font-size:10px;min-height:0;line-height:1.45}.guide-caption{font-size:7px;letter-spacing:1px}#welcomeDemo{display:none}#welcomeNext{font-size:10px;padding:6px}#welcomeStep{font-size:8px}.welcome-bottom{justify-content:center;padding:6px 0}.welcome-bottom span:last-child{display:none}}
@media(max-height:620px) and (min-width:760px){.welcome-copy h1{font-size:42px;margin:12px 0}.welcome-copy .welcome-lead{font-size:13px}.welcome-features{margin:14px 0}.welcome-guide p{min-height:0}#welcomeScene{padding-top:12px;padding-bottom:12px}.welcome-shell{gap:8px}}
#panel.wardrobe-panel{width:380px;padding:22px}#outfitPreview{display:flex;justify-content:center;align-items:center;height:260px;background:radial-gradient(ellipse at 50% 80%,#4a796855,#152b3100 70%);border:1px solid #ffffff15;border-radius:18px;margin-top:14px;overflow:hidden}#outfitPreview canvas{max-width:100%;height:auto;cursor:grab}#outfitPreview canvas:active{cursor:grabbing}.wardrobe-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}.wardrobe-grid select{display:block;margin-top:7px}.wardrobe-grid input[type=color]{display:block;width:100%;height:38px;padding:3px;margin-top:7px;border:1px solid #ffffff25;border-radius:8px;background:#14262c}.accessory-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.accessory-grid label{display:flex;align-items:center;gap:6px;margin:10px 0;font-size:12px}.accessory-grid input{accent-color:#75e1bc}aside.wardrobe-panel>small{color:#96afa5;text-align:center}@media(max-width:850px){#panel.wardrobe-panel{width:auto;padding:16px}#outfitPreview{height:230px}#outfitPreview canvas{height:230px;width:auto}}

/* Clear separation between guest access and account actions. */
#guestSection + .auth-tabs{margin-top:28px}
.auth-tabs{gap:12px}

.welcome-chat{position:fixed;z-index:21;max-width:220px;padding:10px 13px;border-radius:14px 14px 14px 3px;background:#eff9ed;color:#203b32;font-size:12px;box-shadow:0 5px 22px #0004;transform:translate(-50%,-100%);pointer-events:none}
.welcome-chat[hidden]{display:none}
.welcome-guide{top:auto;bottom:0;width:min(420px,48%);padding:12px 16px}
.welcome-guide:after{display:none}.welcome-guide p{min-height:0}.welcome-guide h2{margin:8px 0 5px}
@media(max-width:759px){.welcome-main{padding-top:255px}.welcome-guide{display:none}.welcome-chat{max-width:170px;font-size:10px;padding:7px 10px}}

@media(max-width:759px){.welcome-browser{display:block;font-size:8px;padding:6px}.welcome-browser:after{content:" · Demo"}}

#egoCrosshair{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);z-index:4;pointer-events:none;color:white;text-shadow:0 1px 4px #000;font:22px sans-serif}#egoCrosshair[hidden]{display:none}

/* Embedded videos sit behind depth-tested openings in the 3D canvas. */
#scene{z-index:1}.youtube-surface:not(.expanded){z-index:0}

#friendsModal{position:fixed;inset:0;z-index:90;background:#071319bb;display:grid;place-items:center;padding:18px;backdrop-filter:blur(8px)}
#friendsModal[hidden]{display:none}.friends-body{position:relative;width:min(580px,100%);max-height:90dvh;overflow:auto;background:#192c31;border:1px solid #ffffff20;border-radius:22px;padding:28px}
.friend-row{padding:14px;margin:10px 0;border:1px solid #ffffff18;border-radius:14px;background:#ffffff04}.friend-row p{margin:5px 0 10px}.friend-row button{padding:8px 12px;margin:3px;font-size:12px}
#friendsModal input{width:100%;min-width:0;background:#102329;border:1px solid #ffffff25;border-radius:9px;color:#e9eee9;padding:11px}#friendsError{color:#ffc497}
@media(max-width:600px){#friendsModal{padding:8px}.friends-body{padding:20px 14px;max-height:94dvh}}

#playerMenu{position:fixed;z-index:85;width:270px;padding:16px;border:1px solid #ffffff25;border-radius:18px;background:#193238;box-shadow:0 14px 45px #0008}#playerMenu[hidden],#privateInbox[hidden]{display:none}#playerMenu button{display:block;width:100%;margin-top:8px;text-align:left;font-size:12px}#playerMenu label{display:block;margin-top:12px}#playerMenu input{width:100%}
#privateInbox{position:fixed;inset:0;z-index:95;display:grid;place-items:center;padding:12px;background:#071319bb}#dmPeople{display:flex;gap:6px;flex-wrap:wrap}#dmMessages{max-height:40dvh;overflow:auto}.dm-message{padding:10px;background:#ffffff08;border-radius:10px;white-space:pre-wrap;overflow-wrap:anywhere}#dmForm{display:flex;gap:8px}#dmForm[hidden]{display:none}#dmText{flex:1;min-width:0}

#throwPopcorn[hidden]{display:none}

.identity[role=button]{cursor:pointer;border-radius:12px}.identity[role=button]:focus-visible{outline:2px solid var(--accent);outline-offset:5px}

#tvPopup{flex-wrap:wrap;max-width:min(380px,calc(100vw - 24px))}.tv-hover-audio{display:flex;align-items:center;gap:10px;flex-basis:100%;border-top:1px solid #ffffff20;padding-top:10px}.tv-hover-audio label{font-size:11px;white-space:nowrap}.tv-hover-audio input[type=range]{width:130px;min-width:60px;flex:1}.tv-hover-audio input[type=checkbox]{width:auto}

body.clean-view>:not(#scene):not(.youtube-surface):not(#cleanViewExit){display:none!important}
#cleanViewExit{position:fixed;right:12px;top:12px;z-index:120;opacity:0;padding:10px 14px;background:#172b32;transition:opacity .15s}
#cleanViewExit[hidden]{display:none}#cleanViewExit:hover,#cleanViewExit:focus-visible{opacity:1}
@media(hover:none){#cleanViewExit{opacity:.55}}
/* The live signal and the threshold share the same -70 to -20 dB scale. */
.mic-sensitivity-control{position:relative;height:36px;isolation:isolate}
.mic-live-track{position:absolute;left:10px;right:10px;top:12px;height:12px;background:#29343b;border-radius:6px;overflow:hidden;pointer-events:none}
#micLiveLevel{height:100%;width:0;background:#d8ad65;transition:width .05s linear}
#micLiveLevel.transmitting{background:#71d6ac}
#micSensitivity{position:relative;appearance:none;-webkit-appearance:none;width:100%;height:36px;margin:0;padding:0;background:transparent;cursor:ew-resize;box-shadow:none;border:0}
#micSensitivity::-webkit-slider-runnable-track{height:12px;background:transparent;border:0}
#micSensitivity::-moz-range-track{height:12px;background:transparent;border:0}
#micSensitivity::-moz-range-progress{background:transparent}
#micSensitivity::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:20px;height:26px;margin-top:-7px;border-radius:5px;background:#f5f1e7;border:2px solid #25323a;box-shadow:0 0 0 1px #fff}
#micSensitivity::-moz-range-thumb{width:16px;height:22px;border-radius:5px;background:#f5f1e7;border:2px solid #25323a;box-shadow:0 0 0 1px #fff}
#micSensitivity:focus-visible{outline:2px solid #71d6ac;outline-offset:2px}
.mic-sensitivity-control.disabled #micSensitivity{opacity:.4;cursor:default}
#micLiveStatus{font-size:12px;margin:4px 0 12px;color:#b8c9c9}
#whiteboardModal{position:fixed;z-index:115;inset:3vh max(12px,6vw);display:flex;flex-direction:column;gap:10px;padding:18px;background:#17252df5;border:1px solid #648179;border-radius:18px;box-shadow:0 18px 70px #0009;overflow:auto}
#whiteboardModal[hidden]{display:none}
.wb-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.wb-tools{display:flex;align-items:end;flex-wrap:wrap;gap:12px}
.wb-tools label{display:flex;flex-direction:column;gap:5px;font-size:12px}
.wb-tools input[type=color]{height:36px;width:58px;padding:3px}
.wb-tools input[type=range]{max-width:160px}
.wb-tools [data-wb-text-label]{flex:1;min-width:180px}
.wb-tools [hidden]{display:none}
#whiteboardModal canvas{display:block;width:100%;max-height:65vh;aspect-ratio:1024/640;object-fit:contain;align-self:center;touch-action:none;background:#fafbf7;cursor:crosshair;flex-shrink:0}
#whiteboardModal [data-wb-status]{margin:0;font-size:12px;color:#8ee2be}
#whiteboardModal .note{margin:0}
@media(max-width:600px){#whiteboardModal{inset:8px;padding:12px}.wb-tools{gap:8px}#whiteboardModal canvas{max-height:none;height:auto}}
#whiteboardModal canvas{width:min(100%,104vh);height:auto;max-height:none;object-fit:fill}
#snakeModal{position:fixed;z-index:116;inset:3vh max(12px,15vw);display:flex;flex-direction:column;gap:12px;padding:18px;background:#102127fa;border:1px solid #619b83;border-radius:18px;overflow:auto;box-shadow:0 18px 70px #0009}
#snakeModal[hidden]{display:none}
#snakeModal canvas{width:min(100%,75vh);height:auto;align-self:center;image-rendering:pixelated;border:1px solid #3e6558;flex-shrink:0}
.snake-actions,.snake-pad{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}
.snake-pad button{font-size:24px;min-width:52px;min-height:48px;touch-action:none}
#snakeModal p{margin:0;font-size:12px;color:#adccc0}
#snakeModal ol{margin:0}
@media(max-width:600px){#snakeModal{inset:8px;padding:12px}}
.saved-board-images{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:10px 0}
.saved-board-images button{display:flex;flex-direction:column;gap:6px;padding:6px;font-size:11px}
.saved-board-images img{width:100%;height:auto;aspect-ratio:1.6;object-fit:contain;background:#fafbf7;border-radius:5px}
.saved-board-images:empty::before{content:'Noch keine Whiteboard-Bilder gespeichert.';font-size:12px;grid-column:1/-1;color:#a4b7ba}

.emote-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.emote-grid button{display:flex;align-items:center;gap:12px;padding:18px}.emote-grid b{font-size:26px}
/* Unified view control remains accessible with all other chrome hidden. */
#viewControls{position:fixed;right:20px;bottom:25px;z-index:125}#viewControls #reset{display:block;background:#182b34;box-shadow:0 4px 20px #0006}#viewMenu{position:absolute;right:0;bottom:55px;width:265px;padding:10px;background:#152730;border:1px solid #ffffff25;border-radius:16px;box-shadow:0 15px 50px #0008}#viewMenu[hidden]{display:none}#viewMenu button{display:block;width:100%;text-align:left;margin:3px 0}#viewMenu button[aria-pressed=true]{background:#75e1bc20;border-color:#75e1bc}
body.clean-view>#viewControls{display:block!important}body.welcome-mode>#viewControls{display:none}nav [data-action=pause]{display:none}footer{padding-right:95px}
.chat-tabs{display:flex;gap:6px;padding:8px 12px;border-bottom:1px solid #ffffff12}.chat-tabs button{padding:7px 14px}.chat-tabs b{display:none}.chat-tabs button[aria-selected=true]{background:#75e1bc22;color:#75e1bc}#chatBox #privateInbox{position:static;inset:auto;display:block;padding:0;background:none;flex:1;min-height:0;overflow:auto;z-index:auto}#chatBox #privateInbox[hidden]{display:none}#chatBox #privateInbox .friends-body{width:100%;max-width:none;max-height:none;border:0;background:none;padding:15px;box-shadow:none}#chatBox.private-chat #messages,#chatBox.private-chat #chatForm,#chatBox.private-chat #chatPicker,#chatBox.private-chat #transferStatus{display:none}#chatBox.private-chat #dmMessages{max-height:none}#chatBox.private-chat #dmForm{position:sticky;bottom:0;background:#14232d;padding:8px 0}
#socialView{position:fixed;inset:100px 3% 130px;z-index:2;background:#15212a;border:1px solid #ffffff12;border-radius:20px;overflow:auto;padding:24px}#socialView[hidden]{display:none}.social-title h1{font-size:30px;letter-spacing:-1px;margin:10px 0}.social-people{width:230px}.social-people h2{font-size:15px}.social-person{display:block;width:100%;text-align:left;margin:7px 0;overflow-wrap:anywhere}.social-person.speaking{border-color:#75e1bc;background:#75e1bc20}
body.social-mode #scene,body.social-mode .youtube-surface,body.social-mode .intro,body.social-mode .scenehint,body.social-mode .avatar-bubble,body.social-mode #egoCrosshair{display:none!important}body.social-mode #chatBox{display:flex!important;position:fixed;left:calc(3% + 280px);right:calc(3% + 20px);top:235px;bottom:150px;width:auto;height:auto;max-height:none;z-index:6;backdrop-filter:none;box-shadow:none}body.social-mode #chatClose{display:none}body.social-mode #furnish,body.social-mode [data-action=emote],body.social-mode #throwPopcorn{display:none}
@media(max-width:850px){#viewControls{right:10px;bottom:15px}footer{padding-right:90px}#socialView{inset:85px 8px 110px;padding:14px}.social-title h1{font-size:21px}.social-title p{font-size:11px}.social-people{width:auto}.social-people h2{display:none}#socialPeople{display:flex;gap:5px;overflow:auto}.social-person{width:auto;flex-shrink:0;font-size:11px;padding:7px}body.social-mode #chatBox{left:16px;right:16px;top:270px;bottom:120px;border-radius:12px}#viewMenu{width:min(265px,calc(100vw - 20px))}}

body.social-mode #panel{z-index:75}body.social-mode nav [data-action=avatar]{display:none}
nav [data-action=mic].muted{color:#ffa69b;background:#913d442c}nav [data-action=mic].muted b::after{content:' /';font-size:16px}

/* Keep navigation centered independently of profile and view controls. */
footer{padding-right:0;pointer-events:none}footer .identity,footer nav{pointer-events:auto}footer nav{position:absolute;left:50%;bottom:0;transform:translateX(-50%);width:max-content;max-width:calc(100vw - 350px);overflow-x:auto}nav .quick-audio{min-width:38px;padding:8px;border:1px solid #ffffff18;align-self:center}nav .quick-audio b{font-size:18px;line-height:25px}nav .quick-audio.audio-muted{background:#a33f4533;border-color:#fa9389;color:#ffb6ae}nav .quick-audio.audio-muted b{text-decoration:line-through}
@media(max-width:1100px){footer .identity{display:none}footer nav{max-width:calc(100vw - 150px)}}
@media(max-width:650px){footer nav{max-width:calc(100vw - 16px);bottom:48px}#viewControls{bottom:12px}nav .quick-audio{min-width:34px;padding:6px}body.social-mode #chatBox{bottom:162px}#socialView{bottom:153px}}

.avatar-mute-icons{display:flex;gap:5px;justify-content:center;margin-bottom:4px}.avatar-mute-icons[hidden],.avatar-mute-icon[hidden]{display:none}.avatar-mute-icon{display:inline-flex;width:27px;height:27px;padding:4px;background:#25191ef2;color:#ff666c;border:1px solid #ff666c80;border-radius:50%}.avatar-mute-icon svg{width:100%;height:100%}.avatar-bubble.status-only{background:transparent;padding:0;border:0;box-shadow:none}.avatar-bubble.status-only .avatar-mute-icons{margin:0}

#egoJoysticks{position:fixed;inset:0;z-index:8;pointer-events:none}#egoJoysticks[hidden]{display:none!important}.ego-stick{position:absolute;bottom:calc(150px + env(safe-area-inset-bottom,0px));width:116px;height:116px;border:1px solid #b4ffe470;border-radius:50%;background:#10272c70;pointer-events:auto;touch-action:none;user-select:none;-webkit-user-select:none}.ego-stick-move{left:max(20px,env(safe-area-inset-left,0px))}.ego-stick-look{right:max(20px,env(safe-area-inset-right,0px))}.ego-stick-knob{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:46px;height:46px;border-radius:50%;background:#9de5cd80;border:1px solid #d4fff0b0;pointer-events:none}.ego-stick-label{position:absolute;top:calc(100% + 6px);left:0;right:0;text-align:center;font-size:11px;color:#d1e9df;text-shadow:0 1px 4px #000;pointer-events:none}body.clean-view>#egoJoysticks:not([hidden]){display:block!important}body.social-mode #egoJoysticks,body.welcome-mode #egoJoysticks{display:none!important}@media(max-height:500px){.ego-stick{bottom:118px;width:92px;height:92px}.ego-stick-knob{width:38px;height:38px}}

/* Shared pet controls: hover on desktop, tap to pin on touch screens. */
#petHoverCard{position:fixed;z-index:45;width:290px;max-width:calc(100vw - 16px);box-sizing:border-box;padding:18px;border:1px solid #789f9466;border-radius:18px;background:linear-gradient(140deg,#223b39f5,#111d29f5);color:#f3faf7;box-shadow:0 16px 45px #0008;backdrop-filter:blur(14px)}
#petHoverCard[hidden]{display:none}#petHoverCard .pet-name{display:block;padding-right:25px;font-size:19px;overflow-wrap:anywhere}#petHoverCard .pet-emotion{margin:9px 0;color:#c3e4d5;font-size:13px}#petHoverCard .pet-satisfaction{display:block;font-size:12px;color:#d9e0e5}#petHoverCard meter{display:block;width:100%;height:15px;margin:6px 0 12px;accent-color:#8cdab4}#petHoverCard .pet-actions{display:flex;flex-wrap:wrap;gap:6px}#petHoverCard button{padding:9px;border:1px solid #ffffff24;border-radius:9px;background:#ffffff0c;color:inherit;cursor:pointer;font-size:12px}#petHoverCard button:hover{background:#ffffff24}#petHoverCard button:focus-visible{outline:2px solid #97e5bd;outline-offset:2px}#petHoverCard .pet-close{position:absolute;right:10px;top:8px;border:0;font-size:20px;padding:3px 8px}#petHoverCard .pet-customize{margin-top:10px;width:100%;color:#a8c5bc}body.social-mode #petHoverCard,body.welcome-mode #petHoverCard{display:none!important}
.chat-link{color:#9ddcff;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}.chat-link:hover{color:#d0efff}.chat-message p,.dm-message{white-space:pre-wrap;overflow-wrap:anywhere}
.wb-tool-icons{display:flex;gap:5px;flex-wrap:wrap;flex-basis:100%;padding-bottom:4px}.wb-tool-button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-width:54px;min-height:58px;padding:7px!important;border:1px solid #678477!important;border-radius:10px!important;background:#20343b!important;color:#daece5!important}.wb-tool-button svg{width:23px;height:23px}.wb-tool-button span{font-size:10px}.wb-tool-button[aria-pressed=true]{background:#345c50!important;border-color:#a7e1bd!important;color:#fff!important;box-shadow:0 0 0 1px #a7e1bd}.wb-tool-button:focus-visible{outline:2px solid #d3f9dc;outline-offset:2px}.wb-clear{margin-left:auto;color:#ffc0b4!important;border-color:#a9695e!important}.wb-clear-confirm{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:12px;background:#422e30;border:1px solid #b07970;border-radius:10px;font-size:13px}.wb-clear-confirm[hidden]{display:none}.wb-clear-confirm span{flex:1;min-width:190px}[data-wb-confirm-clear]{background:#8f413c!important}@media(max-width:600px){.wb-tool-icons{gap:4px}.wb-tool-button{min-width:48px;flex:1 0 48px}.wb-clear{margin-left:0}}
#pwaNotice{position:fixed;right:18px;top:90px;z-index:110;display:flex;gap:12px;width:350px;max-width:calc(100vw - 28px);box-sizing:border-box;padding:16px;border:1px solid #87b09a;border-radius:17px;background:#172b32f5;box-shadow:0 14px 45px #0008;color:#e8f5ec}#pwaNotice[hidden]{display:none}#pwaNotice .pwa-icon{width:48px;height:48px;flex:0 0 48px;border-radius:12px}#pwaNotice strong{font-size:15px}#pwaNotice p{font-size:12px;line-height:1.5;color:#bfd3c8;margin:7px 0 12px}.pwa-actions{display:flex;gap:7px}.pwa-actions button{font-size:12px;padding:9px 12px;border-radius:8px;border:1px solid #719285;background:#28473e;color:#edf9f0}#viewMenu #installApp{width:100%;text-align:left}#installApp[hidden]{display:none}body>#installApp{position:fixed;top:85px;right:18px;z-index:12}body.clean-view #pwaNotice,body.clean-view #installApp{display:none!important}
.tv-playlist{margin:18px 0;padding:12px;border:1px solid #71938355;border-radius:12px;background:#ffffff05}.tv-playlist textarea{width:100%;box-sizing:border-box;margin:10px 0;font-size:12px}.playlist-row{display:flex;align-items:center;gap:3px;padding:5px 0}.playlist-row span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;font-size:11px}.playlist-row button{padding:5px 7px;min-width:27px}.playlist-row.current{color:#b4eec5}#playlistRows{max-height:220px;overflow:auto}#playlistStatus{display:block;margin-top:8px;color:#c0d6cb}
#publicRooms{margin-left:auto}#chooseRoom{margin-left:0}#chooseRoom[hidden],#furnish[hidden]{display:none!important}header .room[aria-current=location]{border-color:#abd4ba;background:#2d493f}header #publicRooms,header #chooseRoom{white-space:nowrap;font-size:12px;padding:11px 13px}@media(max-width:750px){header #publicRooms,header #chooseRoom{font-size:10px;padding:9px 7px}header .brand small{display:none}header{gap:5px}#furnish span{font-size:10px}}@media(max-width:430px){header .brand>div{display:none}header #furnish{padding:8px}header #help{display:none}}

.catalog-category{border-top:1px solid #ffffff18;padding:4px 0}.catalog-category>summary{padding:11px 2px;cursor:pointer;font-weight:600;font-size:13px}.catalog-category>summary small{float:right;color:#a9c5b7;font-weight:400}.catalog-category .catalog{margin:2px 0 12px}

.intro h1,.intro p{white-space:pre-wrap;overflow-wrap:anywhere;max-width:min(440px,85vw)}.intro [contenteditable="true"]{pointer-events:auto;cursor:text;border-radius:6px;outline:1px dashed #75e1bc40;outline-offset:7px}.intro [contenteditable="true"]:hover,.intro [contenteditable="true"]:focus{outline-color:#75e1bc;background:#14232caa}.intro:has([contenteditable="true"]){z-index:2}

@media(min-width:851px){#panel{box-sizing:border-box;width:min(440px,calc(100vw - 48px));padding:24px}#panel.wardrobe-panel{box-sizing:border-box;width:min(490px,calc(100vw - 48px));padding:24px}}#panel .swatches{flex-wrap:wrap}#panel .catalog-entry{min-width:0}#panel .catalog-entry>button[data-add]{white-space:normal;text-align:left}

.object-colors{padding:12px 0;border-bottom:1px solid #ffffff18;margin-bottom:10px}.object-colors summary{cursor:pointer;font-size:12px}.object-color-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:12px}.object-color-grid label{margin:8px 0 0;font-size:10px}.object-color-grid input{display:block;width:100%;height:35px;padding:2px;border:1px solid #ffffff30;border-radius:6px;background:#14262c}.object-props .editor-top{flex-wrap:wrap}

#changeLayout[hidden]{display:none!important}#chooseRoom{max-width:240px;overflow:hidden;text-overflow:ellipsis}#changeLayout{white-space:nowrap}.layout-card{min-width:0}.layout-card>.room-card{width:100%;height:auto;box-sizing:border-box}.layout-name{padding:12px;background:#1b2d33;border-radius:0 0 14px 14px;text-align:left}.layout-name label{display:block;font-size:12px;margin-bottom:7px;color:#c7dbd0}.layout-name>div{display:flex;gap:6px}.layout-name input{min-width:0;width:100%;background:#102128;color:#fff;border:1px solid #547368;border-radius:7px;padding:9px}.layout-name button{padding:8px;font-size:12px}.layout-name output{display:block;min-height:18px;font-size:12px;color:#b6ddc2;margin-top:6px}@media(max-width:850px){header{display:flex;flex-wrap:wrap;height:auto;gap:5px}header .brand{margin-right:auto}header #publicRooms,header #chooseRoom{width:auto;max-width:40vw}header #furnish,header #changeLayout{font-size:12px;min-height:34px;padding:8px}header #onlineRooms{width:auto;margin-left:auto}header #furnish span{display:inline}}

#panel.emote-panel{position:fixed;box-sizing:border-box;top:auto;right:auto;bottom:var(--emote-bottom,120px);left:var(--emote-center,50%);transform:translateX(-50%);width:min(440px,calc(100vw - 16px));height:auto;max-height:var(--emote-maxheight,calc(100dvh - 150px));padding:18px;overflow:auto;margin:0;z-index:76}#panel.emote-panel h2{margin-top:0}#panel.emote-panel .emote-grid{gap:8px}#panel.emote-panel .emote-grid button{padding:12px}#panel.emote-panel>.close{position:absolute;top:10px;right:10px}

#friendsModal{inset:auto;left:20px;bottom:100px;display:block;width:min(380px,calc(100vw - 16px));max-height:calc(100dvh - 130px);padding:0;background:none;backdrop-filter:none;z-index:90}#friendsModal[hidden]{display:none}#friendsModal .friends-body{box-sizing:border-box;width:100%;max-height:inherit;padding:18px;box-shadow:0 14px 50px #0009;border-radius:18px;overflow:auto}#friendsModal h2{margin-top:4px}#friendsModal .friend-row{display:grid;grid-template-columns:44px minmax(0,1fr);column-gap:10px;padding:10px}#friendsModal .friend-row>strong,#friendsModal .friend-row>p{grid-column:2;overflow-wrap:anywhere}#friendsModal .friend-row>button{grid-column:1/-1}#friendsModal .friend-photo{grid-column:1;grid-row:1/3;width:44px;height:44px;border-radius:50%;background:#3e6257;display:grid;place-items:center;overflow:hidden;font-size:20px}#friendsModal .friend-photo img{width:100%;height:100%;object-fit:cover}#friendsTools{padding:10px 0}#friendsTools summary{cursor:pointer}#friendsEditProfile{position:sticky;bottom:0;margin-top:14px;background:#304e43;width:100%}.identity{position:relative;cursor:pointer}.identity[data-friend-requests]:not([data-friend-requests=""])::after{content:attr(data-friend-requests);position:absolute;top:-9px;right:-7px;background:#bc6d4f;color:#fff;border-radius:20px;min-width:18px;padding:3px;text-align:center;font-size:11px}

footer nav button[hidden]{display:none!important}.profile-controls{display:flex;align-items:center;gap:12px;pointer-events:auto;max-width:300px}footer .profile-controls .identity{display:flex;min-width:0;max-width:195px}.profile-controls #username{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-controls .identity>span{flex-shrink:0}#profileAudio{display:flex;gap:6px;flex-shrink:0}#profileAudio .quick-audio{position:relative;display:grid;place-items:center;width:38px;height:38px;min-width:38px;padding:0;border-radius:50%;border:1px solid #ffffff30;background:#20383e;color:#dcefe4}#profileAudio .quick-audio b{font-size:18px}#profileAudio .audio-muted{background:#6a3038;color:#ffb6ae;border-color:#ee8585}#profileAudio .audio-muted::after{content:'';position:absolute;width:23px;height:2px;transform:rotate(-45deg);background:#ff8686}.settings-menu{display:grid;gap:8px}.settings-menu button{text-align:left;padding:14px;font-size:15px}@media(max-width:1100px){footer nav{bottom:55px;max-width:calc(100vw - 16px)}.profile-controls{max-width:calc(100vw - 115px)}footer .profile-controls .identity{max-width:calc(100vw - 215px)}.profile-controls .identity small{display:none}#friendsModal{z-index:91}}

#viewMenu{max-height:calc(100dvh - 100px);overflow:auto}@media(max-width:1100px){.profile-controls{max-width:calc(100vw - 155px)}footer .profile-controls .identity{max-width:calc(100vw - 245px)}#profileAudio .quick-audio{width:34px;height:34px;min-width:34px}#viewControls #reset{padding:11px 10px;font-size:12px}}

header{column-gap:12px;row-gap:10px}header #publicRooms,header #chooseRoom,header #furnish,header #changeLayout{flex-shrink:0}.public-room-people{padding:12px 14px;margin:0;background:#20372f;border-radius:0 0 12px 12px;color:#c6e6d2;overflow-wrap:anywhere;font-size:13px}@media(max-width:850px){header{column-gap:9px;row-gap:9px}header #chooseRoom{flex-shrink:1}}

footer nav #reset,footer nav #toggleView{display:block;position:static;background:none;box-shadow:none;font-size:inherit;padding:10px 15px}footer nav #reset span,footer nav #toggleView span{display:block}#viewMenu{bottom:0}body.clean-view>footer{display:block!important;position:fixed;left:auto!important;right:20px;bottom:25px;width:auto;padding:0}body.clean-view footer .profile-controls{display:none!important}body.clean-view footer nav{position:static;transform:none;background:none;border:0;box-shadow:none;padding:0;max-width:none}body.clean-view footer nav>:not(#reset){display:none!important}body.clean-view footer nav #reset{display:block!important;background:#182b34}body.clean-view #viewControls{z-index:126}@media(max-width:850px){footer nav #reset,footer nav #toggleView{padding:8px 9px}footer .profile-controls{max-width:calc(100vw - 16px)}footer .profile-controls .identity{max-width:calc(100vw - 110px)}}

#inviteRoom{white-space:nowrap}#inviteModal{position:fixed;inset:0;z-index:140;display:grid;place-items:center;background:#071319bb;padding:16px;backdrop-filter:blur(8px)}#inviteModal[hidden]{display:none}.invite-body{position:relative;width:min(450px,100%);max-height:90dvh;overflow:auto;padding:26px;background:#192c31;border:1px solid #ffffff25;border-radius:20px;box-shadow:0 20px 60px #0008}.invite-body label{display:block;margin:18px 0 7px;font-size:13px;color:#bed9ca}.invite-body input{width:100%;padding:12px;color:#e9eee9;background:#102329;border:1px solid #ffffff25;border-radius:9px}.invite-body .wide{width:100%;margin-top:8px}#inviteCode{text-align:center;letter-spacing:6px;font-size:26px;font-weight:700}.invite-body button:disabled{opacity:.45;cursor:default}header{flex-wrap:wrap;height:auto;min-height:100px}@media(max-width:850px){header{min-height:0}header #inviteRoom{padding:9px;font-size:12px}}

#friendsModal #inviteRoom{display:block;width:100%;margin-top:14px;text-align:center}#friendsModal #inviteRoom:disabled{opacity:.45;cursor:default}

#friendsModal .friend-card{position:relative;padding-right:48px}#friendsModal .friend-card-actions{position:absolute;top:8px;right:7px;display:flex;flex-direction:column;gap:5px}#friendsModal .friend-card-actions .friend-icon{width:30px;height:30px;padding:0;margin:0;display:grid;place-items:center;border-radius:8px;color:#bfd8ca}#friendsModal .friend-card-actions .friend-icon:last-child:hover{color:#ffa49b;background:#a33f4533}#friendRemoveConfirm{position:fixed;inset:0;z-index:160;display:grid;place-items:center;padding:16px;background:#071319bb;backdrop-filter:blur(6px)}#friendRemoveConfirm[hidden]{display:none}.friend-confirm-body{width:min(400px,100%);padding:24px;border-radius:18px;background:#192c31;border:1px solid #ffffff25;box-shadow:0 20px 60px #0009}.friend-confirm-actions{display:flex;justify-content:flex-end;gap:10px}#friendRemoveYes{background:#753b42}#friendRemoveError{color:#ffa49b}.friend-confirm-body button:disabled{opacity:.5}

#socialPeople{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px;overflow:auto}.social-person{display:flex;flex-direction:column;align-items:center;gap:7px;padding:8px;border:2px solid transparent;min-width:0;width:100%;background:#20343c}.social-avatar{display:block;width:100%;max-height:220px;aspect-ratio:9/11;object-fit:contain;border-radius:10px}.social-person strong{overflow-wrap:anywhere}.social-person>span{font-size:11px;color:#a5bdb2}.social-person.speaking{border-color:#75e1bc;box-shadow:0 0 16px #75e1bc44}.social-person.speaking>span{color:#75e1bc;font-weight:700}@media(max-width:850px){#socialPeople{display:flex;overflow-x:auto}.social-person{flex:0 0 105px}.social-avatar{height:115px}.social-people h2{display:block}}

.admin-dialog{width:min(820px,94vw);max-height:85dvh;overflow:auto;border:1px solid #726c94;border-radius:22px;background:#1d1b2c;color:#fff;padding:26px}.admin-dialog::backdrop{background:#05040cb8}.admin-dialog .close{float:right}.admin-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:12px 0;border-bottom:1px solid #ffffff18}.admin-row span{flex:1 1 220px;overflow-wrap:anywhere}.admin-row button{font-size:12px;padding:8px 12px}.admin-status{color:#bcb5d4}

#profileAudio .quick-audio[hidden]{display:none!important}

.build-update-notice{position:fixed;top:80px;left:50%;transform:translateX(-50%);z-index:10000;width:max-content;max-width:calc(100vw - 32px);padding:16px 22px;border-radius:16px;background:#203e36;color:#d6f5da;border:1px solid #9bdeb7;box-shadow:0 8px 32px #0005;font-size:14px;pointer-events:none}

.vhs-screen iframe,.vhs-screen video{filter:sepia(.22) saturate(.75) contrast(1.13) brightness(.94) blur(.35px)}.youtube-surface.vhs-screen::after,.vhs-screen #mediaHost::after{content:'';position:absolute;inset:0;pointer-events:none;z-index:3;background:repeating-linear-gradient(0deg,#00120d22 0px,#00120d22 1px,transparent 1px,transparent 3px),radial-gradient(ellipse at center,transparent 45%,#00130ac9 100%);box-shadow:inset 0 0 30px #0009;animation:vhs-flicker .19s steps(2) infinite}.vhs-screen #mediaHost{position:relative}.youtube-surface.vhs-screen .youtube-close{z-index:5}@keyframes vhs-flicker{0%{opacity:.75}50%{opacity:1}100%{opacity:.85}}

.youtube-surface.vhs-screen::before,.vhs-screen #mediaHost::before{content:'';position:absolute;inset:0;z-index:3;pointer-events:none;opacity:.10;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");animation:vhs-grain .13s steps(2) infinite}@keyframes vhs-grain{to{background-position:47px 31px}}

/* Twitch adds a host div between the projected surface and its iframe. */
.youtube-surface>.twitch-player-host{width:100%;height:100%;min-height:0;overflow:hidden}
.twitch-player-host>iframe{display:block;width:100%;height:100%;border:0}

#scene,.youtube-surface:not(.expanded){filter:blur(calc(var(--bong-blur,0px) + var(--drink-blur,0px))) saturate(var(--drink-saturation,1))}#scene{transform:skewX(var(--drink-skew,0deg)) scale(var(--drink-zoom,1));transform-origin:center}#endDrinkEffect{position:fixed;right:20px;top:90px;z-index:100;padding:10px 16px;border-radius:20px;background:#173b2f;color:white;border:1px solid #73d7a8}

.room-people-badges{display:flex;flex-wrap:wrap;gap:5px;max-width:min(350px,80vw);margin:12px 0 16px;pointer-events:auto;max-height:115px;overflow-y:auto}.room-person-badge{display:inline-flex;align-items:center;gap:6px;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:4px 9px;border:1px solid #75e1bc35;border-radius:999px;background:#14272cdd;color:#d8e9e2;font-size:10px;line-height:1.4}.room-person-badge::before{content:'';flex:0 0 5px;height:5px;background:#75e1bc;border-radius:50%}

.object-catalog{margin:18px 0;padding:14px;background:#102027;border:1px solid #ffffff12;border-radius:14px}.object-catalog h3{margin:0 0 10px;font-size:14px}.catalog-search label{margin:0 0 6px;font-size:11px}.catalog-search>div{display:flex;gap:6px}.catalog-search input{box-sizing:border-box;width:100%;min-width:0;padding:10px 12px;border:1px solid #ffffff28;border-radius:10px;background:#09181e;color:#e9eee9;font-size:13px}.catalog-search button{padding:4px 12px;font-size:22px}.catalog-search small{margin:8px 0 12px}.catalog-groups{max-height:min(38vh,360px);overflow-y:auto;overscroll-behavior:contain;padding-right:4px}.catalog-category>summary{list-style-position:inside;padding:10px 2px}.catalog-category>summary small{display:inline;margin:0}.catalog-entry[hidden],.catalog-category[hidden],#catalogEmpty[hidden],#clearCatalogSearch[hidden]{display:none!important}#catalogEmpty{font-size:12px;color:#a0b1b5;padding:12px 0}.object-props{margin-top:20px;border-top:1px solid #ffffff20;padding-top:10px}.object-props h3{color:var(--accent)}

.admin-public-toggle{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px;background:#102229;border-radius:12px;margin:8px 0}.admin-public-toggle input{appearance:none;width:44px;height:26px;border-radius:20px;background:#506069;position:relative;cursor:pointer;flex-shrink:0}.admin-public-toggle input::after{content:'';position:absolute;left:3px;top:3px;width:20px;height:20px;border-radius:50%;background:white;transition:transform .15s}.admin-public-toggle input:checked{background:#38ad84}.admin-public-toggle input:checked::after{transform:translateX(18px)}.admin-public-toggle input:focus-visible{outline:2px solid white;outline-offset:3px}.layout-card[hidden]{display:none!important}

.tv-backlight-settings{border:1px solid #75e1bc30;border-radius:12px;padding:12px;margin:16px 0}.tv-backlight-settings legend{font-size:12px;color:var(--accent)}.tv-backlight-settings label{margin-top:10px!important}.tv-backlight-settings input[type=color]{width:100%;height:34px;border:0;background:transparent}

.room-person-badge{max-width:220px}.room-person-name{min-width:0;overflow:hidden;text-overflow:ellipsis}.room-person-duration{flex-shrink:0;font-variant-numeric:tabular-nums;color:#91aaa5;font-size:9px}

.room-people-badges{flex-direction:column;align-items:flex-start;flex-wrap:nowrap}
.room-person-badge{flex-shrink:0}

.youtube-surface.music-youtube-player{position:fixed!important;left:auto!important;top:90px!important;right:18px;width:360px!important;height:203px!important;transform:none!important;z-index:15!important;pointer-events:auto!important}.music-youtube-player iframe{width:100%!important;height:100%!important}

#editRoomText{position:absolute;right:0;top:-9px;width:26px;height:26px;padding:0;display:grid;place-items:center;border:0;border-radius:50%;background:transparent;color:#9aaca6;font-size:16px;pointer-events:auto;z-index:3}#editRoomText[hidden]{display:none}#editRoomText:hover,#editRoomText:focus-visible,#editRoomText[aria-pressed="true"]{background:#75e1bc26;color:#b9f7dc}.intro:has(#editRoomText:not([hidden])) .eyebrow{padding-right:32px}

/* Compact private conversations */
#chatBox #privateInbox .friends-body{padding:10px 12px}
#privateInbox h2{font-size:15px;margin:0 28px 10px 0}
#privateInbox #dmTitle{font-size:13px;margin:10px 0 6px;color:#a9c4cd}
#dmPeople{flex-wrap:nowrap;overflow-x:auto;padding-bottom:5px}
#dmPeople button{flex-shrink:0;padding:6px 10px;font-size:12px;border-radius:16px}
#dmPeople button[aria-pressed=true]{background:#75e1bc22;border-color:#75e1bc80;color:#91edce}
#chatBox.private-chat #dmMessages{max-height:38dvh;overflow-y:auto;padding:4px 2px;scrollbar-width:thin}
#dmMessages .dm-message{width:fit-content;max-width:88%;margin:5px 0;padding:7px 10px;border-radius:12px 12px 12px 3px;background:#ffffff0d;font-size:13px;line-height:1.4}
#dmMessages .dm-message.own{margin-left:auto;border-radius:12px 12px 3px 12px;background:#75e1bc18}
.dm-message p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}
.dm-message small{display:flex;justify-content:flex-end;gap:7px;margin-top:3px;font-size:10px;color:#9ab2bc;white-space:normal}
.dm-message .dm-read{color:#81dfbf}
.dm-date{text-align:center;font-size:10px;color:#91a6b1;margin:12px 0 6px}
.dm-empty{font-size:12px;color:#9ab2bc;padding:12px 0}
#dmForm input,#dmForm button{font-size:13px;padding:9px 10px}
#dmError:empty{display:none}

/* Messenger overview and conversation navigation */
#dmPeople{display:flex;flex-direction:column;gap:3px;max-height:46dvh;overflow-y:auto;overflow-x:hidden;padding:0}
#dmPeople[hidden],#dmMessages[hidden],#dmConversationHead[hidden]{display:none}
#dmPeople .dm-conversation{display:flex;align-items:center;gap:10px;width:100%;min-width:0;text-align:left;padding:11px 9px;border-radius:10px;border:1px solid transparent;background:#ffffff05;color:inherit}
#dmPeople .dm-conversation:hover,#dmPeople .dm-conversation:focus-visible{background:#75e1bc14;border-color:#75e1bc50}
.dm-initial{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:50%;background:#75e1bc20;color:#a4f1d7;font-weight:700;font-size:15px}
.dm-summary{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}
.dm-summary strong{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dm-preview{font-size:12px;color:#9db3bd;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dm-summary-meta{display:flex;flex-direction:column;align-items:flex-end;gap:5px;flex-shrink:0;font-size:10px;color:#9db3bd}
.dm-unread{display:grid;place-items:center;min-width:18px;height:18px;padding:0 5px;border-radius:10px;background:#75e1bc;color:#102d25;font-size:10px;font-weight:700}
#dmConversationHead{display:flex;align-items:center;gap:9px;padding:0 0 8px;border-bottom:1px solid #ffffff12}
#dmConversationHead #dmTitle{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#dmBack{padding:4px 9px;border-radius:50%;font-size:18px}

/* Twitch must not sit behind the WebGL canvas or receive simulated video filters. */
.youtube-surface.twitch-surface:not(.expanded){z-index:2;filter:none;backface-visibility:visible}
.youtube-surface.twitch-surface.expanded{filter:none}

.james-bubble{position:fixed;z-index:8;transform:translate(-50%,-100%);width:min(340px,calc(100vw - 24px));padding:14px;border:1px solid #cdbb8990;border-radius:15px;background:#17232bf5;color:#fff4dd;box-shadow:0 8px 28px #0005;font-size:14px;line-height:1.5}.james-bubble[hidden]{display:none}.james-bubble strong{font-size:12px;color:#e4c890}.james-bubble p{min-height:65px;margin:8px 0}.james-bubble>div{display:flex;gap:8px;justify-content:flex-end}.james-bubble button{font-size:12px;padding:6px 10px}.james-bubble::after{content:'';position:absolute;bottom:-9px;left:50%;border:9px solid transparent;border-top-color:#17232b;border-bottom:0}body.social-mode .james-bubble{display:none}

.intro-topline{display:flex;align-items:center;gap:7px;width:fit-content;max-width:100%;margin-bottom:12px}.intro-topline .eyebrow{margin:0;min-width:0;overflow-wrap:anywhere}.intro .intro-topline #editRoomText{position:static;flex:0 0 26px}.intro:has(#editRoomText:not([hidden])) .intro-topline .eyebrow{padding-right:0}.admin-preview-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:5px 0 15px}.admin-preview-controls img{width:90px;height:56px;object-fit:cover;border-radius:7px}.admin-preview-controls input{max-width:240px}

.intro #editRoomText{opacity:0;pointer-events:none;transition:opacity .15s ease}.intro:hover #editRoomText,.intro:focus-within #editRoomText{opacity:1;pointer-events:auto}.intro:has(#editRoomText:not([hidden])) [contenteditable]{cursor:text}

/* RoomParty identity: existing app palette preserved */
.brand{gap:6px;flex-direction:column;align-items:flex-start;flex-shrink:0;letter-spacing:0}.brand-image{display:block;width:190px;height:44px;object-fit:contain;object-position:left center}.brand-tagline{font:600 7px 'DM Sans',sans-serif;letter-spacing:1.7px;color:#8a9b9e;padding-left:3px}.loading-logo{width:150px;height:120px;object-fit:contain;margin:auto}.welcome-brand img{width:230px;max-width:100%;height:60px;object-fit:contain;object-position:left center}.welcome-brand{letter-spacing:0}
@media(max-width:850px){.brand-image{width:145px;height:34px}.brand-tagline{font-size:6px;letter-spacing:1px}.welcome-brand img{width:180px;height:46px}}

#friendsEditProfile{background:none;color:var(--ink);border:1px solid #ffffff18;font-weight:400}#friendsEditProfile:hover{background:#75e1bc16;border-color:#75e1bc80;color:var(--accent)}#profileExtras{border:1px solid #ffffff18;border-radius:12px;margin:20px 0;padding:14px}#profileExtras legend{padding:0 6px;color:var(--accent)}#profileExtras input{display:block;width:100%;box-sizing:border-box;background:#0e1c22;border:1px solid #ffffff20;color:var(--ink);border-radius:9px;padding:10px;margin-top:6px}.profile-detail{display:flex;flex-direction:column;gap:3px;margin:10px 0;overflow-wrap:anywhere}.profile-detail small{color:#8fa59f}.profile-detail span{font-size:12px;white-space:pre-wrap}.peer-profile-details{max-height:260px;overflow:auto;padding:10px 0}.peer-profile-details summary{cursor:pointer;color:var(--accent)}

.legal-links{position:fixed;bottom:3px;right:12px;display:flex;gap:12px;z-index:115;font:10px system-ui;background:#10191fcc;padding:3px 8px;border-radius:8px}.legal-links a{color:#bdd0c9;text-decoration:none}.legal-links a:hover{text-decoration:underline}.legal-editor{background:#17252d;color:#e9eee9;border:1px solid #ffffff30;border-radius:18px;width:min(800px,calc(100vw - 32px));max-height:90dvh;overflow:auto;padding:24px}.legal-editor::backdrop{background:#0009}.legal-editor label{display:block;margin:14px 0}.legal-editor input,.legal-editor textarea,.legal-editor select{display:block;width:100%;box-sizing:border-box;padding:12px;background:#10191f;color:#e9eee9;border:1px solid #ffffff30;border-radius:8px;font:14px/1.5 system-ui}.legal-actions{display:flex;flex-wrap:wrap;gap:8px}#legalPreviewBody{padding:16px;border:1px solid #ffffff30;overflow-wrap:anywhere}@media(max-width:600px){.legal-links{font-size:9px;gap:9px;bottom:1px}}

/* Larger RoomParty header mark */
.brand-image{width:230px;height:54px}@media(max-width:850px){.brand-image{width:175px;height:42px}}@media(max-width:380px){.brand-image{width:155px;height:38px}}

.attendance-dialog{background:#17252d;color:#e9eee9;width:min(900px,calc(100vw - 28px));max-height:90dvh;overflow:auto;border:1px solid #ffffff30;border-radius:18px;padding:22px}.attendance-dialog::backdrop{background:#0009}#attendanceChart svg{display:block;width:100%;height:auto;margin-top:16px}.attendance-table-wrap{overflow-x:auto}.attendance-dialog table{width:100%;border-collapse:collapse}.attendance-dialog th,.attendance-dialog td{text-align:left;padding:10px;border-bottom:1px solid #ffffff18;font-size:13px}.attendance-dialog td:first-child{overflow-wrap:anywhere}

.legal-modal{width:min(720px,calc(100vw - 28px));max-height:85dvh;overflow:auto;background:#17252d;color:#e9eee9;border:1px solid #ffffff25;border-radius:18px;padding:24px;box-shadow:0 24px 90px #0009}.legal-modal[open]{animation:legalIn .2s ease-out}.legal-modal.closing{animation:legalOut .16s ease-in forwards}.legal-modal::backdrop{background:#061015b8;backdrop-filter:blur(4px)}.legal-modal h2{font-size:21px;padding-right:30px}#legalModalContent{font-size:12px;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere;margin-top:18px}.legal-modal .close{position:sticky;top:0;background:#17252d}.legal-modal small{font-size:10px;color:#a0b1b5}@keyframes legalIn{from{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:none}}@keyframes legalOut{to{opacity:0;transform:translateY(10px) scale(.98)}}@media(prefers-reduced-motion:reduce){.legal-modal[open],.legal-modal.closing{animation:none}}

#showControlsHelp{display:inline-flex;align-items:center;gap:6px;padding:0;border:0;border-radius:0;background:none;color:inherit;font-size:10px;pointer-events:auto}#showControlsHelp:hover{color:var(--accent)}#showControlsHelp[hidden],#controlsHelpText[hidden]{display:none!important}#showControlsHelp svg{flex:none}#controlsHelpText:focus{outline:none}@media(max-width:600px){#showControlsHelp{font-size:9px}#controlsHelpText{white-space:normal}.scenehint:has(#showControlsHelp[hidden]){max-width:calc(100vw - 24px);width:max-content;text-align:center;white-space:normal}}

#viewMenu button[hidden]{display:none!important}#viewMenu #toggleView,#viewMenu [data-action=screen]{position:static;text-align:left;padding:12px 16px}#viewMenu #toggleView b,#viewMenu [data-action=screen] b{display:inline-block;font-weight:400;margin-right:9px}#viewMenu #toggleView span,#viewMenu [data-action=screen] span{display:inline;font-size:inherit}

/* Smartphone: separate logo row and single compact button rows. */
body.phone-layout header{display:flex;flex-direction:column;align-items:stretch;gap:8px;padding:10px max(10px,env(safe-area-inset-right)) 6px max(10px,env(safe-area-inset-left));min-height:0}body.phone-layout header .brand{align-self:flex-start;margin:0}.phone-header-actions{display:flex;flex-wrap:nowrap;align-items:stretch;gap:4px;width:100%;min-width:0}body.phone-layout header .phone-header-actions>button{flex:1 1 0;width:auto;min-width:0;max-width:none;margin:0;padding:7px 4px;min-height:34px;font-size:9px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-radius:9px}body.phone-layout header .phone-header-actions>button span{font-size:inherit;margin-left:0;letter-spacing:0}body.phone-layout header #chooseRoom span{display:none}body.phone-layout header #furnish span{display:inline}body.phone-layout header .phone-header-actions>button[hidden]{display:none!important}
body.phone-layout footer nav{display:flex;flex-wrap:nowrap;gap:2px;box-sizing:border-box;width:max-content;max-width:calc(100vw - 16px);padding:4px;border-radius:15px}body.phone-layout footer nav>button,body.phone-layout footer nav #reset{flex:0 1 auto;min-width:0;padding:7px 8px;border-radius:10px;white-space:nowrap}body.phone-layout footer nav b{font-size:19px;line-height:22px}body.phone-layout footer nav span{font-size:8px;margin-top:3px;white-space:nowrap}body.phone-layout footer nav>button[hidden]{display:none!important}@media(max-width:360px){body.phone-layout footer nav>button,body.phone-layout footer nav #reset{padding:6px}body.phone-layout footer nav span{font-size:7px}body.phone-layout header .phone-header-actions>button{font-size:8px}}
