/* Full-bleed shell, safe controls, consistent icon canvases. No game rules. */
html { width:var(--app-width,100%) !important; height:var(--app-height,100%) !important; min-height:0; margin:0; padding:0; overflow:hidden; background:#180708; }
body.v10114 { position:fixed; inset:0; width:var(--app-width,100%) !important; height:var(--app-height,100%) !important; margin:0; padding:0; min-height:0; overscroll-behavior:none; }
body.v10114 .app-shell { position:fixed !important; inset:0 !important; width:var(--app-width,100%) !important; height:var(--app-height,100%) !important; min-height:0 !important; max-width:none !important; max-height:none !important; margin:0 !important; }
body.v10114 .modal-backdrop,body.v10114 #splashScreen,body.v10114 .rotate-hint {
  position:fixed !important; inset:0 !important; width:var(--app-width,100%) !important; height:var(--app-height,100%) !important; max-height:none !important;
}
body.v10114 #setupModal .home-v105,body.v10114 #matchModeModal .classic-lobby-v1063 { width:100% !important; max-width:none !important; height:100% !important; max-height:none !important; margin:0 !important; }
/* Backgrounds extend under cutouts/home indicator; only content is inset. */
body.v10114 #setupModal .home-layout { padding-top:var(--v14-safe-top); padding-bottom:calc(22 * var(--app-vh,1dvh) + max(24px,var(--v14-safe-bottom))); }
body.v10114 #matchModeModal .classic-lobby-v1063 { padding-top:var(--v14-safe-top); }
body.v10114 #friendsModal,body.v10114 #clubModal,body.v10114 #settingsModal,body.v10114 #matchmakingModal,body.v10114 #tournamentIntroModal,body.v10114 #rankingModal { padding:0 !important; }
body.v10114 #friendsModal .friends-v1052,body.v10114 #clubModal .profile-card-v1053,body.v10114 #settingsModal .settings-v1052,body.v10114 #matchmakingModal .matchmaking-card,body.v10114 .v14-tournament,body.v10114 .v14-ranking {
  width:100% !important; max-width:none !important; height:100% !important; max-height:none !important; border-radius:0 !important;
  padding-left:max(3vw,var(--v14-safe-left)) !important; padding-right:max(3vw,var(--v14-safe-right)) !important;
  padding-top:max(12px,var(--v14-safe-top)) !important; padding-bottom:max(12px,var(--v14-safe-bottom)) !important;
}
body.v10114 .v14-back,body.v10114 #matchModeModal .classic-lobby-back,body.v10114 #friendsModal .screen-back,body.v10114 #clubModal .profile-back,body.v10114 #settingsModal .screen-back {
  display:flex !important; align-items:center !important; justify-content:center !important; width:48px !important; height:48px !important; min-width:48px !important; min-height:48px !important; padding:0 !important; line-height:1 !important;
}
body.v10114 #matchModeModal .classic-lobby-back::before,body.v10114 #friendsModal .screen-back::before,body.v10114 #clubModal .profile-back::before,body.v10114 #settingsModal .screen-back::before {
  position:static !important; display:block !important; flex:0 0 28px; width:28px !important; height:28px !important; margin:0 !important;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='4 1 16 22'%3E%3Cpath d='m15 5-7 7 7 7' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat !important;
}
body.v10114 .v14-back { font-size:28px; }
body.v10114 #setupModal .home-quick-links button > span:first-child {
  display:flex !important; align-items:center !important; justify-content:center !important; padding:0 !important;
  --shortcut-icon:clamp(24px,3vw,38px);
}
body.v10114 #setupModal .home-quick-links button > span:first-child::before {
  position:static !important; display:block !important; flex:none; width:var(--shortcut-icon) !important; height:var(--shortcut-icon) !important; margin:0 !important;
}
body.v10114 [data-ui-icon='book'] {
  --ui-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 6c-2.8-2-5.8-2.7-9-2v15c3.2-.7 6.2 0 9 2 2.8-2 5.8-2.7 9-2V4c-3.2-.7-6.2 0-9 2Zm0 0v15' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
body.v10114 #splashScreen { background:#090404 url('loading-v10119.webp') center/cover no-repeat !important; }
body.v10114 #splashScreen .splash-brand-stage { background:transparent !important; }
body.v10114 #splashScreen .splash-art-v10119 { width:100%; height:100%; top:0; bottom:auto; object-fit:cover; object-position:center; }
body.v10114 #splashScreen .splash-progress { bottom:calc(var(--v14-safe-bottom) + 20px + 2 * var(--app-vh,1dvh)); }
body.v10114 #viewportDiagnosticsBtn { min-height:44px !important; padding:6px 12px !important; }
body.v10114 #viewportDiagnosticsText { width:100%; min-height:100px; color:#f2dfb9; background:#160b15; font:11px/1.4 monospace; }
/* The landscape artwork can fill the screen without cropping the central
   M/wordmark. On portrait/ultrawide screens preserve the whole source instead. */
@media (orientation:portrait),(min-aspect-ratio:12/5) {
  body.v10114 #splashScreen .splash-art-v10119 { object-fit:contain; }
  body.v10114 #splashScreen::before { display:block !important; inset:-20px; border:0; border-radius:0; background:inherit; filter:blur(18px) brightness(.35); box-shadow:none; }
}
