/* Shared Nintendo Switch-style stage for all six games. */
@media (orientation: landscape) and (max-width: 1024px) and (max-height: 600px) {
  html:has(body[data-gsh-game]),
  body[data-gsh-game] {
    width: 100%;
    height: 100%;
    overflow: hidden;
  }

  body.gsh-ml-active {
    --gsh-ml-safe-l: max(12px, env(safe-area-inset-left));
    --gsh-ml-safe-r: max(12px, env(safe-area-inset-right));
    --gsh-ml-safe-t: max(8px, env(safe-area-inset-top));
    --gsh-ml-safe-b: max(8px, env(safe-area-inset-bottom));
    --gsh-ml-top-h: clamp(40px, 11dvh, 52px);
    --gsh-ml-gap: clamp(4px, 1.3dvh, 10px);
    --gsh-ml-top-control-gap: 5px;
    --gsh-ml-pad: clamp(6px, 1.7dvh, 12px);
    --gsh-ml-font-sm: clamp(11px, 2.7dvh, 15px);
    --gsh-ml-font: clamp(13px, 3.2dvh, 18px);
    --gsh-ml-control-h: clamp(34px, 10dvh, 48px);
    --gsh-ml-answer-h: clamp(38px, 16dvh, 56px);
    --gsh-ml-position-two-size: clamp(64px, 22.5dvh, 88px);
    --gsh-ml-tone-choice: clamp(64px, 24dvh, 96px);
    --gsh-ml-key-h: clamp(40px, 11.5dvh, 56px);
    --gsh-ml-kbd-gap: clamp(1px, .2dvh, 1.5px);
    position: fixed;
    inset: 0;
    min-height: 0;
    padding: 0 !important;
  }

  body[data-gsh-game="tone"].gsh-ml-active {
    --gsh-ml-tone-choice: var(--gsh-ml-position-two-size);
  }

  body.gsh-ml-active > .avail-band,
  body.gsh-ml-active > .site-nav,
  body.gsh-ml-active > .page-strip,
  body.gsh-ml-active > #bottom-nav,
  body.gsh-ml-active > footer,
  body.gsh-ml-active .gsh-page-header,
  body.gsh-ml-active .tf-page-header,
  body.gsh-ml-active .bars-wrap,
  body.gsh-ml-active .gsh-progress,
  body.gsh-ml-active #mina-toast,
  body.gsh-ml-active #tf-mina-toast,
  body.gsh-ml-active #rg-cta-login {
    display: none !important;
  }

  body.gsh-ml-active > .gsh-shell,
  body.gsh-ml-active > .page,
  body.gsh-ml-active > #buildPanel,
  body.gsh-ml-active > .gsh-resume-banner,
  body.gsh-ml-active > [data-shared-result-ui="v1"] {
    opacity: 0;
    pointer-events: none;
    user-select: none;
  }

  body.gsh-ml-active #gc-cap-banner {
    display: none !important;
  }

  #gsh-ml-stage {
    position: fixed;
    z-index: 900;
    inset: 0;
    box-sizing: border-box;
    padding: var(--gsh-ml-safe-t) var(--gsh-ml-safe-r) var(--gsh-ml-safe-b) var(--gsh-ml-safe-l);
    display: grid;
    grid-template-rows: var(--gsh-ml-top-h) minmax(0, 1fr);
    gap: var(--gsh-ml-gap);
    overflow: hidden;
    background: #f5f0e8;
    color: var(--ink, #1c1c1c);
    font-family: 'Noto Sans TC', sans-serif;
  }

  .gsh-ml-top,
  .gsh-ml-play,
  .gsh-ml-exclusive {
    min-width: 0;
    min-height: 0;
    display: grid;
    grid-template-columns: minmax(0, 30fr) minmax(0, 40fr) minmax(0, 30fr);
    column-gap: var(--gsh-ml-gap);
  }

  .gsh-ml-top { grid-row: 1; align-items: center; position: relative; z-index: 20; }
  .gsh-ml-play,
  .gsh-ml-exclusive { grid-row: 2; grid-column: 1; position: relative; overflow: hidden; }

  [data-gsh-ml-slot] { box-sizing: border-box; min-width: 0; min-height: 0; }
  [data-gsh-ml-slot="dropdowns"],
  [data-gsh-ml-slot="shared-controls"],
  [data-gsh-ml-slot="main-action"] {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    gap: var(--gsh-ml-gap);
    overflow: visible;
  }
  [data-gsh-ml-slot="dropdowns"] { justify-content: flex-start; z-index: 3; }
  [data-gsh-ml-slot="shared-controls"] { justify-content: center; }
  [data-gsh-ml-slot="main-action"] { justify-content: flex-end; z-index: 3; }

  [data-gsh-ml-slot="shared-controls"] .rg-ctl-wrap {
    position: static !important;
    inset: auto !important;
    width: auto !important;
    max-width: 100% !important;
    height: var(--gsh-ml-control-h) !important;
    margin: 0 !important;
    transform: none !important;
    display: flex !important;
    flex: 0 1 auto;
    flex-flow: row nowrap !important;
    align-items: center !important;
    justify-content: center !important;
    gap: var(--gsh-ml-gap) !important;
  }
  [data-gsh-ml-slot="shared-controls"] button.rg-ctl-fab[aria-pressed] {
    display: none !important;
  }

  body[data-gsh-game="tone"].gsh-ml-active [data-gsh-ml-slot="shared-controls"] .tf-page-title {
    position: static !important;
    inset: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    color: var(--gold-deep, #8b6310);
    font-size: clamp(15px, 4.2dvh, 21px) !important;
    line-height: 1.1 !important;
    letter-spacing: clamp(.4px, .15vw, 1px) !important;
    text-align: center;
    white-space: nowrap;
    text-overflow: ellipsis;
    pointer-events: none;
  }

  body[data-gsh-game="tone"].gsh-ml-active [data-gsh-ml-slot="main-action"] .rg-ctl-wrap {
    position: static !important;
    inset: auto !important;
    width: auto !important;
    max-width: 100% !important;
    height: var(--gsh-ml-control-h) !important;
    margin: 0 !important;
    transform: none !important;
    display: flex !important;
    flex: 0 1 auto;
    flex-flow: row nowrap !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: var(--gsh-ml-top-control-gap) !important;
  }
  body[data-gsh-game="tone"].gsh-ml-active [data-gsh-ml-slot="main-action"] .rg-ctl-wrap > button.rg-ctl-fab {
    width: var(--gsh-ml-control-h) !important;
    min-width: var(--gsh-ml-control-h) !important;
    max-width: var(--gsh-ml-control-h) !important;
    height: var(--gsh-ml-control-h) !important;
    min-height: var(--gsh-ml-control-h) !important;
    max-height: var(--gsh-ml-control-h) !important;
    padding: 0 !important;
    border-radius: 50% !important;
    line-height: 1 !important;
    white-space: nowrap;
  }
  body[data-gsh-game="tone"].gsh-ml-active [data-gsh-ml-slot="main-action"] .rg-ctl-wrap > button.rg-ctl-fab[aria-pressed] {
    display: none !important;
  }

  [data-gsh-ml-slot="main-action"] > *,
  [data-gsh-ml-slot="main-action"] .btn,
  [data-gsh-ml-slot="main-action"] button {
    position: static !important;
    inset: auto !important;
    width: auto !important;
    max-width: 100% !important;
    min-height: var(--gsh-ml-control-h);
    margin: 0 !important;
    padding: 5px 10px !important;
    flex: 0 1 auto;
    white-space: normal;
    line-height: 1.15;
  }
  [data-gsh-ml-slot="main-action"] #tf-nav-bar,
  [data-gsh-ml-slot="main-action"] .out-actions {
    display: flex !important;
    align-items: center;
    justify-content: flex-end;
    gap: var(--gsh-ml-gap);
    padding: 0 !important;
  }
  [data-gsh-ml-slot="main-action"] #tf-nav-bar {
    width: 100% !important;
    max-width: 100% !important;
    min-height: var(--gsh-ml-control-h);
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }
  [data-gsh-ml-slot="main-action"] #tf-nav-bar .tf-nav-btn {
    width: 0 !important;
    height: var(--gsh-ml-control-h) !important;
    min-height: var(--gsh-ml-control-h) !important;
    max-height: var(--gsh-ml-control-h) !important;
    flex: 1 1 0 !important;
    border-radius: 999px !important;
    padding: 5px 8px !important;
    line-height: 1 !important;
    white-space: nowrap;
  }
  [data-gsh-ml-slot="main-action"] #tf-nav-bar .tf-nav-btn:disabled {
    opacity: .32;
    cursor: default;
  }

  [data-gsh-ml-slot="left"] { grid-column: 1; }
  [data-gsh-ml-slot="center"] {
    grid-column: 2;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: center;
    gap: var(--gsh-ml-gap);
    overflow: hidden;
    z-index: 2;
  }
  [data-gsh-ml-slot="right"] { grid-column: 3; }
  [data-gsh-ml-slot="left"],
  [data-gsh-ml-slot="right"] {
    display: flex;
    flex-direction: column;
    justify-content: center;
    overflow: auto;
    overscroll-behavior: contain;
  }
  [data-gsh-ml-slot="account"] {
    flex: 0 0 auto;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: var(--gsh-ml-font-sm);
    max-height: var(--gsh-ml-control-h);
    overflow: hidden;
  }
  [data-gsh-ml-slot="question"],
  [data-gsh-ml-slot="current-input"] {
    min-width: 0;
    min-height: 0;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: center;
    gap: var(--gsh-ml-gap);
    overflow: hidden;
    overflow-wrap: anywhere;
  }
  [data-gsh-ml-slot="question"] > *,
  [data-gsh-ml-slot="current-input"] > * {
    position: static !important;
    inset: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    margin: 0 !important;
    transform: none !important;
    box-sizing: border-box;
  }
  [data-gsh-ml-slot="question"] .word-area,
  [data-gsh-ml-slot="question"] .lg-word-area,
  [data-gsh-ml-slot="question"] #tf-banner,
  [data-gsh-ml-slot="question"] .out-banner { padding: var(--gsh-ml-pad) !important; overflow: hidden; }
  [data-gsh-ml-slot="question"] #tf-body { overflow: hidden; }
  [data-gsh-ml-slot="question"] #tf-body > * { max-width: 100%; box-sizing: border-box; }
  [data-gsh-ml-slot="current-input"] input { width: 100%; box-sizing: border-box; }

  [data-gsh-ml-slot="split-content"],
  [data-gsh-ml-slot="split-keyboard"] {
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    overflow: hidden;
  }
  [data-gsh-ml-slot="split-keyboard"] { z-index: 3; }

  [data-gsh-ml-split] {
    position: static !important;
    inset: auto !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 0;
    min-height: 0;
    max-width: none !important;
    margin: 0 !important;
    padding: var(--gsh-ml-pad) 0 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 30fr) minmax(0, 40fr) minmax(0, 30fr);
    grid-auto-rows: min-content;
    align-content: center;
    column-gap: var(--gsh-ml-gap);
    row-gap: var(--gsh-ml-gap);
    overflow: auto;
    overscroll-behavior: contain;
    pointer-events: auto;
    box-sizing: border-box;
  }
  [data-gsh-ml-split] > [data-gsh-side="left"] { grid-column: 1; }
  [data-gsh-ml-split] > [data-gsh-side="right"] { grid-column: 3; }
  [data-gsh-ml-split] > .used { display: none !important; }
  [data-gsh-ml-split] button,
  [data-gsh-ml-split] .btn,
  [data-gsh-ml-split] .lg-opt,
  [data-gsh-ml-split] .wo-tile {
    min-width: 0;
    width: max-content;
    max-width: 100%;
    min-height: var(--gsh-ml-control-h);
    max-height: var(--gsh-ml-answer-h);
    box-sizing: border-box;
    padding: clamp(5px, 1.3dvh, 9px) clamp(8px, 1.5vw, 14px) !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    justify-self: center;
    text-align: center;
    overflow-wrap: anywhere;
    line-height: 1.15;
    font-size: var(--gsh-ml-font);
  }

  body.gsh-ml-active[data-gsh-game="word-order"]
  [data-gsh-ml-split="word-order"] {
    grid-template-columns: minmax(0, 30fr) minmax(0, 40fr) minmax(0, 30fr) !important;
    column-gap: var(--gsh-ml-gap) !important;
    grid-template-rows: repeat(100, minmax(0, 1fr));
    grid-auto-rows: minmax(0, 1fr);
    align-content: stretch;
    row-gap: 0 !important;
    padding-block: clamp(4px, 1.2dvh, 8px) !important;
    overflow-y: hidden;
    overflow-x: hidden;
  }
  body.gsh-ml-active[data-gsh-game="word-order"]
  [data-gsh-ml-split="word-order"] > .wo-tile {
    min-width: clamp(92px, 15vw, 150px);
    max-width: min(100%, 230px);
    min-height: clamp(46px, 12dvh, 58px);
    padding:
      clamp(7px, 1.8dvh, 11px)
      clamp(12px, 2vw, 20px) !important;
    border-radius: clamp(12px, 2vw, 16px);
    font-size: clamp(18px, 4.7dvh, 23px);
    line-height: 1.12;
    white-space: normal;
    overflow-wrap: anywhere;
    grid-row: var(--gsh-ml-row-start) / span var(--gsh-ml-row-span);
    align-self: center;
    margin-block: 3px !important;
  }
  body.gsh-ml-active[data-gsh-game="word-order"]
  [data-gsh-ml-slot="center"] {
    justify-content: flex-start;
    padding-top: clamp(6px, 2dvh, 12px);
  }
  body.gsh-ml-active[data-gsh-game="word-order"]
  [data-gsh-ml-slot="question"] {
    justify-content: flex-start;
  }
  body.gsh-ml-active[data-gsh-game="word-order"] #gsh-ml-word-order-question {
    flex: 0 0 auto;
    width: 100%;
    padding: clamp(2px, .7dvh, 4px) var(--gsh-ml-pad);
    color: var(--gold-deep, #8b6310);
    font-family: 'Noto Sans TC', sans-serif;
    font-size: clamp(18px, 5dvh, 25px);
    font-weight: 800;
    line-height: 1.2;
    text-align: center;
    overflow-wrap: anywhere;
  }
  body.gsh-ml-active[data-gsh-game="word-order"] #wo-slots {
    gap: clamp(4px, 1.3dvh, 8px) !important;
    padding: clamp(5px, 1.5dvh, 8px) !important;
    min-height: 0;
  }
  body.gsh-ml-active[data-gsh-game="word-order"] #wo-slots .wo-slot {
    min-width: clamp(54px, 8vw, 76px);
    min-height: clamp(42px, 11dvh, 50px);
    padding: 4px clamp(7px, 1.2vw, 10px);
    font-size: clamp(18px, 4.8dvh, 23px);
    line-height: 1.1;
  }

  body.gsh-ml-active #gsh-ml-stage .gsh-split-thai-keyboard {
    width: 100%;
    height: 100%;
    padding: 0 !important;
    display: grid !important;
    grid-template-rows: repeat(5, var(--gsh-ml-key-h));
    gap: var(--gsh-ml-kbd-gap);
    align-content: end;
    pointer-events: auto;
    background: transparent !important;
    box-shadow: none !important;
    overflow: hidden;
  }
  body[data-gsh-game="typing"].gsh-ml-active #gsh-ml-stage #rg-kbd {
    max-width: none !important;
    align-content: center;
    touch-action: none;
    user-select: none;
    -webkit-user-select: none;
  }
  body[data-gsh-game="typing"].gsh-ml-active #gsh-ml-stage #rg-kbd .gsh-split-kbd-row {
    grid-template-columns: minmax(0, 30fr) minmax(0, 40fr) minmax(0, 30fr) !important;
    column-gap: var(--gsh-ml-gap);
  }
  body[data-gsh-game="typing"].gsh-ml-active #gsh-ml-stage #rg-kbd .gsh-split-kbd-half {
    padding-inline: clamp(3px, .8dvh, 5px);
    box-sizing: border-box;
  }
  .gsh-split-kbd-row {
    min-width: 0;
    min-height: 0;
    display: grid !important;
    grid-template-columns: minmax(0, 40fr) minmax(0, 20fr) minmax(0, 40fr);
    column-gap: 0;
  }
  .gsh-split-kbd-half {
    min-width: 0;
    min-height: 0;
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: minmax(0, 1fr);
    gap: var(--gsh-ml-kbd-gap);
  }
  .gsh-split-kbd-half[data-gsh-side="left"] { grid-column: 1; }
  .gsh-split-kbd-half[data-gsh-side="right"] { grid-column: 3; }
  body.gsh-ml-active #gsh-ml-stage .gsh-split-thai-keyboard .gsh-kbd-key {
    min-width: 0 !important;
    width: auto !important;
    max-width: none !important;
    height: var(--gsh-ml-key-h) !important;
    min-height: var(--gsh-ml-key-h) !important;
    max-height: var(--gsh-ml-key-h);
  }
  body.gsh-ml-active #gsh-ml-stage .gsh-split-thai-keyboard .tk-base { font-size: 15px; }
  body.gsh-ml-active #gsh-ml-stage .gsh-split-thai-keyboard .tk-shift { font-size: 9px; }
  body[data-gsh-game="typing"].gsh-ml-active #gsh-ml-stage #rg-kbd.shift-on .tk-key .tk-shift {
    font-size: 15px;
    color: #3a2a0a;
    font-weight: 700;
    line-height: 1.15;
  }
  body[data-gsh-game="typing"].gsh-ml-active #gsh-ml-stage #rg-kbd.shift-on .tk-key .tk-base {
    font-size: 9px;
    color: #b89860;
    font-weight: 400;
    line-height: 1;
  }
  body.gsh-ml-active #gsh-ml-stage .gsh-split-thai-keyboard .gsh-kbd-function { font-size: var(--gsh-ml-font-sm); }

  body[data-gsh-game="typing"].gsh-ml-active [data-gsh-ml-slot="center"],
  body[data-gsh-game="typing"].gsh-ml-active [data-gsh-ml-slot="question"],
  body[data-gsh-game="typing"].gsh-ml-active [data-gsh-ml-slot="current-input"] {
    justify-content: flex-start;
  }
  body[data-gsh-game="typing"].gsh-ml-active [data-gsh-ml-slot="question"] > *,
  body[data-gsh-game="typing"].gsh-ml-active [data-gsh-ml-slot="current-input"] > * {
    width: 52.5% !important;
    max-width: 52.5% !important;
    align-self: center;
  }
  body[data-gsh-game="typing"].gsh-ml-active [data-gsh-ml-slot="question"] .word-area {
    flex: 0 1 auto;
    padding: clamp(3px, .8dvh, 6px) var(--gsh-ml-pad) !important;
    overflow: hidden;
  }
  body[data-gsh-game="typing"].gsh-ml-active [data-gsh-ml-slot="question"] #slot-row {
    flex: 0 1 auto;
    gap: clamp(2px, .5dvh, 4px);
    overflow: hidden;
  }
  body[data-gsh-game="typing"].gsh-ml-active [data-gsh-ml-slot="current-input"] #rg-type-wrap {
    flex: 0 0 auto;
    min-height: var(--gsh-ml-control-h);
  }
  @media (min-width: 800px) and (max-width: 900px) and (max-height: 430px) {
    body[data-gsh-game="typing"].gsh-ml-active [data-gsh-ml-slot="question"] > *,
    body[data-gsh-game="typing"].gsh-ml-active [data-gsh-ml-slot="current-input"] > * {
      width: 100% !important;
      max-width: 100% !important;
    }
    body[data-gsh-game="typing"].gsh-ml-active [data-gsh-ml-slot="question"] .word-th {
      padding-block: 1px !important;
      font-size: clamp(21px, 6dvh, 24px) !important;
      line-height: 1.25 !important;
    }
    body[data-gsh-game="typing"].gsh-ml-active [data-gsh-ml-slot="question"] .gsh-copy-row {
      margin-top: 2px !important;
      font-size: clamp(11px, 3dvh, 13px) !important;
      line-height: 1.25 !important;
    }
    body[data-gsh-game="typing"].gsh-ml-active [data-gsh-ml-slot="current-input"] .type-target {
      width: 100% !important;
      max-width: 100% !important;
      min-height: var(--gsh-ml-control-h) !important;
      padding: 4px 8px !important;
      font-size: clamp(19px, 5.5dvh, 22px) !important;
      line-height: 1.25 !important;
      overflow-wrap: anywhere;
    }
  }
  body[data-gsh-game="typing"].gsh-ml-active [data-gsh-ml-slot="left"],
  body[data-gsh-game="typing"].gsh-ml-active [data-gsh-ml-slot="right"] {
    overflow: hidden;
    overscroll-behavior: none;
  }
  body[data-gsh-game="typing"].gsh-ml-active [data-gsh-dropdown="tools"] #word-ctl-row {
    display: flex !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: var(--gsh-ml-gap) !important;
    flex-wrap: wrap !important;
  }
  body[data-gsh-game="typing"].gsh-ml-active [data-gsh-dropdown="tools"] #word-ctl-row > * {
    flex: 1 1 calc(33.333% - var(--gsh-ml-gap));
    min-width: var(--gsh-ml-control-h);
    height: var(--gsh-ml-control-h) !important;
    min-height: var(--gsh-ml-control-h) !important;
    max-height: var(--gsh-ml-control-h) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .gsh-ml-dropdown { position: relative; z-index: 2; flex: 0 1 auto; min-width: 0; }
  .gsh-ml-dropdown-trigger {
    min-width: 0;
    min-height: var(--gsh-ml-control-h);
    padding: 5px clamp(7px, 1.2vw, 12px);
    border: 1.5px solid var(--gold-bright, #c8973a);
    border-radius: 999px;
    background: #fff;
    color: var(--gold-deep, #8b6310);
    font: 700 var(--gsh-ml-font-sm)/1 'Noto Sans TC', sans-serif;
    white-space: nowrap;
    cursor: pointer;
    pointer-events: auto;
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
  }
  [data-gsh-ml-quick-action] {
    position: static !important;
    inset: auto !important;
    min-width: 0 !important;
    width: auto !important;
    max-width: none !important;
    min-height: var(--gsh-ml-control-h) !important;
    height: var(--gsh-ml-control-h) !important;
    margin: 0 !important;
    padding: 5px clamp(7px, 1.2vw, 12px) !important;
    border: 1.5px solid var(--gold-bright, #c8973a) !important;
    border-radius: 999px !important;
    background: #fff !important;
    color: transparent !important;
    font-size: 0 !important;
    box-shadow: none !important;
    white-space: nowrap;
    cursor: pointer;
    pointer-events: auto !important;
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
  }
  [data-gsh-ml-quick-action]::after {
    content: attr(data-gsh-ml-quick-action);
    color: var(--gold-deep, #8b6310);
    font: 700 var(--gsh-ml-font-sm)/1 'Noto Sans TC', sans-serif;
  }
  .gsh-ml-dropdown-panel {
    position: fixed;
    z-index: 1300;
    min-width: min(220px, 42vw);
    max-width: calc(100vw - var(--gsh-ml-safe-l) - var(--gsh-ml-safe-r));
    max-height: calc(100dvh - var(--gsh-ml-safe-t) - var(--gsh-ml-safe-b) - var(--gsh-ml-top-h) - var(--gsh-ml-gap));
    padding: var(--gsh-ml-pad);
    border: 1.5px solid var(--gold-bright, #c8973a);
    border-radius: 12px;
    background: #fffdf7;
    box-shadow: 0 8px 28px rgba(58, 42, 10, .22);
    overflow: auto;
    overscroll-behavior: contain;
    pointer-events: auto;
    touch-action: pan-y;
  }
  .gsh-ml-dropdown-panel[hidden] { display: none !important; }
  .gsh-ml-dropdown-panel > * {
    position: static !important;
    inset: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 var(--gsh-ml-gap) !important;
    transform: none !important;
    box-sizing: border-box;
  }
  .gsh-ml-dropdown-panel .level-tabs,
  .gsh-ml-dropdown-panel .mode-tabs,
  .gsh-ml-dropdown-panel .gsh-level-selector {
    display: flex !important;
    flex-wrap: wrap;
    gap: var(--gsh-ml-gap);
  }
  .gsh-ml-dropdown-panel button,
  .gsh-ml-dropdown-panel [role="button"] {
    min-height: var(--gsh-ml-control-h);
    pointer-events: auto;
    touch-action: manipulation;
  }

  body[data-gsh-game="tone"].gsh-ml-active [data-gsh-dropdown="level"] .gsh-level-selector {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: stretch;
    justify-content: center;
    gap: var(--gsh-ml-gap);
  }
  body[data-gsh-game="tone"].gsh-ml-active [data-gsh-dropdown="level"] .tf-ltab {
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 4px 6px !important;
    border: 0 !important;
    border-radius: 9px !important;
    box-shadow: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    pointer-events: auto !important;
    touch-action: manipulation;
  }

  body.gsh-ml-active [data-gsh-ml-slot="main-action"] .rg-ctl-wrap > button.rg-ctl-fab {
    position: relative !important;
    z-index: 2;
    pointer-events: auto !important;
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
  }
  body[data-gsh-game="tone"].gsh-ml-active [data-gsh-dropdown="level"] .tf-ltab:not(.active) {
    background: transparent !important;
  }

  [data-gsh-dropdown="tools"] .gsh-ml-dropdown-panel > [data-gsh-ml-tool-label] {
    height: var(--gsh-ml-control-h) !important;
    min-height: var(--gsh-ml-control-h) !important;
    max-height: var(--gsh-ml-control-h) !important;
    padding: 4px 8px !important;
    display: grid;
    grid-template-columns: 28px max-content;
    align-items: center;
    justify-content: center;
    gap: 9px;
    border: 1px solid rgba(139, 99, 16, .18);
    border-radius: 9px;
    background: #fff;
    color: var(--gold-deep, #8b6310);
    text-align: center;
  }
  [data-gsh-dropdown="tools"] .gsh-ml-dropdown-panel > [data-gsh-ml-tool-label]::after {
    content: attr(data-gsh-ml-tool-label);
    grid-column: 2;
    text-align: center;
    font: 700 var(--gsh-ml-font-sm)/1.2 'Noto Sans TC', sans-serif;
    white-space: nowrap;
  }
  body.gsh-ml-active [data-gsh-dropdown="tools"] .gsh-ml-dropdown-panel > [data-gsh-ml-tool-label] {
    grid-template-columns: 28px minmax(0, 1fr);
    width: 100% !important;
    padding-inline: clamp(12px, 2vw, 18px) !important;
    justify-content: stretch;
    gap: 8px;
    border: 0 !important;
    background: transparent;
    border-radius: 10px !important;
    text-align: left;
    box-shadow: none !important;
    cursor: pointer;
  }
  [data-gsh-dropdown="tools"] .gsh-ml-dropdown-panel > [data-gsh-ml-tool-label]::after {
    content: none !important;
  }
  [data-gsh-dropdown="tools"] .gsh-ml-dropdown-panel .gsh-ml-tool-text {
    grid-column: 2;
    grid-row: 1;
    min-width: 0;
    color: var(--gold-deep, #8b6310) !important;
    -webkit-text-fill-color: var(--gold-deep, #8b6310) !important;
    font: 700 var(--gsh-ml-font-sm)/1.2 'Noto Sans TC', sans-serif !important;
    text-align: left;
    white-space: nowrap;
  }
  [data-gsh-dropdown="level"] .gsh-ml-dropdown-panel > * {
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
  }
  body.gsh-ml-active #game-switcher[data-gsh-ml-utility-panel] .gs-tab,
  body.gsh-ml-active .grw-menu[data-gsh-ml-utility-panel] .grw-item {
    justify-content: flex-start !important;
    text-align: left !important;
    padding-inline: clamp(12px, 2vw, 18px) !important;
    border: 0 !important;
    box-shadow: none !important;
  }
  body.gsh-ml-active #game-switcher[data-gsh-ml-utility-panel] .gs-divider {
    display: none !important;
  }
  body.gsh-ml-active [data-gsh-dropdown="tools"] .gsh-ml-dropdown-panel {
    width: min(240px, 42vw) !important;
    min-width: min(220px, 42vw) !important;
    max-width: min(240px, calc(100vw - var(--gsh-ml-safe-l) - var(--gsh-ml-safe-r))) !important;
    max-height: calc(var(--gsh-ml-control-h) + var(--gsh-ml-control-h) + var(--gsh-ml-control-h) + var(--gsh-ml-control-h) + var(--gsh-ml-control-h) + var(--gsh-ml-control-h) + var(--gsh-ml-gap) + var(--gsh-ml-gap) + var(--gsh-ml-gap) + var(--gsh-ml-gap) + var(--gsh-ml-gap) + var(--gsh-ml-pad) + var(--gsh-ml-pad)) !important;
    display: flex;
    flex-direction: column;
    gap: var(--gsh-ml-gap);
    padding: var(--gsh-ml-pad) !important;
    border: 1.5px solid rgba(139, 99, 16, .25) !important;
    border-radius: 14px !important;
    background: #faf4e8 !important;
    box-shadow: 0 6px 24px rgba(90, 62, 10, .22) !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
  }
  body.gsh-ml-active [data-gsh-dropdown="tools"] .gsh-ml-dropdown-panel[hidden] {
    display: none !important;
  }
  body.gsh-ml-active [data-gsh-dropdown="tools"] .gsh-ml-dropdown-panel > [data-gsh-ml-tool-label] {
    margin: 0 !important;
  }
  body.gsh-ml-active [data-gsh-dropdown="tools"] .gsh-ml-dropdown-panel > [data-gsh-ml-tool-label]::after {
    content: none;
  }
  body.gsh-ml-active [data-gsh-dropdown="tools"] .gsh-ml-dropdown-panel .gsh-ml-tool-text {
    grid-column: 2;
    grid-row: 1;
    min-width: 54px;
    color: var(--gold-deep, #8b6310) !important;
    -webkit-text-fill-color: var(--gold-deep, #8b6310) !important;
    font: 700 var(--gsh-ml-font-sm)/1.2 'Noto Sans TC', sans-serif !important;
    text-align: left;
    white-space: nowrap;
  }
  [data-gsh-dropdown="tools"] .gsh-ml-dropdown-panel > [data-gsh-ml-direct-tool="true"] {
    font-size: 0 !important;
    color: transparent !important;
    overflow: hidden;
  }
  [data-gsh-dropdown="tools"] .gsh-ml-dropdown-panel > [data-gsh-ml-direct-tool="true"]::before {
    content: attr(data-gsh-ml-tool-icon);
    grid-column: 1;
    grid-row: 1;
    color: var(--gold-deep, #8b6310);
    font-size: 18px;
    line-height: 1;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--gold-bright, #c8973a), var(--gold-deep, #8b6310));
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
  }
  [data-gsh-dropdown="tools"] .gsh-ml-dropdown-panel > [data-gsh-ml-direct-tool="true"]::after {
    color: var(--gold-deep, #8b6310) !important;
    -webkit-text-fill-color: var(--gold-deep, #8b6310) !important;
    opacity: 1 !important;
    position: relative;
    z-index: 1;
  }
  [data-gsh-dropdown="tools"] .gsh-ml-dropdown-panel > [data-gsh-ml-tool-label] > button {
    grid-column: 1;
    grid-row: 1;
    width: 28px !important;
    height: 28px !important;
    min-height: 28px !important;
    padding: 0 !important;
    margin: 0 !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    border-radius: 50% !important;
    background: linear-gradient(135deg, var(--gold-bright, #c8973a), var(--gold-deep, #8b6310)) !important;
    color: #fff !important;
  }
  [data-gsh-dropdown="tools"] .gsh-ml-dropdown-panel > [data-gsh-ml-tool-label][data-gsh-ml-unavailable="true"] {
    opacity: .42;
    cursor: not-allowed;
    pointer-events: none;
    filter: grayscale(.75);
  }
  [data-gsh-dropdown="tools"] .gsh-ml-dropdown-panel > [data-gsh-ml-tool-label][data-gsh-ml-unavailable="false"] {
    opacity: 1;
    filter: none;
  }

  /* Floating utility menus always open below their trigger. */
  body.gsh-ml-active #game-switcher[data-gsh-ml-utility-panel],
  body.gsh-ml-active #core5-more-menu[data-gsh-ml-utility-panel],
  body.gsh-ml-active #grw-feedback-menu[data-gsh-ml-utility-panel] {
    position: fixed !important;
    width: min(240px, 42vw) !important;
    min-width: min(220px, 42vw) !important;
    max-width: min(240px, calc(100vw - var(--gsh-ml-safe-l) - var(--gsh-ml-safe-r))) !important;
    max-height: calc(var(--gsh-ml-control-h) + var(--gsh-ml-control-h) + var(--gsh-ml-control-h) + var(--gsh-ml-gap) + var(--gsh-ml-gap) + var(--gsh-ml-pad) + var(--gsh-ml-pad)) !important;
    padding: var(--gsh-ml-pad) !important;
    gap: var(--gsh-ml-gap) !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
    z-index: 1400 !important;
  }
  body.gsh-ml-active #game-switcher[data-gsh-ml-utility-panel] {
    max-height: calc((7 * var(--gsh-ml-control-h)) + (6 * var(--gsh-ml-gap)) + (2 * var(--gsh-ml-pad))) !important;
  }
  body.gsh-ml-active #game-switcher[data-gsh-ml-utility-panel] .gs-tab,
  body.gsh-ml-active .grw-menu[data-gsh-ml-utility-panel] .grw-item {
    box-sizing: border-box;
    width: 100%;
    min-height: var(--gsh-ml-control-h) !important;
    height: var(--gsh-ml-control-h) !important;
    max-height: var(--gsh-ml-control-h) !important;
    margin: 0 !important;
    justify-content: center !important;
    text-align: center !important;
  }
  body.gsh-ml-active #game-switcher[data-gsh-ml-utility-panel] .gs-tab,
  body.gsh-ml-active .grw-menu[data-gsh-ml-utility-panel] .grw-item {
    justify-content: flex-start !important;
    text-align: left !important;
    padding-inline: clamp(12px, 2vw, 18px) !important;
    border: 0 !important;
    box-shadow: none !important;
  }
  body.gsh-ml-active #game-switcher[data-gsh-ml-utility-panel] .gs-divider {
    display: none !important;
  }

  body[data-gsh-game="tone"].gsh-ml-active [data-gsh-ml-slot="center"],
  body[data-gsh-game="tone"].gsh-ml-active [data-gsh-ml-slot="question"],
  body[data-gsh-game="tone"].gsh-ml-active [data-gsh-ml-slot="current-input"] {
    justify-content: flex-start;
  }
  body[data-gsh-game="tone"].gsh-ml-active [data-gsh-ml-slot="left"],
  body[data-gsh-game="tone"].gsh-ml-active [data-gsh-ml-slot="right"],
  body[data-gsh-game="tone"].gsh-ml-active [data-gsh-ml-split="tone"] {
    overflow-y: hidden;
    overscroll-behavior-y: none;
  }
  body[data-gsh-game="tone"].gsh-ml-active [data-gsh-ml-split="tone"] {
    overflow-x: auto;
    align-content: center;
    padding-block: var(--gsh-ml-pad) !important;
  }
  body[data-gsh-game="tone"].gsh-ml-active [data-gsh-ml-slot="question"] #tf-banner,
  body[data-gsh-game="tone"].gsh-ml-active [data-gsh-ml-slot="question"] #tf-body {
    overflow-x: hidden !important;
  }
  body[data-gsh-game="tone"].gsh-ml-active [data-gsh-ml-slot="question"] #tf-body {
    flex: 1 1 auto;
    min-height: 0;
    padding: clamp(2px, .8dvh, 5px) clamp(6px, 1vw, 10px) !important;
    overflow-y: auto !important;
    overscroll-behavior-y: contain;
    -webkit-overflow-scrolling: touch;
    touch-action: pan-y;
    scrollbar-width: thin;
  }
  body[data-gsh-game="tone"].gsh-ml-active [data-gsh-ml-slot="question"] #tf-banner {
    flex: 0 1 auto;
    padding: clamp(3px, 1dvh, 6px) !important;
  }
  /* Tone: reserve the center column for the word and its explanation. Skip is
     the single bottom action and must never float into that content area. */
  body[data-gsh-game="tone"].gsh-ml-active [data-gsh-ml-slot="question"] {
    flex: 1 1 auto;
    min-height: 0;
  }
  body[data-gsh-game="tone"].gsh-ml-active [data-gsh-ml-slot="current-input"]:has(> [data-gsh-ml-role="skip"]) {
    flex: 0 0 auto;
    margin-top: auto;
    padding-top: var(--gsh-ml-gap);
    justify-content: flex-end;
  }
  /* While Tone choices are split into the two side columns, the center owns
     only the vocabulary card and the bottom Skip action. Let the vocabulary
     card consume the full remaining height so its lower edge reaches Skip,
     and collapse the now-empty source body that previously left a large gap. */
  body[data-gsh-game="tone"].gsh-ml-active
  #gsh-ml-stage:has([data-gsh-ml-split="tone"] > .sg-tone-btn)
  [data-gsh-ml-slot="question"] #tf-banner {
    flex: 1 1 auto;
    min-height: 0;
    display: flex !important;
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }
  body[data-gsh-game="tone"].gsh-ml-active
  #gsh-ml-stage:has([data-gsh-ml-split="tone"] > .sg-tone-btn)
  [data-gsh-ml-slot="question"] #tf-body {
    flex: 0 0 0;
    width: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
  }
  body[data-gsh-game="tone"].gsh-ml-active .sg-tone-grid + div {
    display: none !important;
  }
  body[data-gsh-game="tone"].gsh-ml-active .sg-tone-grid {
    grid-template-rows: repeat(3, var(--gsh-ml-tone-choice));
    grid-auto-rows: var(--gsh-ml-tone-choice);
    align-content: center;
    row-gap: clamp(8px, 2dvh, 12px);
  }
  body[data-gsh-game="tone"].gsh-ml-active .sg-tone-grid > .sg-tone-btn {
    width: var(--gsh-ml-tone-choice) !important;
    height: var(--gsh-ml-tone-choice) !important;
    min-width: var(--gsh-ml-tone-choice) !important;
    min-height: var(--gsh-ml-tone-choice) !important;
    max-width: var(--gsh-ml-tone-choice) !important;
    max-height: var(--gsh-ml-tone-choice) !important;
    aspect-ratio: 1;
    border-radius: 50% !important;
    padding: 0 !important;
    font-size: clamp(24px, 7dvh, 32px) !important;
    line-height: 1 !important;
  }
  body[data-gsh-game="tone"].gsh-ml-active .sg-tone-grid > .sg-tone-btn:nth-child(1) { grid-row: 1; }
  body[data-gsh-game="tone"].gsh-ml-active .sg-tone-grid > .sg-tone-btn:nth-child(2) { grid-row: 2; }
  body[data-gsh-game="tone"].gsh-ml-active .sg-tone-grid > .sg-tone-btn:nth-child(3) { grid-row: 3; }
  body[data-gsh-game="tone"].gsh-ml-active .sg-tone-grid > .sg-tone-btn:nth-child(4) { grid-row: 1; }
  body[data-gsh-game="tone"].gsh-ml-active .sg-tone-grid > .sg-tone-btn:nth-child(5) { grid-row: 2; }
  body[data-gsh-game="tone"].gsh-ml-active .sg-tone-grid > .sg-dontknow-btn {
    grid-column: 3;
    grid-row: 3;
    width: var(--gsh-ml-tone-choice) !important;
    height: var(--gsh-ml-tone-choice) !important;
    min-width: var(--gsh-ml-tone-choice) !important;
    min-height: var(--gsh-ml-tone-choice) !important;
    max-width: var(--gsh-ml-tone-choice) !important;
    max-height: var(--gsh-ml-tone-choice) !important;
    aspect-ratio: 1;
    padding: 6px !important;
    margin: 0 !important;
    border: 2px solid rgba(139, 99, 16, .5) !important;
    border-radius: 50% !important;
    background: #fff !important;
    color: var(--gold-deep, #8b6310) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    justify-self: center;
    align-self: center;
    font-size: var(--gsh-ml-font-sm) !important;
    line-height: 1.15 !important;
  }
  body[data-gsh-game="tone"].gsh-ml-active [data-gsh-ml-slot="right"]:has(> [data-gsh-ml-role^="result-"]),
  body[data-gsh-game="tone"].gsh-ml-active [data-gsh-ml-slot="right"]:has(> [data-gsh-ml-role^="summary-"]),
  body[data-gsh-game="tone"].gsh-ml-active [data-gsh-ml-slot="exclusive-right"]:has(> [data-gsh-ml-role^="summary-"]) {
    display: grid;
    grid-template-rows: repeat(3, var(--gsh-ml-tone-choice));
    align-content: center;
    justify-items: center;
    gap: var(--gsh-ml-gap);
  }
  body[data-gsh-game="tone"].gsh-ml-active [data-gsh-ml-slot="right"] > [data-gsh-ml-role^="result-"],
  body[data-gsh-game="tone"].gsh-ml-active [data-gsh-ml-slot="right"] > [data-gsh-ml-role^="summary-"],
  body[data-gsh-game="tone"].gsh-ml-active [data-gsh-ml-slot="exclusive-right"] > [data-gsh-ml-role^="summary-"] {
    box-sizing: border-box;
    width: var(--gsh-ml-tone-choice) !important;
    height: var(--gsh-ml-tone-choice) !important;
    min-width: var(--gsh-ml-tone-choice) !important;
    min-height: var(--gsh-ml-tone-choice) !important;
    max-width: var(--gsh-ml-tone-choice) !important;
    max-height: var(--gsh-ml-tone-choice) !important;
    aspect-ratio: 1;
    align-self: center;
    justify-self: center;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 6px !important;
    border: 2px solid rgba(139, 99, 16, .5) !important;
    border-radius: 50% !important;
    background: #fff !important;
    color: var(--gold-deep, #8b6310) !important;
    font-size: var(--gsh-ml-font-sm) !important;
    line-height: 1.15 !important;
    text-align: center;
    white-space: normal;
    transform: none !important;
    pointer-events: auto !important;
    touch-action: manipulation;
  }
  body[data-gsh-game="tone"].gsh-ml-active [data-gsh-ml-slot="right"] > [data-gsh-ml-role="result-audio"] {
    grid-row: 1;
    border-color: #ffb347 !important;
    color: #ffb347 !important;
    font-size: clamp(24px, 7dvh, 32px) !important;
  }
  body[data-gsh-game="tone"].gsh-ml-active [data-gsh-ml-slot="right"] > [data-gsh-ml-role="result-english"] {
    grid-row: 2;
    border-color: #c39bff !important;
    color: #c39bff !important;
    font-size: clamp(24px, 7dvh, 32px) !important;
  }
  body[data-gsh-game="tone"].gsh-ml-active [data-gsh-ml-slot="right"] > [data-gsh-ml-role="result-next"] {
    grid-row: 3;
  }
  body[data-gsh-game="tone"].gsh-ml-active [data-gsh-ml-role="summary-replay"] {
    grid-row: 3;
  }
  body.gsh-ml-active #gsh-ml-stage [data-game-result-switch="v1"] {
    display: none !important;
  }
  body.gsh-ml-active #gsh-ml-stage .gsh-result-primary-actions:not(:has(> :not([data-game-result-switch="v1"]))) {
    display: none !important;
  }
  body[data-gsh-game="tone"].gsh-ml-active [data-gsh-ml-slot="left"]:has(> [data-gsh-ml-role="summary-scroll"]),
  body[data-gsh-game="tone"].gsh-ml-active [data-gsh-ml-slot="exclusive-left"]:has(> [data-gsh-ml-role="summary-scroll"]) {
    display: grid;
    grid-template-rows: repeat(3, var(--gsh-ml-tone-choice));
    align-content: center;
    justify-items: center;
    gap: var(--gsh-ml-gap);
  }
  body[data-gsh-game="tone"].gsh-ml-active [data-gsh-ml-role="summary-scroll"] {
    grid-row: 2;
    box-sizing: border-box;
    width: var(--gsh-ml-tone-choice) !important;
    height: var(--gsh-ml-tone-choice) !important;
    min-width: var(--gsh-ml-tone-choice) !important;
    min-height: var(--gsh-ml-tone-choice) !important;
    margin: 0 !important;
    padding: 6px !important;
    display: flex !important;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2px;
    border: 2px dashed rgba(139, 99, 16, .5) !important;
    border-radius: 50% !important;
    background: rgba(255, 255, 255, .8) !important;
    color: var(--gold-deep, #8b6310) !important;
    line-height: 1.05 !important;
    text-align: center;
    touch-action: none;
    user-select: none;
  }
  body[data-gsh-game="tone"].gsh-ml-active [data-gsh-ml-role="summary-scroll"] > span {
    font-size: clamp(22px, 6dvh, 30px);
  }
  body[data-gsh-game="tone"].gsh-ml-active [data-gsh-ml-role="summary-scroll"] > small {
    font-size: clamp(9px, 2.5dvh, 12px);
    font-weight: 800;
  }
  body.gsh-ml-active [data-gsh-ml-slot="current-input"] > [data-gsh-ml-role="skip"] {
    align-self: center;
    width: min(100%, 190px) !important;
    min-height: var(--gsh-ml-control-h) !important;
    padding: 6px 16px !important;
    margin: 0 auto !important;
    border-radius: 999px !important;
    font-size: var(--gsh-ml-font) !important;
    font-weight: 800 !important;
  }
  body[data-gsh-game="tone"].gsh-ml-active .tf-options > .tf-opt-wrap,
  body[data-gsh-game="tone"].gsh-ml-active .tf-mark-opts > .tf-mark-btn {
    width: 100%;
    max-width: 100%;
    justify-self: stretch;
    align-self: center;
    box-sizing: border-box;
  }
  body[data-gsh-game="tone"].gsh-ml-active .tf-options > .tf-opt-wrap {
    min-height: clamp(52px, 14dvh, 60px);
    padding: 0 var(--gsh-ml-pad);
    display: flex !important;
    align-items: center !important;
  }
  body[data-gsh-game="tone"].gsh-ml-active .tf-options > .tf-opt-wrap .tf-opt,
  body[data-gsh-game="tone"].gsh-ml-active .tf-mark-opts > .tf-mark-btn {
    min-height: clamp(52px, 14dvh, 60px);
    max-height: none;
    padding: clamp(8px, 2dvh, 12px) clamp(10px, 1.8vw, 16px) !important;
  }
  body[data-gsh-game="tone"].gsh-ml-active .tf-options > .tf-opt-wrap .tf-tip-btn {
    width: clamp(42px, 11dvh, 48px) !important;
    height: clamp(42px, 11dvh, 48px) !important;
    min-width: clamp(42px, 11dvh, 48px) !important;
    min-height: clamp(42px, 11dvh, 48px) !important;
    padding: 0 !important;
    border-radius: 50% !important;
  }
  body[data-gsh-game="tone"].gsh-ml-active .tf-options[data-gsh-ml-split="tone"] {
    align-content: center !important;
  }
  body[data-gsh-game="tone"].gsh-ml-active #gsh-ml-stage[data-gsh-ml-position-two-zone="open"]
  [data-gsh-ml-split="tone"] {
    grid-template-rows: repeat(2, minmax(0, 1fr));
    grid-auto-rows: minmax(0, 1fr);
    align-content: stretch !important;
    overflow: hidden;
  }
  /* Lin Human review 2026-09-06: Tone derivation choices share exact
     horizontal planes across the two side frames. Their widths/heights may
     remain different. */
  body[data-gsh-game="tone"].gsh-ml-active #gsh-ml-stage[data-gsh-ml-position-two-zone="open"]
  .tf-options:has(> .tf-opt-wrap:nth-child(2):last-child),
  body[data-gsh-game="tone"].gsh-ml-active #gsh-ml-stage[data-gsh-ml-position-two-zone="open"]
  .tf-mark-opts:has(> .tf-mark-btn:nth-child(2):last-child) {
    grid-template-rows: min-content;
    grid-auto-rows: min-content;
    align-content: center !important;
  }
  body[data-gsh-game="tone"].gsh-ml-active #gsh-ml-stage[data-gsh-ml-position-two-zone="open"]
  .tf-options:has(> .tf-opt-wrap:nth-child(3):last-child),
  body[data-gsh-game="tone"].gsh-ml-active #gsh-ml-stage[data-gsh-ml-position-two-zone="open"]
  .tf-options:has(> .tf-opt-wrap:nth-child(4):last-child),
  body[data-gsh-game="tone"].gsh-ml-active #gsh-ml-stage[data-gsh-ml-position-two-zone="open"]
  .tf-mark-opts:has(> .tf-mark-btn:nth-child(4):last-child) {
    grid-template-rows: repeat(2, min-content);
    grid-auto-rows: min-content;
    align-content: center !important;
    row-gap: clamp(14px, 4dvh, 20px);
  }
  body[data-gsh-game="tone"].gsh-ml-active .tf-options:has(> .tf-opt-wrap:nth-child(2):last-child) > .tf-opt-wrap,
  body[data-gsh-game="tone"].gsh-ml-active .tf-mark-opts:has(> .tf-mark-btn:nth-child(2):last-child) > .tf-mark-btn,
  body[data-gsh-game="tone"].gsh-ml-active .tf-options:has(> .tf-opt-wrap:nth-child(3):last-child) > .tf-opt-wrap,
  body[data-gsh-game="tone"].gsh-ml-active .tf-options:has(> .tf-opt-wrap:nth-child(4):last-child) > .tf-opt-wrap,
  body[data-gsh-game="tone"].gsh-ml-active .tf-mark-opts:has(> .tf-mark-btn:nth-child(4):last-child) > .tf-mark-btn {
    transform: translateY(var(--gsh-ml-tone-plane-shift, 0px));
  }
  body[data-gsh-game="tone"].gsh-ml-active .tf-options:has(> .tf-opt-wrap:nth-child(2):last-child) > .tf-opt-wrap,
  body[data-gsh-game="tone"].gsh-ml-active .tf-mark-opts:has(> .tf-mark-btn:nth-child(2):last-child) > .tf-mark-btn {
    grid-row: 1;
  }
  body[data-gsh-game="tone"].gsh-ml-active .tf-options:has(> .tf-opt-wrap:nth-child(3):last-child) > .tf-opt-wrap[data-gsh-side="left"] {
    grid-row: 1 / 3;
  }
  body[data-gsh-game="tone"].gsh-ml-active .tf-options:has(> .tf-opt-wrap:nth-child(3):last-child) > .tf-opt-wrap[data-gsh-side="right"][data-gsh-side-index="0"] {
    grid-row: 1;
  }
  body[data-gsh-game="tone"].gsh-ml-active .tf-options:has(> .tf-opt-wrap:nth-child(3):last-child) > .tf-opt-wrap[data-gsh-side="right"][data-gsh-side-index="1"] {
    grid-row: 2;
  }
  body[data-gsh-game="tone"].gsh-ml-active .tf-options:has(> .tf-opt-wrap:nth-child(4):last-child) > .tf-opt-wrap[data-gsh-side-index="0"],
  body[data-gsh-game="tone"].gsh-ml-active .tf-mark-opts:has(> .tf-mark-btn:nth-child(4):last-child) > .tf-mark-btn[data-gsh-side-index="0"] {
    grid-row: 1;
  }
  body[data-gsh-game="tone"].gsh-ml-active .tf-options:has(> .tf-opt-wrap:nth-child(4):last-child) > .tf-opt-wrap[data-gsh-side-index="1"],
  body[data-gsh-game="tone"].gsh-ml-active .tf-mark-opts:has(> .tf-mark-btn:nth-child(4):last-child) > .tf-mark-btn[data-gsh-side-index="1"] {
    grid-row: 2;
  }
  body[data-gsh-game="tone"].gsh-ml-active .tf-qbox {
    padding: clamp(6px, 1.8dvh, 10px) clamp(8px, 1.5vw, 14px) !important;
    margin-bottom: clamp(3px, 1dvh, 6px) !important;
  }
  body[data-gsh-game="tone"].gsh-ml-active .tf-qtext {
    font-size: clamp(14px, 3.8dvh, 18px) !important;
    line-height: 1.25 !important;
  }
  body[data-gsh-game="tone"].gsh-ml-active .tf-body .result-v2 {
    width: 100%;
    height: auto;
    max-height: none;
    padding: 0 !important;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: var(--gsh-ml-gap);
    overflow: visible;
  }
  body[data-gsh-game="tone"].gsh-ml-active .tf-body .result-v2 > * {
    flex: 0 0 auto;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    box-sizing: border-box;
  }
  body[data-gsh-game="tone"].gsh-ml-active .tf-body .result-v2 > .result-v2-word {
    align-self: center;
  }
  body[data-gsh-game="tone"].gsh-ml-active .tf-body .result-v2 > .result-v2-actions:empty {
    display: none !important;
  }
  body[data-gsh-game="tone"].gsh-ml-active #tf-body .tf-session-summary {
    width: 100%;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: var(--gsh-ml-gap) !important;
    padding: 0 !important;
  }
  body[data-gsh-game="tone"].gsh-ml-active #tf-body .tf-session-summary > * {
    flex: 0 0 auto;
    width: 100%;
    max-width: 100%;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    box-sizing: border-box;
  }
  body[data-gsh-game="tone"].gsh-ml-active #tf-body .gsh-result-primary-actions:empty {
    display: none !important;
  }
  body[data-gsh-game="tone"].gsh-ml-active .result-v2-word {
    font-size: clamp(28px, 8dvh, 34px) !important;
    line-height: 1.05 !important;
    margin-bottom: 1px !important;
  }
  body[data-gsh-game="tone"].gsh-ml-active .result-v2-tone-card {
    padding: clamp(5px, 1.4dvh, 8px) clamp(8px, 1.4vw, 12px) !important;
    margin: 0 !important;
    border-radius: 10px !important;
  }
  body[data-gsh-game="tone"].gsh-ml-active .result-v2-tone-card > div:first-child {
    margin-bottom: 2px !important;
  }
  body[data-gsh-game="tone"].gsh-ml-active .result-v2-tone-num {
    font-size: clamp(22px, 6dvh, 26px) !important;
    margin-bottom: 1px !important;
  }
  body[data-gsh-game="tone"].gsh-ml-active .result-v2-tone-match,
  body[data-gsh-game="tone"].gsh-ml-active .result-v2-guess-val,
  body[data-gsh-game="tone"].gsh-ml-active .rule-txt {
    font-size: clamp(11px, 3dvh, 13px) !important;
    line-height: 1.2 !important;
  }
  body[data-gsh-game="tone"].gsh-ml-active .result-v2-actions {
    margin: 0 !important;
    gap: 4px !important;
  }
  body[data-gsh-game="tone"].gsh-ml-active .result-v2-actions .tf-session-next-btn {
    min-height: clamp(38px, 10dvh, 44px);
    padding: 6px 12px !important;
    margin: 0 !important;
  }
  body[data-gsh-game="tone"].gsh-ml-active .result-v2 > div:has(> .result-v2-guess-label) {
    width: 100%;
    display: flex;
    align-items: baseline;
    justify-content: center;
    gap: 5px;
    margin: 0 !important;
    text-align: center;
  }
  body[data-gsh-game="tone"].gsh-ml-active .result-v2 > div:has(> .result-v2-guess-label) > .result-v2-guess-label {
    margin-right: 0 !important;
  }
  body[data-gsh-game="tone"].gsh-ml-active .result-v2 > .tf-read-th,
  body[data-gsh-game="tone"].gsh-ml-active .result-v2 > .tf-read-en,
  body[data-gsh-game="tone"].gsh-ml-active .result-v2 > .word-zh {
    min-height: 1.4em;
    margin: 0 !important;
    line-height: 1.4 !important;
    text-align: center;
  }
  body[data-gsh-game="tone"].gsh-ml-active .result-v2-bd {
    padding: 4px 6px !important;
    margin: 0 !important;
    border-radius: 8px !important;
  }
  body[data-gsh-game="tone"].gsh-ml-active .gsh-detail-box {
    margin-top: 3px !important;
  }
  body[data-gsh-game="tone"].gsh-ml-active .tf-ans-inner {
    padding: 4px 6px !important;
  }
  body[data-gsh-game="tone"].gsh-ml-active .tf-ans-rows {
    gap: 2px !important;
  }
  body[data-gsh-game="tone"].gsh-ml-active .result-v2-path {
    padding: 4px 7px !important;
    margin-bottom: 0 !important;
    border-radius: 7px !important;
  }
  body[data-gsh-game="tone"].gsh-ml-active .result-v2-path-label,
  body[data-gsh-game="tone"].gsh-ml-active .result-v2-bd-title {
    margin-bottom: 2px !important;
  }

  body[data-gsh-game="listening"].gsh-ml-active [data-gsh-ml-slot="center"],
  body[data-gsh-game="listening"].gsh-ml-active [data-gsh-ml-slot="question"],
  body[data-gsh-game="listening"].gsh-ml-active [data-gsh-ml-slot="current-input"] {
    justify-content: flex-start;
  }
  body[data-gsh-game="listening"].gsh-ml-active [data-gsh-ml-slot="left"],
  body[data-gsh-game="listening"].gsh-ml-active [data-gsh-ml-slot="right"],
  body[data-gsh-game="listening"].gsh-ml-active [data-gsh-ml-split="listening"] {
    overflow-y: hidden;
    overscroll-behavior-y: none;
  }
  body[data-gsh-game="listening"].gsh-ml-active [data-gsh-ml-split="listening"] {
    --gsh-ml-listening-choice-h: clamp(56px, 18dvh, 88px);
    grid-template-rows: repeat(2, var(--gsh-ml-listening-choice-h));
    grid-auto-rows: var(--gsh-ml-listening-choice-h);
    align-content: center;
    overflow-x: hidden;
    padding-block: var(--gsh-ml-pad) !important;
  }
  body[data-gsh-game="listening"].gsh-ml-active [data-gsh-ml-split="listening"] > [data-gsh-side-index="0"] { grid-row: 1; }
  body[data-gsh-game="listening"].gsh-ml-active [data-gsh-ml-split="listening"] > [data-gsh-side-index="1"] { grid-row: 2; }
  body[data-gsh-game="listening"].gsh-ml-active [data-gsh-ml-split="listening"] > .lg-opt {
    width: calc(100% - (2 * var(--gsh-ml-pad))) !important;
    height: var(--gsh-ml-listening-choice-h) !important;
    min-height: var(--gsh-ml-listening-choice-h) !important;
    max-height: var(--gsh-ml-listening-choice-h) !important;
    justify-self: center;
    align-self: center;
    padding: clamp(8px, 2dvh, 12px) clamp(10px, 1.8vw, 16px) !important;
    font-size: clamp(20px, 6dvh, 30px) !important;
    animation: none;
    will-change: auto;
  }
  body[data-gsh-game="listening"].gsh-ml-active [data-gsh-ml-slot="question"] .lg-word-area {
    flex: 0 0 auto;
    margin: 0 !important;
    gap: clamp(2px, .7dvh, 5px);
    padding: 0 var(--gsh-ml-pad) !important;
    overflow: hidden;
  }
  body[data-gsh-game="listening"].gsh-ml-active .lg-word-area .word-audio-btn {
    width: clamp(44px, 12dvh, 52px);
    height: clamp(44px, 12dvh, 52px);
    min-width: clamp(44px, 12dvh, 52px);
    min-height: clamp(44px, 12dvh, 52px);
    font-size: clamp(18px, 5dvh, 23px);
  }
  body[data-gsh-game="listening"].gsh-ml-active .lg-listen-hint {
    font-size: var(--gsh-ml-font-sm);
    line-height: 1.2;
  }
  body[data-gsh-game="listening"].gsh-ml-active #lg-word-ctl-row {
    display: none !important;
  }
  body[data-gsh-game="listening"].gsh-ml-active [data-gsh-ml-slot="current-input"] #lg-type-wrap {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    gap: var(--gsh-ml-gap);
  }
  body[data-gsh-game="listening"].gsh-ml-active #lg-type-input {
    width: 100% !important;
    max-width: 100% !important;
    min-height: var(--gsh-ml-control-h);
    padding: 5px 8px !important;
    font-size: clamp(19px, 5.4dvh, 27px);
  }
  body[data-gsh-game="listening"].gsh-ml-active [data-gsh-ml-slot="question"] #lg-result-banner,
  body[data-gsh-game="listening"].gsh-ml-active [data-gsh-ml-slot="question"] #lg-reveal {
    flex: 0 1 auto;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: clamp(5px, 1.4dvh, 8px) clamp(7px, 1.2vw, 11px) !important;
    overflow: hidden;
  }
  body[data-gsh-game="listening"].gsh-ml-active #lg-reveal .lg-rev-th {
    font-size: clamp(23px, 6.5dvh, 31px);
    line-height: 1.05;
  }
  body[data-gsh-game="listening"].gsh-ml-active #lg-reveal .lg-rev-pron,
  body[data-gsh-game="listening"].gsh-ml-active #lg-reveal .lg-rev-en,
  body[data-gsh-game="listening"].gsh-ml-active #lg-reveal .lg-rev-zh {
    margin-top: 1px;
    font-size: clamp(10px, 2.8dvh, 13px);
    line-height: 1.15;
  }
  body[data-gsh-game="listening"].gsh-ml-active [data-gsh-ml-slot="main-action"] > #lg-type-submit,
  body[data-gsh-game="listening"].gsh-ml-active [data-gsh-ml-slot="main-action"] > #lg-next-btn {
    min-height: var(--gsh-ml-control-h) !important;
    max-height: var(--gsh-ml-control-h) !important;
    align-items: center;
    justify-content: center;
    line-height: 1.05;
  }
  body[data-gsh-game="listening"].gsh-ml-active [data-gsh-ml-slot="question"] > #lg-start {
    width: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    padding: clamp(6px, 1.8dvh, 10px) !important;
    gap: clamp(3px, 1dvh, 6px) !important;
    overflow: hidden;
  }
  body[data-gsh-game="listening"].gsh-ml-active #lg-start .lg-start-emoji {
    font-size: clamp(27px, 8dvh, 38px);
    line-height: 1;
  }
  body[data-gsh-game="listening"].gsh-ml-active #lg-start .lg-start-title {
    font-size: clamp(14px, 4dvh, 18px);
    line-height: 1.15;
  }
  body[data-gsh-game="listening"].gsh-ml-active #lg-start .lg-start-desc {
    max-width: 100%;
    font-size: clamp(10px, 2.7dvh, 12px);
    line-height: 1.3;
  }
  body[data-gsh-game="listening"].gsh-ml-active #lg-start .lg-start-desc br { display: none; }
  body[data-gsh-game="listening"].gsh-ml-active #lg-start-btn {
    min-height: var(--gsh-ml-control-h);
    padding: 5px 12px !important;
  }
  body[data-gsh-game="listening"].gsh-ml-active #gsh-ml-stage .gsh-split-thai-keyboard {
    pointer-events: none;
  }
  body[data-gsh-game="listening"].gsh-ml-active #gsh-ml-stage .gsh-split-thai-keyboard .gsh-kbd-key {
    pointer-events: auto;
  }

  body[data-gsh-game="reading"].gsh-ml-active [data-gsh-ml-slot="center"],
  body[data-gsh-game="reading"].gsh-ml-active [data-gsh-ml-slot="question"],
  body[data-gsh-game="reading"].gsh-ml-active [data-gsh-ml-slot="current-input"] { justify-content: flex-start; }
  body[data-gsh-game="reading"].gsh-ml-active [data-gsh-ml-slot="left"],
  body[data-gsh-game="reading"].gsh-ml-active [data-gsh-ml-slot="right"],
  body[data-gsh-game="reading"].gsh-ml-active [data-gsh-ml-split="reading"] {
    overflow-y: hidden;
    overscroll-behavior-y: none;
  }
  body[data-gsh-game="reading"].gsh-ml-active [data-gsh-ml-split="reading"] {
    --gsh-ml-reading-choice-safe-x: clamp(28px, 4vw, 36px);
    grid-template-columns: minmax(0, 30fr) minmax(0, 40fr) minmax(0, 30fr) !important;
    grid-template-rows: repeat(100, minmax(0, 1fr));
    grid-auto-rows: minmax(0, 1fr);
    align-content: stretch;
    justify-content: stretch !important;
    column-gap: var(--gsh-ml-gap) !important;
    row-gap: 0 !important;
    padding-block: clamp(28px, 8dvh, 34px) !important;
    overflow-x: hidden;
  }
  body[data-gsh-game="reading"].gsh-ml-active [data-gsh-ml-split="reading"] > .opt {
    grid-row: var(--gsh-ml-row-start) / span var(--gsh-ml-row-span);
    justify-self: var(--gsh-ml-inline-align, center);
    align-self: center;
    margin-inline: var(--gsh-ml-reading-choice-safe-x) !important;
  }
  body[data-gsh-game="reading"].gsh-ml-active [data-gsh-ml-slot="question"] .word-area {
    flex: 0 1 auto;
    z-index: auto;
    padding: 0 var(--gsh-ml-pad) !important;
    background: transparent;
    overflow: hidden;
  }
  body[data-gsh-game="reading"].gsh-ml-active [data-gsh-ml-slot="question"] #word-ctl-row { display: none !important; }
  body[data-gsh-game="reading"].gsh-ml-active [data-gsh-ml-slot="question"] .word-th {
    padding-top: 0;
    font-size: clamp(28px, 8dvh, 38px);
    line-height: 1.15;
  }
  body[data-gsh-game="reading"].gsh-ml-active [data-gsh-ml-slot="question"] .word-zh,
  body[data-gsh-game="reading"].gsh-ml-active [data-gsh-ml-slot="question"] .rev-pron,
  body[data-gsh-game="reading"].gsh-ml-active [data-gsh-ml-slot="question"] .rev-en {
    margin-top: 0;
    font-size: clamp(11px, 3dvh, 14px);
    line-height: 1.2;
  }
  body[data-gsh-game="reading"].gsh-ml-active [data-gsh-ml-slot="question"] #syl-strip {
    flex: 0 1 auto;
    flex-wrap: nowrap;
    gap: 3px;
    margin: 0 !important;
    overflow: hidden;
  }
  body[data-gsh-game="reading"].gsh-ml-active [data-gsh-ml-slot="question"] #syl-strip .syl-chip {
    min-width: 40px;
    padding: 2px 7px;
  }
  body[data-gsh-game="reading"].gsh-ml-active [data-gsh-ml-slot="question"] #syl-strip .syl-th {
    font-size: clamp(16px, 4.5dvh, 21px);
    line-height: 1.2;
  }
  body[data-gsh-game="reading"].gsh-ml-active [data-gsh-ml-slot="question"] #slot-row {
    flex: 0 1 auto;
    flex-wrap: nowrap;
    gap: clamp(3px, .8vw, 6px);
    margin: 0 !important;
    overflow: hidden;
  }
  body[data-gsh-game="reading"].gsh-ml-active [data-gsh-ml-slot="question"] #slot-row .slot-col {
    min-width: 0;
    flex: 1 1 0;
    gap: 2px;
  }
  body[data-gsh-game="reading"].gsh-ml-active [data-gsh-ml-slot="question"] #slot-row .slot-box {
    width: 100%;
    min-width: 0;
    min-height: clamp(44px, 12dvh, 52px);
    padding: 2px 4px;
    font-size: clamp(22px, 6dvh, 28px);
  }
  body.gsh-ml-active #gsh-ml-stage .grw-menu,
  body.gsh-ml-active #gsh-ml-stage .wm-panel {
    z-index: 1400;
    max-width: calc(100vw - var(--gsh-ml-safe-l) - var(--gsh-ml-safe-r));
    max-height: calc(100dvh - var(--gsh-ml-safe-t) - var(--gsh-ml-safe-b) - var(--gsh-ml-top-h));
    overflow: auto;
    overscroll-behavior: contain;
  }

  [data-gsh-ml-slot="right"] [data-gsh-ml-role="lego-menu"] {
    position: static !important;
    inset: auto !important;
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    max-height: 100% !important;
    margin: 0 !important;
    transform: none !important;
    overflow: auto;
    overscroll-behavior: contain;
  }
  [data-gsh-ml-slot="left"] #baseplate {
    position: static !important;
    inset: auto !important;
    width: 100% !important;
    height: 100%;
    margin: 0 !important;
    padding: var(--gsh-ml-pad) !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--gsh-ml-gap);
    align-content: center;
    overflow: auto;
  }
  [data-gsh-ml-slot="left"] #baseplate .slot { min-width: 0; }
  [data-gsh-ml-slot="left"] #baseplate .slot-btn { min-width: 0; min-height: var(--gsh-ml-control-h); padding: 4px; }

  /* Tone 字母練習區 reuses the live Desktop ALPHA nodes and handlers inside
     the Human-reviewed two-column Landscape surface. */
  body[data-gsh-game="tone"].gsh-ml-active #gsh-ml-stage[data-gsh-ml-tone-alpha="true"] .gsh-ml-play {
    display: block;
    padding: var(--gsh-ml-pad);
    background: rgba(36, 35, 34, .48);
  }
  body[data-gsh-game="tone"].gsh-ml-active #gsh-ml-stage[data-gsh-ml-tone-alpha="true"]
  [data-gsh-ml-slot="left"],
  body[data-gsh-game="tone"].gsh-ml-active #gsh-ml-stage[data-gsh-ml-tone-alpha="true"]
  [data-gsh-ml-slot="right"],
  body[data-gsh-game="tone"].gsh-ml-active #gsh-ml-stage[data-gsh-ml-tone-alpha="true"]
  [data-gsh-ml-slot="split-content"] {
    display: none;
  }
  body[data-gsh-game="tone"].gsh-ml-active #gsh-ml-stage[data-gsh-ml-tone-alpha="true"]
  [data-gsh-ml-slot="center"] {
    width: min(660px, calc(100% - (2 * var(--gsh-ml-pad))));
    height: 100%;
    max-height: 100%;
    margin: 0 auto;
    padding: 0;
    border-radius: 16px;
    background: #fffdf7;
    overflow: hidden;
  }
  body[data-gsh-game="tone"].gsh-ml-active #gsh-ml-stage[data-gsh-ml-tone-alpha="true"]
  [data-gsh-ml-slot="account"],
  body[data-gsh-game="tone"].gsh-ml-active #gsh-ml-stage[data-gsh-ml-tone-alpha="true"]
  [data-gsh-ml-slot="current-input"],
  body[data-gsh-game="tone"].gsh-ml-active #gsh-ml-stage[data-gsh-ml-tone-alpha="true"] #tf-banner {
    display: none !important;
  }
  body[data-gsh-game="tone"].gsh-ml-active #gsh-ml-stage[data-gsh-ml-tone-alpha="true"]
  [data-gsh-ml-slot="question"] {
    width: 100%;
    height: 100%;
    display: block;
    overflow: hidden;
  }
  body[data-gsh-game="tone"].gsh-ml-active #gsh-ml-stage[data-gsh-ml-tone-alpha="true"] #tf-body {
    width: 100% !important;
    height: 100% !important;
    padding: 0 !important;
    overflow-y: auto !important;
    overscroll-behavior-y: contain;
    -webkit-overflow-scrolling: touch;
  }
  body[data-gsh-game="tone"].gsh-ml-active #gsh-ml-stage[data-gsh-ml-tone-alpha="true"] .tf-alpha-surface {
    width: 100%;
    min-height: 100%;
    margin: 0 !important;
    padding: 14px 16px 18px !important;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-content: start;
    column-gap: 10px;
    row-gap: 14px;
    border: 0 !important;
    border-radius: 0 !important;
    background: #fffdf7 !important;
    box-shadow: none !important;
  }
  body[data-gsh-game="tone"].gsh-ml-active #gsh-ml-stage[data-gsh-ml-tone-alpha="true"]
  .tf-alpha-surface > .tf-level-title {
    grid-column: 1 / -1;
    margin: 0 !important;
    padding: 2px 48px 10px;
    border-bottom: 1px solid rgba(139, 99, 16, .24);
    color: var(--gold-deep, #8b6310);
    font-size: clamp(16px, 4.2dvh, 21px);
    font-weight: 700;
    text-align: center;
  }
  body[data-gsh-game="tone"].gsh-ml-active #gsh-ml-stage[data-gsh-ml-tone-alpha="true"]
  .tf-alpha-surface > .tf-level-btn {
    width: 100% !important;
    min-width: 0 !important;
    min-height: clamp(54px, 15dvh, 70px) !important;
    margin: 0 !important;
    padding: 9px 10px !important;
    box-sizing: border-box;
    border-radius: 10px !important;
    overflow-wrap: anywhere;
  }
  body[data-gsh-game="tone"].gsh-ml-active #gsh-ml-stage[data-gsh-ml-tone-alpha="true"]
  .tf-alpha-surface > .tf-back-level-btn {
    grid-column: 1 / -1;
    justify-self: center;
    width: max-content !important;
    max-width: 100% !important;
    min-height: 40px;
    margin: 0 !important;
    padding: 7px 14px !important;
  }
  body[data-gsh-game="tone"].gsh-ml-active #gsh-ml-stage[data-gsh-ml-tone-alpha="true"]
  .tf-alpha-surface:has(> .afc-scene) {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
  }
  body[data-gsh-game="tone"].gsh-ml-active #gsh-ml-stage[data-gsh-ml-tone-alpha="true"] .afc-scene {
    width: min(280px, 90%);
    margin: 0 auto !important;
  }
  body[data-gsh-game="tone"].gsh-ml-active #gsh-ml-stage[data-gsh-ml-tone-alpha="true"] .afc-card {
    width: 100%;
  }
  body[data-gsh-game="tone"].gsh-ml-active #gsh-ml-stage[data-gsh-ml-tone-alpha="true"] .afc-face {
    min-height: clamp(150px, 46dvh, 210px);
    padding: clamp(14px, 3dvh, 22px) 14px;
    gap: 14px;
  }
  body[data-gsh-game="tone"].gsh-ml-active #gsh-ml-stage[data-gsh-ml-tone-alpha="true"] .afc-letter {
    font-size: clamp(58px, 22dvh, 92px);
  }
  body[data-gsh-game="tone"].gsh-ml-active #gsh-ml-stage[data-gsh-ml-tone-alpha="true"] .afc-exp {
    width: min(100%, 420px);
    max-width: 100%;
    margin: 0 auto !important;
    box-sizing: border-box;
  }
  body[data-gsh-game="tone"].gsh-ml-active #gsh-ml-stage[data-gsh-ml-tone-alpha="true"]
  .afc-controls,
  body[data-gsh-game="tone"].gsh-ml-active #gsh-ml-stage[data-gsh-ml-tone-alpha="true"]
  .afc-audio-btn,
  body[data-gsh-game="tone"].gsh-ml-active #gsh-ml-stage[data-gsh-ml-tone-alpha="true"]
  .afc-shuffle {
    flex: 0 0 auto;
    margin: 0 !important;
  }

  .gsh-ml-exclusive { opacity: 0; pointer-events: none; }
  [data-gsh-ml-slot="exclusive-left"],
  [data-gsh-ml-slot="exclusive-center"],
  [data-gsh-ml-slot="exclusive-right"] {
    min-width: 0;
    min-height: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: var(--gsh-ml-gap);
    overflow: auto;
    overscroll-behavior: contain;
  }
  [data-gsh-ml-slot="exclusive-left"] { grid-column: 1; }
  [data-gsh-ml-slot="exclusive-center"] { grid-column: 2; }
  [data-gsh-ml-slot="exclusive-right"] { grid-column: 3; }
  [data-gsh-ml-slot^="exclusive-"] > * {
    position: static !important;
    inset: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    margin: 0 !important;
    transform: none !important;
    box-sizing: border-box;
  }
  [data-gsh-ml-slot="exclusive-center"] [data-shared-result-ui="v1"] {
    display: flex !important;
    overflow: auto;
    padding: var(--gsh-ml-pad) !important;
  }
  [data-gsh-ml-slot="exclusive-center"] [data-shared-result-detail-active="true"] {
    display: flex !important;
    flex-direction: column;
    overflow: auto;
    overscroll-behavior: contain;
    padding: var(--gsh-ml-pad) !important;
  }
  [data-gsh-ml-slot="exclusive-center"] .gsh-resume-banner,
  [data-gsh-ml-slot="exclusive-center"] [data-gsh-ml-custom-input] {
    padding: var(--gsh-ml-pad) !important;
    background: #fffdf7;
    border-radius: 14px;
  }
  [data-gsh-ml-slot="exclusive-center"] [data-gsh-ml-custom-input] {
    display: block !important;
  }
  [data-gsh-ml-slot="exclusive-center"] .gsh-resume-banner[style*="display:none"],
  [data-gsh-ml-slot="exclusive-center"] .gsh-resume-banner[style*="display: none"] {
    display: none !important;
  }

  /* All six games share Tone's centred 640px Resume card and three equal
     actions. Resume remains an exclusive state; gameplay stays underneath. */
  body[data-gsh-game].gsh-ml-active #gsh-ml-stage[data-gsh-ml-view="resume"] [data-gsh-ml-slot="exclusive-center"] {
    grid-column: 1 / 4;
    width: min(100%, 680px);
    justify-self: center;
  }
  body[data-gsh-game].gsh-ml-active #gsh-ml-stage[data-gsh-ml-view="resume"] .gsh-resume-banner {
    width: 100% !important;
    max-width: 640px !important;
    margin: 0 auto !important;
    padding: clamp(7px, 1.7dvh, 12px) !important;
  }
  body[data-gsh-game].gsh-ml-active #gsh-ml-stage[data-gsh-ml-view="resume"] .gsh-resume-actions {
    width: 100%;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--gsh-ml-gap) !important;
  }
  body[data-gsh-game].gsh-ml-active #gsh-ml-stage[data-gsh-ml-view="resume"] .gsh-resume-actions button {
    width: 100% !important;
    min-width: 0 !important;
    min-height: var(--gsh-ml-control-h) !important;
    margin: 0 !important;
    padding: 5px 7px !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    text-align: center;
    white-space: nowrap;
  }
  #gsh-ml-custom-cancel { display: none; }
  #gsh-ml-stage[data-gsh-ml-view="custom-input"] #gsh-ml-custom-cancel {
    display: inline-flex;
    min-height: var(--gsh-ml-control-h);
    align-items: center;
    justify-content: center;
  }
  [data-gsh-ml-slot="exclusive-left"] .gsh-result-utility-actions,
  [data-gsh-ml-slot="exclusive-left"] .gsh-result-home-actions,
  [data-gsh-ml-slot="exclusive-right"] .gsh-result-primary-actions {
    display: flex !important;
    flex-direction: column;
    align-items: stretch;
    gap: var(--gsh-ml-gap);
  }

  #gsh-ml-stage[data-gsh-ml-view="resume"] .gsh-ml-top,
  #gsh-ml-stage[data-gsh-ml-view="resume"] .gsh-ml-play,
  #gsh-ml-stage[data-gsh-ml-view="result"] .gsh-ml-top,
  #gsh-ml-stage[data-gsh-ml-view="result"] .gsh-ml-play,
  #gsh-ml-stage[data-gsh-ml-view="result-detail"] .gsh-ml-top,
  #gsh-ml-stage[data-gsh-ml-view="result-detail"] .gsh-ml-play,
  #gsh-ml-stage[data-gsh-ml-view="custom-input"] .gsh-ml-top,
  #gsh-ml-stage[data-gsh-ml-view="custom-input"] .gsh-ml-play {
    opacity: 0;
    pointer-events: none;
  }
  #gsh-ml-stage[data-gsh-ml-view="resume"] .gsh-ml-exclusive,
  #gsh-ml-stage[data-gsh-ml-view="result"] .gsh-ml-exclusive,
  #gsh-ml-stage[data-gsh-ml-view="result-detail"] .gsh-ml-exclusive,
  #gsh-ml-stage[data-gsh-ml-view="custom-input"] .gsh-ml-exclusive {
    opacity: 1;
    pointer-events: auto;
  }

  /* 5.2 locked shared landscape geometry: the top band is identical in all
     six games and the five standard games use visible 30 / 40 / 30 zones. */
  #gsh-ml-stage {
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
  }
  .gsh-ml-top,
  .gsh-ml-play,
  .gsh-ml-exclusive,
  [data-gsh-ml-split],
  .gsh-split-kbd-row {
    grid-template-columns: minmax(0, 30fr) minmax(0, 40fr) minmax(0, 30fr);
  }

  [data-gsh-ml-slot="dropdowns"] {
    flex-wrap: nowrap;
    gap: var(--gsh-ml-top-control-gap);
  }
  [data-gsh-ml-slot="main-action"] {
    gap: var(--gsh-ml-top-control-gap);
  }
  [data-gsh-ml-slot="dropdowns"] #rg-login-slot {
    order: -1;
    position: relative;
    flex: 0 0 auto;
    width: auto;
    min-width: 0;
    max-width: none;
    height: var(--gsh-ml-control-h);
    margin: 0 !important;
    overflow: visible;
  }
  [data-gsh-ml-slot="dropdowns"] #rg-login-slot:not(.gsh-ml-account-ready) {
    flex-basis: clamp(40px, 6vw, 58px);
    width: clamp(40px, 6vw, 58px);
    min-width: clamp(40px, 6vw, 58px);
    max-width: clamp(40px, 6vw, 58px);
    overflow: hidden;
  }
  [data-gsh-ml-slot="dropdowns"] #rg-login-slot:not(.gsh-ml-account-ready) > * {
    width: 100% !important;
    min-width: 0 !important;
    height: var(--gsh-ml-control-h) !important;
    min-height: var(--gsh-ml-control-h) !important;
    margin: 0 !important;
    padding: 3px 6px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: var(--gsh-ml-font-sm) !important;
    white-space: nowrap;
  }
  [data-gsh-ml-slot="dropdowns"] #gsh-ml-account-trigger {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: auto;
    min-width: 0;
    height: var(--gsh-ml-control-h);
    min-height: var(--gsh-ml-control-h);
    margin: 0;
    padding: 5px clamp(7px, 1.2vw, 12px);
    border: 1.5px solid var(--gold-bright, #c8973a);
    border-radius: 999px;
    background: #fff8ea;
    color: var(--gold-deep, #8b6310);
    font: 700 var(--gsh-ml-font-sm)/1 'Noto Sans TC', sans-serif;
    white-space: nowrap;
    cursor: pointer;
    pointer-events: auto;
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
  }
  [data-gsh-ml-slot="dropdowns"] #gsh-ml-account-trigger[aria-expanded="true"] {
    background: var(--gold-deep, #8b6310);
    color: #fff;
  }
  body.gsh-ml-active #rg-login-slot.gsh-ml-account-ready > #sa-badge-rg-login-slot {
    display: none !important;
  }
  body.gsh-ml-active #rg-login-slot.gsh-ml-account-ready[data-gsh-ml-account-open="true"] > #sa-badge-rg-login-slot {
    position: fixed !important;
    z-index: 1300;
    display: inline-flex !important;
    box-sizing: border-box;
    width: min(260px, calc(100vw - var(--gsh-ml-safe-l) - var(--gsh-ml-safe-r))) !important;
    min-width: 0 !important;
    max-width: calc(100vw - var(--gsh-ml-safe-l) - var(--gsh-ml-safe-r)) !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    max-height: calc(100dvh - var(--gsh-ml-safe-t) - var(--gsh-ml-top-h) - var(--gsh-ml-gap) - var(--gsh-ml-safe-b)) !important;
    padding: 8px !important;
    border: 2px solid var(--gold-bright, #c8973a);
    border-radius: 20px;
    background: #faf4e8;
    box-shadow: 0 10px 28px rgba(58, 42, 10, .25);
    overflow-x: hidden;
    overflow-y: auto;
    pointer-events: auto;
  }
  body.gsh-ml-active #sa-badge-rg-login-slot[data-gsh-ml-account-panel="true"] > div {
    display: grid !important;
    grid-template-columns: 30px minmax(0, 1fr) auto;
    align-items: center !important;
    gap: 4px !important;
    width: 100% !important;
    min-width: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }
  body.gsh-ml-active #sa-badge-rg-login-slot[data-gsh-ml-account-panel="true"] > div > span:first-child {
    grid-column: 1;
    grid-row: 1;
    width: 30px !important;
    height: 30px !important;
  }
  body.gsh-ml-active #sa-badge-rg-login-slot[data-gsh-ml-account-panel="true"] .sa-nick {
    grid-column: 2;
    grid-row: 1;
    max-width: 132px !important;
    min-width: 0 !important;
    padding: 4px 2px !important;
    border: 0 !important;
    background: transparent !important;
    font-size: 14px !important;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    text-align: left;
  }
  body.gsh-ml-active #sa-badge-rg-login-slot[data-gsh-ml-account-panel="true"] .sa-badge-pin {
    grid-column: 3;
    grid-row: 1;
  }
  body.gsh-ml-active #sa-badge-rg-login-slot[data-gsh-ml-account-panel="true"] .sa-edit,
  body.gsh-ml-active #sa-badge-rg-login-slot[data-gsh-ml-account-panel="true"] a[title="排行榜"],
  body.gsh-ml-active #sa-badge-rg-login-slot[data-gsh-ml-account-panel="true"] a[title="進度"],
  body.gsh-ml-active #sa-badge-rg-login-slot[data-gsh-ml-account-panel="true"] a[title="字庫"],
  body.gsh-ml-active #sa-badge-rg-login-slot[data-gsh-ml-account-panel="true"] .sa-global-search-toggle,
  body.gsh-ml-active #sa-badge-rg-login-slot[data-gsh-ml-account-panel="true"] .sa-logout {
    grid-column: 1 / 4;
    display: flex !important;
    align-items: center;
    justify-content: flex-start;
    gap: 7px;
    width: 100% !important;
    min-height: 28px;
    margin: 0 !important;
    padding: 4px 7px !important;
    border: 1px solid rgba(200, 151, 58, .48) !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, .72) !important;
    box-shadow: none !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    text-align: left;
    color: #5c4410 !important;
    text-decoration: none !important;
  }
  body.gsh-ml-active #sa-badge-rg-login-slot[data-gsh-ml-account-panel="true"] .sa-edit {
    grid-row: 2;
    color: #5c4410 !important;
    font-size: 0 !important;
  }
  body.gsh-ml-active #sa-badge-rg-login-slot[data-gsh-ml-account-panel="true"] .sa-edit::before {
    content: '✏️';
    font-size: 12px;
  }
  body.gsh-ml-active #sa-badge-rg-login-slot[data-gsh-ml-account-panel="true"] .sa-edit::after {
    content: '編輯個人檔案';
    font-size: 12px;
  }
  body.gsh-ml-active #sa-badge-rg-login-slot[data-gsh-ml-account-panel="true"] .sa-logout {
    grid-row: 7;
    color: #8b3c20 !important;
  }
  body.gsh-ml-active #sa-badge-rg-login-slot[data-gsh-ml-account-panel="true"] a[title="排行榜"] {
    grid-row: 3;
  }
  body.gsh-ml-active #sa-badge-rg-login-slot[data-gsh-ml-account-panel="true"] a[title="排行榜"]::after {
    content: '排行榜';
  }
  body.gsh-ml-active #sa-badge-rg-login-slot[data-gsh-ml-account-panel="true"] a[title="進度"] {
    grid-row: 5;
  }
  body.gsh-ml-active #sa-badge-rg-login-slot[data-gsh-ml-account-panel="true"] a[title="進度"]::after {
    content: '學習進度';
  }
  body.gsh-ml-active #sa-badge-rg-login-slot[data-gsh-ml-account-panel="true"] a[title="字庫"] {
    grid-row: 6;
  }
  body.gsh-ml-active #sa-badge-rg-login-slot[data-gsh-ml-account-panel="true"] a[title="字庫"]::after {
    content: '泰語單字庫';
  }
  body.gsh-ml-active #sa-badge-rg-login-slot[data-gsh-ml-account-panel="true"] .sa-account-streak {
    grid-column: 1 / 4;
    grid-row: 4;
    display: flex !important;
    align-items: center;
    justify-content: flex-start;
    width: 100% !important;
    min-height: 28px;
    margin: 0 !important;
    padding: 4px 7px !important;
    border: 1px solid rgba(200, 151, 58, .48) !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, .72) !important;
    color: #5c4410 !important;
    font-size: 0 !important;
    line-height: 1 !important;
  }
  body.gsh-ml-active #sa-badge-rg-login-slot[data-gsh-ml-account-panel="true"] .sa-account-streak::before {
    content: '🔥 連續';
    margin-right: 6px;
    font-size: 12px;
    font-weight: 700;
  }
  body.gsh-ml-active #sa-badge-rg-login-slot[data-gsh-ml-account-panel="true"] .sa-account-streak b {
    font-size: 12px;
  }
  body.gsh-ml-active #sa-badge-rg-login-slot[data-gsh-ml-account-panel="true"] .sa-global-search-toggle {
    grid-row: 8;
    width: 100% !important;
    font-size: 0 !important;
  }
  body.gsh-ml-active #sa-badge-rg-login-slot[data-gsh-ml-account-panel="true"] .sa-global-search-toggle::before {
    content: '🔎';
    font-size: 12px;
  }
  body.gsh-ml-active #sa-badge-rg-login-slot[data-gsh-ml-account-panel="true"] .sa-global-search-toggle::after {
    content: '全站搜尋';
    font-size: 12px;
  }
  body.gsh-ml-active #sa-badge-rg-login-slot[data-gsh-ml-account-panel="true"] .sa-global-search-form {
    grid-column: 1 / 4;
    grid-row: 9;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
  }
  body.gsh-ml-active #sa-badge-rg-login-slot[data-gsh-ml-account-panel="true"] .sa-global-search-results {
    grid-column: 1 / 4;
    grid-row: 10;
    width: 100% !important;
    min-width: 0 !important;
    max-height: 80px;
    margin: 0 !important;
    overflow: auto;
  }
  body.gsh-ml-active #sa-badge-rg-login-slot[data-gsh-ml-account-panel="true"] .sa-logout::before {
    content: '↪';
  }
  body.gsh-ml-active #sa-badge-rg-login-slot[data-gsh-ml-account-panel="true"] .sa-edit:hover,
  body.gsh-ml-active #sa-badge-rg-login-slot[data-gsh-ml-account-panel="true"] .sa-edit:focus-visible,
  body.gsh-ml-active #sa-badge-rg-login-slot[data-gsh-ml-account-panel="true"] a[title="排行榜"]:hover,
  body.gsh-ml-active #sa-badge-rg-login-slot[data-gsh-ml-account-panel="true"] a[title="排行榜"]:focus-visible,
  body.gsh-ml-active #sa-badge-rg-login-slot[data-gsh-ml-account-panel="true"] a[title="進度"]:hover,
  body.gsh-ml-active #sa-badge-rg-login-slot[data-gsh-ml-account-panel="true"] a[title="進度"]:focus-visible,
  body.gsh-ml-active #sa-badge-rg-login-slot[data-gsh-ml-account-panel="true"] a[title="字庫"]:hover,
  body.gsh-ml-active #sa-badge-rg-login-slot[data-gsh-ml-account-panel="true"] a[title="字庫"]:focus-visible,
  body.gsh-ml-active #sa-badge-rg-login-slot[data-gsh-ml-account-panel="true"] .sa-global-search-toggle:hover,
  body.gsh-ml-active #sa-badge-rg-login-slot[data-gsh-ml-account-panel="true"] .sa-global-search-toggle:focus-visible,
  body.gsh-ml-active #sa-badge-rg-login-slot[data-gsh-ml-account-panel="true"] .sa-logout:hover,
  body.gsh-ml-active #sa-badge-rg-login-slot[data-gsh-ml-account-panel="true"] .sa-logout:focus-visible {
    background: #fbf2dc !important;
    outline: none;
  }

  [data-gsh-ml-slot="shared-controls"] > .tf-page-title,
  [data-gsh-ml-slot="shared-controls"] > .page-title,
  [data-gsh-ml-slot="shared-controls"] > h1 {
    position: static !important;
    inset: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    display: block !important;
    overflow: hidden;
    color: var(--gold-deep, #8b6310);
    font-size: clamp(15px, 4.2dvh, 21px) !important;
    line-height: 1.1 !important;
    letter-spacing: clamp(.2px, .1vw, .8px) !important;
    text-align: center !important;
    white-space: nowrap;
    text-overflow: ellipsis;
    pointer-events: none;
  }

  body.gsh-ml-active [data-gsh-ml-slot="main-action"] .rg-ctl-wrap {
    position: static !important;
    inset: auto !important;
    width: auto !important;
    max-width: 100% !important;
    height: var(--gsh-ml-control-h) !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
    display: flex !important;
    flex: 0 1 auto;
    flex-flow: row nowrap !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: var(--gsh-ml-top-control-gap) !important;
  }
  body.gsh-ml-active [data-gsh-ml-slot="main-action"] .rg-ctl-wrap > button.rg-ctl-fab {
    width: var(--gsh-ml-control-h) !important;
    min-width: var(--gsh-ml-control-h) !important;
    max-width: var(--gsh-ml-control-h) !important;
    height: var(--gsh-ml-control-h) !important;
    min-height: var(--gsh-ml-control-h) !important;
    max-height: var(--gsh-ml-control-h) !important;
    padding: 0 !important;
    border-radius: 50% !important;
  }
  body.gsh-ml-active [data-gsh-ml-slot="main-action"] .rg-ctl-wrap > button.rg-ctl-fab[aria-pressed] {
    display: none !important;
  }
  [data-gsh-ml-slot="skip"],
  [data-gsh-ml-slot="check"],
  [data-gsh-ml-slot="reset"] {
    flex: 0 0 var(--gsh-ml-control-h);
    width: var(--gsh-ml-control-h);
    height: var(--gsh-ml-control-h);
    display: flex;
    align-items: center;
    justify-content: center;
  }
  [data-gsh-ml-slot="skip"]:empty,
  [data-gsh-ml-slot="check"]:empty,
  [data-gsh-ml-slot="reset"]:empty {
    display: none;
  }
  [data-gsh-ml-slot="skip"] > [data-gsh-ml-role="skip"],
  [data-gsh-ml-slot="check"] > [data-gsh-ml-role="check"],
  [data-gsh-ml-slot="reset"] > [data-gsh-ml-role="reset"] {
    position: static !important;
    inset: auto !important;
    width: var(--gsh-ml-control-h) !important;
    min-width: var(--gsh-ml-control-h) !important;
    max-width: var(--gsh-ml-control-h) !important;
    height: var(--gsh-ml-control-h) !important;
    min-height: var(--gsh-ml-control-h) !important;
    max-height: var(--gsh-ml-control-h) !important;
    margin: 0 !important;
    padding: 2px !important;
    border-radius: 50% !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    font-size: clamp(9px, 2.2dvh, 12px) !important;
    line-height: 1.05 !important;
    text-align: center;
    white-space: normal;
    border: 1.5px solid rgba(200, 151, 58, .65) !important;
    background: #242322 !important;
    color: #c8973a !important;
    box-shadow: 0 3px 10px rgba(36, 35, 34, .22) !important;
    font-weight: 700 !important;
  }

  [data-gsh-dropdown="tools"] .gsh-ml-dropdown-panel {
    width: min(240px, 42vw) !important;
    min-width: min(220px, 42vw) !important;
    max-height: calc((6 * var(--gsh-ml-control-h)) + (5 * var(--gsh-ml-gap)) + (2 * var(--gsh-ml-pad))) !important;
    display: flex;
    flex-direction: column;
    gap: var(--gsh-ml-gap);
    overflow-x: hidden !important;
    overflow-y: auto !important;
  }
  [data-gsh-dropdown="tools"] .gsh-ml-dropdown-panel > [data-gsh-ml-tool-label] {
    flex: 0 0 var(--gsh-ml-control-h);
    width: 100% !important;
    grid-template-columns: 28px minmax(0, 1fr);
    justify-content: stretch;
    border: 0 !important;
    border-radius: 10px !important;
    background: transparent !important;
    box-shadow: none !important;
    cursor: pointer;
  }

  body.gsh-ml-active:not([data-gsh-game="lego"]) [data-gsh-ml-slot="left"],
  body.gsh-ml-active:not([data-gsh-game="lego"]) [data-gsh-ml-slot="center"],
  body.gsh-ml-active:not([data-gsh-game="lego"]) [data-gsh-ml-slot="right"] {
    border: 1.5px solid rgba(184, 134, 40, .34);
    border-radius: clamp(12px, 2vw, 18px);
    background: rgba(255, 253, 247, .58);
    padding: var(--gsh-ml-pad);
  }
  body.gsh-ml-active:not([data-gsh-game="lego"]) [data-gsh-ml-slot="center"] {
    overflow-y: auto;
    overscroll-behavior-y: contain;
    -webkit-overflow-scrolling: touch;
    touch-action: pan-y;
  }

  body.gsh-ml-active [data-gsh-ml-slot="right"] > [data-gsh-ml-position="2"] {
    position: relative !important;
    z-index: 5;
    width: var(--gsh-ml-position-two-size) !important;
    min-width: var(--gsh-ml-position-two-size) !important;
    max-width: var(--gsh-ml-position-two-size) !important;
    height: var(--gsh-ml-position-two-size) !important;
    min-height: var(--gsh-ml-position-two-size) !important;
    max-height: var(--gsh-ml-position-two-size) !important;
    margin: var(--gsh-ml-gap) auto !important;
    padding: 5px !important;
    border-radius: 50% !important;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    text-align: center;
    white-space: normal;
  }
  body.gsh-ml-active #gsh-ml-stage .gsh-ml-position-two-inactive {
    display: none !important;
    pointer-events: none !important;
  }
  body.gsh-ml-active #gsh-ml-stage[data-gsh-ml-position-two-zone="reserved"] [data-gsh-ml-slot="right"] {
    display: grid;
    grid-template-rows: repeat(3, var(--gsh-ml-position-two-size));
    align-content: center;
    justify-items: center;
    gap: var(--gsh-ml-gap);
  }
  body.gsh-ml-active [data-gsh-ml-slot="right"] > [data-gsh-ml-position="2"] {
    grid-row: 3;
    margin: 0 auto !important;
    font-size: var(--gsh-ml-font-sm) !important;
    line-height: 1.12 !important;
  }
  body.gsh-ml-active [data-gsh-ml-slot="right"] > [data-gsh-ml-position="2"]:disabled {
    opacity: .32;
    cursor: default;
  }

  /* Position 2 exclusively owns the lower-right 35% in all four approved
     games. Current Reading/Word Order choices use this shared rule; any future
     split-choice surface for Typing inherits it automatically. Tone keeps its
     dedicated 4 / 5 / 不確定 rows, with 不確定 as Position 2 itself. */
  body.gsh-ml-active #gsh-ml-stage[data-gsh-ml-position-two-zone="reserved"]
  [data-gsh-ml-split]:not([data-gsh-ml-split="tone"]) {
    grid-template-rows: repeat(100, minmax(0, 1fr));
    grid-auto-rows: minmax(0, 1fr);
    align-content: stretch;
    row-gap: 0 !important;
  }
  body.gsh-ml-active #gsh-ml-stage[data-gsh-ml-position-two-zone="reserved"]
  [data-gsh-ml-split]:not([data-gsh-ml-split="tone"]) > [data-gsh-side] {
    grid-row: var(--gsh-ml-row-start) / span var(--gsh-ml-row-span);
  }
  body[data-gsh-game="word-order"].gsh-ml-active [data-gsh-ml-slot="right"] > #wo-reset-btn:disabled,
  body[data-gsh-game="word-order"].gsh-ml-active [data-gsh-ml-slot="right"] > #wo-next-btn:disabled {
    display: none !important;
  }

  [data-gsh-ml-slot="sentence"] { display: none; }
  body[data-gsh-game="lego"].gsh-ml-active .gsh-ml-play {
    grid-template-rows: minmax(54px, 29%) minmax(0, 1fr);
    row-gap: var(--gsh-ml-gap);
  }
  body[data-gsh-game="lego"].gsh-ml-active [data-gsh-ml-slot="sentence"] {
    grid-column: 1 / 4;
    grid-row: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
    min-height: 0;
    padding: var(--gsh-ml-pad);
    border: 1.5px solid rgba(184, 134, 40, .42);
    border-radius: clamp(12px, 2vw, 18px);
    background: rgba(255, 253, 247, .72);
    overflow: hidden;
  }
  body[data-gsh-game="lego"].gsh-ml-active [data-gsh-ml-slot="sentence"] .out-banner {
    position: static !important;
    width: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    margin: 0 !important;
    padding: 4px !important;
    overflow: auto;
  }
  body[data-gsh-game="lego"].gsh-ml-active [data-gsh-ml-slot="left"],
  body[data-gsh-game="lego"].gsh-ml-active [data-gsh-ml-slot="center"],
  body[data-gsh-game="lego"].gsh-ml-active [data-gsh-ml-slot="right"] {
    grid-row: 2;
    min-width: 0;
    min-height: 0;
    padding: var(--gsh-ml-pad);
    border: 1.5px solid rgba(184, 134, 40, .34);
    border-radius: clamp(12px, 2vw, 18px);
    background: rgba(255, 253, 247, .58);
    overflow: auto;
    overscroll-behavior: contain;
  }
  body[data-gsh-game="lego"].gsh-ml-active [data-gsh-ml-slot="left"],
  body[data-gsh-game="lego"].gsh-ml-active [data-gsh-ml-slot="center"] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-content: center;
    gap: var(--gsh-ml-gap);
  }
  body[data-gsh-game="lego"].gsh-ml-active [data-gsh-ml-slot="center"] .out-actions {
    grid-column: 1 / -1;
    position: static !important;
    width: 100% !important;
    margin: 0 !important;
    display: flex !important;
    justify-content: center;
    gap: var(--gsh-ml-gap);
  }
  body[data-gsh-game="lego"].gsh-ml-active [data-gsh-ml-slot="left"] > .slot,
  body[data-gsh-game="lego"].gsh-ml-active [data-gsh-ml-slot="center"] > .slot {
    min-width: 0;
    margin: 0 !important;
  }
  body[data-gsh-game="lego"].gsh-ml-active [data-gsh-ml-slot="left"] .slot-btn,
  body[data-gsh-game="lego"].gsh-ml-active [data-gsh-ml-slot="center"] .slot-btn {
    width: 100% !important;
    min-width: 0 !important;
    min-height: var(--gsh-ml-control-h) !important;
    padding: 4px 6px !important;
  }

  body[data-gsh-game="tone"].gsh-ml-active [data-gsh-ml-slot="question"] #tf-banner {
    min-height: 0;
    max-height: 58% !important;
    overflow-y: auto !important;
    overscroll-behavior-y: contain;
    -webkit-overflow-scrolling: touch;
    touch-action: pan-y;
    scrollbar-width: thin;
  }
  body[data-gsh-game="tone"].gsh-ml-active .tf-adv-sent-main,
  body[data-gsh-game="tone"].gsh-ml-active .tf-adv-sent-reading,
  body[data-gsh-game="tone"].gsh-ml-active .tf-adv-sent-ctx-zh {
    line-height: 1.25 !important;
    margin-block: 0 var(--gsh-ml-gap) !important;
  }

  body.gsh-ml-active .gsh-confirm-card,
  body.gsh-ml-active .gsh-game-exit-dialog,
  body.gsh-ml-active .modal,
  body.gsh-ml-active .modal-card,
  body.gsh-ml-active #gt-tour-card {
    width: min(72vw, 640px) !important;
    max-width: calc(100vw - var(--gsh-ml-safe-l) - var(--gsh-ml-safe-r)) !important;
    max-height: calc(78dvh - var(--gsh-ml-safe-t) - var(--gsh-ml-safe-b)) !important;
    overflow: auto !important;
    overscroll-behavior: contain;
  }

  /* The four original how-to dialogs keep their own content and controls,
     but share one Landscape shell above the Switch-style stage. */
  body.gsh-ml-active #tf-howto-modal,
  body.gsh-ml-active #rg-howto-modal,
  body.gsh-ml-active #wo-howto-modal {
    z-index: 100002 !important;
    box-sizing: border-box;
    padding: max(var(--gsh-ml-pad), var(--gsh-ml-safe-t)) max(var(--gsh-ml-pad), var(--gsh-ml-safe-r)) max(var(--gsh-ml-pad), var(--gsh-ml-safe-b)) max(var(--gsh-ml-pad), var(--gsh-ml-safe-l)) !important;
  }
  body.gsh-ml-active #tf-howto-modal > :first-child,
  body.gsh-ml-active #rg-howto-modal > :first-child,
  body.gsh-ml-active #wo-howto-modal > :first-child {
    box-sizing: border-box;
    width: min(72vw, 640px) !important;
    max-width: calc(100vw - var(--gsh-ml-safe-l) - var(--gsh-ml-safe-r)) !important;
    max-height: calc(100dvh - var(--gsh-ml-safe-t) - var(--gsh-ml-safe-b) - (2 * var(--gsh-ml-pad))) !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
  }

  /* Word Order uses the approved full-width composition: one question/answer
     band above one choice field, with the existing reset/next action anchored
     in a dedicated rail at the lower right. */
  body[data-gsh-game="word-order"].gsh-ml-active .gsh-ml-play {
    grid-template-columns: minmax(0, 30fr) minmax(0, 40fr) minmax(0, 30fr);
    grid-template-rows: minmax(104px, 40%) minmax(0, 1fr);
    column-gap: var(--gsh-ml-gap);
    row-gap: var(--gsh-ml-gap);
  }
  body[data-gsh-game="word-order"].gsh-ml-active [data-gsh-ml-slot="left"] {
    display: none;
  }
  body[data-gsh-game="word-order"].gsh-ml-active [data-gsh-ml-slot="center"] {
    grid-column: 1 / 4;
    grid-row: 1;
    justify-content: center;
    padding: clamp(4px, 1.2dvh, 8px);
    overflow: hidden;
  }
  body[data-gsh-game="word-order"].gsh-ml-active [data-gsh-ml-slot="account"] {
    display: none;
  }
  body[data-gsh-game="word-order"].gsh-ml-active [data-gsh-ml-slot="question"] {
    width: 100%;
    min-height: 0;
    justify-content: center;
    gap: clamp(3px, .8dvh, 6px);
  }
  body[data-gsh-game="word-order"].gsh-ml-active #gsh-ml-word-order-question {
    padding: 0 var(--gsh-ml-pad);
    font-size: clamp(16px, 4.2dvh, 22px);
    line-height: 1.12;
  }
  body[data-gsh-game="word-order"].gsh-ml-active #wo-slots {
    width: 100% !important;
    min-height: 0;
    justify-content: center;
    align-content: center;
    overflow: hidden;
  }
  body[data-gsh-game="word-order"].gsh-ml-active #wo-slots .wo-slot {
    min-width: clamp(42px, 6.3vw, 64px);
    min-height: clamp(32px, 8.8dvh, 42px);
    padding: 3px clamp(5px, .9vw, 8px);
    font-size: clamp(15px, 4dvh, 20px);
  }
  body[data-gsh-game="word-order"].gsh-ml-active [data-gsh-ml-slot="split-content"] {
    position: relative;
    inset: auto;
    grid-column: 1 / 4;
    grid-row: 2;
    z-index: 1;
    padding: var(--gsh-ml-pad);
    border: 1.5px solid rgba(184, 134, 40, .34);
    border-radius: clamp(12px, 2vw, 18px);
    background: rgba(255, 253, 247, .58);
    display: grid;
    grid-template-columns: minmax(0, 30fr) minmax(0, 40fr) minmax(0, 30fr);
    column-gap: var(--gsh-ml-gap);
  }
  body[data-gsh-game="word-order"].gsh-ml-active [data-gsh-ml-split="word-order"] {
    grid-column: 1 / 3;
    width: 100% !important;
    height: 100% !important;
    padding: var(--gsh-ml-gap) 0 !important;
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    grid-template-rows: none !important;
    /* Keep the approved four-column grid, but let a row become tall enough for
       the same information order used by the other games:
       Thai word -> Thai reading -> English reading -> translation.
       The bank scrolls only when those real row heights exceed its viewport. */
    --wo-ml-choice-row: 34px;
    grid-auto-rows: var(--wo-ml-choice-row) !important;
    align-content: safe center !important;
    column-gap: var(--gsh-ml-gap) !important;
    row-gap: var(--gsh-ml-gap) !important;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
  }
  body[data-gsh-game="word-order"].gsh-ml-active [data-gsh-ml-split="word-order"]:has(.wo-read-th, .wo-read-en, .wo-read-zh) {
    --wo-ml-choice-row: 56px;
  }
  body[data-gsh-game="word-order"].gsh-ml-active [data-gsh-ml-split="word-order"]:has(.wo-read-th):has(.wo-read-en),
  body[data-gsh-game="word-order"].gsh-ml-active [data-gsh-ml-split="word-order"]:has(.wo-read-th):has(.wo-read-zh),
  body[data-gsh-game="word-order"].gsh-ml-active [data-gsh-ml-split="word-order"]:has(.wo-read-en):has(.wo-read-zh) {
    --wo-ml-choice-row: 73px;
  }
  body[data-gsh-game="word-order"].gsh-ml-active [data-gsh-ml-split="word-order"]:has(.wo-read-th):has(.wo-read-en):has(.wo-read-zh) {
    --wo-ml-choice-row: 90px;
  }
  body[data-gsh-game="word-order"].gsh-ml-active [data-gsh-ml-split="word-order"] > .wo-tile {
    grid-column: auto !important;
    grid-row: auto !important;
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    min-width: 0;
    max-width: none;
    min-height: clamp(34px, 9dvh, 44px);
    max-height: none;
    margin: 0 !important;
    padding: clamp(4px, 1dvh, 7px) clamp(6px, 1vw, 10px) !important;
    border-radius: clamp(10px, 1.5vw, 14px);
    font-size: clamp(15px, 3.8dvh, 20px);
    flex-direction: column;
    gap: 0;
  }
  body[data-gsh-game="word-order"].gsh-ml-active [data-gsh-ml-split="word-order"] > .wo-tile > .wo-word-th,
  body[data-gsh-game="word-order"].gsh-ml-active [data-gsh-ml-split="word-order"] > .wo-tile > .wo-read-th,
  body[data-gsh-game="word-order"].gsh-ml-active [data-gsh-ml-split="word-order"] > .wo-tile > .wo-read-en,
  body[data-gsh-game="word-order"].gsh-ml-active [data-gsh-ml-split="word-order"] > .wo-tile > .wo-read-zh {
    display: block;
    width: 100%;
  }
  body[data-gsh-game="word-order"].gsh-ml-active [data-gsh-ml-slot="right"] {
    grid-column: 1 / 4;
    grid-row: 1 / 3;
    z-index: 4;
    padding: var(--gsh-ml-pad) 0;
    border: 0;
    background: transparent;
    overflow: hidden;
    pointer-events: none;
    grid-template-columns: minmax(0, 30fr) minmax(0, 40fr) minmax(0, 30fr);
    grid-template-rows: repeat(3, var(--gsh-ml-position-two-size));
    align-content: center;
    column-gap: 10px !important;
    row-gap: clamp(8px, 2dvh, 12px) !important;
  }
  body[data-gsh-game="word-order"].gsh-ml-active [data-gsh-ml-slot="right"] > [data-gsh-ml-position="2"] {
    pointer-events: auto;
  }
  body[data-gsh-game="word-order"].gsh-ml-active [data-gsh-ml-slot="right"] > #wo-reset-btn,
  body[data-gsh-game="word-order"].gsh-ml-active [data-gsh-ml-slot="right"] > #wo-next-btn {
    grid-column: 3;
    align-self: center;
    justify-self: center;
    position: static !important;
  }
  body[data-gsh-game="word-order"].gsh-ml-active [data-gsh-ml-slot="right"] > #wo-sound-btn,
  body[data-gsh-game="word-order"].gsh-ml-active [data-gsh-ml-slot="right"] > #wo-zh-toggle {
    box-sizing: border-box;
    grid-column: 3;
    width: var(--gsh-ml-position-two-size) !important;
    min-width: var(--gsh-ml-position-two-size) !important;
    max-width: var(--gsh-ml-position-two-size) !important;
    height: var(--gsh-ml-position-two-size) !important;
    min-height: var(--gsh-ml-position-two-size) !important;
    max-height: var(--gsh-ml-position-two-size) !important;
    margin: 0 !important;
    padding: 6px !important;
    border: 2px solid rgba(139, 99, 16, .5) !important;
    border-radius: 50% !important;
    background: #fff !important;
    align-self: center;
    justify-self: center;
    align-items: center !important;
    justify-content: center !important;
    pointer-events: auto;
    touch-action: manipulation;
  }
  body[data-gsh-game="word-order"].gsh-ml-active [data-gsh-ml-slot="right"] > #wo-sound-btn {
    grid-row: 1;
    border-color: #ffb347 !important;
    color: #ffb347 !important;
    font-size: clamp(24px, 7dvh, 32px) !important;
  }
  body[data-gsh-game="word-order"].gsh-ml-active [data-gsh-ml-slot="right"] > #wo-zh-toggle {
    grid-row: 2;
    border-color: #c39bff !important;
    color: #c39bff !important;
    font-size: clamp(24px, 7dvh, 32px) !important;
  }
  body[data-gsh-game="word-order"].gsh-ml-active #gsh-ml-stage:not([data-gsh-ml-word-order-revealed="true"]) [data-gsh-ml-slot="right"] > #wo-sound-btn,
  body[data-gsh-game="word-order"].gsh-ml-active #gsh-ml-stage:not([data-gsh-ml-word-order-revealed="true"]) [data-gsh-ml-slot="right"] > #wo-zh-toggle {
    display: none !important;
  }
  body[data-gsh-game="word-order"].gsh-ml-active #gsh-ml-stage[data-gsh-ml-word-order-revealed="true"] [data-gsh-ml-slot="right"] > #wo-sound-btn,
  body[data-gsh-game="word-order"].gsh-ml-active #gsh-ml-stage[data-gsh-ml-word-order-revealed="true"] [data-gsh-ml-slot="right"] > #wo-zh-toggle {
    display: flex !important;
  }
  body[data-gsh-game="word-order"].gsh-ml-active #gsh-ml-stage[data-gsh-ml-word-order-revealed="true"] [data-gsh-ml-slot="right"] {
    grid-column: 1 / 4;
    grid-row: 1 / 3;
    display: grid;
    grid-template-columns: minmax(0, 30fr) minmax(0, 40fr) minmax(0, 30fr);
    grid-template-rows: repeat(3, var(--gsh-ml-position-two-size));
    align-content: center;
    justify-items: center;
    gap: clamp(8px, 2dvh, 12px) !important;
    padding: var(--gsh-ml-pad) 0;
  }
  body[data-gsh-game="word-order"].gsh-ml-active #gsh-ml-stage[data-gsh-ml-word-order-revealed="true"] .gsh-ml-play {
    grid-template-rows: minmax(0, 1fr) var(--gsh-ml-position-two-size);
  }
  body[data-gsh-game="word-order"].gsh-ml-active #gsh-ml-stage[data-gsh-ml-word-order-revealed="true"] #wo-slots {
    height: 100%;
    overflow: hidden;
    align-content: center;
  }
  body[data-gsh-game="word-order"].gsh-ml-active #gsh-ml-stage[data-gsh-ml-word-order-revealed="true"] #wo-slots .wo-slot.filled {
    height: auto;
    max-height: none;
    gap: 1px;
    padding-block: 2px;
  }
  body[data-gsh-game="word-order"].gsh-ml-active #gsh-ml-stage[data-gsh-ml-word-order-revealed="true"] [data-gsh-ml-slot="right"] > #wo-sound-btn {
    grid-column: 3;
    grid-row: 3;
    transform: translateX(calc((0px - var(--gsh-ml-position-two-size) - var(--gsh-ml-position-two-size)) - clamp(16px, 4dvh, 24px))) !important;
  }
  body[data-gsh-game="word-order"].gsh-ml-active #gsh-ml-stage[data-gsh-ml-word-order-revealed="true"] [data-gsh-ml-slot="right"] > #wo-zh-toggle {
    grid-column: 3;
    grid-row: 3;
    transform: translateX(calc((0px - var(--gsh-ml-position-two-size)) - clamp(8px, 2dvh, 12px))) !important;
  }
  body[data-gsh-game="word-order"].gsh-ml-active #gsh-ml-stage[data-gsh-ml-word-order-revealed="true"] [data-gsh-ml-slot="right"] > #wo-next-btn {
    grid-column: 3;
    grid-row: 3;
    margin: 0 !important;
    transform: none !important;
  }

  body.gsh-ml-login-open #gsh-ml-stage { pointer-events: none; }
  body.gsh-ml-active #rg-gate { z-index: 100000; }
  body.gsh-ml-active .gsh-game-exit-overlay,
  body.gsh-ml-active .gsh-confirm-overlay,
  body.gsh-ml-active .modal-overlay,
  body.gsh-ml-active #gt-tour-overlay,
  body.gsh-ml-active #gt-tour-card,
  body.gsh-ml-active #cookieConsentBanner { z-index: 100001; }
}

/* Safari can leave only ~240px of visual height when both browser bars are
   visible in landscape. Keep all three controls on each side fully inside the
   stage instead of letting the first and last rows clip behind the chrome. */
@media (orientation: landscape) and (max-width: 1024px) and (max-height: 300px) {
  body.gsh-ml-active {
    --gsh-ml-safe-t: max(3px, env(safe-area-inset-top));
    --gsh-ml-safe-b: max(3px, env(safe-area-inset-bottom));
    --gsh-ml-top-h: 32px;
    --gsh-ml-gap: 3px;
    --gsh-ml-pad: 2px;
    --gsh-ml-control-h: 30px;
    --gsh-ml-position-two-size: clamp(46px, 22.5dvh, 58px);
    --gsh-ml-tone-choice: var(--gsh-ml-position-two-size);
  }
  body[data-gsh-game="word-order"].gsh-ml-active .gsh-ml-play {
    grid-template-rows: 72px minmax(0, 1fr);
  }
  body[data-gsh-game="word-order"].gsh-ml-active #gsh-ml-word-order-question {
    font-size: 14px;
  }
  body[data-gsh-game="word-order"].gsh-ml-active #wo-slots .wo-slot,
  body[data-gsh-game="word-order"].gsh-ml-active [data-gsh-ml-split="word-order"] > .wo-tile {
    min-height: 24px;
    padding-block: 2px !important;
    font-size: 13px;
  }
}
