/* All styles strictly scoped to GOLLEYBALL; all shared UI elements remain present. */
body.gb-volley-shell .boardwrap>#board{visibility:hidden!important;pointer-events:none!important}
body.gb-volley-shell .boardwrap>#gameModuleViewport{position:absolute!important;inset:1px!important;display:grid!important;place-items:center!important;overflow:hidden!important;z-index:42!important;background:#071121!important;pointer-events:auto!important}
body.gb-volley-shell #gbVolleyFrame{display:block;border:0;width:100%;height:100%;aspect-ratio:1/1;max-width:100%;max-height:100%;background:#071121;overflow:hidden;touch-action:none}
body.gb-volley-shell #gameModuleViewport~:not(#onlineReactionLayer):not(.onlineDoseBoardFlash){pointer-events:none!important;opacity:0!important}
body.gb-volley-shell .boardwrap{background:#071121!important}
body.gb-volley-shell #scoreModArea .scoreCard{overflow:hidden;position:relative}
body.gb-volley-shell #scoreModArea .scoreCard .capturedLine,body.gb-volley-shell #scoreModArea .scoreCard .thinkTimer,body.gb-volley-shell #scoreModArea .scoreCard .activeTag,body.gb-volley-shell #scoreModArea .scoreCard .scorePersonaRole{display:none!important}
body.gb-volley-shell #scoreModArea .scoreCard .big{font-size:clamp(24px,6.5vw,42px)!important;font-weight:1000!important;line-height:1.08!important;color:#eefdff!important;text-shadow:0 0 11px rgba(129,221,255,.35)!important}
body.gb-volley-shell #scoreModArea #playerNameB,body.gb-volley-shell #scoreModArea #playerNameW{font-size:clamp(10px,2.7vw,15px)!important;letter-spacing:.03em!important;font-weight:950!important}
body.gb-volley-shell #scoreStoneB,body.gb-volley-shell #scoreStoneW{border-radius:50%!important;display:inline-grid!important;place-items:center!important;font-size:clamp(15px,4.3vw,26px)!important;color:#442822!important;box-shadow:inset -4px -5px 8px rgba(45,0,0,.4),inset 3px 4px 6px rgba(255,255,255,.6)!important}
body.gb-volley-shell #scoreStoneB{background:radial-gradient(circle at 30% 25%,#ffe3c9,#ff5447 52%,#a01731 93%)!important}
body.gb-volley-shell #scoreStoneW{background:radial-gradient(circle at 30% 25%,#fff8d8,#ffd64a 52%,#b66b13 93%)!important}
body.gb-volley-shell #scoreStoneB::after,body.gb-volley-shell #scoreStoneW::after{content:'☺'!important;display:block!important;color:#392226!important;position:static!important;transform:none!important;background:none!important}
#gbVolleyStatus{display:none}
body.gb-volley-shell #gbVolleyStatus{display:block;position:absolute;bottom:2px;right:5px;color:#a9c4db;font-size:8px;letter-spacing:.05em;font-weight:900;pointer-events:none}
body.gb-volley-shell .turnCard[data-score-mod-view="score"]{display:none!important}
body.gb-volley-shell #starflightCanvas{opacity:var(--starflight-opacity,.75)!important}

/* VOLLEY BÄNG V2 – same compact shell principles as BÄNG DOME. */
body.gb-volley-shell .turnCard,body.gb-volley-shell .reactionCard{display:none!important}
body.gb-volley-shell[data-score-mod-view="score"] #scoreModArea{height:86px!important;min-height:86px!important;max-height:86px!important;margin-bottom:5px!important;gap:0!important;grid-template-columns:minmax(0,1fr)!important}
body.gb-volley-shell[data-score-mod-view="score"] #scoreModArea>.scoreCard:not(.volleyBangNativeScore){display:none!important}
body.gb-volley-shell[data-score-mod-view="score"] #scoreModArea>.volleyBangNativeScore{display:grid!important;grid-column:1/-1!important;grid-template-rows:minmax(0,1fr) 24px!important;row-gap:1px!important;height:100%!important;min-height:0!important;padding:5px 10px 4px!important;overflow:hidden!important;box-sizing:border-box!important;border:1px solid rgba(124,215,254,.26)!important;border-radius:14px!important;background:linear-gradient(160deg,rgba(22,40,66,.97),rgba(7,18,38,.97))!important}
body.gb-volley-shell[data-score-mod-view="mod"] #scoreModArea>.volleyBangNativeScore{display:none!important}
body.gb-volley-shell .volleyBangSeats{display:grid;grid-template-columns:minmax(0,1fr) 15px minmax(0,1fr);align-items:center;gap:8px;min-width:0}
body.gb-volley-shell .volleyBangSeat{display:flex;align-items:center;min-width:0;gap:8px}
body.gb-volley-shell .volleyBangSeat.right{justify-content:flex-end}
body.gb-volley-shell .volleyBangSeatName{color:#d9efff;font:900 clamp(10px,2.8vw,14px)/1 system-ui,sans-serif;letter-spacing:.02em;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}
body.gb-volley-shell .volleyBangSeat>strong{color:#fff;font:1000 clamp(22px,5.5vw,32px)/1 system-ui,sans-serif;font-variant-numeric:tabular-nums;text-shadow:0 0 12px #80d6ff66}
body.gb-volley-shell .volleyBangVs{color:#7d9ab6;text-align:center;font:900 19px/1 system-ui,sans-serif}
body.gb-volley-shell .volleyBangSeatBall{display:grid;place-items:center;width:29px;height:29px;border-radius:50%;font-size:0;flex:none;box-shadow:inset -3px -4px 5px #0008,inset 2px 3px 4px #fff8,0 0 6px #fff2}
body.gb-volley-shell .volleyBangSeatBall::after{content:'☺';font:900 21px/1 system-ui,sans-serif;color:#322129}
body.gb-volley-shell .volleyBangSeatBall.red{background:radial-gradient(circle at 28% 24%,#ffe0c4,#ff6255 55%,#9f1525)}
body.gb-volley-shell .volleyBangSeatBall.yellow{background:radial-gradient(circle at 28% 24%,#fff7c8,#ffd843 55%,#9c5313)}
body.gb-volley-shell .volleyBangMessageCenter{display:flex;align-items:center;justify-content:space-between;gap:7px;min-width:0;padding:3px 2px 0;border-top:1px solid #8bdaf432}
body.gb-volley-shell #volleyBangMessage{flex:1 1 auto;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font:800 clamp(9px,2.4vw,11px)/1.2 system-ui,sans-serif;letter-spacing:.01em;color:#c4dfed}
body.gb-volley-shell .volleyBangTarget{font:900 10px/1 ui-monospace,monospace;color:#ffe0a0;white-space:nowrap}
/* V4: no arbitrary 69dvh or 365px deductions. Maximise the real visible
   width, while never hiding GO BÄNG's compact scoreboard or action menu.
   JS measures space between native HUD and actual bottom menu on resize. */
body.gb-volley-shell{padding-left:max(4px,env(safe-area-inset-left,0px))!important;padding-right:max(4px,env(safe-area-inset-right,0px))!important}
body.gb-volley-shell .app{width:100%!important;max-width:980px!important;min-width:0!important}
body.gb-volley-shell[data-score-mod-view="score"] .boardwrap,
body.gb-volley-shell[data-score-mod-view="mod"] .boardwrap,
body.gb-volley-shell.gb3-active .boardwrap{
 width:var(--volley-court-size,min(100%,calc(100vw - 8px)))!important;
 max-width:var(--volley-court-size,min(100%,calc(100vw - 8px)))!important;
 height:var(--volley-court-size,auto)!important;
 min-width:0!important;min-height:0!important;
 flex:0 0 auto!important;
 aspect-ratio:1/1!important;
 box-sizing:border-box!important;
 margin:0 auto 5px!important;padding:3px!important;
 overflow:hidden!important;position:relative!important;
}
body.gb-volley-shell .boardwrap>#gameModuleViewport{inset:3px!important}
body.gb-volley-shell #gbVolleyFrame{width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;aspect-ratio:1/1!important}
@media(max-width:560px){body.gb-volley-shell[data-score-mod-view="score"] #scoreModArea{margin-bottom:3px!important}}

@media(max-width:360px){body.gb-volley-shell .volleyBangSeat{gap:5px}body.gb-volley-shell .volleyBangSeatBall{width:24px;height:24px}body.gb-volley-shell .volleyBangSeatBall::after{font-size:18px}}

/* V5: the iframe's intrinsic 300x150 replaced the intended large square.
   Absolute full-bleed geometry guarantees no inner black 300px letterbox. */
body.gb-volley-shell .boardwrap>#gameModuleViewport{
 display:block!important;position:absolute!important;inset:3px!important;
 width:auto!important;height:auto!important;min-width:0!important;min-height:0!important;
 overflow:hidden!important;box-sizing:border-box!important;
}
body.gb-volley-shell #gbVolleyFrame{
 display:block!important;position:absolute!important;inset:0!important;
 width:100%!important;height:100%!important;min-width:0!important;min-height:0!important;
 border:0!important;max-width:none!important;max-height:none!important;
}
/* V5 invisible two-thumb dock is allocated the free portrait space.
   It is strictly above the existing action bar, so menu interactions remain normal. */
body.gb-volley-shell .volleyBangTouchDock{
 display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
 width:100%!important;flex:1 1 auto!important;min-height:78px!important;
 margin:0 0 4px!important;box-sizing:border-box!important;
 position:relative!important;z-index:44!important;background:transparent!important;
 touch-action:none!important;overscroll-behavior:contain!important;
 -webkit-user-select:none!important;user-select:none!important;
}
body.gb-volley-shell .volleyBangTouchHalf{
 display:block!important;min-height:78px!important;width:100%!important;
 padding:0!important;margin:0!important;border:0!important;
 background:transparent!important;outline:none!important;
 touch-action:none!important;overscroll-behavior:contain!important;
 -webkit-user-select:none!important;user-select:none!important;
 -webkit-tap-highlight-color:transparent!important;
}
body.gb-volley-shell .gameActionBar{margin-top:0!important}

/* V6: portrait arena fills available space down to native GO BÄNG action bar.
   Visuals and physics are both portrait; world circles retain correct aspect ratio. */
body.gb-volley-shell[data-score-mod-view="score"] .boardwrap,
body.gb-volley-shell[data-score-mod-view="mod"] .boardwrap,
body.gb-volley-shell.gb3-active .boardwrap{
 width:var(--volley-court-width,calc(100vw - 8px))!important;
 max-width:var(--volley-court-width,calc(100vw - 8px))!important;
 height:var(--volley-court-height,100vw)!important;
 aspect-ratio:auto!important;
 margin-bottom:4px!important;
}
body.gb-volley-shell #gbVolleyFrame{aspect-ratio:auto!important}
body.gb-volley-shell .boardwrap .volleyBangTouchDock{
 position:absolute!important;inset:auto 3px 3px 3px!important;
 width:auto!important;height:clamp(64px,9vh,94px)!important;
 min-height:0!important;max-height:94px!important;flex:none!important;
 margin:0!important;z-index:66!important;border:0!important;
 background:transparent!important;
}
body.gb-volley-shell .boardwrap .volleyBangTouchHalf{height:100%!important;min-height:0!important}
body.gb-volley-shell .volleyBangSeatBall{border:0;cursor:pointer;padding:0!important;appearance:none!important}
body.gb-volley-shell .volleyBangSkinPicker{
 position:fixed;z-index:100000;top:max(8px,calc(env(safe-area-inset-top) + 22px));
 left:50%;transform:translateX(-50%);width:min(calc(100vw - 22px),410px);
 padding:14px;display:flex;flex-direction:column;gap:9px;
 border:1px solid #70c9f5aa;border-radius:14px;box-shadow:0 16px 55px #000d;
 background:linear-gradient(155deg,#1c3456,#090f1d);color:white;
}
body.gb-volley-shell .volleyBangSkinPickerTop{display:flex;align-items:center;justify-content:space-between;font:bold 13px system-ui}
body.gb-volley-shell .volleyBangSkinPickerTop button{background:transparent;border:0;color:white;font:24px system-ui}
body.gb-volley-shell .volleyBangSkinPicker select{font:600 15px system-ui;padding:12px;border-radius:9px;color:#fff;background:#1b2d47;border:1px solid #6eb8ed88;width:100%;min-height:44px}

/* R188: Compact invisible thumb strip OUTSIDE and BELOW the active court.
   The real GO-BÄNG action menu stays untouched. */
body.gb-volley-shell .volleyBangTouchDock{
 position:fixed!important;top:var(--volley-control-top,auto)!important;
 left:var(--volley-control-left,4px)!important;width:var(--volley-court-width,calc(100vw - 8px))!important;
 height:var(--volley-control-height,78px)!important;min-height:0!important;max-height:90px!important;
 display:grid!important;grid-template-columns:1fr 1fr!important;flex:none!important;z-index:900!important;
 margin:0!important;border:0!important;background:transparent!important;box-shadow:none!important;
 touch-action:none!important;overscroll-behavior:contain!important;
}
body.gb-volley-shell .volleyBangTouchHalf{height:100%!important;min-height:0!important;touch-action:none!important;background:transparent!important}
body.gb-volley-shell .volleyBangSeatBall.has-real-skin{box-shadow:none!important;background-color:transparent!important}
body.gb-volley-shell .volleyBangSeatBall.has-real-skin::after{display:none!important}

/* R189 - make real room for volleyball between HUD and bottom native menu.
   This is scoped ONLY to VOLLEY BÄNG. The entire app's other games are unchanged. */
body.gb-volley-shell .gameActionBar{
  position:fixed!important;
  bottom:max(4px,env(safe-area-inset-bottom,0px))!important;
  left:50%!important;transform:translateX(-50%)!important;
  width:calc(100vw - 12px)!important;max-width:980px!important;
  box-sizing:border-box!important;z-index:910!important;
  margin:0!important;
}
body.gb-volley-shell .volleyBangTouchDock{z-index:905!important;}
body.gb-volley-shell .boardwrap{max-height:none!important;}

/* R190 · viewport-filling blue frame, separate transparent two-thumb band BELOW floor */
body.gb-volley-shell .boardwrap{margin-bottom:3px!important;}
body.gb-volley-shell .boardwrap>#gameModuleViewport{inset:3px!important;}
body.gb-volley-shell .volleyBangTouchDock{
  position:fixed!important;top:var(--volley-control-top,auto)!important;
  left:var(--volley-control-left,4px)!important;
  width:var(--volley-court-width,calc(100vw - 8px))!important;
  height:var(--volley-control-height,88px)!important;
  z-index:905!important;background:transparent!important;max-height:none!important;
  -webkit-tap-highlight-color:transparent!important;
}
/* Hide any global starfield behind the app: R190 stars belong to the top of this arena only. */
body.gb-volley-shell #starflightCanvas{opacity:0!important;visibility:hidden!important;}

/* R191: VOLLEY BÄNG skin and volleyball variants live in the native match setup. */
#startVolleyBangPanel[hidden]{display:none!important}
#startVolleyBangPanel{display:grid;grid-column:1/-1;gap:7px;padding:9px;border:1px solid #78b5e94d;border-radius:13px;background:linear-gradient(130deg,#152b48aa,#22204066);color:#e6f3ff;min-width:0;}
#startVolleyBangPanel strong{font:900 12px system-ui;letter-spacing:.07em}
#startVolleyBangPanel .vbSetupRow{display:grid;grid-template-columns:45px minmax(0,1fr);gap:8px;align-items:center;min-width:0}
#startVolleyBangPanel .vbSetupRow canvas{height:42px;width:42px;border-radius:50%}
#startVolleyBangPanel .vbSetupChoices{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6px;min-width:0}
#startVolleyBangPanel .vbSetupRow label{display:block;color:#d1eaff;font:800 9px system-ui;min-width:0}
#startVolleyBangPanel .vbSetupRow select{margin-top:2px;width:100%;min-width:0;max-width:100%;height:32px;font:600 11px system-ui;color:#fff;background:#1a2a48;border:1px solid #6596cc66;border-radius:7px}
#startVolleyBangPanel .vbSetupBall select{grid-column:1/-1}
#matchStartOverlay.ux-flow[data-ux-step="game"] #startVolleyBangPanel,#matchStartOverlay.ux-flow[data-ux-step="advanced"] #startVolleyBangPanel{display:none!important}
#matchStartOverlay.ux-flow[data-ux-step="setup"][data-vs-game="golleyball"] #startVolleyBangPanel:not([hidden]){display:grid!important}

/* R192 · restrained elastic score pop. Existing GO BÄNG scoreboard unchanged. */
@keyframes vbR192PointNumber{
  0%{transform:scale(1);filter:brightness(1);text-shadow:0 0 8px #72d6ff44}
  18%{transform:scale(1.26);filter:brightness(1.28);text-shadow:0 0 20px #a4efffcc}
  52%{transform:scale(.96);filter:brightness(1.10)}
  75%{transform:scale(1.045)}
  100%{transform:scale(1);filter:brightness(1);text-shadow:0 0 12px #80d6ff66}
}
@keyframes vbR192PointEmblem{
  0%,100%{transform:translateY(0) scale(1)}
  30%{transform:translateY(-5px) scale(1.10)}
  55%{transform:translateY(1px) scale(.98)}
}
body.gb-volley-shell #volleyBangNativeScore strong.volleyBangPointPop{
  display:inline-block;transform-origin:center;animation:vbR192PointNumber .61s cubic-bezier(.25,.78,.35,1) both;
}
body.gb-volley-shell #volleyBangNativeScore .volleyBangSeatBall.volleyBangPointPop{
  animation:vbR192PointEmblem .58s ease-out both;
}
@media(prefers-reduced-motion:reduce){
  body.gb-volley-shell #volleyBangNativeScore .volleyBangPointPop{animation:none!important}
}

/* R194: one centered score cluster, real skin images on each side */
body.gb-volley-shell .volleyBangSeats{display:grid!important;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)!important;gap:4px!important;align-items:center!important;width:100%!important}
body.gb-volley-shell .vbScoreLeftIdentity,body.gb-volley-shell .vbScoreRightIdentity{min-width:0!important;gap:5px!important}
body.gb-volley-shell .vbScoreCenter{display:flex!important;gap:clamp(3px,1.2vw,10px)!important;align-items:center!important;justify-content:center!important;white-space:nowrap!important;min-width:100px!important;font-variant-numeric:tabular-nums!important}
body.gb-volley-shell .vbScoreCenter strong{font:1000 clamp(24px,7vw,37px)/1 system-ui,sans-serif!important;color:#f6fcff!important;min-width:1.05ch!important;text-align:center!important;text-shadow:0 0 12px #80d6ff66!important}
body.gb-volley-shell .vbScoreCenter>span{font:900 21px/1 system-ui,sans-serif!important;color:#80a4c5!important}
body.gb-volley-shell .vbScoreRightIdentity{justify-content:flex-end!important}
body.gb-volley-shell .volleyBangSeatBall{overflow:hidden!important;min-width:27px!important;min-height:27px!important}
body.gb-volley-shell.vb-editor-open .volleyBangTouchDock{pointer-events:none!important}
body.gb-volley-shell .volleyBangSkinPicker{display:none!important}
@media(max-width:360px){body.gb-volley-shell .vbScoreCenter{min-width:83px!important;gap:2px!important}body.gb-volley-shell .volleyBangSeatName{font-size:10px!important}body.gb-volley-shell .volleyBangSeatBall{width:26px!important;height:26px!important}}

#startVolleyBangPanel{width:100%;box-sizing:border-box;max-width:100%;padding:7px;border-radius:16px;background:linear-gradient(145deg,#0c1933,#17294b);border:1px solid #7acbff46;color:#e2f4ff}
#startVolleyBangPanel[hidden]{display:none!important}
#startVolleyBangPanel .vb194Heading{display:block;font:800 11px system-ui;letter-spacing:.07em;margin:1px 3px 7px}
#startVolleyBangPanel .vb194Cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
#startVolleyBangPanel .vb194Card{min-width:0;display:grid;grid-template-rows:auto auto auto;gap:2px;justify-items:center;padding:6px 2px;border-radius:12px;background:#28405b77;border:1px solid #7bc6ff33}
#startVolleyBangPanel .vb194CardHeading{font:800 clamp(8px,2.1vw,11px) system-ui;text-align:center;white-space:nowrap}
#startVolleyBangPanel .vb194Carousel{display:grid;grid-template-columns:21px minmax(0,1fr) 21px;width:100%;align-items:center;justify-items:center}
#startVolleyBangPanel .vb194Nav{color:#cff0ff!important;font:bold 23px system-ui!important;background:transparent!important;border:0!important;width:24px!important;height:46px!important;padding:0!important;min-width:0!important}
#startVolleyBangPanel .vb194Open{display:grid!important;place-items:center!important;width:min(100%,105px)!important;min-width:0!important;padding:0!important;background:none!important;border:0!important;touch-action:pan-y!important}
#startVolleyBangPanel .vb194Open canvas{width:100%;max-width:98px;aspect-ratio:1;display:block}
#startVolleyBangPanel .vb194Caption{text-align:center;font:700 clamp(8px,1.85vw,10px)/1.2 system-ui;color:#b8d8f3;min-height:24px;overflow-wrap:anywhere}
@media(max-width:365px){#startVolleyBangPanel .vb194Card{padding:5px 1px}#startVolleyBangPanel .vb194Carousel{grid-template-columns:17px minmax(0,1fr) 17px}#startVolleyBangPanel .vb194Nav{width:20px!important}#startVolleyBangPanel .vb194Open canvas{max-width:78px}}

/* R226: shared GO-BÄNG mode carousel drives local CPU / two-device online.
   The skin cards stay native; no stand-alone alpha link in match setup. */
#startVolleyBangPanel .vb226ModeNote{border-top:1px solid rgba(119,197,237,.20);padding:7px 4px 1px;margin-top:2px;text-align:center;font:700 10px/1.45 system-ui;color:#b8d6e7}
#startVolleyBangPanel.vb226Online{border-color:rgba(80,215,239,.38)}
#startVolleyBangPanel.vb226Online .vb226ModeNote{color:#abe5ed}
#matchStartOverlay[data-vs-game="golleyball"] .matchStartModeField{display:block!important}
#matchStartOverlay[data-vs-game="golleyball"] #startModeHero{border-color:rgba(110,211,240,.36)!important}
#matchStartOverlay[data-vs-game="golleyball"] #startModeHero[data-mode="online"]{box-shadow:inset 0 0 0 1px rgba(75,204,239,.18),0 0 16px rgba(75,204,239,.08)!important}
/* R236 – native online overlays inside ordinary VOLLEY BÄNG court */
#vbNativeOnlineLayer{position:absolute;inset:0;pointer-events:none;z-index:85;font:700 12px/1.35 system-ui,-apple-system,sans-serif;color:#e8faff;display:flex;align-items:center;justify-content:center}
#vbNativeOnlineLayer [hidden]{display:none!important}
#vbNativeOnlineLayer button,#vbNativeOnlineLayer input{pointer-events:auto;min-height:38px;border:1px solid #75d4ec88;background:#15354f;color:#effaff;border-radius:10px;padding:8px;font:750 12px/1.2 system-ui}
#vbNativeOnlineLayer button.vbNetPrimary{background:#137ca4;border-color:#a3e9ff}
#vbNativeOnlineLayer button:disabled{opacity:.5}
#vbNativeOnlineLayer input{min-width:0;width:56%;font-size:16px;letter-spacing:.1em;text-align:center;text-transform:uppercase}
#vbNativeOnlineLayer .vbNetPanel,#vbNativeOnlineLayer .vbNetRematch,#vbNativeOnlineLayer .vbNetMakeover{pointer-events:auto;background:#071e32ec;border:1px solid #74cef0ab;box-shadow:0 12px 44px #010614a8,inset 0 0 22px #1ba5de22;border-radius:16px;padding:15px 12px;max-width:min(92%,410px);width:94%;display:grid;gap:9px;max-height:94%;overflow-y:auto;overscroll-behavior:contain}
#vbNativeOnlineLayer .vbNetTitle{text-align:center;font-weight:900;letter-spacing:.08em;font-size:16px}
#vbNativeOnlineLayer .vbNetTitle small{font-size:10px;font-weight:700;opacity:.7;margin-left:5px}
#vbNativeOnlineLayer .vbNetRow{display:flex;gap:6px;align-items:center;justify-content:center;flex-wrap:wrap}
#vbNativeOnlineLayer .vbNetRow>*{flex:1}
#vbNativeOnlineLayer .vbNetShare{display:grid;gap:8px}
#vbNativeOnlineLayer [data-vb="roomCodeDisplay"]{font-size:27px;text-align:center;letter-spacing:.19em;color:#f8efad;font-variant-numeric:tabular-nums}
#vbNativeOnlineLayer .vbNetStatus{text-align:center;font-size:12px;color:#bde9f8}
#vbNativeOnlineLayer .vbNetStatus.warn{color:#ffd3a0}
#vbNativeOnlineLayer .vbNetHelp{margin:2px;text-align:center;font-size:10px;font-weight:500;opacity:.75}
#vbNativeOnlineLayer .vbNetFloatStatus{position:absolute;top:6px;right:8px;pointer-events:none;border-radius:8px;background:#071c30c9;color:#88dafa;border:1px solid #72b9e366;padding:3px 7px;font-size:10px}
#vbNativeOnlineLayer .vbNetCount{position:absolute;inset:0;display:grid;place-items:center;font-weight:1000;font-size:clamp(52px,14vw,130px);color:#fff2c9;text-shadow:0 0 25px #48c4ff;pointer-events:none;background:#02152655}
#vbNativeOnlineLayer .vbNetRematch{align-self:end;margin-bottom:10px}
#vbNativeOnlineLayer .vbNetRematch b{text-align:center;display:block;padding-bottom:8px}
#vbNativeOnlineLayer .vbNetMakeover{text-align:center}
#vbNativeOnlineLayer .vbNetSkinPreview{display:flex;align-items:center;justify-content:space-between;gap:6px}
#vbNativeOnlineLayer .vbNetSkinPreview button:not([data-vb="skinSelect"]){font-size:28px;min-width:38px}
#vbNativeOnlineLayer [data-vb="skinSelect"]{padding:0;background:transparent;border:0}
#vbNativeOnlineLayer [data-vb="makeoverCanvas"]{width:min(42vw,150px);height:min(42vw,150px);display:block}
#vbNativeOnlineLayer .vbNetSkinLabel{min-height:18px}
#vbNativeOnlineLayer[data-flow="playing"] .vbNetPanel,#vbNativeOnlineLayer[data-flow="countdown"] .vbNetPanel,#vbNativeOnlineLayer[data-flow="finished"] .vbNetPanel,#vbNativeOnlineLayer[data-flow^="makeover"] .vbNetPanel{display:none!important}
#vbNativeOnlineLayer[data-flow="playing"] .vbNetRematch{display:none!important}
#vbNativeOnlineLayer[data-flow="countdown"] .vbNetRematch{display:none!important}
.volleyBangTouchDock.vbNetLocked{pointer-events:none!important}

#startVolleyBangPanel.vb226Online .vb236OpponentPreview .vb194Nav{opacity:.27;pointer-events:none}

#vbNativeOnlineLayer [data-vb="skinPrev"],#vbNativeOnlineLayer [data-vb="skinNext"]{padding:1px;border:0;background:transparent;box-shadow:none}
#vbNativeOnlineLayer [data-vb="makeoverPrevCanvas"],#vbNativeOnlineLayer [data-vb="makeoverNextCanvas"]{display:block;width:min(21vw,82px);height:min(21vw,82px);opacity:.76}
/* Native overlay must survive the V6 generic sibling-hiding rule. */
body.gb-volley-shell .boardwrap>#vbNativeOnlineLayer{opacity:1!important;visibility:visible!important;pointer-events:none!important;z-index:920!important}
body.gb-volley-shell .boardwrap>#vbNativeOnlineLayer .vbNetPanel,
body.gb-volley-shell .boardwrap>#vbNativeOnlineLayer .vbNetRematch,
body.gb-volley-shell .boardwrap>#vbNativeOnlineLayer .vbNetMakeover{pointer-events:auto!important}
/* Higher specificity than the original three-ID generic sibling suppression. */
body.gb-volley-shell .boardwrap>#gameModuleViewport~#vbNativeOnlineLayer#vbNativeOnlineLayer#vbNativeOnlineLayer{opacity:1!important;visibility:visible!important;pointer-events:none!important;z-index:920!important}

/* R237 – full-height invisible two-thumb volleyball controller.
   Layout is measured by shell.js and tracks Scoreboard/GB3/VisualSynth changes.
   Native online lobby z=920, action menu z=910, controller z=905. */
body.gb-volley-shell .volleyBangTouchDock{
 position:fixed!important;
 top:var(--volley-control-top,auto)!important;
 left:var(--volley-control-left,4px)!important;
 width:var(--volley-court-width,calc(100vw - 8px))!important;
 height:var(--volley-control-height,78px)!important;
 min-height:0!important;max-height:none!important;
 grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
 z-index:905!important;touch-action:none!important;
}
body.gb-volley-shell .volleyBangTouchHalf{
 height:100%!important;min-height:0!important;touch-action:none!important;
}
/* CPU: winner 3D spin & tap restart; online: lobby/rematch overlays. */
body.gb-volley-shell .volleyBangTouchDock.vbTouchFinished,
body.gb-volley-shell .volleyBangTouchDock.vbNetLocked{
 pointer-events:none!important;
}

/* R238 – native room design mirrored from GO BÄNG's onlineSetupOverlay /
   onlineSetupCard / onlinePanel. Scoped to VOLLEY BÄNG only. */
#vbNativeOnlineLayer{isolation:isolate}
#vbNativeOnlineLayer::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:rgba(3,4,10,.69);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
#vbNativeOnlineLayer[data-flow="playing"]::before,
#vbNativeOnlineLayer[data-flow="countdown"]::before,
#vbNativeOnlineLayer[data-flow="finished"]::before,
#vbNativeOnlineLayer[data-flow^="makeover"]::before{display:none}
#vbNativeOnlineLayer .vbNetPanel,
#vbNativeOnlineLayer .vbNetRematch,
#vbNativeOnlineLayer .vbNetMakeover{
 position:relative;z-index:1;box-sizing:border-box;
 width:min(94%,480px);max-width:480px;max-height:calc(100% - 12px);min-height:0;
 padding:16px 15px 13px;gap:0;
 border:1px solid rgba(255,255,255,.13);border-radius:19px;
 background:linear-gradient(180deg,rgba(20,18,43,.985),rgba(7,7,18,.995));
 box-shadow:0 22px 70px rgba(0,0,0,.52),0 0 28px rgba(46,243,255,.06);
 color:#e6f3ff;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;
}
#vbNativeOnlineLayer .vbNetEyebrow{margin:0 40px 5px 0;color:var(--cyan,#6eebff);font:1000 9px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.17em;text-transform:uppercase}
#vbNativeOnlineLayer .vbNetEyebrow [data-vb="myRole"]{font:800 9px/1.2 system-ui;letter-spacing:.06em;color:#a5d5e7;white-space:nowrap}
#vbNativeOnlineLayer .vbNetTitle{font:1000 clamp(18px,4vw,22px)/1.13 system-ui,-apple-system,sans-serif;text-align:left;letter-spacing:0;color:#f1f6ff;margin:0 42px 12px 0}
#vbNativeOnlineLayer .vbNetClose{position:absolute;top:10px;right:10px;z-index:2;width:33px!important;height:33px!important;min-width:33px!important;min-height:33px!important;padding:0!important;display:flex;align-items:center;justify-content:center;border-radius:50%!important;font:400 22px/1 system-ui!important;color:#d7e9ff!important;border:1px solid rgba(255,255,255,.16)!important;background:rgba(255,255,255,.065)!important}
#vbNativeOnlineLayer .vbNetInset{display:grid;gap:8px;width:100%;box-sizing:border-box;padding:12px;border-radius:16px;border:1px solid rgba(83,222,242,.24);background:linear-gradient(180deg,rgba(15,28,47,.94),rgba(9,16,32,.98))}
#vbNativeOnlineLayer .vbNetSectionHeading{font:900 11px/1.2 system-ui;letter-spacing:.05em;color:var(--cyan,#76e5fa);text-align:left}
#vbNativeOnlineLayer button,#vbNativeOnlineLayer input{box-sizing:border-box;min-height:40px;border-radius:11px;font:800 12px/1.2 system-ui,-apple-system,sans-serif;border:1px solid rgba(139,194,226,.28);background:linear-gradient(180deg,rgba(34,45,68,.98),rgba(23,33,55,.98));color:#eef9ff;box-shadow:none;padding:9px 11px;-webkit-tap-highlight-color:transparent}
#vbNativeOnlineLayer button.vbNetPrimary{background:linear-gradient(180deg,rgba(21,101,129,.96),rgba(13,65,100,.98));border-color:rgba(90,232,255,.51);box-shadow:0 0 14px rgba(55,227,255,.10) inset}
#vbNativeOnlineLayer button:disabled{opacity:.46}
#vbNativeOnlineLayer button:focus-visible,#vbNativeOnlineLayer input:focus-visible{outline:2px solid #a0efff;outline-offset:2px}
#vbNativeOnlineLayer .vbNetRow{display:flex;gap:7px;align-items:center;justify-content:center;flex-wrap:nowrap;margin:0}
#vbNativeOnlineLayer .vbNetRow>*{flex:1 1 0;min-width:0}
#vbNativeOnlineLayer .vbNetJoinLabel{font:850 9px/1.1 system-ui;letter-spacing:.1em;color:#829eb8;text-align:center;margin-top:2px}
#vbNativeOnlineLayer .vbNetJoinRow{display:grid;grid-template-columns:minmax(0,1fr) auto}
#vbNativeOnlineLayer .vbNetJoinRow input{width:100%;min-width:0;font-size:16px;font-weight:900;letter-spacing:.19em;text-align:center;text-transform:uppercase;color:#f8efad}
#vbNativeOnlineLayer .vbNetJoinRow button{min-width:98px}
#vbNativeOnlineLayer .vbNetRoomCodeRow{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:2px 1px}
#vbNativeOnlineLayer .vbNetRoomCodeRow span{font:900 10px/1.2 system-ui;color:#a7c1d6;letter-spacing:.06em}
#vbNativeOnlineLayer [data-vb="roomCodeDisplay"]{font:1000 clamp(20px,5vw,26px)/1.1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.13em;color:var(--yellow,#ffe1a0);text-shadow:0 0 8px rgba(248,217,138,.12)}
#vbNativeOnlineLayer .vbNetShare{display:grid;gap:9px}
#vbNativeOnlineLayer .vbNetShareActions button{font-size:11px;min-height:37px;padding:7px 4px}
#vbNativeOnlineLayer .vbNetPlayers{display:grid;grid-template-columns:1fr 1fr;gap:8px}
#vbNativeOnlineLayer .vbNetPlayerCard{display:flex;align-items:center;gap:4px;min-width:0;padding:5px 5px 5px 2px;border-radius:12px;border:1px solid rgba(123,190,235,.22);background:rgba(36,53,82,.3)}
#vbNativeOnlineLayer .vbNetPlayerCard canvas{flex:0 0 auto;display:block;width:clamp(36px,10vw,54px);height:clamp(36px,10vw,54px);object-fit:contain}
#vbNativeOnlineLayer .vbNetPlayerText{display:flex;flex-direction:column;gap:3px;min-width:0;overflow:hidden}
#vbNativeOnlineLayer .vbNetPlayerText strong{font:950 clamp(9px,2.3vw,11px)/1.15 system-ui;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
#vbNativeOnlineLayer .vbNetPlayerText small{font:750 9px/1.2 system-ui;color:#a6cce3;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
#vbNativeOnlineLayer .vbNetPlayerState{font:850 8px/1.1 system-ui;letter-spacing:.02em;color:#d2bc9b;white-space:nowrap}
#vbNativeOnlineLayer .vbNetPlayerState.is-ready{color:#a3f1c8}
#vbNativeOnlineLayer .vbNetPlayerState.is-offline{color:#d4a8a8}
#vbNativeOnlineLayer .vbNetStatus{font:700 11px/1.35 system-ui;color:#b4d3e2;text-align:center;overflow-wrap:anywhere;padding:4px 1px;min-height:18px}
#vbNativeOnlineLayer .vbNetStatus.warn{color:#ffd3a0}
#vbNativeOnlineLayer .vbNetHelp{margin:10px 0 0;color:#8fa6b9;font:600 10px/1.3 system-ui;text-align:center}
#vbNativeOnlineLayer .vbNetLobbyActions{margin-top:1px}
#vbNativeOnlineLayer .vbNetLobbyActions [data-vb="leave"]{flex:0 0 auto;min-width:86px}
#vbNativeOnlineLayer .vbNetRematch{width:min(94%,370px);align-self:end;margin:0 0 12px;gap:10px;padding:15px}
#vbNativeOnlineLayer .vbNetRematch .vbNetTitle{font-size:17px;margin-bottom:0}
#vbNativeOnlineLayer .vbNetMakeover{width:min(94%,410px);gap:8px;padding:15px}
#vbNativeOnlineLayer .vbNetMakeover .vbNetTitle{font-size:15px;line-height:1.32;text-align:center;margin:0}
#vbNativeOnlineLayer .vbNetMakeover .vbNetEyebrow{margin-right:0}
#vbNativeOnlineLayer .vbNetSkinPreview button{min-height:0}
#vbNativeOnlineLayer .vbNetFloatStatus{z-index:2}
#vbNativeOnlineLayer .vbNetCount{z-index:2}
@media(max-width:390px){#vbNativeOnlineLayer .vbNetPanel{padding:13px 11px 11px}#vbNativeOnlineLayer .vbNetInset{padding:10px;gap:7px}#vbNativeOnlineLayer .vbNetShareActions button{font-size:10px}#vbNativeOnlineLayer .vbNetPlayerCard{gap:1px;padding-right:2px}#vbNativeOnlineLayer .vbNetPlayerCard canvas{width:39px;height:39px}#vbNativeOnlineLayer .vbNetPlayerText small{font-size:8px}}

/* R243: one clear rematch action; chooser takes the foreground when eligible. */
#vbNativeOnlineLayer .vbNetOneAction{font:600 11px/1.35 system-ui;text-align:center;color:#bcdff3;margin:0}
#vbNativeOnlineLayer .vbNetMakeover:not([hidden]){position:relative;z-index:5}
#vbNativeOnlineLayer[data-flow="finished"] .vbNetMakeover:not([hidden])~.vbNetRematch{pointer-events:none}


/* R252: simplified start lineup selector */
#startVolleyBangPanel .vb252Stage{position:relative;display:grid;grid-template-columns:1fr 108px 1fr;align-items:end;gap:4px;min-height:206px;padding:6px 2px 2px}
#startVolleyBangPanel .vb252Player,#startVolleyBangPanel .vb252Ball{position:relative;display:grid;justify-items:center;align-content:start;gap:2px;background:transparent;border:0;color:inherit;padding:0;min-width:0}
#startVolleyBangPanel .vb252Player{z-index:2;touch-action:pan-y}
#startVolleyBangPanel .vb252Ball{align-self:start;margin-top:1px;z-index:3;touch-action:pan-y}
#startVolleyBangPanel .vb252Player canvas{width:min(100%,120px);max-width:120px;aspect-ratio:1;display:block;filter:drop-shadow(0 10px 12px rgba(0,0,0,.28))}
#startVolleyBangPanel .vb252Ball canvas{width:min(100%,90px);max-width:90px;aspect-ratio:1;display:block;filter:drop-shadow(0 8px 10px rgba(0,0,0,.26))}
#startVolleyBangPanel .vb252Label{font:800 clamp(8px,2.1vw,11px) system-ui;text-align:center;white-space:nowrap;letter-spacing:.04em}
#startVolleyBangPanel .vb252Caption{text-align:center;font:700 clamp(8px,1.85vw,10px)/1.18 system-ui;color:#b8d8f3;min-height:24px;overflow-wrap:anywhere;padding:0 2px}
#startVolleyBangPanel .vb252Badge,#startVolleyBangPanel .vb252BallBadge{display:inline-flex;align-items:center;justify-content:center;min-height:18px;padding:0 8px;border-radius:999px;border:1px solid rgba(126,206,255,.30);background:rgba(15,37,67,.72);box-shadow:0 4px 10px rgba(0,0,0,.18);font:900 9px/1 system-ui;letter-spacing:.12em;color:#e7f6ff}
#startVolleyBangPanel .vb252BallBadge{margin-bottom:1px}
#startVolleyBangPanel .vb252Player:focus-visible,#startVolleyBangPanel .vb252Ball:focus-visible{outline:2px solid rgba(146,218,255,.82);outline-offset:2px;border-radius:16px}
#startVolleyBangPanel .vb252Player.is-locked{opacity:.76}
#startVolleyBangPanel .vb252Player.is-locked canvas{filter:drop-shadow(0 8px 10px rgba(0,0,0,.18)) saturate(.92)}
#startVolleyBangPanel .vb252Net{position:absolute;left:50%;bottom:38px;transform:translateX(-50%);width:min(42vw,134px);height:30px;border-radius:8px 8px 3px 3px;border:1px solid rgba(155,222,255,.24);background:linear-gradient(180deg,rgba(171,234,255,.12),rgba(44,107,142,.05));box-shadow:inset 0 0 0 1px rgba(8,34,54,.12)}
#startVolleyBangPanel .vb252Net::before,#startVolleyBangPanel .vb252Net::after{content:"";position:absolute;top:-4px;bottom:-1px;width:2px;background:linear-gradient(180deg,rgba(196,234,255,.45),rgba(82,153,189,.22))}
#startVolleyBangPanel .vb252Net::before{left:0}#startVolleyBangPanel .vb252Net::after{right:0}
#startVolleyBangPanel .vb252Net{background-image:linear-gradient(180deg,rgba(171,234,255,.12),rgba(44,107,142,.05)),repeating-linear-gradient(90deg,transparent 0 10px,rgba(193,234,255,.18) 10px 11px),repeating-linear-gradient(180deg,transparent 0 6px,rgba(193,234,255,.16) 6px 7px)}
#startVolleyBangPanel .vb252Help{margin-top:2px;text-align:center;font:700 10px/1.25 system-ui;color:#d6ecff;letter-spacing:.05em}
@media(max-width:365px){#startVolleyBangPanel .vb252Stage{grid-template-columns:1fr 88px 1fr;min-height:188px}#startVolleyBangPanel .vb252Player canvas{max-width:98px}#startVolleyBangPanel .vb252Ball canvas{max-width:76px}#startVolleyBangPanel .vb252Net{bottom:31px;height:24px;width:min(44vw,112px)}#startVolleyBangPanel .vb252Help{font-size:9px}}

/* R253: one compact lighting row beneath the existing start lineup. */
#startVolleyBangPanel .vb253LightRow{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0;padding:7px 7px 3px;border-top:1px solid rgba(119,197,237,.16)}
#startVolleyBangPanel .vb253LightRow>span{flex:0 0 auto;font:800 10px system-ui;letter-spacing:.055em;color:#c7e9fb}
#startVolleyBangPanel .vb253LightRow select{appearance:none;-webkit-appearance:none;flex:1 1 auto;min-width:0;max-width:255px;height:32px!important;padding:0 25px 0 10px!important;border-radius:9px!important;border:1px solid rgba(131,203,241,.37)!important;background:linear-gradient(135deg,#162945,#294567)!important;color:#e6f4ff!important;font:800 10px system-ui!important;text-align:center!important;text-align-last:center!important;letter-spacing:.02em;box-shadow:none!important;cursor:pointer;touch-action:manipulation}
#startVolleyBangPanel .vb253LightRow select:focus-visible{outline:2px solid #8deaff;outline-offset:1px}
@media(max-width:365px){#startVolleyBangPanel .vb253LightRow{gap:6px;padding-inline:2px}#startVolleyBangPanel .vb253LightRow>span{font-size:9px}#startVolleyBangPanel .vb253LightRow select{font-size:9px!important}}

/* R255-B11: show the VOLLEY BÄNG skin lineup in setup stage on short phones.
   Previous match-flow CSS hid scrollbar for setup and clipped the lower items. */
#matchStartOverlay.ux-flow[data-ux-step="setup"][data-vs-game="golleyball"] .matchStartScroll{
 overflow-x:hidden!important;
 overflow-y:auto!important;
 -webkit-overflow-scrolling:touch;
 overscroll-behavior:contain;
 scrollbar-width:none;
}
#matchStartOverlay.ux-flow[data-ux-step="setup"][data-vs-game="golleyball"] .matchStartScroll::-webkit-scrollbar{display:none}
#matchStartOverlay.ux-flow[data-ux-step="setup"][data-vs-game="golleyball"] #startVolleyBangPanel:not([hidden]){
 display:grid!important;
 grid-column:1/-1!important;
 margin:1px 0 4px!important;
}
/* The illustrated player selector replaces the generic two-button skin row. */
#matchStartOverlay.ux-flow[data-ux-step="setup"][data-vs-game="golleyball"] #startSkinQuick,
#matchStartOverlay.ux-flow[data-ux-step="setup"][data-vs-game="golleyball"] #startThemeField,
#matchStartOverlay.ux-flow[data-ux-step="setup"][data-vs-game="golleyball"] .r98QuickHead{
 display:none!important;
}
#startVolleyBangPanel .vb252Stage{grid-template-columns:minmax(0,1fr) minmax(75px,100px) minmax(0,1fr);min-height:174px;align-items:end;gap:3px}
#startVolleyBangPanel .vb252Player{align-self:end}
#startVolleyBangPanel .vb252Ball{align-self:start;margin-top:-9px}
#startVolleyBangPanel .vb252Ball canvas{max-width:77px;width:min(100%,77px);animation:vbB11BallFloat 3.8s ease-in-out infinite;will-change:transform}
#startVolleyBangPanel .vb252Player canvas{animation:vbB11PlayerBounce 3.25s ease-in-out infinite;will-change:transform}
#startVolleyBangPanel .vb252Right canvas{animation-delay:-1.65s}
#startVolleyBangPanel .vb252Left canvas{animation-delay:-.35s}
@keyframes vbB11BallFloat{0%,100%{transform:translate3d(0,0,0) rotate(-2deg)}50%{transform:translate3d(0,-9px,0) rotate(4deg)}}
@keyframes vbB11PlayerBounce{0%,100%{transform:translate3d(0,0,0) rotate(-3deg)}39%{transform:translate3d(0,-8px,0) rotate(3deg)}59%{transform:translate3d(0,-12px,0) rotate(-1deg)}77%{transform:translate3d(0,-3px,0) rotate(3deg)}}
@media(max-width:365px){#startVolleyBangPanel .vb252Stage{grid-template-columns:minmax(0,1fr) 74px minmax(0,1fr);min-height:159px}#startVolleyBangPanel .vb252Ball canvas{max-width:68px}#startVolleyBangPanel .vb252Player canvas{max-width:100px}}
@media(prefers-reduced-motion:reduce){#startVolleyBangPanel .vb252Ball canvas,#startVolleyBangPanel .vb252Player canvas{animation:none!important;will-change:auto}}

/* R255-C3: the legacy GO-BÄNG start/guide layer must never cover VOLLEY.
   The VOLLEY selector is already the start menu; there is no second intro. */
body.gb-volley-shell #gameStartSignatureOverlay,
body.gb-volley-shell #gameStartGateOverlay,
body.gb-volley-shell #goStartOverlay,
body.gb-volley-shell #introOverlay{display:none!important;visibility:hidden!important;pointer-events:none!important}


/* R255-C10 – Living Cosmic Beach start lineup V2, fully scoped. */
#startVolleyBangPanel .vb194Heading{font:900 10px/1.2 system-ui;letter-spacing:.16em;text-align:center;margin:0 0 2px;color:#dbf4ff}
#startVolleyBangPanel .vb252Stage{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1fr) minmax(64px,.67fr) minmax(0,1fr);align-items:stretch;gap:0;min-height:234px;height:clamp(234px,36vw,272px);border-radius:13px;overflow:hidden;padding:8px 4px 22px;background:#203d69;box-sizing:border-box;contain:layout paint}
#startVolleyBangPanel .vbV2Sky{position:absolute;inset:0 0 40%;z-index:-5;pointer-events:none;background:radial-gradient(ellipse 80% 98% at 53% 100%,rgba(255,208,164,.8),transparent 78%),linear-gradient(180deg,#11294d 0%,#476b9c 43%,#c98cb2 78%,#ffcaad 100%)}
#startVolleyBangPanel .vbV2Horizon{position:absolute;top:56%;height:2px;left:0;right:0;z-index:-3;pointer-events:none;background:linear-gradient(90deg,transparent,rgba(255,229,186,.83) 45%,rgba(255,240,207,.96) 60%,transparent)}
#startVolleyBangPanel .vbV2Sea{position:absolute;top:57%;bottom:23%;left:0;right:0;z-index:-4;pointer-events:none;background:linear-gradient(180deg,rgba(104,170,204,.88),rgba(37,100,150,.93) 80%,rgba(29,93,138,.5));}
#startVolleyBangPanel .vbV2Sea::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(172deg,transparent 0 11px,rgba(240,249,255,.07) 12px 13px,transparent 14px 23px)}
#startVolleyBangPanel .vbV2Sand{position:absolute;inset:73% 0 0;z-index:-3;pointer-events:none;background:linear-gradient(180deg,#afaba8 0%,#bcb9ae 12%,#baa69b 48%,#9a8080 100%);box-shadow:inset 0 6px 16px rgba(252,228,197,.3)}
#startVolleyBangPanel .vb252Net{position:absolute;z-index:-1;bottom:23%;left:50%;width:20%;height:20%;transform:translateX(-50%);border-radius:1px;border:1px solid rgba(201,237,248,.59);background-image:repeating-linear-gradient(90deg,transparent 0 6px,rgba(224,244,251,.28) 6px 7px),repeating-linear-gradient(180deg,transparent 0 6px,rgba(224,244,251,.24) 6px 7px);box-shadow:none;pointer-events:none}
#startVolleyBangPanel .vb252Net::before,#startVolleyBangPanel .vb252Net::after{top:-8px;bottom:-6px;width:3px;border-radius:3px;background:linear-gradient(90deg,#6eabc6,#d9f0ff,#5989a4)}
#startVolleyBangPanel .vbV2Seat{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;min-width:0;gap:0;justify-content:space-between;align-self:stretch;padding:0 0 2px;box-sizing:border-box;--ball-size:clamp(79px,24vw,112px)}
#startVolleyBangPanel .vb252Middle{--ball-size:clamp(47px,13.5vw,66px);z-index:3}
#startVolleyBangPanel .vb252Badge{position:relative;z-index:4;min-height:18px;padding:2px 8px;font:900 9px/1 system-ui;color:#effaff;letter-spacing:.12em;pointer-events:none}
#startVolleyBangPanel .vbV2Pick{position:relative;display:grid;place-items:center;width:100%;flex:1 1 auto;min-height:0}
#startVolleyBangPanel .vbV2Float{position:relative;z-index:2;width:var(--ball-size);height:var(--ball-size);max-width:100%;display:grid;place-items:center;will-change:transform;pointer-events:auto}
#startVolleyBangPanel .vb252Player,#startVolleyBangPanel .vb252Ball{position:relative;display:block;min-width:0;width:100%;height:100%;border:0;outline-offset:3px;border-radius:50%;margin:0;padding:0;background:none;touch-action:pan-y;cursor:pointer}
#startVolleyBangPanel .vbV2ReadOnly{cursor:default;pointer-events:none}
#startVolleyBangPanel .vb252Player canvas,#startVolleyBangPanel .vb252Ball canvas{display:block;width:100%;height:100%;aspect-ratio:1;max-width:100%;border:0;filter:none;animation:none!important;pointer-events:none}
#startVolleyBangPanel .vbV2GroundShadow{position:absolute;z-index:1;left:20%;right:20%;bottom:8%;height:11px;border-radius:50%;background:radial-gradient(ellipse,rgba(35,38,54,.40) 6%,rgba(46,49,67,.16) 53%,transparent 75%);transform:scaleX(1);pointer-events:none}
#startVolleyBangPanel .vb252Caption{position:relative;z-index:5;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;min-height:27px;max-height:30px;width:100%;padding:1px 1px;overflow:hidden;color:#edfcff;text-shadow:0 1px 4px #173354;font:750 clamp(8px,2.1vw,10px)/1.22 system-ui;text-align:center;overflow-wrap:anywhere;box-sizing:border-box}
#startVolleyBangPanel .vbV2Arrow{position:absolute;z-index:8;top:50%;transform:translateY(-50%);width:32px;height:44px;min-width:0;padding:0;border:0;border-radius:12px;background:rgba(12,41,69,.25);color:#99f3ff;text-shadow:0 0 7px rgba(80,225,255,.7);font:900 30px/1 system-ui;cursor:pointer;touch-action:manipulation;display:grid;place-items:center}
#startVolleyBangPanel .vbV2Previous{left:-4px}#startVolleyBangPanel .vbV2Next{right:-4px}
#startVolleyBangPanel .vbV2Arrow:focus-visible,#startVolleyBangPanel .vb252Player:focus-visible,#startVolleyBangPanel .vb252Ball:focus-visible{outline:2px solid #9defff;outline-offset:2px}
#startVolleyBangPanel .vb252Help{position:absolute;z-index:7;left:3px;right:3px;bottom:2px;margin:0;padding:2px;color:#e6f8ff;font:750 clamp(7px,1.8vw,9px)/1.2 system-ui;letter-spacing:.015em;text-shadow:0 1px 4px #12304d;white-space:normal}
#startVolleyBangPanel .vbV2Waiting{position:absolute;inset:40% 0 auto;text-align:center;font:800 11px system-ui;opacity:.8}
/* Staggered motion profiles: transform only, independent of expensive material redraws. */
@keyframes vbV2Smile{0%,28%,100%{transform:translate3d(0,0,0) rotate(-2deg)}36%{transform:translate3d(0,-7px,0) rotate(3deg)}44%{transform:translate3d(0,0,0) rotate(-2deg)}77%{transform:translate3d(2px,-4px,0) rotate(3deg)}84%{transform:translate3d(0,0,0) rotate(-1deg)}}
@keyframes vbV2Heavy{0%,32%,100%{transform:translate3d(0,0,0) scale(1,1)}39%{transform:translate3d(0,-5px,0)}47%{transform:translate3d(0,0,0) scale(1.04,.96)}53%{transform:translate3d(0,-2px,0) scale(.99,1.01)}61%{transform:translate3d(0,0,0)}}
@keyframes vbV2Goo{0%,25%,100%{transform:translate3d(0,0,0) scale(1,1)}38%{transform:translate3d(0,-6px,0) scale(.97,1.04)}51%{transform:translate3d(0,0,0) scale(1.04,.96)}70%{transform:translate3d(0,-3px,0) scale(.99,1.01)}}
@keyframes vbV2Spin{0%,20%,78%,100%{transform:translate3d(0,0,0) rotate(0deg)}30%{transform:translate3d(0,-7px,0) rotate(13deg)}40%{transform:translate3d(0,-4px,0) rotate(-8deg)}50%{transform:translate3d(0,0,0) rotate(0deg)}}
@keyframes vbV2Orbit{0%,100%{transform:translate3d(0,-3px,0) rotate(-2deg)}38%{transform:translate3d(2px,-7px,0) rotate(2deg)}72%{transform:translate3d(-2px,-4px,0) rotate(-1deg)}}
@keyframes vbV2BallFloat{0%,100%{transform:translate3d(0,-3px,0) rotate(-2deg)}47%{transform:translate3d(0,-9px,0) rotate(3deg)}}
@keyframes vbV2Switch{0%{transform:translate3d(0,-6px,0) scale(.92)}100%{transform:translate3d(0,0,0) scale(1)}}
#startVolleyBangPanel .vb252Left .vbV2Float{animation:vbV2Smile 6.7s ease-in-out infinite}
#startVolleyBangPanel .vb252Right .vbV2Float{animation:vbV2Smile 8.4s ease-in-out -2.8s infinite}
#startVolleyBangPanel .vb252Middle .vbV2Float{animation:vbV2BallFloat 3.3s ease-in-out -1s infinite}
#startVolleyBangPanel [data-skin="magma"] .vbV2Float{animation-name:vbV2Heavy;animation-duration:8.3s}
#startVolleyBangPanel [data-skin="goo"] .vbV2Float{animation-name:vbV2Goo;animation-duration:7.6s}
#startVolleyBangPanel [data-skin="plasma90s"] .vbV2Float,#startVolleyBangPanel [data-skin="disco"] .vbV2Float{animation-name:vbV2Spin;animation-duration:7.1s}
#startVolleyBangPanel [data-skin="planet"] .vbV2Float{animation-name:vbV2Orbit;animation-duration:8.4s}
#startVolleyBangPanel .vbV2Change .vbV2Pick{animation:vbV2Switch .28s ease-out 1}
#startVolleyBangPanel .vb252Middle .vbV2Pick{align-items:center}
@media(max-width:365px){#startVolleyBangPanel .vb252Stage{grid-template-columns:minmax(0,1fr) minmax(58px,.64fr) minmax(0,1fr);height:225px;min-height:225px;padding-inline:2px}#startVolleyBangPanel .vbV2Seat{--ball-size:clamp(73px,23vw,86px)}#startVolleyBangPanel .vb252Middle{--ball-size:clamp(42px,13vw,51px)}#startVolleyBangPanel .vbV2Arrow{width:25px;font-size:24px}#startVolleyBangPanel .vb252Caption{font-size:8px}#startVolleyBangPanel .vb252Help{font-size:7px}}
@media(min-width:650px){#startVolleyBangPanel .vb252Stage{height:280px;max-height:280px}#startVolleyBangPanel .vbV2Seat{--ball-size:125px}#startVolleyBangPanel .vb252Middle{--ball-size:72px}#startVolleyBangPanel .vbV2Arrow{width:42px}}
@media(prefers-reduced-motion:reduce){#startVolleyBangPanel .vbV2Float,#startVolleyBangPanel .vbV2Pick{animation:none!important;will-change:auto!important}}

/* V2 touch arrows: quiet cyan glyphs, 44px tap height without dark capsules. */
#startVolleyBangPanel .vbV2Arrow{background:transparent!important;box-shadow:none!important;border:0!important;text-shadow:0 0 5px rgba(32,210,245,.35);font-size:26px;opacity:.82}
#startVolleyBangPanel .vbV2Arrow:active{color:#e9fdff;opacity:1}
#startVolleyBangPanel .vbV2Previous{left:-7px}#startVolleyBangPanel .vbV2Next{right:-7px}
#startVolleyBangPanel .vb252Net{height:17%;bottom:26%;opacity:.85}
/* Never let adjacent family/ball arrows steal each other's touches. */
#startVolleyBangPanel .vbV2Previous{left:0}
#startVolleyBangPanel .vbV2Next{right:0}
@media(max-width:365px){#startVolleyBangPanel .vbV2Arrow{width:22px}}

/* Use the actual existing game wordmark, scaled down to preserve menu height. */
#startVolleyBangPanel .vbV2Heading{display:flex;flex-direction:column;align-items:center;gap:0;min-width:0;margin:-2px 0 1px}
#startVolleyBangPanel .vbV2Logo{display:block;object-fit:contain;width:120px;height:38px;max-width:100%;pointer-events:none}
#startVolleyBangPanel .vbV2Heading .vb194Heading{margin:-1px 0 1px;font:900 9px/1 system-ui;letter-spacing:.13em}
@media(max-width:365px){#startVolleyBangPanel .vbV2Logo{width:104px;height:30px}}

/* R255-C11 – Integrated single-stage V3. Scoped to VOLLEY BÄNG setup. */
#matchStartOverlay.ux-flow[data-ux-step="setup"][data-vs-game="golleyball"] #startVolleyBangPanel{
 background:transparent!important;border:0!important;border-radius:0!important;
 box-shadow:none!important;padding:0!important;gap:4px!important;margin:0 0 2px!important;
}
#startVolleyBangPanel .vbV2Heading{margin:0!important;min-height:16px!important;display:grid!important;place-items:center!important}
#startVolleyBangPanel .vbV2Logo{display:none!important}
#startVolleyBangPanel .vbV2Heading .vb194Heading{font:900 10px/1.3 system-ui!important;letter-spacing:.19em!important;margin:0!important;color:#c9e5f5!important}
#startVolleyBangPanel .vb252Stage{
 height:clamp(201px,56vw,226px)!important;min-height:0!important;
 grid-template-columns:minmax(0,1fr) minmax(60px,.63fr) minmax(0,1fr)!important;
 padding:6px 3px 14px!important;border:1px solid rgba(95,185,229,.35)!important;
 border-radius:13px!important;box-shadow:0 8px 22px #06102533!important;
}
#startVolleyBangPanel .vbV2Sky{background:radial-gradient(ellipse 80% 85% at 53% 99%,rgba(255,211,169,.59),transparent 78%),linear-gradient(180deg,#122a4a 0%,#44628c 50%,#d19caf 85%,#f8cda9 100%)!important}
#startVolleyBangPanel .vbV2Sand{inset:71% 0 0!important;background:linear-gradient(180deg,#d4bcac,#cdb8a9 28%,#c5a899 78%,#b89b97)!important}
#startVolleyBangPanel .vbV2Sea{bottom:27%!important}
#startVolleyBangPanel .vbV2Seat{--ball-size:clamp(78px,23vw,98px)!important;padding-bottom:3px!important}
#startVolleyBangPanel .vb252Middle{--ball-size:clamp(45px,13.3vw,57px)!important}
#startVolleyBangPanel .vb252Badge{min-height:17px!important;padding:2px 7px!important}
#startVolleyBangPanel .vbV2Pick{padding-top:9px!important;box-sizing:border-box!important}
#startVolleyBangPanel .vb252Middle .vbV2Pick{padding-bottom:26px!important;padding-top:0!important}
#startVolleyBangPanel .vbV2GroundShadow{bottom:3%!important;left:24%!important;right:24%!important;height:9px!important;opacity:.65}
#startVolleyBangPanel .vb252Net{height:18%!important;bottom:29%!important;opacity:.72!important}
#startVolleyBangPanel .vb252Caption{min-height:27px!important;max-height:31px!important;font-size:clamp(8px,2vw,10px)!important;color:#f3f9ff!important;text-shadow:0 1px 4px #223d57,0 1px 2px #273545!important}
#startVolleyBangPanel .vbV2Arrow{height:44px!important;width:25px!important;font-size:24px!important;background:transparent!important;opacity:.75!important;color:#a1efff!important;top:54%!important}
#startVolleyBangPanel .vbV2Arrow:active{opacity:1!important}
#startVolleyBangPanel .vbV2Arrow:disabled{visibility:hidden!important;pointer-events:none!important}
#startVolleyBangPanel .vb252Help{font-size:clamp(7px,1.75vw,9px)!important;opacity:.83;padding-bottom:2px!important}
#startVolleyBangPanel .vbV3Auto{
 position:absolute;top:23px;right:1px;z-index:10;height:21px;min-width:39px;
 border:1px solid rgba(124,206,236,.42);border-radius:999px;
 background:rgba(11,38,66,.48);color:#c0e6f7;font:800 9px/1 system-ui;
 letter-spacing:.05em;padding:2px 5px;cursor:pointer;touch-action:manipulation;
}
#startVolleyBangPanel .vbV3Auto.is-active{color:#fff5cf;border-color:rgba(255,227,159,.75);background:rgba(44,63,88,.7)}
#startVolleyBangPanel .vbV3Auto[hidden]{display:none!important}
#startVolleyBangPanel.vb226Online .vb252Right .vb252Player{pointer-events:none!important;cursor:default!important}
#startVolleyBangPanel .vb253LightRow{padding:5px 2px 2px!important;min-height:35px!important;border-top:0!important}
#startVolleyBangPanel .vb253LightRow select{height:32px!important}
#startVolleyBangPanel .vb226ModeNote{font:700 9px/1.2 system-ui!important;padding:2px 2px!important;margin:0!important;border:0!important;opacity:.75}
@media(max-width:365px){
 #startVolleyBangPanel .vb252Stage{height:195px!important;grid-template-columns:minmax(0,1fr) minmax(57px,.6fr) minmax(0,1fr)!important;padding-inline:1px!important}
 #startVolleyBangPanel .vbV2Seat{--ball-size:clamp(69px,22vw,83px)!important}
 #startVolleyBangPanel .vb252Middle{--ball-size:43px!important}
 #startVolleyBangPanel .vbV2Arrow{width:21px!important;font-size:23px!important}
 #startVolleyBangPanel .vbV3Auto{top:21px;right:0;min-width:34px;font-size:8px}
}
@media(min-width:650px){
 #startVolleyBangPanel .vb252Stage{height:255px!important;min-height:255px!important;max-height:255px!important}
 #startVolleyBangPanel .vbV2Seat{--ball-size:123px!important}
 #startVolleyBangPanel .vb252Middle{--ball-size:73px!important}
}
@media(prefers-reduced-motion:reduce){#startVolleyBangPanel .vbV2Float,#startVolleyBangPanel .vbV2Pick{animation:none!important}}
