/* Home-only layout correction. Chat, keyboard, trainer and game geometry are unchanged. */
html.mw230.mw-home body .workspace-screen .workspace-stage,
html.mw230.mw-home body .workspace-screen.mobile-chat-only .workspace-stage.open{display:none!important}
html.mw230:not(.mw-home) body .mw-today,
html.mw230.mw-apps body .mw-today{display:none!important}
html.mw230.mw-home body .dashboard.workspace-dashboard{position:fixed!important;inset:0!important;width:100%!important;height:var(--mw-vh,100dvh)!important;min-height:0!important;max-height:var(--mw-vh,100dvh)!important;overflow:hidden!important;box-sizing:border-box!important}
html.mw230.mw-home body .workspace-screen,
html.mw230.mw-home body .workspace-screen.mobile-chat-only{height:100%!important;min-height:0!important;max-height:100%!important;overflow:hidden!important;box-sizing:border-box!important;padding-top:var(--mw-safe-top,0px)!important;padding-bottom:calc(var(--mw-dock,80px) + var(--mw-safe-bottom,0px))!important;flex-shrink:1!important}
html.mw230.mw-home body .workspace-screen>.mw-top,
html.mw230.mw-home body .workspace-screen>.workspace-header,
html.mw230.mw-home body .workspace-screen>.mw-app-choice-help{flex-shrink:0!important}
html.mw230.mw-home body .workspace-screen>.workspace-desktop-icons{flex:1 1 0%!important;height:0!important;min-height:0!important;max-height:none!important;overflow-y:auto!important;overflow-x:hidden!important;align-content:start!important;overscroll-behavior-y:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch;scroll-padding-block:10px;padding:8px 0 14px!important}
html.mw230.mw-home:not(.mw-apps) body .workspace-screen>.mw-today{display:block!important;flex:0 0 auto!important;position:relative!important;margin:8px 0 0!important;padding:12px 16px!important}
/* Leave useful space for applications on short portrait screens. */
@media(max-height:700px){
 html.mw230.mw-home body .workspace-header{gap:8px!important;padding:6px 0 8px!important}
 html.mw230.mw-home body .workspace-header h1{font-size:24px!important}
 html.mw230.mw-home:not(.mw-apps) body .workspace-screen>.mw-today{padding:8px 12px!important}
 html.mw230.mw-home body .mw-today h3{font-size:16px!important;margin:0 0 2px!important}
 html.mw230.mw-home body .mw-today button{min-height:32px!important}
 html.mw230.mw-home body .mw-app-choice-help{font-size:12px!important;line-height:1.4!important;margin:4px 0 8px!important}
}


/* The WELLY mobile dock is the sole bottom navigation. */
html.mw230 body .mobile-hub-bottom-nav,
html.mw230 body footer:has(.mobile-hub-bottom-nav){display:none!important}
/* Chat geometry must not depend on the asynchronously restored mobile-chat-only flag. */
html.mw230.mw-open body .workspace-screen{height:100%!important;min-height:0!important;max-height:100%!important;width:100%!important;min-width:0!important;overflow:hidden!important;box-sizing:border-box!important}
html.mw230.mw-open body .workspace-screen .workspace-stage.open{flex:1 1 0%!important;height:0!important;min-height:0!important;max-height:none!important}
html.mw230.mw-home body .workspace-screen .workspace-stage.open{display:none!important}


/* The legacy .mw-open padding shorthand outranked the general safe-area rule.
   Reserve the same status-bar inset in chats as on Home. Keyboard mode keeps
   its existing zero-inset layout and hidden logo. Desktop is not affected. */
html.mw230.mw-open:not(.mw-keyboard) body .workspace-screen,
html.mw230.mw-open:not(.mw-keyboard) body .workspace-screen.mobile-chat-only{
 padding-top:var(--mw-safe-top,env(safe-area-inset-top,0px))!important;
}


/* One viewport boundary for content and navigation. Tetris keeps its top menu. */
html.mw230:not(.mw-tetris) body .mw-dock,
html.mw230.mw-home body .mw-dock{
 top:calc(var(--mw-vtop,0px) + var(--mw-vh,100dvh) - max(8px,var(--mw-safe-bottom,0px)) - 66px)!important;
 bottom:auto!important;
}


html.mw230{--mw-native-bottom:env(safe-area-inset-bottom,0px)}
/* Do not reserve the home-indicator area twice when iOS already excluded it. */
html.mw230.mw-system-bottom-outside:not(.mw-keyboard){--mw-safe-bottom:0px}
html.mw230.mw-open:not(.mw-keyboard) body .workspace-screen{padding-bottom:calc(var(--mw-dock,80px) + var(--mw-safe-bottom,0px))!important}


/* Size the installed iOS document canvas itself, not only its fixed children.
   Browser tabs and Android retain their dynamic-viewport layout. */
html.mw230.mw-ios-standalone:not(.mw-keyboard),
html.mw230.mw-ios-standalone:not(.mw-keyboard) body,
html.mw230.mw-ios-standalone:not(.mw-keyboard) #root {
  min-height: 100vh !important;
  min-height: 100lvh !important;
}


/* Mobile-only chrome reduction; preserve v243 viewport and safe-area geometry. */
html.mw230 { --mw-header: 0px; }
html.mw230 body .workspace-screen > .mw-top {
  display: none !important;
}
html.mw230.mw-home body .workspace-screen > .workspace-header > div:first-child,
html.mw230.mw-home body .workspace-screen.mobile-chat-only > .workspace-header > div:first-child {
  display: none !important;
}
html.mw230.mw-home body .workspace-screen > .workspace-header {
  padding-top: 8px !important;
}


/* Remove only the redundant mobile calendar card, not the top toolbar. */
html.mw230.mw-home:not(.mw-apps) body .workspace-screen > .mw-today,
html.mw230 body .workspace-screen > .mw-today {
  display: none !important;
}


/* Supplied raster artwork; preserve the verified 66px dock and safe-area math. */
html.mw230 body .mw-dock {
 background:#001c16ed;border-color:#21855d;border-radius:21px;
 box-shadow:inset 0 0 14px #11764b55,0 0 12px #00120ecc;
 padding:3px;
}
html.mw230 body .mw-dock button {
 gap:0;padding:0 3px 2px;font-size:11px;line-height:15px;
 color:#a5c2b6;border-radius:17px;
}
html.mw230 body .mw-dock button.active {
 background:#003323;color:#e3ffeb;
 box-shadow:inset 0 -4px 13px #00ef7f88,inset 0 0 1px 1px #2cbf7a88,0 0 10px #22b87e33;
}
html.mw230 body .mw-dock button img,
html.mw230 body .mw-dock button:nth-child(3) img {
 width:39px;height:39px;object-fit:contain;filter:none;border-radius:0;
}
html.mw230 body .mw-home-nav {
 border:1px solid #187252;border-radius:18px;background:#001b15dd;
 box-shadow:inset 0 0 12px #0b624333;gap:0;padding:3px;
}
html.mw230 body .mw-home-nav button {
 flex:1 1 0;min-width:0;min-height:52px;padding:3px;gap:3px;
 color:#e0eee8;font-size:11px;line-height:16px;border-radius:14px;
}
html.mw230 body .mw-home-nav button:first-child {
 background:#003323;box-shadow:inset 0 -3px 12px #00ef7f77,inset 0 0 1px 1px #2cbf7aaa;
}
html.mw230 body .mw-home-nav button:disabled {opacity:.82;cursor:not-allowed;}
html.mw230 body .mw-home-nav button img {width:35px;height:35px;flex:0 0 35px;filter:none;object-fit:contain;}
html.mw230 body .mw-home-nav button span {text-align:left;white-space:nowrap;min-width:0;}
html.mw230 body .mw-home-nav small {display:block;color:#9fbcad;font-size:8px;font-weight:400;line-height:13px;}
html.mw230 body .mw-dock button:focus-visible,
html.mw230 body .mw-home-nav button:focus-visible {outline:2px solid #9affce;outline-offset:-2px;}
@media(max-width:370px){
 html.mw230 body .mw-home-nav button {font-size:9px;gap:2px;padding:2px;}
 html.mw230 body .mw-home-nav button img {width:27px;height:30px;flex-basis:27px;}
 html.mw230 body .mw-home-nav small {display:none;}
}
