.relationship{color:#8f98a9;font-size:.78rem;font-weight:650;text-transform:lowercase}
.bleButton{width:100%;border:0;font:inherit;cursor:pointer}
.bleButton:disabled{opacity:.5}
.bleStatus{color:#939cad;font-size:.78rem;line-height:1.35;margin:10px 2px 0;text-align:center}
.stepper button:disabled{opacity:.28}
.messageRow{display:flex;align-items:flex-end;gap:7px;max-width:90%}
.messageRow.mine{align-self:flex-end;flex-direction:row-reverse}
.messageRow .bubble{max-width:100%}
.chatAvatar{width:28px;height:28px;flex:0 0 28px;border-radius:50%;object-fit:cover;background:#3a4150;color:#fff;display:grid;place-items:center;font-size:.72rem;font-weight:850;border:1px solid #596274}
.messageRow.mine .bubble{border-radius:16px 16px 4px 16px;background:#286cdf}
.bubble img.chatPhoto{display:block;width:min(210px,55vw);max-height:210px;object-fit:contain;border-radius:10px;margin-top:5px;background:#111}
.bubble audio{display:block;width:min(230px,60vw);height:36px;margin-top:5px}
.caps{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0 0 14px}.caps label{font-size:.78rem;color:#aeb6c4}.caps output{float:right;color:#fff;font-weight:800}.caps input{width:100%;margin-top:7px}
.ceilingNotice{margin:10px 0 0;padding:10px 11px;border:1px solid #6f6135;border-radius:12px;background:#332d1d;color:#f4dda0}.ceilingNotice strong{display:block;font-size:.78rem}.ceilingNotice span{display:block;margin-top:3px;font-size:.7rem;line-height:1.35;color:#d7caab}.caps output{font-variant-numeric:tabular-nums}
.ramp summary{font-weight:850;cursor:pointer}.ramp label{display:block;margin-top:13px;color:#9ca5b5;font-size:.82rem}.ramp label output{float:right;color:#fff;font-weight:800}.ramp input{width:100%;margin-top:6px}.rampChoices{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:13px}.rampChoices button{border:1px solid #4a5261;border-radius:13px;background:#303642;color:#fff;padding:13px;font-weight:800}
.customRamp{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px;margin-top:9px}.customRamp input{box-sizing:border-box;width:100%;min-width:0;margin:0;border:1px solid #4a5261;border-radius:13px;background:#14171d;color:#fff;padding:12px 13px;font:inherit;font-weight:750}.customRamp input:focus{outline:2px solid #3b82f6;outline-offset:1px}.customRamp button{border:1px solid #4a5261;border-radius:13px;background:#303642;color:#fff;padding:12px 14px;font-weight:800;white-space:nowrap}
.ramp summary{display:grid;grid-template-columns:1fr auto;align-items:center;gap:5px 12px;list-style-position:inside}.rampProgressText{font-size:.72rem;color:#8f98aa;font-variant-numeric:tabular-nums}.rampProgressTrack{grid-column:1/-1;height:3px;border-radius:99px;overflow:hidden;background:#313744}.rampProgressTrack>span{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--a),var(--b));transition:width .3s linear}.ramp.active{border-color:#58657b}.ramp.active .rampProgressText{color:#dce5f5}
.batteryWarning{margin:-3px 0 9px;padding:9px 12px;border:1px solid #826b22;border-radius:13px;background:#3a3014;color:#ffe07a;font-size:.78rem;font-weight:800;text-align:center;animation:batteryAppear .25s ease-out}.batteryWarning.veryLow{border-color:#a74c27;background:#421f13;color:#ffae78}.batteryWarning.critical{border-color:#c63246;background:#4b1420;color:#ff99a6;animation:batteryPulse 1.15s ease-in-out infinite}@keyframes batteryAppear{from{opacity:0;transform:translateY(-5px)}}@keyframes batteryPulse{50%{box-shadow:0 0 18px #df2f4866}}
.painRequest{border:0;border-radius:10px;background:#5035a4;color:#fff;padding:8px 11px;font-weight:800}.painRequest:disabled{opacity:.45}
.chat form{grid-template-columns:42px minmax(0,1fr) 42px 42px;gap:7px}.chat form .mediaAction,.chat form .sendAction{width:42px;height:42px;padding:0;display:grid;place-items:center;border:1px solid #4b5362;border-radius:12px;background:#242934;color:#dce2ec;box-shadow:inset 0 1px #ffffff0b,0 3px 9px #0005;touch-action:manipulation}.chat form .sendAction{border-color:#4f90ff;background:#263a62;color:#75adff}.chat form button:active{transform:translateY(1px);background:#30394a}.chat form svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.chat form .sendAction svg{width:22px;height:22px}.recordLabel{display:none;font-size:.62rem;font-weight:900}.mediaAction.recording{border-color:#e34b62!important;background:#6e1d2c!important;color:#fff!important;animation:recordPulse 1s infinite}.mediaAction.recording .micIcon{display:none}.mediaAction.recording .recordLabel{display:block}@keyframes recordPulse{50%{box-shadow:0 0 0 7px #d8294933}}
.messagePopup{position:fixed;z-index:20;left:50%;top:50%;width:min(88vw,390px);transform:translate(-50%,-45%) scale(.94);opacity:0;pointer-events:none;background:#252a35;border:1px solid #566071;border-radius:22px;padding:18px;box-shadow:0 28px 90px #000c;transition:.22s}.messagePopup.visible{opacity:1;transform:translate(-50%,-50%) scale(1)}.messagePopup .messageRow{max-width:100%}.messagePopup .bubble{font-size:1.05rem}
.checkinModal{position:fixed;z-index:30;inset:0;background:#05070bd9;display:grid;place-items:center;padding:18px}.checkinCard{width:min(100%,420px);background:#1c2029;border:1px solid #4a5262;border-radius:24px;padding:22px;text-align:center;box-shadow:0 28px 90px #000}.checkinCard strong{display:block;font-size:1.25rem}.checkinCard>span{display:block;color:#9ea7b6;margin-top:5px}.painButtons{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:18px}.painButtons button{border:0;border-radius:12px;color:#071008;padding:13px 0;font-weight:900;font-size:1rem}.painButtons .green{background:#57d77f}.painButtons .yellow{background:#f3c94e}.painButtons .red{background:#f05b66;color:#fff}
.channelWave{display:none;width:100%;height:88px}
body.wearer .channel{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto 72px;column-gap:12px;align-items:center}
body.wearer .channel>label{grid-column:1;grid-row:1}
body.wearer .channel>.stepper{grid-column:1;grid-row:2;display:flex;justify-content:center;gap:4px;margin:0}
body.wearer .channel>.stepper button{display:none}
body.wearer .channel>.stepper output{font-size:3rem;line-height:1}
body.wearer .channel>.channelWave{display:block;grid-column:2;grid-row:1 / 3;height:88px}
.control .channel{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto 72px;column-gap:12px;align-items:center}
.control .channel>label{grid-column:1;grid-row:1}
.control .channel>.stepper{grid-column:1;grid-row:2;grid-template-columns:42px 1fr auto 42px;margin:0}
.control .channel>.stepper button{height:48px;font-size:1.55rem;border-radius:13px}
.control .channel>.channelWave{display:block;grid-column:2;grid-row:1 / 3;height:88px}
body.wearer .control .channel>.stepper{display:flex;justify-content:center;gap:4px}
.bubble.pain-green{background:#2f8f50;color:#fff}.bubble.pain-yellow{background:#d2a91f;color:#171205}.bubble.pain-red{background:#c93645;color:#fff}
.messagePopup:has(.painPopupValue){width:auto;padding:0;border:0;background:transparent;box-shadow:none}
.painPopupValue{width:150px;height:150px;border-radius:50%;display:grid;place-items:center;font-size:5rem;font-weight:950;box-shadow:0 22px 80px #000c,0 0 0 10px #ffffff18}
.painPopupValue.pain-green{background:#57d77f;color:#071008}.painPopupValue.pain-yellow{background:#f3c94e;color:#211900}.painPopupValue.pain-red{background:#f05b66;color:#fff}
.feedback h2{margin-bottom:10px}.feedback>div{display:grid;grid-template-columns:1fr 1fr;gap:8px}.feedback button{border:0;border-radius:12px;padding:12px 8px;color:#fff;font-weight:800;background:#343a46}.feedback button[data-feedback="good"]{background:#21864a}.feedback button[data-feedback="limit"]{background:#d6a600;color:#181407}.feedback button[data-feedback="pain"]{background:#d7641c}.feedback button[data-feedback="severe"]{background:#b51f37}
.bubble.feedback-good{background:#21864a}.bubble.feedback-limit{background:#d6a600;color:#181407}.bubble.feedback-pain{background:#d7641c}.bubble.feedback-severe{background:#b51f37}
body.wearer main{padding-top:max(8px,env(safe-area-inset-top));padding-left:10px;padding-right:10px}
body.wearer header{margin-bottom:6px}
body.wearer .people{padding:8px;margin-bottom:5px}
body.wearer .panel{padding:10px;margin-top:6px}
body.wearer .control .channel{grid-template-rows:auto 45px;margin-top:5px;padding-top:5px}
body.wearer .control .channel>.channelWave{height:56px}
body.wearer .control .channel>.stepper output{font-size:2.35rem}
body.wearer .chat{height:min(30svh,250px);min-height:205px}
body.wearer .messages{padding:6px 0;gap:5px}
body.wearer .feedback h2{margin-bottom:7px}
body.wearer .feedback button{padding:9px 6px;font-size:.78rem}
body.wearer #wearerSetup{margin-top:18px}
.caps label{display:block;margin-top:12px}.caps label output{float:right;font-weight:850;color:#fff}.capControl{clear:both;display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:9px;margin-top:7px}.capControl input{width:100%;margin:0}.capControl button{height:40px;border:1px solid #4a5261;border-radius:11px;background:#303642;color:#fff;font-size:1.35rem;font-weight:750;touch-action:manipulation}.capControl button:active{transform:scale(.96);background:#3a4353}
.wakeButton{width:100%;margin:14px 0 8px;padding:10px 12px;border:1px solid #48505e;border-radius:12px;background:#252a34;color:#cbd2dd;font-weight:800}.wakeButton.active{border-color:#d4a840;background:#41371f;color:#ffe082;box-shadow:inset 0 0 18px #d8a62f18}.pausedScreen{position:fixed;z-index:45;inset:0;display:grid;place-items:center;padding:22px;background:#080a0ef2;backdrop-filter:blur(12px)}.pausedCard{width:min(92vw,430px);padding:32px 24px;text-align:center;border:1px solid #525967;border-radius:26px;background:radial-gradient(circle at 50% 15%,#343a49,#191c23 58%);box-shadow:0 28px 100px #000}.pausedCard b{display:grid;place-items:center;width:72px;height:72px;margin:0 auto 18px;border:2px solid #f0ba47;border-radius:50%;color:#ffd36e;font-size:2rem;box-shadow:0 0 30px #f0ba4733}.pausedCard strong{display:block;font-size:clamp(1.8rem,8vw,2.7rem)}.pausedCard p{margin:13px 0 22px;color:#b6bdc9;line-height:1.45}.pausedCard button{width:100%;padding:15px;border:1px solid #5593ff;border-radius:14px;background:#286cdf;color:#fff;font:inherit;font-weight:900}
.logoutButton{padding:8px 11px;border:1px solid #74313c;border-radius:11px;background:#4a1d26;color:#ffbec7;font:inherit;font-size:.75rem;font-weight:850}.logoutButton:active{transform:translateY(1px);background:#612330}.logoutButton:disabled{opacity:.55}
.feedbackToggle{height:32px;padding:0 9px;border:1px solid #437953;border-radius:10px;background:#203c29;color:#86e5a3;font:inherit;font-size:.66rem;font-weight:850;white-space:nowrap}.feedbackToggle.off{border-color:#676d77;background:#2b2e35;color:#aab0ba}
.livePanel{z-index:18}
header{flex-wrap:wrap}.topProfiles{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:100%}.headerActions{display:flex;align-items:center;justify-content:flex-end;gap:6px;width:100%;margin-top:5px}.shareRoom{border:0;border-radius:99px;background:#286cdf;color:#fff;padding:8px 10px;font-size:.72rem;font-weight:800}
.people{display:none}
.identity{gap:9px;min-width:0}.identity .avatar{display:grid;place-items:center;width:52px;height:52px;flex:0 0 52px;border:2px solid #7d8490;box-shadow:0 0 0 3px #ffffff0b,0 7px 20px #0007}.identity strong{display:block;font-size:1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:120px}.identity small{font-size:.65rem;margin-bottom:2px}.otherIdentity{opacity:.9}
.otherIdentity{cursor:pointer;border:0;background:transparent;color:inherit;padding:0;text-align:left;font:inherit;touch-action:manipulation;-webkit-user-select:none;user-select:none}.otherIdentity img{-webkit-user-drag:none;pointer-events:none}.avatarPreview{position:fixed;z-index:50;inset:0;display:grid;place-items:center;background:#05070bed;opacity:0;visibility:hidden;transition:opacity .18s;padding:18px}.avatarPreview.visible{opacity:1;visibility:visible}.avatarPreview img{width:min(88vw,520px);height:min(88vw,520px);max-height:80svh;object-fit:contain;border-radius:24px;border:2px solid #858b96;box-shadow:0 30px 100px #000}
.avatarPreview.cinematic{grid-template-rows:1fr auto auto auto auto 1fr;justify-items:center;text-align:center;background:#05070bf2;box-shadow:inset 0 0 180px #6d238844}.avatarPreview.cinematic:before{content:'NEW AVATAR';align-self:end;margin-bottom:18px;color:#d39cff;font-size:.72rem;font-weight:900;letter-spacing:.2em}.avatarPreview.cinematic img{width:min(66vw,310px);height:min(66vw,310px);max-height:42svh;align-self:center;border-radius:50%;border:4px solid #c36aff;box-shadow:0 0 0 10px #bc4cff18,0 20px 70px #000,0 0 70px #bc4cff55;animation:arrivalReveal .5s cubic-bezier(.2,.85,.25,1.15)}.avatarPreview.cinematic strong.avatarRevealText{margin-top:20px;max-width:90vw;color:#fff;font-size:clamp(2rem,9vw,3.35rem);line-height:1;overflow-wrap:anywhere}.avatarPreview.cinematic span.avatarRevealText{margin-top:10px;color:#d9d3df;font-size:1.08rem}
.connection.deviceOnline{background:rgba(82,222,131,.14);color:#52de83;font-weight:inherit}
@media(min-width:850px){body.controller main{width:min(100%,1120px)}body.controller #app{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,.82fr);grid-template-areas:"header header" "control chat" "signal chat" "ramp chat" "error chat";column-gap:14px;align-items:start}body.controller #app>header{grid-area:header}body.controller .control{grid-area:control}body.controller .signalPanel{grid-area:signal}body.controller .ramp{grid-area:ramp}body.controller .chat{grid-area:chat;height:100%;min-height:calc(100vh - 125px);margin-top:10px}body.controller #error{grid-area:error}body.controller .topProfiles{grid-template-columns:220px 220px;width:auto;flex:1}body.controller .headerActions{width:auto;margin:0}}
.signalBadge{font-size:.68rem;color:#cad1dc;background:#303641;border-radius:99px;padding:5px 8px}.signalTitle{margin-bottom:7px}.signalModes{display:grid;grid-template-columns:1fr 1fr;gap:9px;width:100%}.signalModes button{min-width:0;min-height:42px;border:1px solid #495160;border-radius:12px;background:#242934;color:#b8c0cd;padding:5px 12px;font-weight:800;display:flex;align-items:center;justify-content:center;gap:11px;touch-action:manipulation}.signalModes svg{display:block;width:min(38%,82px);height:18px;overflow:visible;flex:0 1 82px}.signalModes path{fill:none;stroke:#8993a6;stroke-width:3;stroke-linecap:round;filter:drop-shadow(0 0 3px #8993a666)}.signalModes button.active{background:#263a62;color:#fff;border-color:#4f90ff;box-shadow:inset 0 0 18px #347ff722}.signalModes button.active path{stroke:#69a5ff;filter:drop-shadow(0 0 4px #347ff7)}.signalPanel label{display:block;margin-top:10px;color:#a9b1c0;font-size:.8rem}.signalPanel label output{float:right;color:#fff;font-weight:800}.signalPanel input{width:100%;margin-top:5px}.signalPanel.pulse #speedLabel{display:block}.signalPanel:not(.pulse) #speedLabel{display:none}
.signalPanel input[type=range]{display:none}.signalPresets{clear:both;display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding-top:8px}.signalPresets button,.signalAdjuster button{border:1px solid #495160;background:#242934;color:#b8c0cd;font:inherit;font-weight:800;touch-action:none}.signalPresets button{min-height:32px;border-radius:10px}.signalPresets button.active{color:#fff;border-color:#4f90ff;background:#263a62;box-shadow:inset 0 0 15px #347ff722}.signalAdjuster{display:grid;grid-template-columns:46px 1fr 46px;align-items:center;gap:9px;margin-top:7px}.signalAdjuster button{height:38px;border-radius:11px;color:#fff;font-size:1.35rem;line-height:1}.signalAdjuster button:active{transform:scale(.96);background:#34415a}.signalTrack{height:6px;overflow:hidden;border-radius:99px;background:#343943}.signalTrack i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#6e9fff,#bc4cff);box-shadow:0 0 9px #7f72ff88;transition:width .1s linear}.signalPanel.pulse #speedLabel{display:block}.signalPanel:not(.pulse) #speedLabel{display:none}
.chat{height:min(36svh,320px)}
@media(min-width:850px){body.controller .chat{height:calc(100svh - 165px);min-height:0;max-height:calc(100svh - 165px)}}
.instructionsButton{border:1px solid #4b5362;border-radius:99px;background:#242934;color:#d7dce5;padding:7px 10px;font-size:.72rem;font-weight:800}.instructionsPopup{position:fixed;z-index:60;inset:0;display:grid;place-items:center;padding:18px;background:#05070bd9;opacity:0;visibility:hidden;transition:.18s;cursor:pointer}.instructionsPopup.visible{opacity:1;visibility:visible}.instructionsCard{width:min(90vw,390px);padding:22px;border:1px solid #596273;border-radius:22px;background:linear-gradient(155deg,#292f3a,#171a21);box-shadow:0 28px 90px #000d;cursor:pointer}.instructionsCard>strong{display:block;font-size:1.15rem;margin-bottom:12px}.instructionsCard ul{margin:0;padding-left:19px;color:#e8ebf1;line-height:1.42}.instructionsCard li+li{margin-top:7px}.instructionsCard small{display:block;margin-top:15px;color:#9ba4b4;line-height:1.4}
.control .stepper output{justify-self:end}.control .stepper>span{justify-self:start;margin-left:4px}
.chatTitleActions{display:flex;align-items:center;gap:7px}.chatFocus{width:32px;height:32px;padding:0;border:1px solid #4b5362;border-radius:10px;background:#242934;color:#dce2ec;display:grid;place-items:center}.chatFocus svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}body.wearer.chatFocused{overflow:hidden}body.wearer.chatFocused main{height:100svh;overflow:hidden}body.wearer.chatFocused .control{display:flex;align-items:center;gap:8px;padding:5px 10px;min-height:48px}body.wearer.chatFocused .control>.panelTitle,body.wearer.chatFocused .control .channel>label,body.wearer.chatFocused .control .channel>.channelWave{display:none}body.wearer.chatFocused .control .channel{display:flex;flex:1;margin:0;padding:0;border:0;grid-template:none}body.wearer.chatFocused .control .channel>.stepper{display:flex;width:100%;height:38px;justify-content:center;align-items:center;gap:2px}body.wearer.chatFocused .control .channel>.stepper output{font-size:2rem}body.wearer.chatFocused .control .channel.a>.stepper:before{content:'A';color:var(--a);font-size:.7rem;font-weight:900;margin-right:3px}body.wearer.chatFocused .control .channel.b>.stepper:before{content:'B';color:var(--b);font-size:.7rem;font-weight:900;margin-right:3px}body.wearer.chatFocused .feedback,body.wearer.chatFocused #wearerSetup{display:none!important}body.wearer.chatFocused .chat{height:calc(100svh - 155px);min-height:0;max-height:none;flex:1}body.wearer.chatFocused .messages{padding:9px 0}.chatFocused .chatFocus svg{transform:rotate(45deg)}
.liveButton{width:32px;height:32px;padding:0;border:1px solid #4b5362;border-radius:10px;background:#242934;color:#dce2ec;display:grid;place-items:center}.liveButton svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}.liveButton.broadcasting{color:#fff;border-color:#e34b62;background:#7b2031;animation:recordPulse 1.2s infinite}.liveButton.watching{color:#8fc2ff;border-color:#4f90ff;background:#263a62}.livePanel{--live-height:min(34svh,290px);position:fixed;z-index:38;right:14px;top:max(76px,env(safe-area-inset-top));width:min(430px,calc(100vw - 28px));margin:0;padding-top:30px;border-radius:17px;overflow:hidden;border:1px solid #596170;background:#080a0f;box-shadow:0 18px 60px #000c,0 0 0 1px #ffffff08;touch-action:none}.livePanel video.remoteLive{display:block;width:100%;height:var(--live-height);object-fit:contain;background:#050608}.livePanel.localOnly video.remoteLive{display:none}.livePanel video.localLive{position:absolute;right:8px;bottom:8px;width:27%;max-width:115px;aspect-ratio:3/4;object-fit:cover;border:2px solid #7e8796;border-radius:11px;background:#050608;box-shadow:0 6px 22px #000b}.livePanel.localOnly video.localLive{position:static;display:block!important;width:100%;max-width:none;height:var(--live-height);aspect-ratio:auto;object-fit:contain;border:0;border-radius:0;box-shadow:none}.livePanel span{position:absolute;inset:0 0 auto 0;height:30px;padding:0 12px;display:flex;align-items:center;background:linear-gradient(180deg,#242936,#171a22);color:#ff667a;font-size:.65rem;font-weight:900;letter-spacing:.08em;cursor:move;user-select:none}.liveResize{position:absolute;right:0;bottom:0;width:28px;height:28px;background:linear-gradient(135deg,transparent 48%,#9aa3b4 49%,#9aa3b4 56%,transparent 57%,transparent 67%,#9aa3b4 68%,#9aa3b4 75%,transparent 76%);cursor:nwse-resize;touch-action:none;filter:drop-shadow(0 0 3px #000)}
.control .channel>.stepper{grid-template-columns:42px minmax(0,1fr) 42px}.control .stepper>.intensityReadout{display:flex;align-items:baseline;justify-content:center;gap:4px;justify-self:stretch;margin:0}.control .intensityReadout output{justify-self:auto}.control .intensityReadout>span{justify-self:auto;margin:0}
.chat form{align-items:end}.chat textarea{display:block;width:100%;min-width:0;height:42px;max-height:96px;resize:none;overflow:hidden;border:1px solid #3b4250;background:#0f1217;color:#fff;border-radius:14px;padding:10px 13px;font:inherit;line-height:1.3;transition:height .16s ease,border-color .16s}.chat textarea:focus{outline:none;border-color:#5a77a8}.chat textarea.scrolling{overflow-y:auto}
.messagePopup.arrival{width:min(91vw,520px);padding:0;border:0;background:transparent;box-shadow:0 0 0 100vmax #05070be8;overflow:visible}.arrivalCard{min-height:min(64svh,540px);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:34px 24px;border:1px solid #794e9c;border-radius:30px;background:radial-gradient(circle at 50% 35%,#5a246f 0,#24162f 42%,#11131a 78%);box-shadow:0 28px 100px #000,0 0 60px #bc4cff44;animation:arrivalReveal .5s cubic-bezier(.2,.85,.25,1.15)}.arrivalCard small{color:#d39cff;font-size:.72rem;font-weight:900;letter-spacing:.18em}.arrivalAvatar{width:104px;height:104px;border-radius:50%;object-fit:cover;display:grid;place-items:center;margin:22px 0 16px;border:3px solid #c36aff;background:#31213c;color:#fff;font-size:2.5rem;font-weight:950;box-shadow:0 0 0 8px #bc4cff16,0 10px 38px #000a}.arrivalCard strong{max-width:100%;font-size:clamp(2rem,10vw,3.6rem);line-height:.98;overflow-wrap:anywhere}.arrivalCard>span{margin-top:10px;color:#d9d3df;font-size:1.15rem}.arrivalCard b{display:block;margin-top:20px;font-size:4.2rem;line-height:1;animation:devilBounce .75s .35s both}@keyframes arrivalReveal{from{opacity:0;transform:scale(.78) translateY(28px)}}@keyframes devilBounce{0%{opacity:0;transform:scale(.3) rotate(-18deg)}65%{transform:scale(1.18) rotate(7deg)}100%{opacity:1;transform:scale(1)}}
.messagePopup.photoCinematic{width:min(94vw,620px);padding:0;border:0;background:transparent;box-shadow:0 0 0 100vmax #05070bf0;overflow:visible}.photoRevealCard{min-height:min(70svh,650px);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:25px 20px;border:1px solid #794e9c;border-radius:30px;background:radial-gradient(circle at 50% 38%,#4a205b 0,#21162b 43%,#101219 80%);box-shadow:0 30px 110px #000,0 0 70px #bc4cff44;animation:arrivalReveal .5s cubic-bezier(.2,.85,.25,1.15)}.photoRevealCard small{color:#d39cff;font-size:.72rem;font-weight:900;letter-spacing:.18em;margin-bottom:16px}.photoRevealCard img{display:block;width:100%;height:auto;max-height:52svh;object-fit:contain;border-radius:20px;border:2px solid #7f538f;background:#090b10;box-shadow:0 18px 55px #000b}.photoRevealCard strong{margin-top:15px;font-size:clamp(1.5rem,7vw,2.6rem);line-height:1.05}
.messagePopup.directorArrival{width:min(92vw,560px);padding:0;border:0;background:transparent;box-shadow:0 0 0 100vmax #03040af2;overflow:visible}.directorArrivalCard{min-height:min(72svh,620px);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px 24px;border:1px solid #8b68d8;border-radius:32px;background:radial-gradient(circle at 50% 35%,#43216a 0,#21152f 44%,#0d1018 82%);box-shadow:0 30px 110px #000,0 0 80px #8f59ff55;animation:arrivalReveal .6s cubic-bezier(.2,.85,.25,1.12)}.directorArrivalCard small{color:#bfa6ff;font-size:.7rem;font-weight:950;letter-spacing:.2em;margin-bottom:18px}.directorArrivalPortrait{width:min(68vw,300px);height:min(42svh,340px);object-fit:contain;display:grid;place-items:center;border-radius:24px;border:2px solid #9874e0;background:#11131b;color:#c6adff;font-size:6rem;box-shadow:0 22px 65px #000c,0 0 35px #8c54ef33}.directorArrivalCard strong{margin-top:22px;font-size:clamp(2rem,9vw,3.5rem);line-height:.98}.directorArrivalCard>span{margin-top:10px;color:#d7d1e2;font-size:1.15rem}
.signalPanel.pulse #speedLabel,.signalPanel.pulse #depthLabel{display:block}.signalPanel:not(.pulse) #speedLabel,.signalPanel:not(.pulse) #depthLabel{display:none}
.serverLostScreen{position:fixed;z-index:90;inset:0;display:grid;place-items:center;padding:24px;background:#080a0ff2;backdrop-filter:blur(16px)}
.serverLostCard{width:min(100%,440px);padding:30px 24px;text-align:center;border:1px solid #a8424b;border-radius:26px;background:radial-gradient(circle at 50% 0%,#47242d,#191b23 65%);box-shadow:0 28px 100px #000b,0 0 45px #a12e3a33}
.serverLostCard b{display:grid;place-items:center;width:64px;height:64px;margin:0 auto 16px;border-radius:50%;background:#a82d3e;color:white;font-size:2.4rem}
.serverLostCard strong{display:block;font-size:clamp(2rem,8vw,2.8rem);line-height:1.05}
.serverLostCard p{margin:16px 0 24px;color:#d6dae3;font-size:1.06rem;line-height:1.45}
.serverLostCard button{width:100%;padding:15px;border:1px solid #6b9cff;border-radius:15px;background:#286cdf;color:white;font:inherit;font-weight:900}
.signalChannels{display:flex;gap:6px}.signalChannels button{min-width:48px;padding:7px 12px;border:1px solid #4a5261;border-radius:10px;background:#242934;color:#cbd1db;font:inherit;font-size:.8rem;font-weight:900}.signalChannels button.active[data-signal-channel=a]{background:#49305c;border-color:var(--a);color:#f1d7ff}.signalChannels button.active[data-signal-channel=b]{background:#1b4051;border-color:var(--b);color:#d7f6ff}
@media (min-width:850px){
  body.controller main{padding-top:10px}
  body.controller header{margin-bottom:0}
  body.controller .panel{padding:12px 15px;margin-top:6px}
  body.controller .control .channel{grid-template-columns:minmax(0,40%) minmax(0,1fr);grid-template-rows:auto 56px;margin-top:6px;padding-top:6px}
  body.controller .control .channel>.channelWave{height:68px}
  body.controller .signalPanel label{margin-top:7px}
  body.controller .signalPresets{padding-top:5px}
  body.controller .signalPresets button{min-height:28px}
  body.controller .signalAdjuster{margin-top:5px}
  body.controller .signalAdjuster button{height:34px}
  body.controller .ramp label{margin-top:9px}
  body.controller .rampChoices{grid-template-columns:1fr 1fr minmax(0,1.35fr);margin-top:9px}
  body.controller .rampChoices button{padding:10px}
  body.controller .rampChoices .customRamp{grid-column:auto;grid-template-columns:minmax(0,1fr) auto}
  body.controller .rampChoices .customRamp input,body.controller .rampChoices .customRamp button{padding:9px 10px}
}

/* Same-room control keeps the remote-room UI intact while providing a focused console. */
#modeChoices,#roleChoices{width:100%}#modeChoices button small{display:block;margin-top:5px;color:#d6e2fa;font-size:.72rem;font-weight:600;opacity:.78}.center button.secondary{background:#292e39}.center .textButton{display:inline-block;align-self:flex-start;width:auto;padding:8px 0;margin:0;background:transparent;color:#8db4ff}
.modeEntrance{position:relative;isolation:isolate;min-height:calc(100svh - 36px);justify-content:center;overflow:hidden}.modeEntrance .modeGlow{position:absolute;z-index:-1;left:50%;top:42%;width:430px;height:430px;border-radius:50%;background:radial-gradient(circle,#367ff51f 0%,#bc4cff0b 38%,transparent 70%);transform:translate(-50%,-50%);pointer-events:none}.modeEntrance .mark{display:grid;place-items:center;width:66px;height:66px;margin:0 auto 12px;border:1px solid #f0a00055;border-radius:22px;background:linear-gradient(145deg,#272118,#14171e);font-size:2.25rem;box-shadow:0 14px 42px #0008,0 0 28px #f5a00017}.modeEntrance .eyebrow{display:block;color:#7fa9f5;font-size:.7rem;font-weight:900;letter-spacing:.18em;text-transform:uppercase}.modeEntrance h1{margin-top:8px;font-size:clamp(1.8rem,7vw,2.45rem);line-height:1.04;letter-spacing:-.035em}.modeEntrance p{max-width:380px;margin:12px auto 20px;line-height:1.45}.modeCards,.roleCards{display:grid;gap:10px;width:min(100%,440px);margin:auto}.modeCards button,.roleCards a{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:13px;width:100%;min-height:88px;margin:0;padding:14px 16px;border:1px solid #4b76bd;border-radius:20px;background:linear-gradient(135deg,#2d71df,#3159a9);text-align:left;box-shadow:0 16px 36px #0005, inset 0 1px #ffffff25;transition:transform .16s ease,border-color .16s ease,filter .16s ease}.modeCards button.secondary,.roleCards a.secondary{border-color:#3d4555;background:linear-gradient(135deg,#252b36,#1a1e27)}.modeCards button:hover,.roleCards a:hover{transform:translateY(-2px);filter:brightness(1.08)}.modeCards button:active,.roleCards a:active{transform:scale(.985)}.modeCards button>span:nth-child(2),.roleCards a>span:nth-child(2){min-width:0}.modeCards strong,.roleCards strong{display:block;color:#fff;font-size:1.03rem}.modeCards small,.roleCards small{display:block;margin-top:4px;color:#d4def0;font-size:.72rem;font-weight:600;line-height:1.3;opacity:.78}.modeCards b,.roleCards b{color:#dce9ff;font-size:1.3rem}.modeIcon,.roleIcon{display:grid;place-items:center;width:46px;height:46px;border:1px solid #ffffff2b;border-radius:15px;background:#ffffff13;color:#fff;font-size:1.35rem;box-shadow:inset 0 1px #ffffff24}.privateNote{display:block;margin-top:18px;color:#697386;font-size:.68rem;font-weight:700;letter-spacing:.04em}.modeEntrance #roleChoices .textButton{position:absolute;top:max(18px,env(safe-area-inset-top));left:0}.modeEntrance #roleChoices{position:relative}.roleCards a{color:#fff;text-decoration:none}.roleCards a:first-child{border-color:#7a4ead;background:linear-gradient(135deg,#3b2858,#252033)}.roleCards a:last-child{border-color:#315f96;background:linear-gradient(135deg,#213957,#202734)}
@media(min-width:700px){.modeEntrance{left:50%;width:min(720px,calc(100vw - 40px));transform:translateX(-50%)}.modeCards{grid-template-columns:1fr 1fr;width:100%}.modeCards button{grid-template-columns:48px minmax(0,1fr);min-height:150px;align-content:center}.modeCards button b{grid-column:2}.modeEntrance .privateNote{margin-top:22px}}
.localActions{display:grid;grid-template-columns:1fr 1fr auto;gap:7px;margin-top:10px}.localActions button{min-height:38px;border:1px solid #4a5261;border-radius:12px;background:#282e39;color:#f6f8fc;font:inherit;font-weight:850}.localActions button:first-child{border-color:#83505b;background:#3a252c}.gesturePanel{touch-action:none}.gesturePanel .panelTitle span{color:#aab3c3;font-weight:800}.gesturePad{position:relative;height:210px;margin-top:12px;overflow:hidden;border:1px solid #475064;border-radius:18px;background:linear-gradient(180deg,#bc4cff35 0%,#202531 48%,#10131a 100%);box-shadow:inset 0 0 38px #0007;touch-action:none}.gesturePad:before{content:"";position:absolute;inset:12px 50% 12px auto;border-left:1px solid #ffffff20}.gesturePad span{position:absolute;inset:auto 0 14px;text-align:center;color:#c3cad6;font-size:.76rem;font-weight:750}.gesturePad i{position:absolute;left:50%;right:auto;top:100%;width:28px;height:28px;border-radius:50%;background:#fff;border:5px solid #bc4cff;box-shadow:0 0 22px #bc4cff;transform:translate(-50%,-50%);transition:top 80ms linear,left 80ms linear}.gesturePanel>small{display:block;margin-top:9px;color:#8993a6;text-align:center}.gestureAxis{display:flex;align-items:center;gap:6px;margin-top:10px}.gestureAxis>span{margin-right:auto;color:#8f98a8;font-size:.72rem;font-weight:750}.gestureAxis button{border:1px solid #414959;border-radius:9px;background:#242a34;color:#aeb7c6;padding:7px 9px;font:inherit;font-size:.7rem;font-weight:800}.gestureAxis button.active{border-color:#5d8fe3;background:#294679;color:#fff}
.livePlayPanel .panelTitle span{color:#8f98a8;font-size:.72rem;font-weight:800}.livePlayPrimary,.sceneGrid{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:10px}.livePlayPanel button,.variationApproval button{min-height:39px;border:1px solid #465064;border-radius:11px;background:#282e39;color:#f3f6fb;font:inherit;font-size:.75rem;font-weight:850}.livePlayPrimary button:first-child{border-color:#8e56b8;background:#3a2750}.livePlayPanel button.active{border-color:#e8994b;background:#51351f;box-shadow:0 0 18px #e8994b2c}.sceneGrid{grid-template-columns:repeat(4,1fr)}.sceneGrid button{min-width:0;padding:7px}.saveScene{width:100%;margin-top:7px;background:#20252e!important;color:#aeb7c6!important}.livePlayPanel>small{display:block;margin-top:8px;color:#80899a;text-align:center}.variationApproval{margin:14px 0;padding:12px;border:1px solid #414959;border-radius:14px;background:#11151c}.variationApproval>strong,.variationApproval>small{display:block}.variationApproval>small{margin-top:3px;color:#8993a6;font-size:.7rem}.variationApproval>div{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0}.variationApproval label{display:flex;align-items:center;gap:5px;color:#b9c1ce;font-size:.75rem;font-weight:800}.variationApproval input{width:52px;border:1px solid #424b5b;border-radius:9px;background:#20252e;color:#fff;padding:8px 5px;font:inherit;text-align:center}.variationApproval button{width:100%}.pendingMirror{position:fixed;z-index:60;left:50%;top:max(16px,env(safe-area-inset-top));min-width:min(360px,calc(100vw - 28px));padding:11px 18px;border:1px solid #5d8fe3;border-radius:15px;background:#182238ed;box-shadow:0 16px 44px #000a,0 0 24px #367ff52c;transform:translateX(-50%);text-align:center;backdrop-filter:blur(16px)}.pendingMirror small{display:block;color:#8db4ff;font-size:.6rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase}.pendingMirror strong{display:block;margin-top:3px;font-size:.88rem}
body.sameRoom .chat,body.sameRoom .people{display:none!important}body.sameRoom .stop{min-width:106px;min-height:44px;font-size:1rem;box-shadow:0 0 22px #8f1f3345}body.sameRoom.controller main{width:min(100%,1100px)}body.sameRoom.controller .control{margin-top:4px}body.sameRoom.touchControls .stepper button{min-width:58px;min-height:58px}
@media(min-width:850px){body.sameRoom.controller #app{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);grid-template-areas:"header header" "warning warning" "control control" "signal ramp" "play play" "gesture gesture" "error error";gap:10px}body.sameRoom.controller header{grid-area:header}body.sameRoom.controller .batteryWarning{grid-area:warning}body.sameRoom.controller .control{grid-area:control}body.sameRoom.controller .signalPanel{grid-area:signal}body.sameRoom.controller .ramp{grid-area:ramp}body.sameRoom.controller .livePlayPanel{grid-area:play}body.sameRoom.controller .gesturePanel{grid-area:gesture}body.sameRoom.controller #error{grid-area:error}body.sameRoom.controller .panel{margin-top:0}body.sameRoom.controller .control .channel>.channelWave{height:72px}}
@media(max-width:849px){.localActions{grid-template-columns:1fr 1fr}.localActions #inputModeToggle{grid-column:1/-1}.gesturePad{height:180px}.sceneGrid{grid-template-columns:1fr 1fr}body.sameRoom.wearer .control{margin-top:4px}body.sameRoom.wearer .feedback{margin-top:8px}}
.variationSaveStatus{display:block;margin-top:8px;color:#8993a6;font-size:.7rem;font-weight:750;text-align:center}.variationSaveStatus.saving{color:#8db4ff}.variationSaveStatus.saved{color:#63df8c}.variationSaveStatus.error{color:#ff858f}.variationApproval button:disabled{opacity:.58}
body.controller .control .channel{position:relative;isolation:isolate;transition:opacity .18s ease,filter .18s ease,background .18s ease,box-shadow .18s ease}body.controller .control .channel:not(.selected){opacity:.58;filter:saturate(.55)}body.controller .control .channel:not(.selected):hover{opacity:.82;filter:saturate(.8)}body.controller .control .channel.selected{padding-left:12px;padding-right:12px;margin-left:-12px;margin-right:-12px;border-radius:16px;opacity:1;filter:none}body.controller .control .channel.a.selected{background:linear-gradient(90deg,#bc4cff22 0%,#bc4cff0c 42%,transparent 82%);box-shadow:inset 4px 0 #bc4cff}body.controller .control .channel.b.selected{background:linear-gradient(90deg,#20b9ee22 0%,#20b9ee0c 42%,transparent 82%);box-shadow:inset 4px 0 #20b9ee}body.controller .channelSelect[aria-pressed=true]{display:flex;align-items:center;gap:8px;background:transparent!important}body.controller .channelSelect[aria-pressed=true]::after{content:'EDITING';padding:4px 7px;border-radius:99px;background:currentColor;color:#11151c;font-size:.52rem;font-weight:950;letter-spacing:.1em;line-height:1}body.controller .signalBadge{transition:color .18s ease,background .18s ease}body.controller .control:has(.channel.a.selected) .signalBadge{color:#dfadff;background:#bc4cff1d}body.controller .control:has(.channel.b.selected) .signalBadge{color:#8ee2ff;background:#20b9ee1d}
.channelRenameModal{position:fixed;z-index:110;inset:0;display:grid;place-items:center;padding:20px;background:#05070bc7;backdrop-filter:blur(16px)}.channelRenameCard{width:min(100%,430px);padding:20px;border:1px solid #4a5365;border-radius:22px;background:linear-gradient(145deg,#1d222c,#141820);box-shadow:0 26px 80px #000c}.channelRenameCard>div:first-child small,.channelRenameCard>div:first-child strong,.channelRenameCard>div:first-child span{display:block}.channelRenameCard>div:first-child small{color:#7fa9f5;font-size:.65rem;font-weight:900;letter-spacing:.16em;text-transform:uppercase}.channelRenameCard>div:first-child strong{margin-top:5px;font-size:1.35rem}.channelRenameCard>div:first-child span{margin:5px 0 16px;color:#929cad;font-size:.78rem}.channelRenameCard label{display:block;margin-top:10px;color:#aeb7c6;font-size:.72rem;font-weight:850}.channelRenameCard input{display:block;width:100%;margin-top:6px;padding:13px 14px;border:1px solid #465064;border-radius:12px;background:#0f131a;color:#fff;font:inherit;font-weight:750;outline:none}.channelRenameCard input:focus{border-color:#5d8fe3;box-shadow:0 0 0 3px #367ff51e}.channelRenameCard>p{min-height:18px;margin:8px 0 0;color:#ff858f;font-size:.72rem}.channelRenameActions{display:grid;grid-template-columns:1fr 1.35fr;gap:8px;margin-top:8px}.channelRenameActions button{min-height:44px;border:1px solid #465064;border-radius:12px;background:#282e39;color:#fff;font:inherit;font-weight:850}.channelRenameActions button:last-child{border-color:#4b87e8;background:#2f73df}.channelRenameActions button:disabled{opacity:.6}
.rampChoices .customRamp{grid-column:1/-1;margin-top:0}
.channelSelect{display:block;width:fit-content;padding:5px 9px;border:0;border-radius:99px;background:transparent;color:var(--a);font:inherit;font-weight:800;text-align:left;cursor:pointer;touch-action:manipulation}
.channel.b .channelSelect{color:var(--b)}
.channelSelect:hover{background:#bc4cff16}
.channel.b .channelSelect:hover{background:#20b9ee16}
.channelSelect:focus-visible{outline:2px solid currentColor;outline-offset:4px;border-radius:2px}
.control .channel.selected{cursor:pointer}
.control .channel.a.selected .channelSelect,body.wearer .control .channel.a .channelSelect{background:#bc4cff20}
.control .channel.b.selected .channelSelect,body.wearer .control .channel.b .channelSelect{background:#20b9ee20}
.signalEditing{padding:5px 9px;border-radius:99px;background:#bc4cff20;color:var(--a);font-size:.69rem;font-weight:850;white-space:nowrap}
.signalPanel.selected-b .signalEditing{background:#20b9ee20;color:var(--b)}
body.wearer .channelSelect{cursor:default}
body.wearer .channelSelect:disabled{opacity:1}
@media (max-width:849px){body.controller .control .stepper button{height:44px}}
.wearerPictureStage{display:none}.pictureStageHeading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.pictureStageHeading small,.pictureStageHeading strong{display:block}.pictureStageHeading small{color:#9f83ef;font-size:.62rem;font-weight:900;letter-spacing:.16em}.pictureStageHeading strong{margin-top:4px;font-size:1rem}.pictureStageHeading>span{padding:6px 9px;border:1px solid #424958;border-radius:99px;color:#969faf;font-size:.62rem;font-weight:800}.wearerPictureStage>button{display:grid;place-items:center;width:100%;min-height:360px;margin-top:12px;overflow:hidden;border:1px solid #3e4655;border-radius:17px;background:radial-gradient(circle at 50% 40%,#252a36,#0d1016 68%);color:#747e90;padding:0}.wearerPictureStage>button:not(:disabled){cursor:zoom-in}.wearerPictureStage>button img{display:block;width:100%;height:100%;max-height:calc(100svh - 210px);object-fit:contain;background:#080a0e}.wearerPictureStage>button span{max-width:260px;padding:30px;color:#7f899a;font-size:.78rem;line-height:1.5}.wearerPictureStage>small{display:block;margin-top:9px;color:#7f899a;font-size:.68rem;text-align:center}
.propApproval{margin:14px 0;padding:12px;border:1px solid #474050;border-radius:14px;background:#17141c}.propApproval>strong,.propApproval>small,.propApproval>label,.propApproval>span{display:block}.propApproval>small{margin:3px 0 10px;color:#9690a0;font-size:.7rem;line-height:1.35}.propApproval>label{padding:8px 0;color:#d7d2dc;font-size:.76rem;font-weight:750}.propApproval input{margin-right:7px;accent-color:#8c63db}.propApproval>button{width:100%;min-height:39px;margin-top:8px;border:1px solid #655188;border-radius:11px;background:#33284a;color:#f4eeff;font:inherit;font-size:.76rem;font-weight:850}.propApproval>span{min-height:16px;margin-top:7px;color:#80d79a;font-size:.68rem;text-align:center}.propTaskPanel{position:fixed;z-index:40;left:50%;bottom:max(12px,env(safe-area-inset-bottom));width:min(560px,calc(100vw - 24px));padding:16px!important;border-color:#7658a5;background:linear-gradient(145deg,#282035f5,#14171df5);box-shadow:0 20px 70px #000d,0 0 35px #7b4cc738;transform:translateX(-50%);backdrop-filter:blur(18px)}.propTaskPanel small{color:#bc9cff;font-size:.62rem;font-weight:900;letter-spacing:.16em}.propTaskPanel h2{margin-top:4px;font-size:1.15rem}.propTaskPanel p{margin:7px 0;color:#c5becd;font-size:.78rem;line-height:1.4}.propTaskPanel>div>strong{display:block;color:#fff;font-size:1.35rem;text-align:center}.propTaskActions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.propTaskActions button{min-height:44px;border:1px solid #5d6675;border-radius:12px;background:#303642;color:#fff;font:inherit;font-weight:850}.propTaskActions #propApplied{grid-column:1/-1;border-color:#5488df;background:#295da9}.propTaskActions #propRemove{grid-column:1/-1;border-color:#b94150;background:#812635}.propTaskActions #propRemoved{grid-column:1/-1;border-color:#4e9a69;background:#23613a}.propTaskActions button:disabled{opacity:.45}
@media(min-width:760px){body.wearer.remoteRoom main{width:min(100%,1180px)}body.wearer.remoteRoom #app{display:grid;grid-template-columns:minmax(320px,.78fr) minmax(380px,1.22fr);grid-template-areas:"header header" "warning warning" "control picture" "feedback picture" "chat picture" "voice picture" "setup setup" "error error";column-gap:14px;align-items:start}body.wearer.remoteRoom #app>header{grid-area:header}body.wearer.remoteRoom .batteryWarning{grid-area:warning}body.wearer.remoteRoom .control{grid-area:control}body.wearer.remoteRoom .feedback{grid-area:feedback}body.wearer.remoteRoom .chat{grid-area:chat;height:min(34svh,310px);min-height:230px}body.wearer.remoteRoom #directorVoicePanel{grid-area:voice}body.wearer.remoteRoom #wearerSetup{grid-area:setup}body.wearer.remoteRoom #error{grid-area:error}body.wearer.remoteRoom .wearerPictureStage{display:flex;grid-area:picture;flex-direction:column;height:calc(100svh - 108px);min-height:590px;position:sticky;top:8px}body.wearer.remoteRoom .wearerPictureStage>button{flex:1;min-height:0}body.wearer.remoteRoom .topProfiles{grid-template-columns:220px 220px;width:auto;flex:1}body.wearer.remoteRoom .headerActions{width:auto;margin:0}}
.instructionsCard{max-height:calc(100vh - 36px);max-height:calc(100svh - 36px - env(safe-area-inset-top) - env(safe-area-inset-bottom));overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y}
.deviceChoices{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:13px 0}.deviceChoices button{min-height:42px;border:1px solid #4a5261;border-radius:12px;background:#242934;color:#b8c0cd;font:inherit;font-weight:850}.deviceChoices button.active{color:#fff;border-color:#4f90ff;background:#263a62;box-shadow:inset 0 0 18px #347ff722}.deviceChoices button:disabled{opacity:.55}
@media (min-width:850px){
  body.controller .identity .avatar{width:42px;height:42px;flex-basis:42px}
  body.controller .control .channel{grid-template-rows:auto 48px;margin-top:5px;padding-top:5px}
  body.controller .control .channel>.channelWave{height:58px}
  body.controller .signalPanel{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:12px;align-content:start}
  body.controller .signalPanel .signalTitle,body.controller .signalPanel .signalModes{grid-column:1/-1}
  body.controller .signalPanel>label{min-width:0;margin-top:6px;font-size:.74rem}
  body.controller .signalPanel>label:last-child{grid-column:1/-1}
  body.controller .signalModes button{min-height:36px}
  body.controller .signalPresets button{min-height:27px;font-size:.74rem}
  body.controller .signalAdjuster{grid-template-columns:34px minmax(0,1fr) 34px;gap:6px;margin-top:4px}
  body.controller .signalAdjuster button{height:32px;font-size:1.15rem}
  body.controller .rampChoices button{min-height:36px;padding:6px 10px}
  body.controller .rampChoices .customRamp input,body.controller .rampChoices .customRamp button{padding:6px 9px}
  body.controller .control .channel{grid-template-rows:auto 42px;row-gap:3px}
  body.controller .control .channel>.stepper{grid-template-columns:38px minmax(0,1fr) 38px}
  body.controller .control .stepper button{height:38px;font-size:1.3rem}
}
