*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#14212b;font-family:Arial,Helvetica,sans-serif;color:#fff}button,input{font:inherit}button{cursor:pointer;color:inherit;border:1px solid #ffffff28;background:#15252dd9;border-radius:12px;padding:12px 16px;touch-action:manipulation}button:hover{background:#29424b}button:focus-visible{outline:2px solid #c5f77e}button:disabled{opacity:.4}button[hidden],[hidden]{display:none!important}#world{width:100%;height:100%;display:block;touch-action:none}header{position:absolute;top:max(24px,env(safe-area-inset-top));left:30px;right:30px;display:flex;justify-content:space-between;align-items:center;pointer-events:none}.brand{display:flex;align-items:center;gap:12px;font-size:17px;font-weight:700;letter-spacing:3px;text-shadow:0 2px 12px #000}.brandmark{font-size:26px;border:1px solid #ffffff60;padding:8px 12px;border-radius:50%;font-style:italic}.brand span:not(.brandmark){display:block;font-size:10px;letter-spacing:2px;margin-top:5px;color:#d5e0e2}.topright{display:flex;align-items:center;gap:12px;pointer-events:auto}.topright button{font-size:12px}.roomlabel{position:absolute;top:124px;left:32px;display:flex;flex-direction:column;gap:8px;text-shadow:0 2px 12px #000;pointer-events:none}.roomlabel>span{letter-spacing:2px;font-size:11px;color:#dcf7b8}.roomlabel strong{font-size:21px;font-weight:500}.roomlabel small{font-size:12px;color:#d9e4e7}#crosshair{position:absolute;left:50%;top:50%;width:5px;height:5px;background:#ffffffbd;border-radius:50%;pointer-events:none;box-shadow:0 0 0 3px #0002}#joystick{position:absolute;bottom:max(55px,env(safe-area-inset-bottom));left:40px;width:126px;height:126px;border:1px solid #ffffff50;border-radius:50%;background:#172e3938;touch-action:none;box-shadow:inset 0 0 35px #ffffff08;user-select:none}#stick{position:absolute;left:42px;top:42px;width:42px;height:42px;border-radius:50%;background:#eaf2edb0;box-shadow:0 3px 16px #0003;pointer-events:none}.movehint,.lookhint{position:absolute;font-size:10px;letter-spacing:2px;color:#ffffffad;pointer-events:none}.movehint{left:73px;bottom:31px}.lookhint{right:35px;bottom:34px}#ambient{position:absolute;bottom:36px;left:50%;transform:translateX(-50%);width:360px;padding:15px 20px;border-radius:14px;border:1px solid #ffffff18;background:#0b1b25c9;pointer-events:none}#ambient>span{font-size:9px;letter-spacing:2px;color:#c5f77e}#ambient p{margin:8px 0 0;font-size:13px;line-height:1.5}#nearby{position:absolute;top:60%;left:50%;transform:translateX(-50%);text-align:center;display:flex;gap:14px;align-items:center;padding:8px 10px 8px 18px;background:#10232dd9;border-radius:16px;font-size:14px}#talk{background:#c5f77e;color:#172515;font-weight:bold}#teamBtn{position:absolute;right:32px;bottom:80px}#team{position:absolute;right:32px;bottom:135px;width:275px;background:#10232df5;padding:20px;border:1px solid #ffffff25;border-radius:20px}#team h3{margin:0 0 16px;font-size:17px}#team button{width:100%;display:flex;flex-direction:column;text-align:left;margin:8px 0;gap:5px}#team span{font-size:12px;color:#b8c8ce}#team small{color:#c5f77e;font-size:11px}#team p{font-size:12px;line-height:1.5;color:#a8b7bd}#chat{position:absolute;right:24px;bottom:24px;width:390px;height:min(590px,85dvh);background:#11232bf5;border:1px solid #ffffff28;border-radius:22px;display:flex;flex-direction:column;box-shadow:0 20px 100px #0006;backdrop-filter:blur(22px)}.chathead{display:flex;gap:12px;padding:20px;align-items:center}.avatar{display:grid;place-items:center;background:#c5f77e;color:#23301a;width:42px;height:42px;border-radius:50%;font-weight:bold}.chathead strong{display:block;font-size:17px}.chathead span{display:block;font-size:12px;color:#acbec6;margin-top:4px}#closeChat{margin-left:auto;background:none;border:0;font-size:26px;padding:4px 10px}.demobar{font-size:11px;color:#bdc9c3;background:#ffffff08;padding:9px 20px}#messages{flex:1;overflow:auto;padding:20px;overscroll-behavior:contain}.msg{font-size:14px;line-height:1.6;background:#ffffff0b;padding:12px 14px;border-radius:4px 14px 14px;margin:0 20px 12px 0;white-space:pre-wrap;overflow-wrap:anywhere}.msg.user{background:#c5f77e;color:#172515;margin:0 0 12px 24px;border-radius:14px 4px 14px 14px}.msg .who{display:block;font-size:10px;font-weight:bold;margin-bottom:4px;color:#c5f77e}.msg.system{color:#b8ced0;background:none;font-size:12px;margin:0;padding:8px}#suggestions{display:flex;gap:6px;overflow:auto;padding:4px 15px 12px}#suggestions button{font-size:11px;white-space:nowrap;padding:9px 10px}#chatForm{display:flex;gap:6px;padding:0 14px}#message{min-width:0;flex:1;background:#081b24;color:white;border:1px solid #ffffff25;border-radius:12px;padding:13px;font-size:16px}#chatForm button{padding:8px 12px}#chatForm button[type=submit]{background:#c5f77e;color:#172515;font-size:24px}#micStatus{font-size:10px;color:#aec1ca;padding:10px 16px 14px}.agentlabel{position:absolute;transform:translate(-50%,-100%);text-align:center;pointer-events:none;text-shadow:0 2px 5px #000;background:#132c37c9;border:1px solid #ffffff30;padding:8px 13px;border-radius:12px}.agentlabel b{font-size:14px}.agentlabel span{display:block;font-size:10px;color:#d5e2e5;margin-top:4px}#welcome{position:absolute;inset:0;background:linear-gradient(90deg,#091b28f7 0%,#0a1e2ddd 32%,#0c1f2940 80%);display:flex;align-items:center;padding:7vw}.intro{max-width:520px}.eyebrow{font-size:11px;letter-spacing:3px;color:#c5f77e}h1{font-size:clamp(44px,6vw,88px);line-height:1.03;letter-spacing:-3px;font-weight:500;margin:30px 0 24px}.intro p{font-size:17px;line-height:1.7;color:#d2dce0}.instructions{display:flex;flex-direction:column;gap:13px;margin:26px 0}.instructions div{display:flex;gap:16px;align-items:center;font-size:14px}.instructions b{font-size:10px;color:#c5f77e;border:1px solid #ffffff25;padding:8px;border-radius:50%}#enter{width:280px;background:#c5f77e;color:#172515;border:0;text-align:left;font-weight:bold;padding:18px 22px}#enter span{float:right;font-size:20px}.intro>small{display:block;color:#9fb3bd;font-size:11px;line-height:1.6;margin-top:18px;max-width:340px}.introtag{position:absolute;right:6vw;bottom:8vh;font-size:11px;line-height:1.8;letter-spacing:2px;text-align:right}.introtag b{display:block;font-size:20px}.introtag span{font-size:10px;color:#d0dadd}#error{position:absolute;inset:20%;background:#162b35;padding:40px;border-radius:20px;z-index:10}body.chatting #teamBtn,body.chatting .lookhint{display:none}@media(max-width:650px){header{left:18px;right:18px;top:max(16px,env(safe-area-inset-top))}.brand{font-size:13px;letter-spacing:2px}.brandmark{font-size:21px;padding:6px 10px}.brand span:not(.brandmark){font-size:8px}.topright{gap:7px}#clock{display:none}.topright button{padding:9px 12px}.roomlabel{top:104px;left:20px}.roomlabel strong{font-size:17px}#joystick{left:24px;bottom:66px;width:112px;height:112px}#stick{left:35px;top:35px}.movehint{left:49px;bottom:43px}.lookhint{font-size:8px;right:21px;bottom:43px}#ambient{bottom:207px;width:calc(100% - 40px);padding:12px 16px}#ambient p{font-size:12px}#teamBtn{right:24px;bottom:98px}#team{right:20px;bottom:155px}#chat{right:8px;bottom:max(8px,env(safe-area-inset-bottom));width:calc(100% - 16px);height:65dvh}.introtag{display:none}#welcome{padding:30px;background:linear-gradient(90deg,#091b28f5,#091b28a0)}h1{font-size:58px}.intro p{font-size:15px}.intro .eyebrow{font-size:9px}.agentlabel{padding:6px 9px}body.chatting #joystick,body.chatting #ambient,body.chatting .movehint{display:none}}@media(max-height:530px){.roomlabel{top:86px}.roomlabel strong,.roomlabel small{display:none}#welcome{padding:25px 50px}.intro{max-width:660px}h1{font-size:40px;margin:14px 0}.intro p{font-size:13px;margin:10px 0}.instructions{flex-direction:row;gap:16px;margin:14px 0}.instructions div{font-size:11px;gap:6px}#enter{padding:12px 20px}.intro>small{font-size:9px;margin-top:10px;max-width:600px}.introtag{display:none}#chat{height:calc(100dvh - 20px);width:360px;bottom:10px}.chathead{padding:10px 16px}#ambient{bottom:20px;width:300px;padding:10px 14px}#joystick{width:100px;height:100px;bottom:48px}#stick{left:29px;top:29px}.movehint{bottom:25px}.lookhint{bottom:24px}}
/* Fit the game to the visible viewport, including mobile browser chrome and keyboard. */
:root{--view-h:100dvh;--view-w:100vw;--view-top:0px;--view-left:0px;--edge-l:max(14px,env(safe-area-inset-left));--edge-r:max(14px,env(safe-area-inset-right));--edge-t:max(10px,env(safe-area-inset-top));--edge-b:max(12px,env(safe-area-inset-bottom))}
html{height:100%;overscroll-behavior:none}body{position:fixed;left:var(--view-left);top:var(--view-top);width:var(--view-w);height:var(--view-h);overscroll-behavior:none}#world{position:absolute;inset:0;width:100%!important;height:100%!important}header{top:var(--edge-t);left:var(--edge-l);right:var(--edge-r);gap:10px;z-index:2}.brand{min-width:0;font-size:14px;letter-spacing:2px;gap:8px}.brandmark{padding:6px 10px;font-size:22px}.topright{flex-shrink:0;gap:6px}.topright button{min-height:42px;min-width:42px;padding:9px 12px;font-size:14px}.roomlabel{top:82px;left:var(--edge-l)}.roomlabel strong{font-size:18px}#labels{position:absolute;inset:0;overflow:hidden;pointer-events:none}.agentlabel{max-width:160px}.agentlabel span{font-size:12px}#joystick{left:calc(var(--edge-l) + 10px);bottom:calc(var(--edge-b) + 25px);width:108px;height:108px}#stick{left:33px;top:33px}.movehint{left:calc(var(--edge-l) + 33px);bottom:var(--edge-b)}.lookhint{right:var(--edge-r);bottom:var(--edge-b)}#ambient{bottom:calc(var(--edge-b) + 12px);width:min(340px,calc(100% - 330px));max-height:104px;overflow:hidden}#ambient p{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}#teamBtn{right:var(--edge-r);bottom:calc(var(--edge-b) + 45px);min-height:46px}#team{z-index:4;right:var(--edge-r);bottom:calc(var(--edge-b) + 100px);width:min(290px,calc(100% - 28px));max-height:calc(100% - 105px);overflow:auto}#nearby{top:auto;bottom:calc(var(--edge-b) + 146px);max-width:calc(100% - 28px);white-space:nowrap;z-index:2}#talk{min-height:44px}#audioPanel{position:absolute;z-index:8;right:var(--edge-r);top:calc(var(--edge-t) + 52px);width:min(290px,calc(100% - 28px));max-height:calc(100% - 85px);overflow:auto;background:#122630f5;backdrop-filter:blur(20px);border:1px solid #ffffff30;border-radius:18px;padding:14px}.audiohead{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.audiohead button{border:0;background:none;font-size:24px;padding:4px 12px}#audioPanel>button{display:flex;width:100%;justify-content:space-between;align-items:center;margin:8px 0;font-size:14px;min-height:46px}#audioPanel b{font-size:12px;color:#c5f77e}#audioPanel [aria-pressed=false] b{color:#a5b5be}#audioStatus{display:block;font-size:12px;line-height:1.45;color:#b6c8ce;margin:12px 2px 2px}#chat{z-index:5;top:auto;bottom:var(--edge-b);right:var(--edge-r);width:min(410px,calc(100% - 28px));height:min(610px,calc(100% - 78px));min-height:0}.chathead{flex-shrink:0;padding:12px 16px}.chathead span{font-size:13px}.demobar{font-size:12px;flex-shrink:0;padding:8px 16px}#messages{min-height:0;flex:1 1 0;overflow-y:auto;padding:14px}#suggestions{flex-shrink:0;max-width:100%;padding:6px 12px;scrollbar-width:none}#suggestions button{font-size:12px;min-height:38px}#chatForm{flex-shrink:0;padding:5px 12px 0}#chatForm button{min-width:42px;min-height:44px}#micStatus{flex-shrink:0;line-height:1.3;font-size:12px;padding:8px 14px 12px}#closeChat{min-width:44px;min-height:44px}#welcome{z-index:10;inset:0;padding:clamp(20px,5vw,70px);overflow-y:auto;align-items:safe center;overscroll-behavior:contain}.intro{width:min(520px,100%);flex-shrink:0}h1{font-size:clamp(38px,7vw,78px);margin:22px 0 18px}.intro p{font-size:16px}.intro>small{font-size:12px}.instructions{margin:20px 0;gap:10px}.instructions div{font-size:14px}#enter{width:min(300px,100%);min-height:48px}.introtag{pointer-events:none}body.chatting #ambient,body.chatting #joystick,body.chatting .movehint,body.chatting .lookhint,body.chatting .roomlabel,body.chatting #labels,body.chatting #crosshair{display:none}
@media(max-width:650px) and (orientation:portrait){.brand span:not(.brandmark){font-size:8px;letter-spacing:1.4px}.roomlabel strong,.roomlabel small{display:none}.roomlabel{top:73px}#ambient{left:var(--edge-l);right:var(--edge-r);transform:none;width:auto;bottom:calc(var(--edge-b) + 148px);max-height:84px;padding:10px 14px}#ambient>span{font-size:10px}#nearby{bottom:calc(var(--edge-b) + 241px)}#chat{top:calc(var(--edge-t) + 58px);bottom:var(--edge-b);height:auto;left:var(--edge-l);right:var(--edge-r);width:auto;border-radius:17px}.introtag{display:none}.intro p{font-size:15px}h1{font-size:clamp(38px,12vw,58px)}.instructions{gap:10px}.lookhint{font-size:9px;letter-spacing:1px}}
@media(orientation:landscape) and (max-height:550px){header{top:var(--edge-t)}.brand span:not(.brandmark){display:none}.brandmark{font-size:17px}.brand{font-size:12px}.roomlabel{top:66px}.roomlabel strong,.roomlabel small{display:none}.roomlabel>span{font-size:10px}#joystick{width:90px;height:90px;bottom:calc(var(--edge-b) + 18px)}#stick{left:24px;top:24px}#ambient{width:min(340px,calc(100% - 315px));bottom:var(--edge-b);max-height:70px;padding:8px 12px}#ambient p{font-size:12px;-webkit-line-clamp:2;margin-top:4px}#nearby{bottom:calc(var(--edge-b) + 100px)}#teamBtn{bottom:calc(var(--edge-b) + 32px)}#team{bottom:calc(var(--edge-b) + 85px)}.movehint{font-size:8px;left:calc(var(--edge-l) + 27px)}.lookhint{font-size:8px;letter-spacing:1px}#welcome{padding:18px max(30px,env(safe-area-inset-left));align-items:flex-start}.intro{max-width:680px;width:100%;margin:auto 0}.eyebrow{font-size:10px}h1{font-size:34px;line-height:1.03;margin:10px 0}h1 br{display:none}.intro p{font-size:13px;margin:8px 0;line-height:1.4}.intro p br{display:none}.instructions{flex-direction:row;flex-wrap:wrap;gap:12px;margin:12px 0}.instructions div{font-size:12px;gap:8px}.instructions b{padding:6px}.intro>small{font-size:11px;max-width:650px;margin-top:8px}#enter{padding:12px 18px;min-height:44px}.introtag{display:none}#chat{top:var(--edge-t);bottom:var(--edge-b);height:auto;width:min(430px,calc(100% - 220px))}.chathead{padding:7px 12px}.avatar{width:32px;height:32px}.chathead strong{font-size:15px}.chathead span{font-size:12px}.demobar{padding:5px 12px;font-size:11px}#messages{padding:10px}.msg{padding:8px 10px;font-size:14px;margin-bottom:8px}#suggestions{padding:3px 10px}#suggestions button{min-height:30px;padding:6px 8px;font-size:11px}#micStatus{font-size:10px;padding:5px 12px 7px}#message{padding:9px 10px}body.chatting header{right:auto}body.chatting .brand{display:none}}
body.keyboard #chat{inset:4px var(--edge-r) 4px var(--edge-l);width:auto;height:auto;max-width:none}body.keyboard header,body.keyboard #suggestions,body.keyboard #micStatus{display:none}body.keyboard .chathead{padding:4px 12px}body.keyboard .demobar{padding:4px 12px;font-size:11px}body.keyboard #chatForm{padding:5px 10px 8px}body.keyboard .avatar{height:30px;width:30px}
@media(max-width:359px){.brandmark{display:none}.brand{font-size:12px}.brand span:not(.brandmark){font-size:7px}.topright button{padding:8px}.agentlabel span{display:none}.roomlabel{top:66px}}
#roomAction,#standBtn{position:absolute;z-index:3;right:var(--edge-r);bottom:calc(var(--edge-b) + 115px);max-width:240px;min-height:46px;background:#d0e4dc;color:#142a31;font-size:14px;font-weight:600}#standBtn{bottom:calc(var(--edge-b) + 170px);background:#284753;color:white}body.seated #joystick,body.seated .movehint{display:none}#computer{position:absolute;z-index:9;inset:max(14px,env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) max(14px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left));margin:auto;width:min(700px,calc(100% - 40px));height:fit-content;max-height:calc(100% - 28px);overflow:auto;overscroll-behavior:contain;background:#132a33f7;backdrop-filter:blur(24px);border:1px solid #97b2b350;border-radius:22px;padding:24px;box-shadow:0 25px 100px #0007}.pcHead{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.pcHead small{font-size:11px;letter-spacing:2px;color:#c5f77e}.pcHead h2{font-size:22px;margin:8px 0 0}.pcHead button{font-size:26px;min-width:44px}#computer label{display:block;font-size:14px;margin:14px 0 8px;color:#d6e5e5}#computer input,#computer textarea{display:block;resize:vertical;width:100%;background:#0a1e27;color:#fff;border:1px solid #ffffff30;border-radius:10px;padding:13px;font:16px/1.5 Arial;min-width:0}.pcActions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.pcActions button{font-size:14px;min-height:44px}#pcShare{background:#c5f77e;color:#132b23}#pcSaveStatus{font-size:13px;line-height:1.5;color:#b5c9ce;margin-bottom:0}body.computing #joystick,body.computing #nearby,body.computing #roomAction,body.computing #standBtn,body.computing #ambient{display:none}body.chatting #roomAction,body.chatting #standBtn{display:none}@media(orientation:portrait){#roomAction{bottom:calc(var(--edge-b) + 95px);max-width:180px;font-size:13px}#standBtn{bottom:calc(var(--edge-b) + 45px);right:calc(var(--edge-r) + 100px)}#computer{padding:16px;width:calc(100% - 24px);inset:12px}.pcHead h2{font-size:18px}.pcActions button{flex:1;padding:10px;font-size:12px}}@media(max-height:500px){#computer{padding:14px}#computer textarea{height:90px;min-height:65px}.pcHead{margin-bottom:8px}.pcHead h2{font-size:18px}#roomAction{bottom:calc(var(--edge-b) + 90px)}#standBtn{bottom:calc(var(--edge-b) + 145px)}}
.meetingControls{border-top:1px solid #ffffff25;margin-top:14px;padding-top:10px}#meetingToggle{background:#c5f77e;color:#173128;font-weight:700;min-height:44px}#team .meetingControls button{display:block;text-align:center}#meetingStatus{color:#d2e6d8!important;font-size:12px!important;margin:8px 0}#projectorToggle{font-size:13px}#team{max-height:calc(100% - 100px)}.agentlabel{min-width:118px}.agentlabel span{font-size:11px}body.keyboard #computer{inset:4px 10px;height:calc(100% - 8px);max-height:none;width:auto}body.keyboard #computer textarea{height:80px;min-height:55px}body.keyboard .pcHead{margin-bottom:6px}body.keyboard #computer label{margin:6px 0}body.keyboard .pcActions{margin-top:8px}
#meetingBtn{position:fixed;bottom:calc(env(safe-area-inset-bottom) + 28px);left:50%;transform:translateX(-50%);z-index:24;background:#bfe798;color:#10202a;padding:13px 18px;border-radius:30px;font-size:14px}#meetingPanel{position:fixed;z-index:65;right:18px;top:calc(var(--view-top,0px) + 78px);width:min(560px,calc(var(--view-w,100vw) - 36px));max-height:calc(var(--view-h,100dvh) - 96px);overflow:auto;background:#13252df5;border:1px solid #647478;border-radius:18px;padding:20px;box-shadow:0 18px 65px #0007;color:#eff4ee}#meetingPanel [hidden]{display:none!important}.meetingHead{display:flex;justify-content:space-between;align-items:center}.meetingHead h2{font-size:23px;margin:5px 0 12px}.meetingHead small{color:#bfe798;letter-spacing:.12em;font-size:12px}#meetingPanel button,#meetingPanel input,#meetingPanel select{font:inherit;font-size:16px;min-height:42px;border-radius:9px;border:1px solid #4d656c;padding:10px 12px;background:#233943;color:#fff}#meetingPanel button{cursor:pointer}#meetingPanel button:disabled{opacity:.5;cursor:default}#meetingPanel label{font-size:14px;display:block}#roomLobby{display:grid;gap:12px}#roomLobby input{width:100%;margin-top:7px}#roomStatus{font-size:14px;color:#d2e3cf;line-height:1.5}#meetingSignIn{display:block;color:#bfe798;margin-bottom:14px}.roomInvite{display:flex;gap:12px;align-items:center;justify-content:space-between}.roomInvite code{overflow-wrap:anywhere}#onlineCount,#meetingHint{font-size:13px;color:#bbcfcd;line-height:1.5}#participants{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.participant{display:flex;flex:1 1 110px;flex-direction:column;gap:6px;background:#233943;border:2px solid transparent;padding:12px;border-radius:12px;font-size:14px;overflow-wrap:anywhere}.participant span{font-size:12px;color:#b9cecc}.participant.speaking{border-color:#bfe798}.participant.ai{color:#bfe798}.meetingToolbar{display:flex;flex-wrap:wrap;gap:8px}.meetingToolbar #leaveRoom{background:#682e36}.captionToggle{display:flex!important;gap:8px;align-items:center;margin-top:12px}.captionToggle input{width:20px;min-height:24px!important}#captionInfo,#relayNote{display:block;font-size:12px;color:#a6bdc0;margin:5px 0;line-height:1.5}#meetingMessages{height:210px;overflow:auto;overscroll-behavior:contain;border-top:1px solid #476068;border-bottom:1px solid #476068;margin-top:12px}.meetingMessage{padding:10px 0;font-size:15px;line-height:1.5}.meetingMessage b{font-size:12px;color:#b9d4db}.meetingMessage p{margin:3px 0;white-space:pre-wrap;overflow-wrap:anywhere}.meetingMessage.ai b{color:#bfe798}.meetingMessage.notice{color:#a3b6b8;font-size:13px}#meetingForm{display:grid;grid-template-columns:1fr auto;gap:8px}#meetingRecipient{grid-column:1/-1}#meetingInput{min-width:0;width:100%}.srLabel{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}#liveProjector{position:fixed;left:0;top:0;width:1280px;height:720px;transform-origin:0 0;z-index:2;pointer-events:none;overflow:hidden;backface-visibility:hidden;visibility:hidden}#portfolioFrame{border:0;width:100%;height:100%;background:#fff;pointer-events:none}#liveProjector.expanded{z-index:90;inset:calc(var(--view-top,0px) + 12px) 12px auto;width:calc(var(--view-w,100vw) - 24px);height:calc(var(--view-h,100dvh) - 24px);border-radius:14px;pointer-events:auto;background:#13252d;display:flex;flex-direction:column}#projectorTools{display:flex;align-items:center;gap:12px;padding:12px;color:#fff;font-size:14px}#projectorTools a{color:#bfe798}#projectorTools button{margin-left:auto;padding:10px;background:#bfe798;border:0;border-radius:8px;color:#10202a}#liveProjector.expanded iframe{flex:1;min-height:0}.agentlabel .talking{color:#c5f77e;margin-right:5px}.meeting-open #joystick,.meeting-open .movehint,.meeting-open .lookhint{display:none}.meeting-open #nearby{display:none!important}@media(max-width:600px){#meetingPanel{top:calc(var(--view-top,0px) + 66px);right:10px;width:calc(var(--view-w,100vw) - 20px);max-height:calc(var(--view-h,100dvh) - 78px);padding:14px}#meetingMessages{height:180px}.roomInvite{gap:5px}.roomInvite code{font-size:12px}#meetingBtn{font-size:12px;padding:11px;bottom:calc(env(safe-area-inset-bottom) + 20px)}#projectorTools{flex-wrap:wrap;font-size:12px}.keyboard #meetingPanel{top:calc(var(--view-top,0px) + 5px);max-height:calc(var(--view-h,100dvh) - 10px)}.keyboard #participants,.keyboard .captionToggle,.keyboard #captionInfo,.keyboard #relayNote,.keyboard .roomInvite,.keyboard #onlineCount{display:none!important}}
#roomChat{position:fixed;z-index:27;bottom:110px;left:50%;transform:translateX(-50%);width:min(560px,calc(100vw - 320px));background:#162a31ed;border:1px solid #65807d;border-radius:14px;padding:10px;box-shadow:0 8px 30px #0004}.roomChatHead{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:#cee8d4}.roomChatHead button{padding:4px 8px;font-size:12px}#roomChatLog{height:85px;overflow:auto;font-size:14px;line-height:1.5;margin:7px 0;overflow-wrap:anywhere}#roomChatLog>div{padding:3px 0}#roomChatLog b{color:#c5e8b5}#roomChatForm{display:flex;gap:5px}#roomChatForm input,#roomChatForm select{font:inherit;font-size:16px;background:#233b43;color:#fff;border:1px solid #668077;border-radius:8px;padding:9px;min-width:0}#roomChatInput{flex:1;width:70px}#roomChatTarget{width:105px}#roomChatForm button{padding:8px;font-size:14px}.chatting #roomChat,.computing #roomChat,.meeting-open #roomChat{display:none!important}#ambient{display:none!important}@media(max-width:700px){#roomChat{width:auto;left:10px;right:10px;bottom:148px;transform:none}#roomChatTarget{width:91px;font-size:14px}#roomChatLog{height:72px}.keyboard #roomChat{bottom:calc(100vh - var(--view-h,100dvh) - var(--view-top,0px) + 6px)}}
#liveMic[aria-pressed=true]{background:#bfe798;color:#10202a}header .topright{flex-wrap:wrap;justify-content:flex-end;gap:6px}#browsePortfolio,#liveMic{font-size:14px;padding:10px 12px}@media(max-width:600px){header{left:12px;right:12px}header .brand{font-size:12px;letter-spacing:1px}header .topright{max-width:240px}#browsePortfolio,#liveMic,#audioBtn{font-size:12px;padding:8px}#clock{display:none}.roomlabel{top:125px!important}}

#tableInvite{position:absolute;z-index:28;right:var(--edge-r);bottom:calc(var(--edge-b) + 95px);max-width:230px;min-height:44px;background:#c5f77e;color:#142a31;font-size:13px}.chatting #tableInvite,.computing #tableInvite,.meeting-open #tableInvite{display:none}#contactDialog{z-index:100;color:#f1f6ee;background:#142b34;border:1px solid #718779;border-radius:20px;width:min(450px,calc(100% - 24px));max-height:calc(var(--view-h,100dvh) - 24px);padding:24px;overflow:auto;margin:auto}#contactDialog::backdrop{background:#061217aa;backdrop-filter:blur(5px)}#contactDialog small{color:#c5f77e;letter-spacing:2px;font-size:11px}#contactDialog h2{margin:12px 0;font-size:25px}#contactDialog p{font-size:14px;line-height:1.5}#contactDialog label{display:block;margin:12px 0;font-size:13px}#contactDialog input{display:block;width:100%;padding:12px;border:1px solid #647f81;border-radius:9px;background:#0c2029;color:white;font-size:16px;margin-top:6px}#contactDialog .contactNote{color:#b8c9c8;font-size:12px}.contactActions{display:flex;gap:8px;flex-wrap:wrap}.contactActions button{flex:1;min-height:44px;font-size:14px}#contactSend,#contactDone{background:#c5f77e;color:#142a31}.contact-open #joystick,.contact-open #tableInvite{display:none!important}#contactStatus{color:#c5f77e}@media(max-width:700px){#tableInvite{bottom:calc(var(--edge-b) + 94px);right:10px;max-width:180px;padding:9px;font-size:12px}}

.entryNameLabel{display:block;font-size:13px;margin:14px 0 8px}.entryNameLabel input{display:block;width:min(300px,100%);font:16px Arial;padding:12px;border-radius:9px;border:1px solid #789288;background:#142b34;color:white;margin-top:7px}#entryStatus{color:#c5f77e;font-size:13px!important;max-width:400px}#enter:disabled{opacity:.6}@media(orientation:landscape) and (max-height:550px){.entryNameLabel{margin:8px 0}.entryNameLabel input{padding:9px}}



/* The room is visible immediately; only the compact name form overlays it. */
#welcome{background:transparent!important;backdrop-filter:none!important;padding:18px;align-items:center;justify-content:center;z-index:100}#nameEntryForm{width:min(340px,100%);padding:23px;background:#f2f4edee;color:#193332;border:1px solid #fff9;border-radius:18px;box-shadow:0 12px 42px #0d252938}#nameEntryForm h2{font-size:21px;margin:0 0 18px;font-weight:600}#nameEntryForm label{display:block;font-size:13px;margin-bottom:7px}#nameEntryForm input{display:block;width:100%;font:16px Arial;padding:13px 12px;background:#fff;border:1px solid #8caaa1;border-radius:9px;color:#193332}#nameEntryForm #enter{width:100%;min-height:45px;margin-top:4px;padding:11px 15px;background:#244b44;color:#fff;border-radius:9px;font-size:15px}#nameEntryForm #entryStatus{color:#824233;margin:10px 0;font-size:13px;line-height:1.4}#entryStatus:empty{display:none}#nameEntryForm input:focus{outline:2px solid #719b84;outline-offset:2px}#controlsDialog{width:min(400px,calc(100% - 30px));max-height:80dvh;overflow:auto;margin:auto;background:#eff4ed;color:#193332;border:0;border-radius:18px;padding:24px;font:15px/1.6 Arial}#controlsDialog::backdrop{background:#10272c55}#controlsDialog button{background:#244b44;color:#fff;min-height:44px}#controlsDialog h2{font-size:21px}@media(orientation:landscape) and (max-height:550px){#nameEntryForm{padding:17px 21px}#nameEntryForm h2{font-size:18px;margin-bottom:10px}#nameEntryForm input{padding:10px}#nameEntryForm #enter{margin-top:10px}}

#roomReplyStatus{font-size:12px;line-height:1.4;color:#d5e8b8;margin:5px 0}#roomReplyStatus:empty{display:none}
