/* Native call screen floats above Halo; expanding restores the complete call view. */
body.halo-direct-call-floating.call-active{overflow:auto!important}
body.halo-direct-call-floating.call-active .topbar{display:flex!important}
body.halo-direct-call-floating.call-active .app-shell{width:min(1480px,100%)!important;padding-top:18px!important}
body.halo-direct-call-floating.call-active .social-shell{display:grid!important;padding-bottom:24px!important}
body.halo-direct-call-floating.call-active #halo-active-call-overlay{position:fixed!important;inset:auto 20px 20px auto!important;display:block!important;z-index:11000!important;width:min(420px,calc(100vw - 32px))!important;height:min(450px,calc(100dvh - 110px))!important;min-height:220px!important;overflow:hidden!important;border:1px solid rgba(153,177,186,.35)!important;border-radius:24px!important;background:var(--ui-bg,#f7faf9)!important;box-shadow:0 20px 70px #17342e40!important}
body.halo-direct-call-floating.call-active #halo-active-call-overlay #call-screen:not([hidden]){display:grid!important;grid-template-rows:58px minmax(0,1fr)!important;min-height:0!important;height:100%!important;width:100%!important;padding:0!important;margin:0!important}
body.halo-direct-call-floating #halo-active-call-overlay .call-header{height:58px!important;padding:8px 12px!important;gap:8px!important}
body.halo-direct-call-floating #halo-active-call-overlay .call-identity{display:none!important}
body.halo-direct-call-floating #halo-active-call-overlay .call-header-actions{width:100%!important;justify-content:flex-end!important;gap:6px!important}
body.halo-direct-call-floating #halo-active-call-overlay #call-status{display:flex!important;position:static!important;margin-right:auto!important;max-width:130px!important;min-width:0!important;font-size:10px!important}
body.halo-direct-call-floating #halo-active-call-overlay .call-workspace{display:block!important;position:relative!important;padding:10px 10px 64px!important;min-width:0!important;height:100%!important;overflow:hidden!important}
body.halo-direct-call-floating #halo-active-call-overlay :is(.media-column,.video-stage){display:block!important;position:relative!important;width:100%!important;height:100%!important;min-height:0!important}
body.halo-direct-call-floating #halo-active-call-overlay #remote-card{position:relative!important;inset:auto!important;width:100%!important;height:100%!important;min-height:0!important;border-radius:16px!important;overflow:hidden!important}
body.halo-direct-call-floating #halo-active-call-overlay #local-card{position:absolute!important;right:10px!important;bottom:10px!important;width:106px!important;height:76px!important;min-height:0!important;border-radius:12px!important}
body.halo-direct-call-floating #halo-active-call-overlay :is(#remote-video,#local-video){width:100%!important;height:100%!important;object-fit:cover!important}
body.halo-direct-call-floating #halo-active-call-overlay .controls{position:absolute!important;inset:auto 10px 10px 10px!important;display:flex!important;justify-content:center!important;gap:12px!important;width:auto!important;max-width:none!important;min-height:42px!important;height:44px!important;padding:0!important;margin:0!important;transform:none!important;border:0!important;background:transparent!important;box-shadow:none!important;overflow:visible!important}
body.halo-direct-call-floating #halo-active-call-overlay .controls>:not(#mute-button):not(#camera-button):not(#end-button){display:none!important}
body.halo-direct-call-floating #halo-active-call-overlay .controls :is(#mute-button,#camera-button,#end-button){display:grid!important;place-items:center!important;width:44px!important;min-width:44px!important;max-width:44px!important;height:44px!important;min-height:44px!important;padding:0!important;border-radius:50%!important}
body.halo-direct-call-floating #halo-active-call-overlay #room-sidebar{display:none!important}
body.halo-direct-call-floating.sidebar-open #halo-active-call-overlay #room-sidebar{position:absolute!important;inset:58px 10px 64px!important;display:grid!important;width:auto!important;height:auto!important;min-width:0!important;transform:none!important;z-index:40!important;border-radius:16px!important}
body.halo-direct-call-floating.audio-only-call #halo-active-call-overlay .audio-call-stage{padding:12px!important;gap:18px!important}
body.halo-direct-call-floating.audio-only-call #halo-active-call-overlay .audio-call-avatar{width:108px!important;height:108px!important}
body.halo-direct-call-floating.audio-only-call #halo-active-call-overlay .audio-equalizer{height:36px!important;gap:5px!important}
body.halo-direct-call-floating.audio-only-call #halo-active-call-overlay .audio-equalizer i{height:32px!important;width:5px!important}
#halo-active-call-overlay .halo-call-window-button{flex:none;min-height:32px;border:1px solid rgba(128,153,174,.3);border-radius:12px;padding:7px 10px;background:var(--ui-bg,#f0f5f6);color:var(--ui-text,#172c38);font:inherit;font-size:11px;cursor:pointer}
#halo-active-call-overlay .halo-call-window-button[hidden]{display:none!important}
#halo-active-call-overlay .halo-call-window-button:focus-visible{outline:3px solid #00aa80;outline-offset:2px}
body.halo-direct-call-floating.call-active #halo-active-call-overlay.halo-direct-call-minimized{height:58px!important;min-height:58px!important;border-radius:20px!important}
body.halo-direct-call-floating #halo-active-call-overlay.halo-direct-call-minimized #call-screen:not([hidden]){grid-template-rows:58px!important}
body.halo-direct-call-floating #halo-active-call-overlay.halo-direct-call-minimized .call-workspace{position:absolute!important;top:58px!important;left:0!important;width:1px!important;height:1px!important;padding:0!important;opacity:0!important;pointer-events:none!important}
@media(max-width:680px){body.halo-direct-call-floating.call-active .social-shell{display:block!important;padding-bottom:92px!important}body.halo-direct-call-floating.call-active #halo-active-call-overlay{right:16px!important;bottom:max(90px,calc(env(safe-area-inset-bottom) + 80px))!important;width:min(380px,calc(100vw - 32px))!important;height:min(390px,calc(100dvh - 190px))!important}body.halo-direct-call-floating #halo-active-call-overlay #local-card{width:84px!important;height:64px!important}body.halo-direct-call-floating #halo-active-call-overlay #call-status{max-width:100px!important}}
#halo-active-call-overlay .halo-call-popup-name{display:none}
body.halo-direct-call-floating #halo-active-call-overlay .halo-call-popup-name{display:block;flex:0 1 100px;min-width:0;margin-right:auto;font-size:12px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;color:var(--ui-text,#16302b)}
body.halo-direct-call-floating #halo-active-call-overlay #call-status{flex:0 1 90px;margin-right:0!important;max-width:90px!important}
body.halo-direct-call-floating #halo-active-call-overlay #sidebar-toggle{width:32px!important;min-width:32px!important;height:32px!important;min-height:32px!important;padding:7px!important}
body.halo-direct-call-floating .sidebar-backdrop{display:none!important}
body.halo-direct-call-floating #halo-active-call-overlay .video-stage.focus-local #local-card{position:relative!important;inset:auto!important;width:100%!important;height:100%!important;border-radius:16px!important}
body.halo-direct-call-floating #halo-active-call-overlay .video-stage.focus-local #remote-card{position:absolute!important;right:10px!important;bottom:10px!important;left:auto!important;top:auto!important;width:106px!important;height:76px!important;z-index:10!important;border-radius:12px!important}
@media(max-width:360px){body.halo-direct-call-floating #halo-active-call-overlay .halo-call-popup-name{flex-basis:64px;font-size:11px}body.halo-direct-call-floating #halo-active-call-overlay #call-status{display:none!important}body.halo-direct-call-floating #halo-active-call-overlay .halo-call-window-button{padding:7px 8px;font-size:10px}}

#call-participant-notice{position:fixed;left:auto;top:88px;right:20px;z-index:12050;max-width:min(360px,calc(100vw - 32px));padding:14px 18px;border-radius:18px;border:1px solid rgba(109,220,174,.45);background:#15372d;color:#e9fff4;box-shadow:0 12px 36px #0005;opacity:0;transform:translateY(-8px);transition:opacity .2s,transform .2s;pointer-events:none;font-size:14px;font-weight:600;}
#call-participant-notice.is-visible{opacity:1;transform:none;}
.halo-listening-voice-row{display:grid;gap:8px;margin-top:12px;}
.halo-listening-voice-row select{width:100%;min-height:42px;border-radius:12px;padding:8px;}
.halo-listening-voice-row button{border-radius:12px;padding:10px 16px;cursor:pointer;}
.halo-listening-voice-row small{opacity:.75;}

.call-language-panel{max-height:calc(100dvh - 120px);overflow-y:auto;}

body.audio-only-call #local-card{display:block!important;position:absolute!important;right:18px!important;bottom:18px!important;width:156px!important;height:150px!important;min-height:0!important;z-index:8;border-radius:20px;overflow:hidden;background:#17362d;box-shadow:0 6px 24px #0004;}
body.audio-only-call #local-card #local-video,body.audio-only-call #local-card .video-shade,body.audio-only-call #local-card .focus-hint{display:none!important;}
.local-audio-stage{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;gap:10px;padding:24px 8px 16px;background:linear-gradient(145deg,#163b32,#12212f);}
.local-audio-stage[hidden]{display:none;}
.local-audio-avatar{width:60px;height:60px;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:#406e5e;color:white;font-size:22px;font-weight:700;}
.local-audio-avatar img{width:100%;height:100%;object-fit:cover;}
.local-audio-stage .audio-equalizer{height:22px;gap:4px;}
.local-audio-stage .audio-equalizer i{height:22px;width:4px;}
body.audio-only-call #local-card .video-label{position:absolute;top:8px;left:10px;bottom:auto;font-size:11px;z-index:2;}
body.audio-only-call #local-caption{font-size:10px;max-height:42px;overflow:hidden;}
body.halo-direct-call-floating.audio-only-call #halo-active-call-overlay #local-card{width:100px!important;height:112px!important;bottom:8px!important;right:8px!important;}
body.halo-direct-call-floating.audio-only-call .local-audio-avatar{width:40px;height:40px;font-size:16px;}
body.halo-direct-call-floating.audio-only-call .local-audio-stage{gap:6px;padding-top:24px;}
body.audio-only-call #caption-panel{right:180px;left:12px;}
body.halo-direct-call-floating.audio-only-call #caption-panel{right:118px;font-size:12px;}
@media(max-width:680px){body.audio-only-call #local-card{width:110px!important;height:125px!important;right:10px!important;bottom:10px!important;}body.audio-only-call #caption-panel{right:132px;}body.audio-only-call .local-audio-avatar{width:45px;height:45px;}}

body.call-active #video-stage>#caption-panel{position:absolute!important;inset:auto 190px 14px 14px!important;width:auto!important;min-width:0!important;max-width:none!important;transform:none!important;box-sizing:border-box!important;max-height:40%!important;overflow:auto!important;padding:10px 12px!important;text-align:left!important;z-index:20!important;}
body.call-active #caption-panel[hidden]{display:none!important;}
body.call-active #caption-panel:not([hidden]){display:grid!important;}
body.call-active #caption-panel :is(.caption-original,.caption-translated){min-width:0;white-space:normal;overflow-wrap:anywhere;line-height:1.4;font-size:13px;}
body.call-active #local-caption{box-sizing:border-box;white-space:normal!important;overflow-wrap:anywhere;line-height:1.35;}
body.halo-direct-call-floating.call-active #video-stage>#caption-panel{inset:auto 126px 10px 10px!important;max-height:45%!important;padding:8px!important;}
body.halo-direct-call-floating.call-active #caption-panel :is(.caption-original,.caption-translated){font-size:11px;}
@media(max-width:680px){body.call-active #video-stage>#caption-panel{inset:auto 132px 12px 12px!important;}body.halo-direct-call-floating.call-active #video-stage>#caption-panel{inset:auto 120px 8px 8px!important;}}

body.halo-direct-call-floating #halo-active-call-overlay .controls>.call-language-control{display:grid!important;width:58px!important;min-width:58px!important;height:44px!important;}
body.halo-direct-call-floating #halo-active-call-overlay #call-language-button{display:grid!important;width:58px!important;height:44px!important;min-height:44px!important;padding:4px!important;border-radius:12px!important;}

/* Center captions consistently over the complete call stage in every call mode. */
body.call-active #video-stage>#caption-panel,body.halo-direct-call-floating.call-active #video-stage>#caption-panel{inset:auto auto 16px 50%!important;width:calc(100% - 32px)!important;max-width:760px!important;transform:translateX(-50%)!important;text-align:center!important;max-height:35%!important;padding:12px 16px!important;}
body.call-active #caption-panel :is(.caption-original,.caption-translated),body.halo-direct-call-floating.call-active #caption-panel :is(.caption-original,.caption-translated){font-size:14px!important;text-align:center!important;line-height:1.45!important;}
body.call-active #video-stage>#caption-panel{bottom:180px!important;}
body.halo-direct-call-floating.call-active #video-stage>#caption-panel{bottom:130px!important;width:calc(100% - 24px)!important;}
@media(max-width:680px){body.call-active #video-stage>#caption-panel{bottom:145px!important;}body.halo-direct-call-floating.call-active #video-stage>#caption-panel{bottom:130px!important;}}
@layer halo-call-modern {
body.call-active #call-screen .call-header-actions{display:grid!important;grid-template-columns:minmax(0,.8fr) minmax(0,1.3fr) 38px 38px 38px!important;gap:8px!important;align-items:center!important;min-width:0!important;}
body.call-active #call-screen .halo-call-popup-name{min-width:0!important;overflow:hidden!important;text-overflow:ellipsis!important;}
body.call-active #call-screen #call-status{display:flex!important;min-width:0!important;max-width:100%!important;box-sizing:border-box!important;white-space:normal!important;overflow:visible!important;font-size:12px!important;background:#16282c!important;backdrop-filter:none!important;line-height:1.35!important;}
body.call-active #call-screen .halo-call-window-button{display:grid!important;place-items:center!important;box-sizing:border-box!important;width:38px!important;height:38px!important;padding:7px!important;min-width:0!important;border-radius:12px!important;background:#172536!important;backdrop-filter:none!important;}
body.call-active #call-screen .halo-call-window-button[hidden]{display:none!important;}
body.call-active #call-screen .halo-call-window-button svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;}
body.call-active #call-screen .controls button{backdrop-filter:none!important;background:#172536!important;}
body.call-active #call-screen .controls .control-icon{background:transparent!important;border:0!important;}
body.call-active #call-screen .controls{z-index:50!important;background:transparent!important;border:0!important;box-shadow:none!important;backdrop-filter:none!important;}
body.call-active #call-screen :is(#mute-button,#camera-button,#end-button){position:relative!important;inset:auto!important;transform:none!important;border-radius:16px!important;background:#172536!important;backdrop-filter:none!important;box-shadow:none!important;min-width:46px!important;min-height:46px!important;}
body.call-active #call-screen #end-button{background:#dc354a!important;}
body.call-active #call-screen :is(#mute-button,#camera-button)[aria-pressed="true"]{background:#472632!important;color:#ffb8c1!important;}
body.call-active #call-screen :is(#mute-button,#camera-button)[aria-pressed="true"]:after{content:''!important;position:absolute!important;width:27px!important;height:2px!important;background:currentColor!important;transform:rotate(-45deg)!important;left:calc(50% - 13.5px)!important;top:50%!important;box-shadow:0 0 0 2px #472632!important;opacity:1!important;}
@media(max-width:400px){body.call-active #call-screen .call-header-actions{grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr) 32px 32px 32px!important;gap:5px!important;}body.call-active #call-screen .halo-call-window-button{width:32px!important;height:32px!important;padding:5px!important;}}
}

/* v301: compact call controls stay above both games, without covering touch pedals. */
#halo-call-return [data-end-call]{width:40px;min-width:40px;min-height:40px;border-radius:50%;background:#b63848!important;color:#fff!important;display:grid;place-items:center;padding:0}#halo-call-return [data-mute]{width:40px;min-width:40px}body:is(.halo-crossfire-playing,.halo-racing-playing) #halo-call-return{z-index:2200!important;top:max(8px,env(safe-area-inset-top))!important;bottom:auto!important;right:70px!important;width:min(280px,calc(100vw - 145px))!important;padding:4px!important;border-radius:18px!important}body:is(.halo-crossfire-playing,.halo-racing-playing) #halo-call-return img{width:24px;height:24px}body:is(.halo-crossfire-playing,.halo-racing-playing) #halo-call-return strong{font-size:10px}body:is(.halo-crossfire-playing,.halo-racing-playing) #halo-call-return small{font-size:8px}body:is(.halo-crossfire-playing,.halo-racing-playing) #halo-call-return [data-return]{gap:5px;padding:2px;min-height:36px}body:is(.halo-crossfire-playing,.halo-racing-playing) #halo-call-return button{min-height:36px}body:is(.halo-crossfire-playing,.halo-racing-playing) #halo-call-return :is([data-end-call],[data-mute]){width:34px;min-width:34px;min-height:34px}#halo-crossfire-host:fullscreen,#halo-racing-host:fullscreen{width:100vw;height:100dvh;background:#0b1526}#halo-crossfire-host>#halo-call-return,#halo-racing-host>#halo-call-return{position:fixed!important}
@media(max-width:600px){body:is(.halo-crossfire-playing,.halo-racing-playing) #halo-call-return{top:auto!important;bottom:max(76px,calc(env(safe-area-inset-bottom) + 76px))!important;left:50%!important;right:auto!important;transform:translateX(-50%);width:min(230px,calc(100vw - 80px))!important}body:is(.halo-crossfire-playing,.halo-racing-playing) #halo-call-return small{display:none}body:is(.halo-crossfire-playing,.halo-racing-playing) #halo-call-return [data-return]{min-height:32px}}
@media(max-height:500px){body:is(.halo-crossfire-playing,.halo-racing-playing) #halo-call-return{top:auto!important;left:50%!important;bottom:56px!important;right:auto!important;transform:translateX(-50%);width:215px!important}body:is(.halo-crossfire-playing,.halo-racing-playing) #halo-call-return small{display:none}}
@media(min-height:501px){body:is(.halo-crossfire-playing,.halo-racing-playing) #halo-call-return{top:176px!important;bottom:auto!important;right:12px!important;left:auto!important;transform:none;width:min(230px,calc(100vw - 40px))!important}}
