.site-taskbar {
  position: fixed;
  z-index: 15;
  left: 50%;
  bottom: 0;
  width: min(100%, 720px);
  height: calc(74px + env(safe-area-inset-bottom));
  /* Fixed insets leave usable grid space at every viewport width. */
  padding: 8px 18px env(safe-area-inset-bottom);
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: stretch;
  box-sizing: border-box;
  border-top: 1px solid #e4e1d9;
  background: rgba(251, 249, 244, .95);
  -webkit-backdrop-filter: blur(18px);
  backdrop-filter: blur(18px);
  transform: translateX(-50%);
}
.site-taskbar a, .site-taskbar button {
  width: 100%;
  min-width: 0;
  max-width: 120px;
  min-height: 54px;
  margin-inline: auto;
  padding: 3px 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 3px;
  overflow: hidden;
  border: 0;
  color: #697671;
  background: none;
  text-align: center;
  text-decoration: none;
  white-space: nowrap;
  font: 700 14px/1.2 -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  letter-spacing: normal;
  cursor: pointer;
  box-sizing: border-box;
}
.site-taskbar .taskbar-icon {
  width: 25px;
  height: 25px;
  margin: 0;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  border-radius: 8px;
  font-size: 19px;
  line-height: 1;
}
.site-taskbar .taskbar-icon svg {
  width: 19px;
  height: 19px;
  display: block;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.site-taskbar .taskbar-label { margin: 0; font-size: inherit; line-height: inherit; }
.site-taskbar .active, .site-taskbar [aria-current="page"] { color: #386f60; }
.site-taskbar .active .taskbar-icon, .site-taskbar [aria-current="page"] .taskbar-icon { background: #dcefe9; }
.site-taskbar a:focus-visible, .site-taskbar button:focus-visible { outline: 3px solid rgba(68, 142, 123, .3); outline-offset: -2px; border-radius: 10px; }
.club-shell, .game-shell, .app-shell, body.nav-outside-shell { padding-bottom: calc(98px + env(safe-area-inset-bottom)); }
.toast { bottom: calc(88px + env(safe-area-inset-bottom)); }
html.large-text .site-taskbar { height: calc(88px + env(safe-area-inset-bottom)); }
html.large-text .site-taskbar a, html.large-text .site-taskbar button { min-height: 66px; font-size: 16px; }
html.large-text .club-shell, html.large-text .game-shell, html.large-text .app-shell, html.large-text body.nav-outside-shell { padding-bottom: calc(116px + env(safe-area-inset-bottom)); }
@media (min-width: 431px) {
  .site-taskbar { bottom: 16px; width: min(calc(100% - 32px), 720px); border-radius: 20px; border: 1px solid #e4e1d9; }
}
@media (max-height: 560px) and (orientation: landscape) {
  .site-taskbar { height: calc(58px + env(safe-area-inset-bottom)); padding-block: 4px env(safe-area-inset-bottom); }
  .site-taskbar a, .site-taskbar button, html.large-text .site-taskbar a, html.large-text .site-taskbar button { min-height: 0; max-width: none; gap: 1px; font-size: 14px; }
  .site-taskbar .taskbar-icon { width: 20px; height: 20px; font-size: 16px; }
  .site-taskbar .taskbar-icon svg { width: 16px; height: 16px; }
  .club-shell, .game-shell, .app-shell, body.nav-outside-shell { padding-bottom: calc(88px + env(safe-area-inset-bottom)); }
}

.club-nav-notice { position: fixed; z-index: 50; left: 50%; bottom: calc(100px + env(safe-area-inset-bottom)); width: max-content; max-width: calc(100% - 32px); padding: 12px 18px; border-radius: 16px; color: #fff; background: #243331; font: 600 14px/1.4 -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif; text-align: center; transform: translateX(-50%); pointer-events: none; }
.club-nav-notice[hidden] { display: none; }
html.large-text .club-nav-notice { bottom: calc(114px + env(safe-area-inset-bottom)); font-size: 16px; }
