.desktopLauncher {
  position: fixed;
  left: 14px;
  bottom: 12px;
  z-index: 400;
  min-height: 34px;
  padding: 6px 13px;
  border: 1px solid rgba(116, 85, 54, .28);
  border-radius: 4px;
  background: #f5ecdb;
  color: var(--ink);
  box-shadow: 0 2px 12px rgba(55, 37, 22, .1);
  font: 12px/1.5 var(--ui-font);
  cursor: pointer;
}
.desktopLauncher.isOffline { color: var(--rose-deep); }
.desktopLauncher:focus-visible,
.desktopDialog :is(select, input, button):focus-visible { outline: 2px solid var(--rose-deep); outline-offset: 3px; }
.desktopDialog {
  width: min(560px, calc(100vw - 32px));
  max-height: calc(100dvh - 32px);
  padding: 0;
  border: 1px solid rgba(122, 84, 48, .28);
  border-radius: 12px;
  background: #f5ecdb;
  color: var(--ink);
  box-shadow: 0 28px 90px rgba(32, 23, 18, .38);
  font: 14px/1.7 var(--ui-font);
  overflow-y: auto;
}
.desktopDialog::backdrop { background: rgba(40, 31, 25, .58); backdrop-filter: blur(2px); }
.desktopDialogHead { display: flex; justify-content: space-between; align-items: start; gap: 20px; padding: 22px 26px 16px; border-bottom: 1px solid rgba(116, 85, 54, .18); }
.desktopDialogHead .eyebrow { margin: 0 0 6px; }
.desktopDialogHead h2 { margin: 0; font: 400 31px/1.3 var(--display-brush-font); }
.desktopSettingsBody { padding: 4px 26px 22px; }
.desktopSettingRow { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 18px 0; border-bottom: 1px solid rgba(116, 85, 54, .14); }
.desktopSettingRow small { display: block; margin-top: 3px; color: var(--muted); font-size: 12px; }
.desktopSettingRow select { min-width: 100px; padding: 7px 9px; border: 1px solid rgba(116, 85, 54, .3); border-radius: 3px; background: #fffaf0; color: var(--ink); font: inherit; }
.desktopSettingRow input { width: 20px; height: 20px; flex: 0 0 auto; accent-color: var(--rose-deep); }
.desktopConnection { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding-top: 16px; color: var(--rose-deep); }
.desktopSettingsHelp, .desktopVersion { color: var(--muted); font-size: 12px; }
#desktopSettingsError { margin: 0; color: var(--rose-deep); }
.desktopClient { color-scheme: light; }
.desktopClient body { overscroll-behavior: none; }
.desktopClient .authScreen { align-items: safe center; }
.desktopClient .entranceFooter { padding-bottom: 28px; }
.desktopClient .clubPanel { padding-bottom: 58px; }
@media (min-width: 681px) and (max-width: 1080px) and (orientation: landscape) {
  .desktopClient body:not(.multiplayerSessionActive) .gameShell {
    grid-template-columns: 180px minmax(0, 1fr);
    gap: 12px;
    width: calc(100% - 24px);
    padding-top: 12px;
  }
  .desktopClient .clubPanel {
    position: sticky;
    top: 12px;
    height: calc(100dvh - 24px);
    min-height: 0;
    padding-inline: 12px;
  }
  .desktopClient .clubMark { min-height: 140px; padding-inline: 8px; }
  .desktopClient .topbar { flex-wrap: wrap; align-items: flex-start; }
  .desktopClient .topbarHeading { flex: 1 0 100%; }
  .desktopClient .topActions { flex-wrap: wrap; width: 100%; max-width: 100%; min-width: 0; justify-content: flex-end; gap: 6px; }
}
@media (max-height: 760px) {
  .desktopClient .authScreen { padding-top: 48px; padding-bottom: 64px; }
  .desktopClient .entranceCopy { padding-top: 28px; padding-bottom: 32px; }
}
@media (prefers-reduced-motion: reduce) {
  .desktopClient *, .desktopClient *::before, .desktopClient *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
