
@media (max-width: 1020px) {
  html[data-mobile-happy-boot],
  html[data-mobile-happy-boot] body {
    margin: 0;
    overflow: hidden;
    background: #fff;
  }
  html[data-mobile-happy-boot] body > :not(#mobileHappyBootGuard) {
    opacity: 0 !important;
    pointer-events: none !important;
  }
  #mobileHappyBootGuard {
    position: fixed;
    z-index: 2147483646;
    inset: 0;
    display: grid;
    align-content: start;
    width: 100%;
    overflow: hidden;
    background: #fff;
    color: #333;
    font-family: Tahoma, Arial, "Microsoft YaHei", sans-serif;
  }
  #mobileHappyBootGuard .mh-boot-title {
    display: grid;
    grid-template-columns: 52px 1fr 52px;
    align-items: center;
    height: 52px;
    border-bottom: 1px solid #eee;
  }
  #mobileHappyBootGuard .mh-boot-title h1 {
    margin: 0;
    font-size: 18px;
    font-weight: 400;
    text-align: center;
  }
  #mobileHappyBootGuard .mh-boot-current {
    height: 214px;
    padding: 18px 12px;
    box-sizing: border-box;
    border-bottom: 8px solid #f1f1f1;
  }
  #mobileHappyBootGuard .mh-boot-line {
    width: 52%;
    height: 15px;
    margin: 8px 0 24px;
    border-radius: 8px;
    background: #eee;
  }
  #mobileHappyBootGuard .mh-boot-balls {
    display: grid;
    grid-template-columns: repeat(8, 28px);
    gap: 12px;
  }
  #mobileHappyBootGuard .mh-boot-balls[data-count="20"],
  #mobileHappyBootGuard .mh-boot-balls[data-count="21"] {
    grid-template-columns: repeat(10, 28px);
    gap: 8px;
    row-gap: 10px;
  }
  #mobileHappyBootGuard .mh-boot-balls i {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: #e7e7e7;
  }

  body[data-detail-type="happy"] {
    min-width: 0 !important;
    overflow-x: hidden !important;
    color: #333;
    background: #efeff4;
    font-family: Tahoma, Arial, "Microsoft YaHei", sans-serif;
  }
  body[data-detail-type="happy"] #mobileDetail {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    padding: 0 0 calc(52px + env(safe-area-inset-bottom)) !important;
    overflow-x: clip !important;
    background: #fff;
  }
  .mobile-happy-titlebar {
    display: grid !important;
    grid-template-columns: 52px minmax(0, 1fr) 52px !important;
    width: 100% !important;
    height: 52px !important;
    min-height: 52px !important;
    box-sizing: border-box;
    border-bottom: 1px solid #eee !important;
    background: #fff;
  }
  .mobile-happy-titlebar > button,
  .mobile-happy-titlebar > span {
    display: grid;
    width: 52px;
    height: 52px;
    padding: 0;
    place-items: center;
    border: 0;
    background: transparent;
  }
  .mobile-happy-titlebar h1 {
    margin: 0 !important;
    overflow: hidden;
    font-size: 18px !important;
    font-weight: 400 !important;
    line-height: 52px !important;
    text-align: center;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .mh-back-arrow {
    width: 12px !important;
    height: 12px !important;
    border-bottom: 2px solid #333;
    border-left: 2px solid #333;
    transform: rotate(45deg);
  }

  .mh-current {
    box-sizing: border-box;
    width: 100%;
    min-height: 151px;
    padding: 13px 10px 10px;
    border-bottom: 8px solid #efeff4;
    background: #fff;
  }
  .mh-current > p {
    min-height: 24px;
    margin: 0 0 12px;
    color: #666;
    font-size: 13px;
    line-height: 24px;
  }
  .mh-current > p strong {
    margin-right: 4px;
    color: #f44a07;
    font-size: 15px;
    font-weight: 400;
  }
  .mh-balls {
    box-sizing: border-box;
    display: grid;
    align-items: center;
    justify-content: start;
    font-variant-numeric: tabular-nums;
  }
  .mh-balls.current.happy10,
  .mh-balls.home.happy10 {
    grid-template-columns: repeat(8, 32px);
    gap: clamp(7px, 2.6vw, 12px);
    width: 100%;
    min-height: 40px;
  }
  .mh-balls.current.happy8,
  .mh-balls.home.happy8 {
    grid-template-columns: repeat(10, 27px);
    gap: 8px;
    width: 100%;
    min-height: 65px;
    row-gap: 8px;
  }
  .mh-ball {
    position: relative;
    box-sizing: border-box;
    display: inline-grid;
    place-items: center;
    width: 27px;
    height: 27px;
    color: #fff;
    border: 0;
    border-radius: 50%;
    font-size: 12px;
    font-weight: 700;
    line-height: 27px;
    text-align: center;
  }
  .mh-balls.current .mh-ball.h10 {
    width: 32px;
    height: 36px;
    border-radius: 0;
    background: transparent url("/assets/pc9567-mobile-number-sprite.png") no-repeat -165.152px -122.72px / 368.16px auto;
    font-size: 15px;
    line-height: 32px;
  }
  .mh-ball.cyan { background: #16a4d8; }
  .mh-ball.blue { background: #0785c7; }
  .mh-ball.orange { background: #ff941f; }
  .mh-ball.red { background: #f04b37; }
  .mh-ball.special {
    color: #fff;
    background: #f04b37;
  }
  .mh-ball.special::after {
    position: absolute;
    top: 100%;
    left: 50%;
    color: #f04b37;
    content: "特别";
    font-size: 8px;
    font-weight: 400;
    line-height: 10px;
    transform: translateX(-50%);
    white-space: nowrap;
  }
  .mh-current-summary {
    display: flex;
    min-height: 38px;
    margin-top: 10px;
    align-items: center;
    justify-content: center;
    gap: 6px;
    color: #555;
    font-size: 13px;
    line-height: 20px;
    white-space: nowrap;
  }
  .mh-current-summary strong {
    color: #f44a07;
    font-size: 15px;
  }
  .mh-current-summary i {
    color: #bbb;
    font-style: normal;
  }
  .mh-current-dragons {
    display: inline-flex;
    gap: 8px;
  }
  .mh-current-dragons b {
    color: #f44a07;
    font-weight: 400;
  }
  .mh-current .detail-progress,
  .mh-current .detail-progress-line {
    margin-top: 4px !important;
  }

  .mh-groups {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    width: 100%;
    height: 45px;
    border-bottom: 1px solid #e6e6e6;
    background: #fff;
  }
  .mh-groups button,
  .mh-pages button,
  .mh-mode-tabs button,
  .mh-position-tabs button {
    padding: 0 10px;
    border: 0;
    color: #333;
    background: #fff;
    font: 13px/1.2 Tahoma, Arial, "Microsoft YaHei", sans-serif;
    white-space: nowrap;
  }
  .mh-groups button {
    position: relative;
    height: 45px;
  }
  .mh-groups button.active {
    color: #f4831e;
  }
  .mh-groups button.active::after {
    position: absolute;
    right: 23%;
    bottom: 0;
    left: 23%;
    height: 3px;
    border-radius: 2px;
    background: #f4831e;
    content: "";
  }
  .mh-pages {
    width: 100%;
    height: 46px;
    overflow: hidden;
    border-bottom: 1px solid #e6e6e6;
    background: #fff;
    touch-action: pan-x;
  }
  .mh-pages > div {
    display: flex;
    width: 100%;
    min-width: 0;
    height: 46px;
    overflow-x: auto;
    scrollbar-width: none;
  }
  .mh-pages > div::-webkit-scrollbar { display: none; }
  .mh-pages button {
    flex: 0 0 auto;
    min-width: 78px;
    height: 46px;
  }
  .mh-pages button.active,
  .mh-mode-tabs button.active,
  .mh-position-tabs button.active,
  .mh-sort-modes button.active {
    color: #fff;
    border-color: #f4831e;
    border-radius: 16px;
    background: #f4831e;
  }
  .mh-pages-direct > div { width: 100%; }
  .mh-pages-direct button { flex: 1 1 0; }
  .mh-content {
    width: 100%;
    min-width: 0;
    background: #fff;
  }
  .mh-page {
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    padding: 0 0 16px;
    background: #fff;
  }
  .mh-page > h2 {
    margin: 0;
    padding: 12px;
    border-bottom: 1px solid #eee;
    font-size: 15px;
    font-weight: 400;
  }

  .mh-datebar {
    box-sizing: border-box;
    display: grid;
    grid-template-columns: 39.515625px 39.515625px 39.515625px 101.171875px;
    justify-content: end;
    width: 100%;
    height: 38.4375px;
    padding: 0 10.3984375px;
    align-items: center;
    border-bottom: 1px solid #dbdbdb;
    background: #fff;
  }
  .mh-datebar button {
    height: 32px;
    padding: 0 5px;
    border: 0;
    color: #666;
    background: transparent;
    font-size: 12px;
  }
  .mh-datebar button.active { color: #f4831e; }
  .mh-date-open {
    display: flex;
    min-width: 0;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
  }
  .mh-date-open span { overflow: hidden; text-overflow: ellipsis; }
  .mh-date-open i {
    width: 0;
    height: 0;
    border-top: 6px solid #999;
    border-right: 5px solid transparent;
    border-left: 5px solid transparent;
  }
  .mh-request-state {
    padding: 8px 12px;
    color: #8d6a21;
    background: #fff8df;
    font-size: 12px;
    line-height: 20px;
  }
  .mh-request-state.error { color: #a12b2b; background: #fff1f1; }
  .mh-request-state button { margin-left: 8px; border: 0; color: #f4831e; background: transparent; }

  .mh-sort-modes,
  .mh-mode-tabs,
  .mh-position-tabs {
    display: flex;
    width: 100%;
    min-height: 42px;
    padding: 5px 10px;
    box-sizing: border-box;
    align-items: center;
    gap: 8px;
    overflow-x: auto;
    border-bottom: 1px solid #eee;
    scrollbar-width: none;
  }
  .mh-sort-modes button,
  .mh-mode-tabs button,
  .mh-position-tabs button {
    flex: 0 0 auto;
    min-width: 60px;
    height: 30px;
    padding: 0 12px;
    border: 1px solid transparent;
    background: #fff;
  }

  .mh-opening-table {
    width: 100%;
    font-size: 12px;
  }
  .mh-opening-head,
  .mh-opening-row {
    display: grid;
    grid-template-columns: 44px 56px minmax(0, 1fr);
    width: 100%;
    box-sizing: border-box;
  }
  .mh-opening-head {
    height: 45.7578125px;
    min-height: 45.7578125px;
    align-items: stretch;
    color: #666;
    border-bottom: 1px solid #ddd;
    background: #f8f8f8;
  }
  .mh-opening-head > span {
    display: grid;
    place-items: center;
    border-right: 1px solid #e3e3e3;
  }
  .mh-opening-head nav {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    min-width: 0;
  }
  .mh-opening-head button {
    min-width: 0;
    padding: 0 2px;
    border: 0;
    border-right: 1px solid #e3e3e3;
    color: #666;
    background: #f8f8f8;
    font-size: 11px;
  }
  .mh-opening-head button.active {
    color: #f4831e;
    background: #fff;
  }
  .mh-opening-row {
    height: 44.6796875px;
    min-height: 44.6796875px;
    align-items: stretch;
    border-bottom: 1px solid #e9e9e9;
  }
  .mh-opening-row > span {
    display: grid;
    min-width: 0;
    padding: 5px 3px;
    box-sizing: border-box;
    place-items: center;
    border-right: 1px solid #eee;
    text-align: center;
  }
  .mh-opening-row .mh-opening-result {
    overflow: hidden;
  }
  .mh-opening-row:has(.mh-balls.happy8) {
    min-height: 79px;
  }
  .mh-balls.history.happy10 {
    grid-template-columns: repeat(8, 25px);
    gap: clamp(3px, 1.3vw, 5px);
  }
  .mh-balls.history.happy8 {
    grid-template-columns: repeat(10, 23px);
    gap: 5px;
    row-gap: 7px;
  }
  .mh-balls.history.happy8 .mh-ball {
    width: 23px;
    height: 23px;
    font-size: 10px;
    line-height: 23px;
  }
  .mh-balls.history.happy10 .mh-ball {
    width: 25px;
    height: 25px;
    background: #168bc9;
    border-radius: 50%;
    font-size: 11px;
  }
  .mh-opening-outcomes {
    display: grid;
    grid-template-columns: repeat(8, 1fr);
    width: 100%;
    align-items: center;
    gap: 2px;
  }
  .mh-opening-outcomes.happy8 { grid-template-columns: repeat(10, 1fr); row-gap: 4px; }
  .mh-opening-outcomes b { font-size: 11px; font-weight: 400; }
  .mh-opening-summary { color: #555; font-size: 12px; }

  .mh-table-scroll {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .mh-table {
    width: max-content;
    min-width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
    color: #444;
    background: #fff;
    font-size: 11px;
    font-variant-numeric: tabular-nums;
  }
  .mh-table th,
  .mh-table td {
    min-width: 34px;
    height: 34px;
    padding: 2px 4px;
    box-sizing: border-box;
    border-right: 1px solid #e4e4e4;
    border-bottom: 1px solid #e4e4e4;
    text-align: center;
    white-space: nowrap;
  }
  .mh-table th {
    height: 38px;
    color: #555;
    background: #f5f5f5;
    font-weight: 400;
  }
  .mh-table tr > :first-child { min-width: 76px; }
  .mh-table .hit b,
  .mh-table td.hit {
    color: #fff;
    background: #f4831e;
    border-radius: 50%;
  }
  .mh-table .stats td {
    color: #666;
    background: #fafafa;
  }
  .mh-empty {
    display: grid;
    min-height: 90px;
    place-items: center;
    color: #999;
    font-size: 13px;
  }

  .mh-distribution {
    padding-bottom: 64px;
    border-top: 1px solid #dbdbdb;
  }
  .mh-distribution-filters {
    width: 100%;
    background: #fff;
  }
  .mh-distribution-filter-line {
    box-sizing: border-box;
    height: 49.9140625px;
    padding: 12.4765625px 10.3984375px 0;
  }
  .mh-distribution-filter-line:nth-child(2) {
    height: 65.5078125px;
  }
  .mh-distribution-number-row {
    display: flex;
    width: 369.203125px;
    height: 37.4375px;
    gap: 4.16px;
  }
  .mh-distribution-number-row button {
    box-sizing: border-box;
    flex: 1 1 0;
    min-width: 0;
    height: 39.4375px;
    margin: 0;
    padding: 0;
    border: 1px solid #dbdbdb;
    border-radius: 4.16px;
    color: #666;
    background: #fff;
    font: 400 14.56px/37.44px "microsoft yahei", "Microsoft YaHei", sans-serif;
  }
  .mh-distribution-number-row button.active {
    border-color: #fc8f1a;
  }
  .mh-distribution-number-row button {
    position: relative;
  }
  .mh-distribution-number-row button.active:not([data-ui-choice-check])::after {
    position: absolute;
    top: 22.88px;
    right: -2.08px;
    display: block;
    width: 15.59375px;
    height: 15.59375px;
    background: transparent url("/assets/pc9567-mobile-number-sprite.png") no-repeat -176.8px -50.96px / 451.36px auto;
    content: "";
  }
  .mh-distribution-traits {
    box-sizing: border-box;
    display: -webkit-box;
    width: 369.203125px;
    height: 31.1171875px;
    margin: 0 10.3984375px 15.59375px;
    border: 1px solid #fc8f1a;
  }
  .mh-distribution-traits button {
    display: block;
    box-sizing: content-box;
    width: 0;
    height: 29.1171875px;
    margin: 0;
    padding: 0;
    border: 0;
    -webkit-box-flex: 1;
    color: #fc8f1a;
    background: #fff;
    font: 400 14.56px/29.12px "microsoft yahei", "Microsoft YaHei", sans-serif;
  }
  .mh-distribution-traits button + button {
    border-left: 1px solid #fc8f1a;
  }
  .mh-distribution-traits button.active {
    color: #fff;
    background: #fc8f1a;
  }
  .mh-distribution-history {
    margin-top: 2px;
  }
  .mh-distribution-row .mh-filtered-out {
    opacity: .1;
  }

  .mh-number-filters {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 7px;
    padding: 10px;
    border-bottom: 1px solid #eee;
  }
  .mh-number-filters button,
  .mh-check-grid button {
    height: 32px;
    padding: 0 4px;
    border: 1px solid #ddd;
    border-radius: 4px;
    color: #555;
    background: #fff;
    font-size: 11px;
  }
  .mh-number-filters button.active,
  .mh-check-grid button.active {
    color: #fff;
    border-color: #f4831e;
    background: #f4831e;
  }

  .mh-twoface {
    overflow: hidden;
    padding-top: 10.3984375px;
    padding-bottom: 64px;
    border-top: 1px solid #dbdbdb;
  }
  .mh-twoface-position-shell {
    box-sizing: content-box;
    width: 100%;
    height: 62.3984375px;
    padding: 0 10.3984375px;
    overflow-x: scroll;
    overflow-y: hidden;
    background: #fff;
  }
  .mh-twoface-position-shell .mh-position-tabs {
    display: flex;
    width: 634.3984375px;
    min-height: 0;
    height: 33.1953125px;
    margin: 15.59375px 0 0;
    padding: 0;
    gap: 10.3984375px;
    overflow: visible;
    border: 0;
  }
  .mh-twoface-position-shell .mh-position-tabs button {
    box-sizing: content-box;
    flex: 0 0 65.1953125px;
    min-width: 65.1953125px;
    height: 31.1953125px;
    margin: 0;
    padding: 0;
    border: 1px solid #dbdbdb;
    border-radius: 15.6px;
    color: #666;
    background: #fff;
    font: 400 14.56px/31.1953125px "microsoft yahei", "Microsoft YaHei", sans-serif;
  }
  .mh-twoface-position-shell .mh-position-tabs button.active {
    color: #fff;
    border: 0;
    border-radius: 15.6px;
    background: #fb8e19;
  }
  .mh-twoface .mh-table-scroll {
    margin-top: -13.515625px;
    overflow: hidden;
  }
  .mh-twoface-table {
    width: 100%;
    min-width: 100%;
    border-collapse: separate;
    border-spacing: 1px;
    color: #666;
    background: #e5e5e5;
    font: 400 12.48px "microsoft yahei", "Microsoft YaHei", sans-serif;
  }
  .mh-twoface-table th,
  .mh-twoface-table td {
    box-sizing: border-box;
    min-width: 0;
    height: 33px;
    padding: 0 10.4px;
    border: 0;
    color: #666;
    background: #fff;
    font-weight: 400;
    text-align: center;
  }
  .mh-twoface-table th {
    height: 34.3203125px;
    background: #f0f0f0;
    line-height: 34.32px;
  }
  .mh-twoface-table tr > :first-child {
    width: 138.3828125px;
    min-width: 138.3828125px;
  }
  .mh-twoface-table tr > :not(:first-child) {
    width: 61.3984375px;
    min-width: 61.3984375px;
  }

  .mh-long {
    min-height: calc(100vh - 303.5703125px);
    background: #efeff4;
  }
  .mh-long ul {
    display: grid;
    grid-template-columns: repeat(3, 29.865785vw);
    justify-content: start;
    gap: 9.359375px 2.55609vw;
    margin: 0;
    padding: 9.359375px 0 20px 2.610176vw;
    list-style: none;
  }
  .mh-long li {
    box-sizing: border-box;
    height: 45.7578125px;
    min-height: 45.7578125px;
    overflow: hidden;
    color: #666;
    background: #fff;
    box-shadow: rgba(0, 0, 0, 0.09) 0 4.16px 6.24px 0;
    font: 400 13.52px/45.7578125px "microsoft yahei", "Microsoft YaHei", sans-serif;
    text-align: center;
    white-space: nowrap;
  }
  .mh-long li strong { font-weight: 400; }
  .mh-long li strong.hot { color: #f11821; }

  .mh-road-toolbar {
    display: flex;
    width: 100%;
    min-height: 42px;
    align-items: center;
    border-bottom: 1px solid #eee;
  }
  .mh-road-toolbar .mh-datebar {
    flex: 1 1 auto;
    width: auto;
    grid-template-columns: 48px 48px 48px minmax(90px, 1fr);
    padding-left: 0;
  }
  .mh-filter-open {
    flex: 0 0 72px;
    height: 32px;
    margin-left: 8px;
    border: 1px solid #f4831e;
    border-radius: 4px;
    color: #f4831e;
    background: #fff;
    font-size: 12px;
  }
  .mh-road-card {
    margin: 0;
    padding: 10px 0 8px;
    border-bottom: 8px solid #efeff4;
    background: #fff;
  }
  .mh-road-card header {
    display: grid;
    min-height: 42px;
    padding: 0 10px;
    align-items: center;
    color: #666;
    font-size: 11px;
  }
  .mh-road-card header strong { color: #333; font-size: 13px; font-weight: 400; }
  .mh-road-card header i { color: #f4831e; font-style: normal; }
  .mh-road-track {
    display: flex;
    width: 100%;
    min-height: 112px;
    padding: 7px 10px;
    box-sizing: border-box;
    gap: 1px;
    align-items: flex-start;
    overflow-x: auto;
    background-image: linear-gradient(#e8e8e8 1px, transparent 1px), linear-gradient(90deg, #e8e8e8 1px, transparent 1px);
    background-size: 28px 28px;
    touch-action: pan-x;
  }
  .mh-road-column {
    display: flex;
    flex: 0 0 27px;
    flex-direction: column;
  }
  .mh-road-column b {
    display: grid;
    width: 27px;
    height: 27px;
    place-items: center;
    overflow: hidden;
    font-size: 10px;
    font-weight: 400;
    white-space: nowrap;
  }
  .mh-road-card footer {
    padding: 7px 10px 0;
    color: #777;
    font-size: 11px;
  }
  body[data-detail-type="happy"] .red { color: #e9453b !important; }
  body[data-detail-type="happy"] .blue { color: #1789c8 !important; }
  body[data-detail-type="happy"] .green { color: #19a15f !important; }
  body[data-detail-type="happy"] .orange { color: #f4831e !important; }

  .mh-trend-toolbar {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1px;
    min-height: 42px;
    border-bottom: 1px solid #eee;
    background: #eee;
  }
  .mh-trend-toolbar button {
    min-width: 0;
    padding: 0 2px;
    border: 0;
    color: #555;
    background: #fff;
    font-size: 11px;
  }
  .mh-help {
    margin: 0;
    padding: 8px 12px;
    color: #777;
    background: #fff9ef;
    font-size: 11px;
    line-height: 18px;
  }

  .mh-daily-long {
    padding-bottom: 64px;
    overflow: hidden;
    border-top: 1px solid #dbdbdb;
  }
  .mh-daily-mode-tabs {
    box-sizing: border-box;
    display: flex;
    width: 842.3984375px;
    height: 52px;
    padding: 10.3984375px 0 10.40625px 10.3984375px;
    gap: 10.3984375px;
    overflow-x: auto;
    border: 0;
    background: #fff;
    scrollbar-width: none;
  }
  .mh-daily-mode-tabs::-webkit-scrollbar { display: none; }
  .mh-daily-mode-tabs button {
    box-sizing: border-box;
    flex: 0 0 72.28125px;
    min-width: 72.28125px;
    height: 31.1953125px;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 15.6px;
    color: #666;
    background: #fff;
    font: 400 14.56px/31.2px "microsoft yahei", "Microsoft YaHei", sans-serif;
  }
  .mh-daily-mode-tabs button.active {
    color: #fff;
    background: #fb8e19;
  }
  .mh-daily-rank-line {
    box-sizing: border-box;
    width: 100%;
    height: 40.4375px;
    border-top: 1px solid #e9e9e9;
    border-bottom: 1px solid #e9e9e9;
    background: #fff;
  }
  .mh-daily-rank-line button {
    position: relative;
    box-sizing: border-box;
    display: block;
    height: 38.4375px;
    padding: 0 20.8px 0 0;
    border: 0;
    color: #000;
    background: #fff;
    font: 400 12.48px/37.44px "microsoft yahei", "Microsoft YaHei", sans-serif;
  }
  .mh-daily-rank-line i {
    position: absolute;
    top: 15px;
    right: 4px;
    width: 8px;
    height: 8px;
    border-right: 1px solid #999;
    border-bottom: 1px solid #999;
    transform: rotate(45deg);
  }
  .mh-daily-long .mh-table-scroll {
    width: 100%;
    overflow-x: auto;
  }
  .mh-daily-table {
    width: 652.4140625px;
    min-width: 652.4140625px;
    border-collapse: separate;
    border-spacing: 1px;
    color: #666;
    background: #e5e5e5;
    font: 400 12.48px "microsoft yahei", "Microsoft YaHei", sans-serif;
  }
  .mh-daily-table th,
  .mh-daily-table td {
    box-sizing: border-box;
    min-width: 40.4px;
    width: 40.4px;
    height: 33.2734375px;
    padding: 0;
    border: 0;
    color: #666;
    background: #fff;
    font-weight: 400;
    text-align: center;
  }
  .mh-daily-table th {
    height: 52px;
    background: #f1f1f1;
    line-height: 26px;
  }
  .mh-daily-table tr > :first-child {
    width: 84px;
    min-width: 84px;
  }
  .mh-daily-table .mh-daily-range {
    padding-left: 210px;
    text-align: left;
  }
  .mh-daily-position-sheet {
    height: 295.5625px;
    max-height: none;
    overflow: hidden;
    border-radius: 0;
  }
  .mh-daily-position-sheet > header {
    position: static;
    height: 62.3984375px;
    grid-template-columns: 72px 1fr 72px;
    border-bottom: 0;
  }
  .mh-daily-position-sheet > header button {
    height: 62.3984375px;
    color: #222;
    font: 400 16.64px/62.3984375px "microsoft yahei", "Microsoft YaHei", sans-serif;
  }
  .mh-daily-position-sheet > header strong {
    color: #111;
    font: 400 15.6px/62.3984375px "microsoft yahei", "Microsoft YaHei", sans-serif;
  }
  .mh-daily-position-wheel {
    position: relative;
    height: 233.1640625px;
    overflow-y: auto;
    padding: 72px 0 80px;
    box-sizing: border-box;
    scroll-snap-type: y mandatory;
    scrollbar-width: none;
  }
  .mh-daily-position-wheel::-webkit-scrollbar { display: none; }
  .mh-daily-position-wheel::before,
  .mh-daily-position-wheel::after {
    position: absolute;
    right: 0;
    left: 0;
    height: 1px;
    background: #e5e5e5;
    content: "";
    pointer-events: none;
  }
  .mh-daily-position-wheel::before { top: 72px; }
  .mh-daily-position-wheel::after { top: 112px; }
  .mh-daily-position-wheel button {
    display: block;
    width: 100%;
    height: 40px;
    scroll-snap-align: center;
    border: 0;
    color: #aaa;
    background: #fff;
    font: 400 14.56px/40px "microsoft yahei", "Microsoft YaHei", sans-serif;
  }
  .mh-daily-position-wheel button.selected {
    color: #111;
    font-size: 15.6px;
  }

  .mh-overlay {
    position: fixed;
    z-index: 2147483000;
    inset: 0;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    background: rgba(0, 0, 0, .46);
  }
  .mh-sheet {
    box-sizing: border-box;
    width: 100%;
    max-height: 72vh;
    overflow-y: auto;
    border-radius: 12px 12px 0 0;
    background: #fff;
  }
  .mh-sheet > header {
    position: sticky;
    z-index: 2;
    top: 0;
    display: grid;
    grid-template-columns: 72px 1fr 72px;
    height: 48px;
    align-items: center;
    border-bottom: 1px solid #eee;
    background: #fff;
  }
  .mh-sheet > header button {
    height: 48px;
    border: 0;
    color: #f4831e;
    background: transparent;
    font-size: 13px;
  }
  .mh-sheet > header strong {
    font-size: 15px;
    font-weight: 400;
    text-align: center;
  }
  .mh-sheet h3 {
    margin: 0;
    padding: 10px 12px 6px;
    color: #777;
    font-size: 12px;
    font-weight: 400;
  }
  .mh-check-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
    padding: 8px 12px 14px;
  }
  .mh-sheet > footer {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    padding: 10px 12px 18px;
  }
  .mh-sheet > footer button {
    height: 38px;
    border: 1px solid #f4831e;
    border-radius: 4px;
    color: #f4831e;
    background: #fff;
  }
  .mh-picker-grid {
    position: relative;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    height: 216px;
    overflow: hidden;
  }
  .mh-picker-grid::before,
  .mh-picker-grid::after {
    position: absolute;
    z-index: 2;
    right: 0;
    left: 0;
    height: 1px;
    background: #ddd;
    content: "";
    pointer-events: none;
  }
  .mh-picker-grid::before { top: 87px; }
  .mh-picker-grid::after { top: 129px; }
  .mh-picker-wheel {
    height: 216px;
    padding: 87px 0;
    box-sizing: border-box;
    overflow-y: auto;
    scroll-snap-type: y mandatory;
    scrollbar-width: none;
  }
  .mh-picker-wheel::-webkit-scrollbar { display: none; }
  .mh-picker-wheel button {
    display: block;
    width: 100%;
    height: 42px;
    scroll-snap-align: center;
    border: 0;
    color: #999;
    background: transparent;
    font-size: 14px;
  }
  .mh-picker-wheel button.selected {
    color: #222;
    font-size: 17px;
  }

  .mobile-happy-card .mh-balls {
    padding: 5px 0;
  }
  .mobile-happy-card .mh-home-summary {
    overflow: hidden;
    color: #666;
    font-size: 11px;
    line-height: 22px;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .mobile-happy-card .mh-balls.home.happy8 {
    grid-template-columns: repeat(10, 24px);
    gap: 5px;
    row-gap: 5px;
  }
  .mobile-happy-card .mh-balls.home.happy8 .mh-ball {
    width: 24px;
    height: 24px;
    font-size: 10px;
  }
}

@media (max-width: 370px) {
  .mh-current { padding-right: 7px; padding-left: 7px; }
  .mh-balls.current.happy10,
  .mh-balls.home.happy10 { grid-template-columns: repeat(8, 30px); gap: 8px; }
  .mh-balls.current.happy8,
  .mh-balls.home.happy8 { grid-template-columns: repeat(10, 25px); gap: 7px; }
  .mh-datebar { grid-template-columns: 50px 50px 50px minmax(100px, 1fr); padding: 0 6px; }
  .mh-opening-head,
  .mh-opening-row { grid-template-columns: 42px 52px minmax(0, 1fr); }
  .mh-balls.history.happy10 { grid-template-columns: repeat(8, 23px); gap: 4px; }
  .mh-balls.history.happy8 { grid-template-columns: repeat(10, 21px); gap: 4px; }
  .mh-balls.history.happy8 .mh-ball { width: 21px; height: 21px; font-size: 9px; }
}


/* r525 source-evidence corrections: original Happy10/Happy8 mobile geometry and stateful analysis pages. */
@media (max-width: 1020px) {
  body[data-detail-type="happy"] .mh-current {
    min-height: 151px;
  }

  body[data-detail-type="happy"] .mh-balls.current.happy10,
  body[data-detail-type="happy"] .mh-balls.home.happy10 {
    grid-template-columns: repeat(8, 28.6875px);
    width: 100%;
    min-height: 29px;
    justify-content: space-between;
    gap: 0;
  }

  body[data-detail-type="happy"] .mh-ball.h10,
  body[data-detail-type="happy"] .mh-balls.history.happy10 .mh-ball.h10 {
    width: 28.6875px;
    height: 28.6875px;
    border: 0;
    border-radius: 0;
    background-color: transparent;
    background-image: url("/assets/pc9567-mobile-number-sprite.png");
    background-repeat: no-repeat;
    background-size: 368.16px auto;
    color: #fff;
    font: 400 16.64px/28.6875px "microsoft yahei", "Microsoft YaHei", sans-serif;
  }

  body[data-detail-type="happy"] .mh-ball.h10.blue {
    background-position: -165.152px -122.72px;
  }

  body[data-detail-type="happy"] .mh-ball.h10.red {
    background-position: -196.352px -122.72px;
  }

  body[data-detail-type="happy"] .mh-ball.h10.blue,
  body[data-detail-type="happy"] .mh-ball.h10.red {
    color: #fff !important;
  }

  body[data-detail-type="happy"] .mh-balls.history.happy10 {
    grid-template-columns: repeat(8, 28.6875px);
    gap: 5.5078125px;
  }

  body[data-detail-type="happy"] .mh-current-summary {
    min-height: 28px;
    margin-top: 4px;
    justify-content: flex-start;
    gap: 5px;
    font-size: 12.48px;
  }

  body[data-detail-type="happy"] .mh-pages button.active {
    color: #f4831e;
    border-color: transparent;
    border-radius: 0;
    background: #fff;
  }

  body[data-detail-type="happy"] .mh-opening-head button.active {
    align-self: center;
    height: 28px;
    margin: 0 2px;
    color: #fff;
    border-radius: 16px;
    background: #f4831e;
  }

  body[data-detail-type="happy"] .mh-stat-cards {
    padding: 10.3984375px 10.3984375px 10.3984375px;
    background: #fff;
  }

  body[data-detail-type="happy"] .mh-stat-card {
    margin: 0 0 10.3984375px;
  }

  body[data-detail-type="happy"] .mh-stat-card h3 {
    height: 37.4375px;
    margin: 0;
    color: #fff;
    background: rgb(157, 169, 194);
    text-align: center;
    font: 400 16.64px/37.4375px "microsoft yahei", "Microsoft YaHei", sans-serif;
  }
  body[data-detail-type="happy"] .mh-stat-card:nth-child(1) h3 { background: rgb(250, 153, 50); }
  body[data-detail-type="happy"] .mh-stat-card:nth-child(2) h3 { background: rgb(46, 170, 232); }

  body[data-detail-type="happy"] .mh-stat-card .mh-table-scroll {
    overflow: hidden;
    border: 0;
  }

  body[data-detail-type="happy"] .mh-stat-card .mh-table {
    width: 100%;
    table-layout: fixed;
    border-collapse: collapse;
  }

  body[data-detail-type="happy"] .mh-stat-card .mh-table th {
    width: auto;
    min-width: 0;
    height: 37.4375px;
    border: 1px solid #e4e4e4;
  }
  body[data-detail-type="happy"] .mh-stat-card .mh-table td {
    width: auto;
    min-width: 0;
    height: 38.4375px;
    border: 1px solid #e4e4e4;
  }

  body[data-detail-type="happy"] .mh-number-road-filters {
    display: flex;
    min-height: 44px;
    padding: 6px 10px;
    box-sizing: border-box;
    align-items: center;
    gap: 6px;
    overflow-x: auto;
    border-bottom: 1px solid #e7e7e7;
    background: #fff;
    scrollbar-width: none;
  }

  body[data-detail-type="happy"] .mh-number-road-filters::-webkit-scrollbar {
    display: none;
  }

  body[data-detail-type="happy"] .mh-number-road-filters button {
    flex: 0 0 32px;
    height: 30px;
    padding: 0;
    border: 1px solid #ddd;
    border-radius: 3px;
    color: #555;
    background: #fff;
    font-size: 11px;
  }

  body[data-detail-type="happy"] .mh-number-road-filters button:first-child,
  body[data-detail-type="happy"] .mh-number-road-filters button:nth-child(2) {
    flex-basis: 44px;
  }

  body[data-detail-type="happy"] .mh-number-road-filters button.active {
    color: #fff;
    border-color: #f4831e;
    background: #f4831e;
  }

  body[data-detail-type="happy"] .mh-road-toolbar > .mh-filter-open + .mh-filter-open {
    margin-left: 6px;
  }

  body[data-detail-type="happy"] .mh-trend-modes {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    min-height: 48px;
    padding: 0;
    gap: 0;
    overflow: hidden;
  }

  body[data-detail-type="happy"] .mh-trend-modes button {
    width: 100%;
    height: 48px;
    border: 0;
    border-right: 1px solid #ddd;
    border-radius: 0;
    color: #333;
    background: #f8f8f8;
  }

  body[data-detail-type="happy"] .mh-trend-modes button.active {
    color: #fff;
    border-radius: 0;
    background: #555865;
  }

  body[data-detail-type="happy"] .mh-trend-toolbar {
    display: flex;
    width: 100%;
    min-height: 42px;
    overflow-x: auto;
    gap: 0;
    background: #fff;
    scrollbar-width: none;
  }

  body[data-detail-type="happy"] .mh-trend-toolbar::-webkit-scrollbar {
    display: none;
  }

  body[data-detail-type="happy"] .mh-trend-toolbar button {
    flex: 0 0 auto;
    min-width: 52px;
    height: 42px;
    padding: 0 8px;
    color: #333;
    border-right: 1px solid #eee;
    background: #fff;
    font-size: 12px;
  }

  body[data-detail-type="happy"] .mh-trend-toolbar button:first-child,
  body[data-detail-type="happy"] .mh-trend-toolbar button:nth-last-child(-n+3) {
    color: #f4831e;
  }

  body[data-detail-type="happy"] .mh-trend-toolbar button.active {
    color: #f4831e;
  }

  body[data-detail-type="happy"] .mh-trend-table th,
  body[data-detail-type="happy"] .mh-trend-table td {
    min-width: 32px;
    height: 34px;
    padding: 1px 3px;
  }

  body[data-detail-type="happy"] .mh-trend-table tr > :first-child {
    min-width: 72px;
  }

  body[data-detail-type="happy"] .mh-trend-table .mh-drawn-numbers {
    min-width: 116px;
    color: #e85547;
    white-space: nowrap;
  }

  body[data-detail-type="happy"] .mh-total-trend .mh-drawn-numbers {
    min-width: 114px;
  }

  body[data-detail-type="happy"] .mh-trend-table .mh-sum {
    color: #e85547;
  }

  body[data-detail-type="happy"] .mh-trend-table td.trend-hit b {
    display: inline-grid;
    width: 24px;
    height: 24px;
    place-items: center;
    border-radius: 50%;
    color: #fff;
    background: currentColor;
    font-size: 11px;
    font-weight: 400;
  }

  body[data-detail-type="happy"] .mh-trend-table td.trend-hit b::first-line {
    color: #fff;
  }

  body[data-detail-type="happy"] .mh-trend-table td.trend-hit.red b {
    background: #ff941f;
  }

  body[data-detail-type="happy"] .mh-trend-table td.trend-hit.blue b {
    background: #45aeda;
  }

  body[data-detail-type="happy"] .mh-trend-table td.trend-hit.green b {
    background: #24ac52;
  }

  body[data-detail-type="happy"] .mh-trend-table td.trend-hit.orange b {
    background: #ff941f;
  }

  body[data-detail-type="happy"] .mh-trend-table .stats td {
    color: #666;
    background: #fafafa;
  }
}

@media (max-width: 370px) {
  body[data-detail-type="happy"] .mh-balls.current.happy10,
  body[data-detail-type="happy"] .mh-balls.home.happy10 {
    grid-template-columns: repeat(8, 27px);
    justify-content: space-between;
    gap: 0;
  }

  body[data-detail-type="happy"] .mh-ball.h10,
  body[data-detail-type="happy"] .mh-balls.history.happy10 .mh-ball.h10 {
    width: 27px;
    height: 27px;
    font-size: 15px;
    line-height: 27px;
  }
}

@media (max-width: 1020px) {
  /* 20260829-mobile-happy-series-header-info-removed-r686: source hit balls use pure fills; connector SVG lines remain a separate layer. */
  body[data-detail-type="happy"] .mh-trend.annot-line .trend-hit b,
  body[data-detail-type="happy"] .mh-trend.annot-line .hit b {
    box-shadow: none;
  }

  /* 20260831-mobile-happy-current-omission-layers-r812:
   * source fancongcls marks only the current leading omission run in each column. */
  body[data-detail-type="happy"] .mh-trend.annot-layers td.fancongcls {
    background: #9595c5 !important;
  }

  body[data-detail-type="happy"] .mh-trend.annot-divider tbody tr:nth-child(5n) td {
    border-bottom: 2px solid #c8c8c8;
  }
}


/* r533 acceptance corrections: measured original shell, real road tables, split trend grids. */
@media (max-width: 1020px) {
  body[data-detail-type="happy"] #mobileDetail {
    padding-bottom: calc(60px + env(safe-area-inset-bottom)) !important;
  }

  body[data-detail-type="happy"] .mobile-happy-titlebar {
    height: 52px !important;
    margin-bottom: 0;
  }
  body[data-detail-type="happy"] .mobile-happy-titlebar h1 {
    font-size: 18.72px !important;
  }

  body[data-detail-type="happy"] .mh-current.happy10 {
    height: 124.7890625px;
    min-height: 124.7890625px;
    margin: 10.3984375px 0 11.4375px;
    padding: 10.3984375px;
    border: 0;
  }
  body[data-detail-type="happy"] .mh-current.happy10 > p {
    min-height: 17.6796875px;
    height: 17.6796875px;
    margin: 0 0 12.4765625px;
    font-size: 12.48px;
    line-height: 17.6796875px;
  }
  body[data-detail-type="happy"] .mh-current.happy10 > p strong {
    font-size: 14.56px;
  }
  body[data-detail-type="happy"] .mh-balls.current.happy10 {
    grid-template-columns: repeat(8, 26px);
    min-height: 26px;
    height: 26px;
    justify-content: space-between;
    gap: 0;
  }
  body[data-detail-type="happy"] .mh-balls.current.happy10 .mh-ball.h10 {
    width: 26px;
    height: 26px;
    font-size: 13px;
    line-height: 26px;
  }
  body[data-detail-type="happy"] .mh-current.happy10 .mh-current-summary {
    min-height: 26px;
    height: 26px;
    margin-top: 6.234375px;
    gap: 5px;
    font-size: 12.48px;
    line-height: 26px;
  }
  body[data-detail-type="happy"] .mh-current .detail-progress-line,
  body[data-detail-type="happy"] .mh-current .detail-progress {
    display: flex !important;
    height: 15.6015625px;
    min-height: 15.6015625px;
    margin-top: 0 !important;
    padding: 0 !important;
    align-items: center;
    gap: 5px;
    overflow: visible !important;
    font-size: 12.48px;
    line-height: 15.6015625px;
  }
  body[data-detail-type="happy"] .mh-current .detail-progress-line > *,
  body[data-detail-type="happy"] .mh-current .detail-progress > * {
    flex: 1 1 auto;
    min-width: 0;
  }


  body[data-detail-type="happy"] .mh-road-card {
    margin: 0;
    padding: 0;
    border-bottom: 10.3984375px solid #efeff4;
    background: #fff;
  }
  body[data-detail-type="happy"] .mh-road-card header {
    display: flex;
    min-height: 42px;
    padding: 0 10.3984375px;
    box-sizing: border-box;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    border-bottom: 1px solid #e4e4e4;
    font-size: 11.44px;
  }
  body[data-detail-type="happy"] .mh-road-card header span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  body[data-detail-type="happy"] .mh-road-card header strong {
    flex: 0 0 auto;
    font-size: 12.48px;
    white-space: nowrap;
  }
  body[data-detail-type="happy"] .mh-road-track {
    display: block;
    width: 100%;
    min-height: 0;
    padding: 0;
    overflow-x: auto;
    background: #fff;
  }
  body[data-detail-type="happy"] .mh-road-table {
    width: max-content;
    min-width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
    background: #fff;
  }
  body[data-detail-type="happy"] .mh-road-table td {
    width: 29.5px;
    min-width: 29.5px;
    padding: 5.19921875px 0 8.3203125px;
    box-sizing: border-box;
    vertical-align: top;
    border-right: 1px solid #e4e4e4;
    border-bottom: 1px solid #e4e4e4;
    text-align: center;
  }
  body[data-detail-type="happy"] .mh-road-table td b {
    display: block;
    min-height: 17px;
    overflow: hidden;
    font-size: 10.4px;
    font-weight: 400;
    line-height: 17px;
    white-space: nowrap;
  }
  body[data-detail-type="happy"] .mh-road-empty {
    height: 90px;
    color: #999;
    vertical-align: middle !important;
  }
  body[data-detail-type="happy"] .mh-filter-open {
    border: 0;
    color: #333;
    background: transparent;
  }
  body[data-detail-type="happy"] .mh-filter-open::after {
    margin-left: 4px;
    color: #999;
    content: "⌄";
  }

  body[data-detail-type="happy"] .mh-split-table {
    display: grid;
    grid-template-columns: 169px minmax(0, 1fr);
    width: 100%;
    overflow: hidden;
    background: #fff;
  }
  body[data-detail-type="happy"] .mh-split-table.mh-split-1 {
    grid-template-columns: 76px minmax(0, 1fr);
  }
  body[data-detail-type="happy"] .mh-split-fixed {
    position: relative;
    z-index: 2;
    min-width: 0;
    overflow: hidden;
    box-shadow: 1px 0 0 #d8d8d8;
  }
  body[data-detail-type="happy"] .mh-split-scroll {
    min-width: 0;
    overflow-x: auto;
  }
  body[data-detail-type="happy"] .mh-split-fixed .mh-table-scroll {
    overflow: hidden;
  }
  body[data-detail-type="happy"] .mh-split-fixed .mh-table {
    width: 169px;
    min-width: 169px;
  }
  body[data-detail-type="happy"] .mh-split-1 .mh-split-fixed .mh-table {
    width: 76px;
    min-width: 76px;
  }
  body[data-detail-type="happy"] .mh-split-fixed .mh-table tr > :first-child {
    width: 58px;
    min-width: 58px;
  }
  body[data-detail-type="happy"] .mh-split-fixed .mh-table .mh-drawn-numbers,
  body[data-detail-type="happy"] .mh-split-fixed .mh-table tr > :nth-child(2) {
    width: 111px;
    min-width: 111px;
  }
  body[data-detail-type="happy"] .mh-split-1 .mh-split-fixed .mh-table tr > :first-child {
    width: 76px;
    min-width: 76px;
  }
  body[data-detail-type="happy"] .mh-split-scroll .mh-table tr > :first-child {
    min-width: 34px;
  }

  body[data-detail-type="happy"] .mh-data-grid-scroll {
    width: 100%;
    overflow-x: auto;
    background: #fff;
  }
  body[data-detail-type="happy"] .mh-data-grid {
    width: max-content;
    min-width: 100%;
    color: #444;
    font-size: 11px;
    font-variant-numeric: tabular-nums;
  }
  body[data-detail-type="happy"] .mh-data-grid .mh-grid-row {
    display: grid;
    grid-template-columns: 76px repeat(20, 34px);
  }
  body[data-detail-type="happy"] .mh-today-stats-grid .mh-grid-row {
    grid-template-columns: 52px repeat(16, 42px);
  }
  body[data-detail-type="happy"] .mh-data-grid .mh-grid-row > span {
    display: grid;
    height: 34px;
    padding: 2px 4px;
    box-sizing: border-box;
    place-items: center;
    border-right: 1px solid #e4e4e4;
    border-bottom: 1px solid #e4e4e4;
    white-space: nowrap;
  }
  body[data-detail-type="happy"] .mh-data-grid .mh-grid-head > span {
    height: 38px;
    color: #555;
    background: #f5f5f5;
  }
  body[data-detail-type="happy"] .mh-data-grid .mh-grid-row > span.hit {
    color: #fff;
    border-radius: 50%;
    background: #f4831e;
  }
  body[data-detail-type="happy"] .mh-grid-empty {
    display: grid;
    width: 100vw;
    min-height: 90px;
    place-items: center;
    color: #999;
  }

  body[data-detail-type="happy"] .mh-trend-toolbar {
    display: grid;
    grid-template-columns: 1.25fr repeat(3, 1fr) 1fr;
    min-height: 42px;
    overflow: hidden;
  }
  body[data-detail-type="happy"] .mh-trend-toolbar button {
    width: auto;
    min-width: 0;
    padding: 0 4px;
    color: #333;
    font-size: 12px;
  }
  body[data-detail-type="happy"] .mh-trend-toolbar button:first-child,
  body[data-detail-type="happy"] .mh-trend-toolbar button:last-child {
    color: #f4831e;
  }
  body[data-detail-type="happy"] .mh-more-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    padding-top: 18px;
    padding-bottom: 24px;
  }




}

@media (max-width: 370px) {
  body[data-detail-type="happy"] .mh-split-table {
    grid-template-columns: 158px minmax(0, 1fr);
  }
  body[data-detail-type="happy"] .mh-split-fixed .mh-table {
    width: 158px;
    min-width: 158px;
  }
}

@media (max-width: 1020px) {
  /* road-order visual corrections measured from the original page */
  body[data-detail-type="happy"] .mh-roads > .mh-mode-tabs {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    width: 100%;
    min-height: 48px;
    padding: 0;
    gap: 0;
    overflow: hidden;
    border-bottom: 1px solid #ddd;
    background: #fff;
  }
  body[data-detail-type="happy"] .mh-roads > .mh-mode-tabs button {
    width: 100%;
    height: 48px;
    padding: 0;
    border: 0;
    border-right: 1px solid #ddd;
    border-radius: 0;
    color: #333;
    background: #fff;
    font-size: 13.52px;
  }
  body[data-detail-type="happy"] .mh-roads > .mh-mode-tabs button.active {
    color: #fff;
    border-radius: 0;
    background: #555865;
  }
  body[data-detail-type="happy"] .mh-road-toolbar .mh-datebar {
    grid-template-columns: 45px 45px 45px minmax(95px, 1fr);
  }
  body[data-detail-type="happy"] .mh-road-toolbar .mh-datebar button,
  body[data-detail-type="happy"] .mh-road-toolbar .mh-datebar span {
    white-space: nowrap;
  }
  body[data-detail-type="happy"] .mh-filter-open {
    color: #f4831e;
  }
  body[data-detail-type="happy"] .mh-road-card header strong {
    color: #e9453b;
  }
  body[data-detail-type="happy"] .mh-road-table td:nth-child(odd) {
    background: #f6f6f6;
  }
}

@media (max-width: 1020px) {
  /* measured navigation stack corrections */
  body[data-detail-type="happy"] .mh-current.happy10 {
    margin-bottom: 11.4375px;
  }
  body[data-detail-type="happy"] #mobileDetail,
  body[data-detail-type="happy"] #mobileDetail button {
    font-family: "microsoft yahei", "Microsoft YaHei", sans-serif;
  }
  body[data-detail-type="happy"] .mh-page.mh-opening {
    border-top: 1px solid #dbdbdb;
  }
  body[data-detail-type="happy"] .mh-opening-head + .mh-opening-row {
    margin-top: 2px;
  }
  body[data-detail-type="happy"] .mh-groups,
  body[data-detail-type="happy"] .mh-groups button {
    height: 47.7890625px;
  }
  body[data-detail-type="happy"] .mh-pages,
  body[data-detail-type="happy"] .mh-pages > div,
  body[data-detail-type="happy"] .mh-pages button {
    height: 46.7578125px;
  }
  body[data-detail-type="happy"] .mh-pages {
    margin-bottom: 10.3984375px;
  }
  body[data-detail-type="happy"] .mh-road-toolbar .mh-date-open {
    padding-right: 2px;
    padding-left: 2px;
    gap: 3px;
  }
  body[data-detail-type="happy"] .mh-road-toolbar .mh-date-open span {
    max-width: none;
    overflow: visible;
    text-overflow: clip;
  }
}

@media (max-width: 1020px) {
  /* happy8 numbers must remain visible over road outcome color utilities */
  body[data-detail-type="happy"] .mh-ball.cyan,
  body[data-detail-type="happy"] .mh-ball.blue,
  body[data-detail-type="happy"] .mh-ball.orange,
  body[data-detail-type="happy"] .mh-ball.red,
  body[data-detail-type="happy"] .mh-ball.special {
    color: #fff !important;
  }
}


/* r536 source API and shared mobile primitive parity. */
@media (max-width: 1020px) {
  body[data-detail-type="happy"] .mh-roads {
    background: #efeff4;
  }

  body[data-detail-type="happy"] .mh-road-card {
    margin: 0;
    padding: 0;
    border: 0;
    background: #fff;
  }

  body[data-detail-type="happy"] .mh-road-card > header {
    box-sizing: border-box;
    display: flex;
    width: 100%;
    min-height: 36.3984375px;
    padding: 0;
    align-items: flex-start;
    color: #989898;
    background: #fff;
    font: 400 12.48px/36.3984375px "microsoft yahei", "Microsoft YaHei", sans-serif;
  }

  body[data-detail-type="happy"] .mh-road-card > header > span {
    box-sizing: border-box;
    flex: 0 0 64%;
    min-width: 0;
    padding-left: 10.3984375px;
    overflow: hidden;
    white-space: nowrap;
  }

  body[data-detail-type="happy"] .mh-road-card > header > span > b {
    margin-left: 5.2px;
    color: inherit;
    font-weight: 400;
    white-space: nowrap;
  }

  body[data-detail-type="happy"] .mh-road-card > header > strong {
    box-sizing: border-box;
    flex: 0 0 36%;
    min-width: 0;
    padding-right: 10.3984375px;
    color: #ef0508;
    font: 400 13.52px/36.3984375px "microsoft yahei", "Microsoft YaHei", sans-serif;
    text-align: right;
    white-space: nowrap;
  }

  body[data-detail-type="happy"] .mh-road-card > header > strong i {
    color: #ef0508;
    font-style: normal;
  }

  body[data-detail-type="happy"] .mh-direction-road > header {
    min-height: 60px;
  }

  body[data-detail-type="happy"] .mh-direction-road > header > span {
    line-height: 29px;
    white-space: normal;
  }

  body[data-detail-type="happy"] .mh-direction-road > header > strong {
    line-height: 36.3984375px;
  }

  body[data-detail-type="happy"] .mh-road-track {
    box-sizing: border-box;
    display: block;
    width: 100%;
    min-height: 90.3984375px;
    margin: 0 0 10.3984375px;
    padding: 0;
    overflow-x: auto;
    overflow-y: hidden;
    direction: rtl;
    border-top: 1px solid #dbdbdb;
    border-bottom: 1px solid #dbdbdb;
    background-color: #fff;
    background-image: none;
    touch-action: pan-x;
  }

  body[data-detail-type="happy"] .mh-road-table {
    width: max-content;
    min-width: 0;
    min-height: 88.3984375px;
    margin-left: auto;
    border: 0;
    border-spacing: 0;
    border-collapse: collapse;
    direction: rtl;
    background: #fff;
    text-align: center;
  }

  body[data-detail-type="happy"] .mh-road-table td {
    box-sizing: content-box;
    min-width: 29.5px;
    height: auto;
    padding: 5.2px 0 8.32px;
    vertical-align: top;
    border: 0;
    border-left: 1px solid #e5e5e5;
  }

  body[data-detail-type="happy"] .mh-road-table td:nth-child(odd) {
    background: #f5f5f5;
  }

  body[data-detail-type="happy"] .mh-road-table td:nth-child(even) {
    background: #fff;
  }

  body[data-detail-type="happy"] .mh-road-table td b {
    display: block;
    width: 29.5px;
    height: 14.56px;
    min-height: 14.56px;
    padding: 0;
    overflow: visible;
    font: 400 12.48px/14.56px "microsoft yahei", "Microsoft YaHei", sans-serif;
    text-align: center;
    white-space: nowrap;
  }

  body[data-detail-type="happy"] .mh-road-empty {
    height: 88.3984375px;
  }

  body[data-detail-type="happy"] .mh-road-toolbar {
    box-sizing: border-box;
    width: 100%;
    height: 37.3984375px;
    min-height: 37.3984375px;
    border-bottom: 1px solid #dbdbdb;
    background: #fff;
  }

  body[data-detail-type="happy"] .mh-road-toolbar .mh-filter-open {
    box-sizing: border-box;
    flex: 0 0 auto;
    height: 36.3984375px;
    margin: 0 0 0 10.3984375px;
    padding: 0 20.796875px 0 0;
    border: 0;
    border-radius: 0;
    color: #333;
    background: transparent;
    font: 400 12.48px/36.3984375px "microsoft yahei", "Microsoft YaHei", sans-serif;
  }

  body[data-detail-type="happy"] .mh-road-toolbar .mh-filter-open::after {
    margin-left: 3px;
    color: #999;
    content: "⌄";
  }

  body[data-detail-type="happy"] .mh-road-toolbar .mh-datebar {
    height: 36.3984375px;
    min-height: 36.3984375px;
  }

  body[data-detail-type="happy"] .mh-today-stats {
    background: #f0eff5;
  }

  body[data-detail-type="happy"] .mh-today-legend {
    box-sizing: content-box;
    width: auto;
    height: 38.4765625px;
    padding: 0 15.6px 0 0;
    border-bottom: 1px solid #dbdbdb;
    color: #000;
    background: #fff;
    font: 400 12.48px/38.4765625px "microsoft yahei", "Microsoft YaHei", sans-serif;
    white-space: nowrap;
    text-align: right;
  }

  body[data-detail-type="happy"] .mh-today-legend span {
    margin-right: 15.6px;
  }

  body[data-detail-type="happy"] .mh-today-legend span:last-child {
    margin-right: 0;
  }

  body[data-detail-type="happy"] .mh-today-cards {
    box-sizing: border-box;
    width: 100%;
    padding: 10.3984375px;
    background: #efeff4;
  }

  body[data-detail-type="happy"] .mh-today-card {
    width: 100%;
    margin: 0 0 10.3984375px;
    overflow: hidden;
    border-radius: 3.12px;
    background: #fff;
  }

  body[data-detail-type="happy"] .mh-today-card h3 {
    display: block;
    width: 100%;
    height: 36.3984375px;
    margin: 0;
    padding: 0;
    color: #fff;
    background: #9da9c2;
    font: 600 12.48px/36.3984375px "microsoft yahei", "Microsoft YaHei", sans-serif;
    text-align: center;
  }

  body[data-detail-type="happy"] .mh-today-card.rank-1 h3 {
    background: #fb8e19;
  }

  body[data-detail-type="happy"] .mh-today-card.rank-2 h3 {
    background: #2eaae8;
  }

  body[data-detail-type="happy"] .mh-today-block,
  body[data-detail-type="happy"] .mh-today-card ul {
    width: 100%;
    margin: 0;
    padding: 0;
    overflow: hidden;
    list-style: none;
  }

  body[data-detail-type="happy"] .mh-today-card li {
    box-sizing: content-box;
    float: left;
    width: 8%;
    height: 36.3984375px;
    margin: 0;
    padding: 0;
    border-right: 1px solid #dbdbdb;
    border-bottom: 1px solid #dbdbdb;
    color: #000;
    font: 400 12.48px/36.3984375px "microsoft yahei", "Microsoft YaHei", sans-serif;
    text-align: center;
  }

  body[data-detail-type="happy"] .mh-today-card .mh-today-numbers li {
    font-weight: 600;
  }

  body[data-detail-type="happy"] .mh-today-card li:first-child {
    width: 16%;
  }

  body[data-detail-type="happy"] .mh-today-card li:last-child {
    border-right: 0;
  }

  body[data-detail-type="happy"] .mh-today-card li.red {
    color: red !important;
  }

  body[data-detail-type="happy"] .mh-today-card li.blue {
    color: #1e90ff !important;
  }

  body[data-detail-type="happy"] .mh-today-card li.green {
    color: #008b00 !important;
  }

  body[data-detail-type="happy"] .mh-today-card li.black {
    color: #000 !important;
  }

  body[data-detail-type="happy"] .mh-history-stats > .mh-mode-tabs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
    height: 47.796875px;
    min-height: 47.796875px;
    padding: 0;
    gap: 0;
    overflow: hidden;
    border: 0;
    background: #f5f5f5;
  }

  body[data-detail-type="happy"] .mh-history-stats > .mh-mode-tabs button {
    width: 100%;
    height: 46.796875px;
    min-width: 0;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    color: #000;
    background: #f5f5f5;
    font: 400 12.48px/46.796875px "microsoft yahei", "Microsoft YaHei", sans-serif;
  }

  body[data-detail-type="happy"] .mh-history-stats > .mh-mode-tabs button.active {
    color: #fff;
    background: #50515f;
  }

  body[data-detail-type="happy"] .mh-history-stats .mh-split-table.mh-split-1 {
    grid-template-columns: 78px minmax(0, 1fr);
  }

  body[data-detail-type="happy"] .mh-history-stats .mh-split-fixed .mh-table,
  body[data-detail-type="happy"] .mh-history-stats .mh-split-fixed .mh-table-scroll {
    width: 78px;
    min-width: 78px;
  }

  body[data-detail-type="happy"] .mh-history-stats .mh-table {
    border-spacing: 1px;
    border-collapse: separate;
    color: #666;
    background: #e6e6e6;
    font: 400 12.48px/31.2px "microsoft yahei", "Microsoft YaHei", sans-serif;
    white-space: nowrap;
  }

  body[data-detail-type="happy"] .mh-history-stats .mh-table th,
  body[data-detail-type="happy"] .mh-history-stats .mh-table td {
    box-sizing: border-box;
    height: 31.2px;
    min-width: 0;
    padding: 0;
    border: 0;
    color: #666;
    background: #fff;
    font-weight: 400;
    line-height: 31.2px;
    text-align: center;
  }

  body[data-detail-type="happy"] .mh-history-stats .mh-table th {
    color: #333;
    background: #f0f0f0;
  }

  body[data-detail-type="happy"] .mh-history-stats .mh-split-fixed .mh-table th[rowspan] {
    width: 76px;
    height: 63.6484375px;
    line-height: 63.6484375px;
  }

  body[data-detail-type="happy"] .mh-history-stats .mh-split-fixed .mh-table td {
    width: 76px;
  }

  body[data-detail-type="happy"] .mh-history-stats .number-mode {
    width: 936px;
    min-width: 936px;
    table-layout: fixed;
  }

  body[data-detail-type="happy"] .mh-history-stats .number-mode th,
  body[data-detail-type="happy"] .mh-history-stats .number-mode td {
    width: 45.75px;
  }

  body[data-detail-type="happy"] .mh-history-stats .number-mode th[colspan] {
    width: auto;
    padding-left: 93.3984375px;
    text-align: left;
  }

  body[data-detail-type="happy"] .mh-history-stats .shape-mode {
    width: 100%;
    min-width: 100%;
    table-layout: fixed;
    background: #e5e5e5;
  }

  body[data-detail-type="happy"] .mh-history-stats .shape-mode th,
  body[data-detail-type="happy"] .mh-history-stats .shape-mode td {
    height: 34.32px;
    line-height: 34.32px;
  }

  body[data-detail-type="happy"] .mh-history-stats .shape-mode th {
    width: 9%;
  }

  body[data-detail-type="happy"] .mh-trend-toolbar {
    grid-template-columns: 64px repeat(3, 45px) minmax(110px, 1fr) 48px;
    min-height: 37.3984375px;
  }

  body[data-detail-type="happy"] .mh-trend-toolbar button {
    height: 37.3984375px;
    font-size: 12.48px;
  }

  body[data-detail-type="happy"] .mh-overlay {
    background: rgba(0, 0, 0, .45);
  }

  body[data-detail-type="happy"] .mh-date-sheet,
  body[data-detail-type="happy"] .mh-select-sheet {
    box-sizing: border-box;
    width: 390px;
    max-width: 100vw;
    height: 265px;
    max-height: 265px;
    padding: 0;
    overflow: hidden;
    border-radius: 0;
    background: #fff;
  }

  body[data-detail-type="happy"] .mh-date-sheet > header,
  body[data-detail-type="happy"] .mh-select-sheet > header {
    position: relative;
    display: grid;
    grid-template-columns: 70px 1fr 70px;
    width: 100%;
    height: 65px;
    border: 0;
    background: #fff;
  }

  body[data-detail-type="happy"] .mh-date-sheet > header button,
  body[data-detail-type="happy"] .mh-select-sheet > header button {
    height: 65px;
    padding: 0;
    border: 0;
    color: #777;
    background: transparent;
    font: 400 14px/65px "microsoft yahei", "Microsoft YaHei", sans-serif;
  }

  body[data-detail-type="happy"] .mh-date-sheet > header button:last-child,
  body[data-detail-type="happy"] .mh-select-sheet > header button:last-child {
    color: #f4831e;
  }

  body[data-detail-type="happy"] .mh-date-sheet > header strong,
  body[data-detail-type="happy"] .mh-select-sheet > header strong {
    color: #333;
    font: 400 15px/65px "microsoft yahei", "Microsoft YaHei", sans-serif;
    text-align: center;
  }

  body[data-detail-type="happy"] .mh-picker-grid {
    height: 200px;
  }

  body[data-detail-type="happy"] .mh-picker-grid::before {
    top: 80px;
  }

  body[data-detail-type="happy"] .mh-picker-grid::after {
    top: 120px;
  }

  body[data-detail-type="happy"] .mh-picker-wheel {
    height: 200px;
    padding: 80px 0;
  }

  body[data-detail-type="happy"] .mh-picker-wheel button {
    height: 40px;
    color: #555;
    font-size: 16px;
    line-height: 40px;
  }

  body[data-detail-type="happy"] .mh-picker-wheel button.selected {
    color: #222;
    font-size: 16px;
  }

  body[data-detail-type="happy"] .mh-select-actions {
    display: grid;
    grid-template-columns: repeat(4, 97.5px);
    width: 390px;
    height: 40px;
  }

  body[data-detail-type="happy"] .mh-select-actions button {
    width: 97.5px;
    height: 40px;
    padding: 0;
    border: 0;
    color: #000;
    background: transparent;
    font: 400 15px/40px "microsoft yahei", "Microsoft YaHei", sans-serif;
    text-align: center;
  }

  body[data-detail-type="happy"] .mh-select-sheet .mh-check-grid {
    box-sizing: border-box;
    display: grid;
    height: 160px;
    margin: 0;
    padding: 0 10.3984375px;
    align-content: flex-start;
    overflow: hidden;
  }

  body[data-detail-type="happy"] .mh-select-sheet .mh-check-grid.position-grid {
    grid-template-columns: repeat(4, 81.8984375px);
    column-gap: 13.8671875px;
    row-gap: 10.3984375px;
  }

  body[data-detail-type="happy"] .mh-select-sheet .mh-check-grid.kind-grid,
  body[data-detail-type="happy"] .mh-select-sheet.mh-h8-select .mh-check-grid {
    grid-template-columns: repeat(3, 116.1328125px);
    column-gap: 10.3984375px;
    row-gap: 10.3984375px;
  }

  body[data-detail-type="happy"] .mh-select-sheet .mh-check-grid button {
    position: relative;
    box-sizing: border-box;
    width: 100%;
    height: 40px;
    margin: 0;
    padding: 0;
    border: 1px solid #ddd;
    border-radius: 2.08px;
    color: #000;
    background: transparent;
    font: 400 15px/38px "microsoft yahei", "Microsoft YaHei", sans-serif;
    text-align: center;
  }

  body[data-detail-type="happy"] .mh-select-sheet .mh-check-grid button.active {
    border-color: #fb8e19;
    color: #fb8e19;
    background: transparent;
  }

  body[data-detail-type="happy"] .mh-select-sheet .mh-check-grid button.active:not([data-ui-choice-check])::after {
    position: absolute;
    right: 0;
    bottom: 0;
    width: 0;
    height: 0;
    border-right: 10px solid #fb8e19;
    border-top: 10px solid transparent;
    content: "";
  }

  body[data-detail-type="happy"] .mh-trend-select .mh-check-grid.period-grid {
    grid-template-columns: repeat(3, 116.1328125px);
    column-gap: 10.3984375px;
  }

  body[data-detail-type="happy"] .mh-trend-select .mh-check-grid.annotation-grid,
  body[data-detail-type="happy"] .mh-trend-select .mh-check-grid.position-grid {
    grid-template-columns: repeat(4, 81.8984375px);
    column-gap: 13.8671875px;
  }
}

@media (max-width: 1020px) {
  body[data-detail-type="happy"] .mh-history-stats .shape-mode th:first-child,
  body[data-detail-type="happy"] .mh-history-stats .shape-mode td:first-child {
    width: 18%;
  }
  body[data-detail-type="happy"] .mh-history-stats .shape-mode th:not(:first-child),
  body[data-detail-type="happy"] .mh-history-stats .shape-mode td:not(:first-child) {
    width: 13.6666667%;
  }
}

@media (max-width: 1020px) {
  body[data-detail-type="happy"] .mh-trend-modes {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
    height: 46.7578125px;
    min-height: 46.7578125px;
    padding: 0;
    gap: 0;
    overflow: hidden;
    border: 0;
    background: #f5f5f5;
  }

  body[data-detail-type="happy"] .mh-trend-modes button {
    width: 100%;
    height: 45.7578125px;
    min-width: 0;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    color: #000;
    background: #f5f5f5;
    font: 400 12.48px/45.7578125px "microsoft yahei", "Microsoft YaHei", sans-serif;
  }

  body[data-detail-type="happy"] .mh-trend-modes button.active {
    color: #fff;
    background: #50515f;
  }

  body[data-detail-type="happy"] .mh-trend-toolbar {
    box-sizing: content-box;
    display: flex;
    grid-template-columns: none;
    width: 100%;
    height: 37.4375px;
    min-height: 37.4375px;
    overflow: hidden;
    border-bottom: 1px solid #dbdbdb;
    background: #f5f5f5;
  }

  body[data-detail-type="happy"] .mh-trend-toolbar button {
    box-sizing: border-box;
    flex: 0 0 39.515625px;
    width: 39.515625px;
    height: 37.4375px;
    min-width: 0;
    margin: 0;
    padding: 0;
    border: 0;
    color: #000;
    background: transparent;
    font: 400 12.48px/37.4375px "microsoft yahei", "Microsoft YaHei", sans-serif;
  }

  body[data-detail-type="happy"] .mh-trend-toolbar button:first-child {
    flex-basis: 70.71875px;
    width: 70.71875px;
    padding-right: 20.8px;
    color: #fb8e19;
  }

  body[data-detail-type="happy"] .mh-trend-toolbar button:nth-child(2) {
    margin-left: auto;
  }

  body[data-detail-type="happy"] .mh-trend-toolbar button:last-child {
    flex-basis: 56.15625px;
    width: 56.15625px;
    padding-right: 20.8px;
    color: #000;
  }

  body[data-detail-type="happy"] .mh-trend-toolbar button.active {
    color: #fb8e19;
  }

  body[data-detail-type="happy"] .mh-trend-toolbar button:first-child::after,
  body[data-detail-type="happy"] .mh-trend-toolbar button:last-child::after {
    margin-left: 3px;
    color: #999;
    content: "⌄";
  }
}

@media (max-width: 1020px) {
  body[data-detail-type="happy"] .mh-select-sheet > header {
    position: relative;
    display: block;
    height: 65px;
  }

  body[data-detail-type="happy"] .mh-select-sheet > header button {
    position: absolute;
    z-index: 1;
    top: 0;
    width: 55px;
    height: 45px;
    font: 400 15px/45px "microsoft yahei", "Microsoft YaHei", sans-serif;
  }

  body[data-detail-type="happy"] .mh-select-sheet > header button:first-child {
    left: 0;
  }

  body[data-detail-type="happy"] .mh-select-sheet > header button:last-child {
    right: 0;
  }

  body[data-detail-type="happy"] .mh-select-sheet > header strong {
    box-sizing: border-box;
    display: block;
    width: 100%;
    height: 68.3984375px;
    padding: 23.3984375px 58.5px 0;
    font: 400 15px/45px "microsoft yahei", "Microsoft YaHei", sans-serif;
  }

  body[data-detail-type="happy"] .mh-select-actions button:first-child {
    grid-column: 2;
  }

  body[data-detail-type="happy"] .mh-select-actions button:last-child {
    grid-column: 3;
  }

  body[data-detail-type="happy"] .mh-select-sheet .mh-check-grid.position-grid,
  body[data-detail-type="happy"] .mh-trend-select .mh-check-grid.annotation-grid,
  body[data-detail-type="happy"] .mh-trend-select .mh-check-grid.position-grid {
    grid-template-columns: repeat(4, 81.8984375px);
    column-gap: 19.5px;
    padding-right: 0;
    padding-left: 0;
  }

  body[data-detail-type="happy"] .mh-trend-select .mh-check-grid.annotation-grid,
  body[data-detail-type="happy"] .mh-trend-select .mh-check-grid.position-grid {
    height: 200px;
    padding-top: 40px;
  }

  body[data-detail-type="happy"] .mh-single-wheel {
    position: relative;
    width: 390px;
    max-width: 100vw;
    height: 200px;
    overflow: hidden;
    background: #fff;
  }

  body[data-detail-type="happy"] .mh-wheel-options {
    position: relative;
    z-index: 2;
    width: 100%;
    transform: translate3d(0, var(--mh-wheel-offset), 0);
  }

  body[data-detail-type="happy"] .mh-wheel-options button {
    display: block;
    width: 100%;
    height: 40px;
    margin: 0;
    padding: 0;
    border: 0;
    color: #000;
    background: transparent;
    font: 400 15px/40px "microsoft yahei", "Microsoft YaHei", sans-serif;
    text-align: center;
  }

  body[data-detail-type="happy"] .mh-wheel-select-line {
    position: absolute;
    z-index: 1;
    top: 80px;
    right: 0;
    left: 0;
    height: 40px;
    box-sizing: border-box;
    border-top: 1px solid #ddd;
    border-bottom: 1px solid #ddd;
    pointer-events: none;
  }

  body[data-detail-type="happy"] .mh-wheel-shadow {
    position: absolute;
    z-index: 3;
    inset: 0;
    background: linear-gradient(to bottom, rgba(255,255,255,.88), rgba(255,255,255,0) 38%, rgba(255,255,255,0) 62%, rgba(255,255,255,.88));
    pointer-events: none;
  }
}


/* Source-measured H10 opening table; keep the same state through continuous resize. */
@media (max-width: 1020px) {
  body[data-detail-type="happy"] .mh-opening.happy10 .mh-opening-head {
    grid-template-columns: 12.077323vw 7.998798vw 74.591346vw;
    width: 94.667468vw;
    height: 11.732772vw;
    min-height: 11.732772vw;
    margin: 0 2.666266vw;
    color: #666;
    background: #fff;
  }
  body[data-detail-type="happy"] .mh-opening.happy10 .mh-opening-head > span {
    display: flex;
    padding: 0;
    align-items: center;
    justify-content: flex-start;
    border: 0;
    font-size: 3.2vw;
    line-height: 11.732772vw;
  }
  body[data-detail-type="happy"] .mh-opening.happy10 .mh-opening-head nav {
    grid-template-columns: 14.789663vw 14.791667vw 14.789663vw 24.887821vw;
    box-sizing: border-box;
    padding-left: 5.332532vw;
  }
  body[data-detail-type="happy"] .mh-opening.happy10 .mh-opening-head button {
    width: auto;
    min-width: 0;
    height: 6.398237vw;
    margin: auto 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    color: #333;
    background: transparent;
    font-size: 3.2vw;
    font-weight: 400;
    line-height: 6.398237vw;
  }
  body[data-detail-type="happy"] .mh-opening.happy10 .mh-opening-head button.active {
    color: #fff;
    border-radius: 2.933333vw;
    background: #fb8e19;
  }
  body[data-detail-type="happy"] .mh-opening.happy10 .mh-opening-row {
    grid-template-columns: 10.2504vw 12.415866vw 72.001202vw;
    width: 94.667468vw;
    height: 11.45633vw;
    min-height: 11.45633vw;
    margin: 0 2.666266vw;
  }
  body[data-detail-type="happy"] .mh-opening.happy10 .mh-opening-row > span {
    display: flex;
    min-width: 0;
    padding: 0;
    align-items: center;
    justify-content: flex-start;
    border: 0;
    color: #666;
    font-size: 2.933333vw;
    font-weight: 400;
    line-height: 11.2vw;
    text-align: left;
  }
  body[data-detail-type="happy"] .mh-opening.happy10 .mh-opening-row .mh-opening-result {
    display: grid;
    overflow: hidden;
    place-items: center start;
  }
  body[data-detail-type="happy"] .mh-opening.happy10 .mh-balls.history.happy10 {
    grid-template-columns: repeat(8, 6.879006vw);
    width: 68.249199vw;
    margin-left: 2.101362vw;
    justify-content: start;
    gap: 1.887019vw;
  }
  body[data-detail-type="happy"] .mh-opening.happy10 .mh-balls.history.happy10 .mh-ball {
    width: 6.879006vw;
    height: 6.933093vw;
    border-radius: 0;
    background-color: transparent;
    background-image: url("/assets/pc9567-mobile-number-sprite.png");
    background-repeat: no-repeat;
    background-size: 94.4vw auto;
    color: #fff;
    font-size: 4.266667vw;
    font-weight: 400;
    line-height: 6.933093vw;
  }
  body[data-detail-type="happy"] .mh-opening.happy10 .mh-ball.h10.blue { background-position: -42.346667vw -31.466667vw; }
  body[data-detail-type="happy"] .mh-opening.happy10 .mh-ball.h10.red { background-position: -50.346667vw -31.466667vw; }
  body[data-detail-type="happy"] .mh-opening.happy10 .mh-ball.mh-size-big { background-position: -2.133333vw -31.466667vw; }
  body[data-detail-type="happy"] .mh-opening.happy10 .mh-ball.mh-size-small { background-position: -10.133333vw -31.466667vw; }
  body[data-detail-type="happy"] .mh-opening.happy10 .mh-ball.mh-parity-even { background-position: -18.133333vw -31.466667vw; }
  body[data-detail-type="happy"] .mh-opening.happy10 .mh-ball.mh-parity-odd { background-position: -26.133333vw -31.466667vw; }
  body[data-detail-type="happy"] .mh-opening.happy10 .mh-opening-summary {
    box-sizing: border-box;
    display: flex;
    width: 70.136218vw;
    height: 5.865385vw;
    padding-right: 3.092949vw;
    align-items: center;
    gap: 3.092949vw;
    color: #666;
    font-size: 3.2vw;
    line-height: 5.865385vw;
    white-space: nowrap;
  }
  body[data-detail-type="happy"] .mh-opening.happy10 .mh-opening-summary b {
    flex: 0 0 auto;
    color: #666;
    font-size: 3.2vw;
    font-weight: 400;
    line-height: 5.865385vw;
  }
  body[data-detail-type="happy"] .mh-opening.happy10 .mh-opening-summary b.hot {
    color: #f12d35;
  }
}


/* Source-measured Happy8/Bingo opening table. */
@media (max-width: 1020px) {
  body[data-detail-type="happy"] .mh-opening.happy8 .mh-opening-head {
    grid-template-columns: 12.077323vw 7.998798vw 74.591346vw;
    width: 94.667468vw;
    height: 11.732772vw;
    min-height: 11.732772vw;
    margin: 0 2.666266vw;
    color: #666;
    background: #fff;
  }
  body[data-detail-type="happy"] .mh-opening.happy8 .mh-opening-head > span {
    display: flex;
    padding: 0;
    align-items: center;
    justify-content: flex-start;
    border: 0;
    font-size: 3.2vw;
    line-height: 11.732772vw;
  }
  body[data-detail-type="happy"] .mh-opening.happy8 .mh-opening-head nav {
    grid-template-columns: 14.789663vw 14.791667vw 14.789663vw 24.887821vw;
    box-sizing: border-box;
    padding-left: 5.332532vw;
  }
  body[data-detail-type="happy"] .mh-opening.happy8 .mh-opening-head button {
    width: auto;
    min-width: 0;
    height: 6.398237vw;
    margin: auto 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    color: #333;
    background: transparent;
    font-size: 3.2vw;
    font-weight: 400;
    line-height: 6.398237vw;
  }
  body[data-detail-type="happy"] .mh-opening.happy8 .mh-opening-head button.active {
    color: #fff;
    border-radius: 2.933333vw;
    background: #fb8e19;
  }
  body[data-detail-type="happy"] .mh-opening.happy8 .mh-opening-row {
    grid-template-columns: 10.334535vw 13.663862vw 70.669071vw;
    width: 94.667468vw;
    height: 11.45633vw;
    min-height: 11.45633vw;
    margin: 0 2.666266vw;
  }
  body[data-detail-type="happy"] .mh-opening.happy8 .mh-opening-row:has(.mh-balls.happy8) {
    height: 24.254808vw;
    min-height: 24.254808vw;
  }
  body[data-detail-type="happy"] .mh-opening.happy8 .mh-opening-row > span {
    display: flex;
    min-width: 0;
    padding: 0;
    align-items: flex-start;
    justify-content: flex-start;
    border: 0;
    color: #666;
    font-size: 2.933333vw;
    font-weight: 400;
    line-height: 11.2vw;
    text-align: left;
  }
  body[data-detail-type="happy"] .mh-opening.happy8 .mh-opening-row .mh-opening-result {
    display: grid;
    overflow: hidden;
    place-items: start;
  }
  body[data-detail-type="happy"] .mh-opening.happy8 .mh-balls.history.happy8 {
    box-sizing: border-box;
    grid-template-columns: repeat(10, 6.879006vw);
    width: 70.669071vw;
    height: 21.332131vw;
    margin-top: 2.666266vw;
    padding-right: .202324vw;
    justify-content: start;
    column-gap: .186298vw;
    row-gap: .398638vw;
  }
  body[data-detail-type="happy"] .mh-opening.happy8 .mh-balls.history.happy8 .mh-ball {
    width: 6.879006vw;
    height: 6.933093vw;
    border-radius: 0;
    background-color: transparent;
    background-image: url("/assets/pc9567-mobile-number-sprite.png");
    background-repeat: no-repeat;
    background-size: 94.4vw auto;
    color: #fff;
    font-size: 4.266667vw;
    font-weight: 400;
    line-height: 6.933093vw;
  }
  body[data-detail-type="happy"] .mh-opening.happy8 .mh-ball.cyan { background-position: -66.346667vw -31.466667vw; }
  body[data-detail-type="happy"] .mh-opening.happy8 .mh-ball.blue { background-position: -42.346667vw -31.466667vw; }
  body[data-detail-type="happy"] .mh-opening.happy8 .mh-ball.special { background-position: -58.346667vw -31.466667vw; }
  body[data-detail-type="happy"] .mh-opening.happy8 .mh-ball.mh-size-big { background-position: -2.133333vw -31.466667vw; }
  body[data-detail-type="happy"] .mh-opening.happy8 .mh-ball.mh-size-small { background-position: -10.133333vw -31.466667vw; }
  body[data-detail-type="happy"] .mh-opening.happy8 .mh-ball.mh-parity-even { background-position: -18.133333vw -31.466667vw; }
  body[data-detail-type="happy"] .mh-opening.happy8 .mh-ball.mh-parity-odd { background-position: -26.133333vw -31.466667vw; }
  body[data-detail-type="happy"] .mh-opening.happy8 .mh-ball.special::after { content: none; }
  body[data-detail-type="happy"] .mh-opening.happy8 .mh-opening-summary {
    box-sizing: border-box;
    display: flex;
    width: 70.669071vw;
    height: 5.865385vw;
    padding-right: 3.092949vw;
    align-items: center;
    gap: 3.092949vw;
    color: #666;
    font-size: 3.2vw;
    line-height: 5.865385vw;
    white-space: nowrap;
  }
  body[data-detail-type="happy"] .mh-opening.happy8 .mh-opening-summary b {
    flex: 0 0 auto;
    color: #666;
    font-size: 3.2vw;
    font-weight: 400;
    line-height: 5.865385vw;
  }
  body[data-detail-type="happy"] .mh-opening.happy8 .mh-opening-summary b.hot { color: #f12d35; }
}


/* r557: source-measured opening table separators and happy8 float-flow row rhythm */
@media (max-width: 1020px) {
  body[data-detail-type="happy"] .mh-opening.happy10 .mh-opening-table,
  body[data-detail-type="happy"] .mh-opening.happy8 .mh-opening-table {
    border-top: 2px solid #efeff4;
  }
  body[data-detail-type="happy"] .mh-opening.happy10 .mh-opening-row,
  body[data-detail-type="happy"] .mh-opening.happy8 .mh-opening-row {
    box-sizing: border-box;
    border-top: 1px solid #efeff4;
  }
  body[data-detail-type="happy"] .mh-opening.happy8 .mh-balls.history.happy8 {
    align-content: start;
    align-items: start;
  }
}


/* r558: keep the source header box separate from its 2px list divider */
@media (max-width: 1020px) {
  body[data-detail-type="happy"] .mh-opening.happy10 .mh-opening-table,
  body[data-detail-type="happy"] .mh-opening.happy8 .mh-opening-table {
    border-top: 0;
  }
  body[data-detail-type="happy"] .mh-opening.happy10 .mh-opening-head,
  body[data-detail-type="happy"] .mh-opening.happy8 .mh-opening-head {
    box-sizing: border-box;
    position: relative;
    width: 100%;
    margin: 0;
    padding-right: 2.666266vw;
    padding-left: 2.666266vw;
  }
  body[data-detail-type="happy"] .mh-opening.happy10 .mh-opening-head::after,
  body[data-detail-type="happy"] .mh-opening.happy8 .mh-opening-head::after {
    position: absolute;
    right: 0;
    bottom: -2px;
    left: 0;
    height: 2px;
    background: #efeff4;
    content: "";
  }
  body[data-detail-type="happy"] .mh-opening.happy10 .mh-opening-head + .mh-opening-row,
  body[data-detail-type="happy"] .mh-opening.happy8 .mh-opening-head + .mh-opening-row {
    margin-top: 2px;
  }
  body[data-detail-type="happy"] .mh-opening.happy8 .mh-balls.history.happy8 {
    column-gap: .190304vw;
  }
}


/* r559: size/parity sprites own their glyph; source hides the numeric child */
@media (max-width: 1020px) {
  body[data-detail-type="happy"] .mh-opening .mh-ball.mh-size-big,
  body[data-detail-type="happy"] .mh-opening .mh-ball.mh-size-small,
  body[data-detail-type="happy"] .mh-opening .mh-ball.mh-parity-even,
  body[data-detail-type="happy"] .mh-opening .mh-ball.mh-parity-odd {
    color: transparent !important;
    font-size: 0 !important;
  }
}


/* r560: source shape row uses the legacy seven-cell box flow */
@media (max-width: 1020px) {
  body[data-detail-type="happy"] .mh-opening.happy8 .mh-opening-summary {
    display: -webkit-box;
    margin-top: 2.666266vw;
    padding: 0;
    gap: 0;
  }
  body[data-detail-type="happy"] .mh-opening.happy8 .mh-opening-summary b {
    display: block;
    width: auto;
    min-width: 6.133333vw;
    max-width: 9.6vw;
    margin-right: 3.093333vw;
    -webkit-box-flex: 1;
    flex: 0 1 auto;
  }
}


/* r562: row separators span the full source viewport while content keeps 10.4px gutters */
@media (max-width: 1020px) {
  body[data-detail-type="happy"] .mh-opening.happy10 .mh-opening-row,
  body[data-detail-type="happy"] .mh-opening.happy8 .mh-opening-row {
    box-sizing: border-box;
    width: 100%;
    margin-right: 0;
    margin-left: 0;
    padding-right: 2.666266vw;
    padding-left: 2.666266vw;
  }
}


/* r563: happy10 number and shape lists preserve their distinct source inner offsets */
@media (max-width: 1020px) {
  body[data-detail-type="happy"] .mh-opening.happy10 .mh-balls.history.happy10 {
    align-self: start;
    margin-top: 2.666266vw;
    column-gap: 1.891026vw;
  }
  body[data-detail-type="happy"] .mh-opening.happy10 .mh-opening-summary {
    display: -webkit-box;
    margin-left: 1.864583vw;
    padding: 0;
    gap: 0;
  }
  body[data-detail-type="happy"] .mh-opening.happy10 .mh-opening-summary b {
    display: block;
    width: auto;
    min-width: 0;
    max-width: 8vw;
    margin-right: 3.093333vw;
    -webkit-box-flex: 1;
    flex: 0 1 auto;
  }
}


/* r565: double-stat cards keep their source-only grid contract */
@media (max-width: 1020px) {
  body[data-detail-type="happy"] .mh-stat-cards .mh-stat-card {
    box-sizing: border-box;
    height: 28.8vw;
  }
  body[data-detail-type="happy"] .mh-stat-cards .mh-stat-card .mh-table-scroll {
    overflow: visible;
    height: 19.455128vw;
  }
  body[data-detail-type="happy"] .mh-stat-cards .mh-stat-card .mh-table {
    width: 100%;
    border: 0;
    border-collapse: separate;
    border-spacing: 0;
    table-layout: auto;
  }
  body[data-detail-type="happy"] .mh-stat-cards .mh-stat-card .mh-table th,
  body[data-detail-type="happy"] .mh-stat-cards .mh-stat-card .mh-table td {
    box-sizing: content-box;
    height: 9.6vw;
    padding: 0;
    border: 0;
    border-right: 1px solid #e6e6e6;
    background: transparent;
    color: #666;
    font-size: 3.2vw;
    font-weight: 400;
  }
  body[data-detail-type="happy"] .mh-stat-cards .mh-stat-card .mh-table tbody td {
    border-top: 1px solid #e6e6e6;
  }
  body[data-detail-type="happy"] .mh-stat-cards .mh-stat-card .mh-table th:last-child,
  body[data-detail-type="happy"] .mh-stat-cards .mh-stat-card .mh-table td:last-child {
    border-right: 0;
  }
}


@media (max-width: 1020px) {
  body[data-detail-type="happy"] .mh-trend .mh-table-scroll:has(.mh-total-trend) {
    overflow: hidden;
    background: #fff;
  }

  body[data-detail-type="happy"] .mh-total-trend {
    width: 100%;
    min-width: 100%;
    table-layout: auto;
    border-collapse: separate;
    border-spacing: 1px;
    color: #999;
    background: #e5e5e5;
    font: 400 3.2vw "microsoft yahei", "Microsoft YaHei", sans-serif;
  }

  body[data-detail-type="happy"] .mh-total-trend th,
  body[data-detail-type="happy"] .mh-total-trend td {
    box-sizing: border-box;
    min-width: 0;
    padding: 0;
    border: 0;
    color: #999;
    background: #fff;
    font-weight: 400;
    text-align: center;
    white-space: normal;
  }

  body[data-detail-type="happy"] .mh-total-trend thead th {
    height: 17.6vw;
    color: #666;
    background: #f0f0f0;
    font-size: 3.2vw;
    line-height: 8.8vw;
  }

  body[data-detail-type="happy"] .mh-total-trend tbody td {
    height: 8vw;
    font-size: 3.2vw;
    line-height: normal;
  }

  body[data-detail-type="happy"] .mh-total-trend tr > :first-child {
    width: 20.069vw;
    min-width: 20.069vw;
  }

  body[data-detail-type="happy"] .mh-total-trend thead tr > :nth-child(2),
  body[data-detail-type="happy"] .mh-total-trend tbody tr:not(.stats-head) > :nth-child(2),
  body[data-detail-type="happy"] .mh-total-trend .mh-drawn-numbers {
    width: 34.86vw;
    min-width: 34.86vw;
    color: #999;
    white-space: normal;
  }

  body[data-detail-type="happy"] .mh-total-trend tbody tr:not(.stats-head) > :nth-child(2),
  body[data-detail-type="happy"] .mh-total-trend .mh-drawn-numbers {
    font-size: 2.933333vw;
  }

  body[data-detail-type="happy"] .mh-total-trend tr > :nth-child(n + 3) {
    width: 5.28045vw;
    min-width: 5.28045vw;
  }

  body[data-detail-type="happy"] .mh-total-trend .mh-sum {
    color: #999;
    font-size: 2.933333vw;
  }

  body[data-detail-type="happy"] .mh-total-trend td.trend-hit {
    color: #999;
    background: #fff;
  }

  body[data-detail-type="happy"] .mh-total-trend td.trend-hit b {
    display: inline-block;
    width: 4.266667vw;
    height: 4.266667vw;
    border-radius: 50%;
    color: #fff;
    font-size: 3.2vw;
    font-weight: 400;
    line-height: 4.266667vw;
  }

  body[data-detail-type="happy"] .mh-total-trend tbody tr:not(.stats) > :nth-child(4) b,
  body[data-detail-type="happy"] .mh-total-trend tbody tr:not(.stats) > :nth-child(5) b,
  body[data-detail-type="happy"] .mh-total-trend tbody tr:not(.stats) > :nth-child(6) b {
    background: #66cdaa;
  }

  body[data-detail-type="happy"] .mh-total-trend tbody tr:not(.stats) > :nth-child(7) b,
  body[data-detail-type="happy"] .mh-total-trend tbody tr:not(.stats) > :nth-child(8) b {
    background: #6a5acd;
  }

  body[data-detail-type="happy"] .mh-total-trend tbody tr:not(.stats) > :nth-child(9) b,
  body[data-detail-type="happy"] .mh-total-trend tbody tr:not(.stats) > :nth-child(10) b {
    background: #cd69c9;
  }

  body[data-detail-type="happy"] .mh-total-trend .stats td {
    color: #999;
    background: #fff;
  }

  body[data-detail-type="happy"] .mh-total-trend .stats-head td {
    height: 17.6vw;
    color: #000;
    font-size: 3.2vw;
    line-height: 8.8vw;
  }
}


@media (max-width: 1020px) {
  body[data-detail-type="happy"] .mh-trend .mh-split-table:has(.mh-number-trend) {
    grid-template-columns: 23vw 76vw;
    width: 100%;
    min-width: 0;
    background: #fff;
  }

  body[data-detail-type="happy"] .mh-trend .mh-split-table:has(.mh-number-trend) .mh-split-fixed {
    width: 23vw;
    overflow: visible;
    box-shadow: none;
  }

  body[data-detail-type="happy"] .mh-trend .mh-split-table:has(.mh-number-trend) .mh-split-scroll {
    width: 76vw;
    min-width: 0;
    overflow-x: scroll;
  }

  body[data-detail-type="happy"] .mh-number-trend {
    border-collapse: separate;
    border-spacing: 1px;
    table-layout: auto;
    color: #666;
    background: #e6e6e6;
    font: 400 3.2vw "microsoft yahei", "Microsoft YaHei", sans-serif;
  }

  body[data-detail-type="happy"] .mh-split-fixed .mh-number-trend {
    width: 24vw;
    min-width: 24vw;
  }

  body[data-detail-type="happy"] .mh-split-scroll .mh-number-trend {
    width: 213.333333vw;
    min-width: 213.333333vw;
  }

  body[data-detail-type="happy"] .mh-number-trend th,
  body[data-detail-type="happy"] .mh-number-trend td {
    box-sizing: border-box;
    min-width: 0;
    height: 8vw;
    padding: 0;
    border: 0;
    color: #999;
    background: #fff;
    font-size: 3.2vw;
    font-weight: 400;
    line-height: 8vw;
    text-align: center;
    white-space: normal;
  }

  body[data-detail-type="happy"] .mh-number-trend thead th {
    height: 8.266667vw;
    color: #333;
    background: #f0f0f0;
  }

  body[data-detail-type="happy"] .mh-split-fixed .mh-number-trend thead th {
    width: 23.487179vw;
    min-width: 23.487179vw;
    height: 17.333333vw;
    line-height: 16.32vw;
  }

  body[data-detail-type="happy"] .mh-split-fixed .mh-number-trend tbody td {
    color: #666;
  }

  body[data-detail-type="happy"] .mh-split-scroll .mh-number-trend th,
  body[data-detail-type="happy"] .mh-split-scroll .mh-number-trend td {
    width: 10.396635vw;
    min-width: 10.396635vw;
  }

  body[data-detail-type="happy"] .mh-split-scroll .mh-number-trend thead tr:first-child th {
    width: auto;
    padding-left: 21.282051vw;
    line-height: 8vw;
    text-align: left;
  }

  body[data-detail-type="happy"] .mh-number-trend tbody tr.oddtr td {
    background: #f6f6f2;
  }

  body[data-detail-type="happy"] .mh-number-trend td.hit {
    color: #999;
    background: #fff;
    border-radius: 0;
  }

  body[data-detail-type="happy"] .mh-number-trend tbody tr.oddtr td.hit {
    background: #f6f6f2;
  }

  body[data-detail-type="happy"] .mh-number-trend td.hit b {
    display: inline-block;
    width: 5.333333vw;
    height: 5.333333vw;
    border-radius: 50%;
    color: #fff;
    background: #0092dd;
    font-size: 3.2vw;
    font-weight: 400;
    line-height: 5.333333vw;
  }

  body[data-detail-type="happy"] .mh-number-trend .stats td {
    color: #666;
    background: #fff;
  }

  body[data-detail-type="happy"] .mh-number-trend .stats-head td {
    color: #999;
    background: #f0f0f0;
  }
}


@media (max-width: 1020px) {
  body[data-detail-type="happy"] .mh-trend .mh-table-scroll:has(.mh-ratio-trend) {
    overflow-x: auto;
    background: #fff;
  }

  body[data-detail-type="happy"] .mh-ratio-trend {
    width: 104.807692vw;
    min-width: 104.807692vw;
    border-collapse: separate;
    border-spacing: 1px;
    table-layout: auto;
    color: #666;
    background: #e6e6e6;
    font: 400 3.2vw/8vw "microsoft yahei", "Microsoft YaHei", sans-serif;
  }

  body[data-detail-type="happy"] .mh-ratio-trend th,
  body[data-detail-type="happy"] .mh-ratio-trend td {
    box-sizing: border-box;
    min-width: 0;
    padding: 0;
    border: 0;
    color: #666;
    background: #fff;
    font-weight: 400;
    text-align: center;
    white-space: normal;
  }

  body[data-detail-type="happy"] .mh-ratio-trend thead th {
    height: 8vw;
    color: #666;
    background: #f0f0f0;
    font-size: 3.733333vw;
    line-height: 8vw;
  }

  body[data-detail-type="happy"] .mh-ratio-trend thead tr:first-child th[rowspan] {
    height: 16.25641vw;
  }

  body[data-detail-type="happy"] .mh-ratio-trend tbody td {
    height: 8.512821vw;
    font-size: 3.2vw;
    line-height: 8vw;
  }

  body[data-detail-type="happy"] .mh-ratio-trend thead tr:first-child > :first-child,
  body[data-detail-type="happy"] .mh-ratio-trend tbody tr:not(.stats) > :first-child {
    width: 10.664103vw;
    min-width: 10.664103vw;
  }

  body[data-detail-type="happy"] .mh-ratio-trend thead tr:first-child > :nth-child(2),
  body[data-detail-type="happy"] .mh-ratio-trend tbody tr:not(.stats) > :nth-child(2) {
    width: 32.782452vw;
    min-width: 32.782452vw;
  }

  body[data-detail-type="happy"] .mh-ratio-trend thead tr:nth-child(2) > :first-child,
  body[data-detail-type="happy"] .mh-ratio-trend thead tr:nth-child(2) > :last-child,
  body[data-detail-type="happy"] .mh-ratio-trend tbody tr:not(.stats) > :nth-child(3),
  body[data-detail-type="happy"] .mh-ratio-trend tbody tr:not(.stats) > :last-child {
    width: 7.680288vw;
    min-width: 7.680288vw;
  }

  body[data-detail-type="happy"] .mh-ratio-trend thead tr:nth-child(2) > :not(:first-child):not(:last-child),
  body[data-detail-type="happy"] .mh-ratio-trend tbody tr:not(.stats) > :nth-child(n + 4):not(:last-child) {
    width: 6.131811vw;
    min-width: 6.131811vw;
  }

  body[data-detail-type="happy"] .mh-ratio-trend tbody tr.dxcolor td {
    background: #f6f6f2;
  }

  body[data-detail-type="happy"] .mh-ratio-trend td.trend-hit {
    color: #fff;
    background: #f66d6d;
  }

  body[data-detail-type="happy"] .mh-ratio-trend td.trend-hit b {
    display: block;
    width: 100%;
    height: 100%;
    border-radius: 0;
    color: #fff;
    background: transparent;
    font-size: 3.2vw;
    font-weight: 400;
    line-height: 8vw;
  }

  body[data-detail-type="happy"] .mh-ratio-trend .stats td {
    color: #666;
    background: #fff;
  }

  body[data-detail-type="happy"] .mh-ratio-trend .stats-head td,
  body[data-detail-type="happy"] .mh-ratio-trend .stats-subhead td {
    color: #666;
    background: #f0f0f0;
  }
}


@media (max-width: 1020px) {
  body[data-detail-type="happy"] .mh-trend .mh-split-table:has(.mh-position-trend) {
    grid-template-columns: 43.798077vw 56.201923vw;
    width: 100%;
    min-width: 0;
    background: #fff;
  }

  body[data-detail-type="happy"] .mh-trend .mh-split-table:has(.mh-position-trend) .mh-split-fixed {
    width: 43.798077vw;
    overflow: hidden;
    box-shadow: none;
  }

  body[data-detail-type="happy"] .mh-trend .mh-split-table:has(.mh-position-trend) .mh-split-scroll {
    width: 56.201923vw;
    min-width: 0;
    overflow-x: scroll;
  }

  body[data-detail-type="happy"] .mh-position-trend {
    border-collapse: separate;
    border-spacing: 1px;
    table-layout: auto;
    color: #666;
    background: #e6e6e6;
    font: 400 3.2vw/8vw "microsoft yahei", "Microsoft YaHei", sans-serif;
  }

  body[data-detail-type="happy"] .mh-split-fixed .mh-position-trend {
    width: 43.798077vw;
    min-width: 43.798077vw;
  }

  body[data-detail-type="happy"] .mh-split-scroll .mh-position-trend {
    width: 132.339744vw;
    min-width: 132.339744vw;
  }

  body[data-detail-type="happy"] .mh-position-trend th,
  body[data-detail-type="happy"] .mh-position-trend td {
    box-sizing: border-box;
    min-width: 0;
    height: 8vw;
    padding: 0;
    border: 0;
    color: #666;
    background: #fff;
    font-size: 3.2vw;
    font-weight: 400;
    line-height: 8vw;
    text-align: center;
    white-space: normal;
  }

  body[data-detail-type="happy"] .mh-position-trend thead th {
    height: 8vw;
    color: #666;
    background: #f0f0f0;
    font-size: 3.733333vw;
    line-height: 8vw;
  }

  body[data-detail-type="happy"] .mh-split-fixed .mh-position-trend thead th {
    width: 43.285256vw;
    min-width: 43.285256vw;
    height: 16.266026vw;
    line-height: 16vw;
  }

  body[data-detail-type="happy"] .mh-split-fixed .mh-position-trend tbody td {
    width: 43.285256vw;
    min-width: 43.285256vw;
  }

  body[data-detail-type="happy"] .mh-split-fixed .mh-position-trend .mh-trend-issue {
    display: inline-block;
    width: 9.777644vw;
    color: #b9af9d;
    font-size: 3.2vw;
    line-height: 8vw;
  }

  body[data-detail-type="happy"] .mh-split-fixed .mh-position-trend .mh-drawn-numbers {
    display: inline-block;
    width: 33.761218vw;
    min-width: 0;
    color: #ff2a06;
    font-size: 3.2vw;
    line-height: 8vw;
    white-space: nowrap;
  }

  body[data-detail-type="happy"] .mh-split-scroll .mh-position-trend th,
  body[data-detail-type="happy"] .mh-split-scroll .mh-position-trend td {
    width: 8vw;
    min-width: 8vw;
  }

  body[data-detail-type="happy"] .mh-split-scroll .mh-position-trend thead tr:first-child th {
    width: auto;
    padding-left: 8vw;
    text-align: left;
  }

  body[data-detail-type="happy"] .mh-position-trend tbody tr.dxcolor td {
    background: #f6f6f2;
  }

  body[data-detail-type="happy"] .mh-position-trend td.trend-hit {
    color: #666;
    background: inherit;
  }

  body[data-detail-type="happy"] .mh-position-trend td.trend-hit b {
    display: inline-block;
    width: 5.333333vw;
    height: 5.333333vw;
    border-radius: 50%;
    color: #fff;
    background: #fb8e19;
    font-size: 3.2vw;
    font-weight: 400;
    line-height: 5.333333vw;
  }

  body[data-detail-type="happy"] .mh-position-trend .stats td {
    color: #666;
    background: #fff;
  }

  body[data-detail-type="happy"] .mh-position-trend .stats-head td,
  body[data-detail-type="happy"] .mh-position-trend .stats-subhead td {
    color: #666;
    background: #f0f0f0;
  }
}


@media (max-width: 1020px) {
  body[data-detail-type="happy"] .mh-two-sided-history {
    overflow: hidden;
    padding-bottom: 64px;
    border-top: 1px solid #dbdbdb;
    background: #fff;
  }

  body[data-detail-type="happy"] .mh-history-modes {
    display: grid;
    grid-template-columns: 50.128205% 49.871795%;
    width: 100%;
    min-height: 0;
    height: 45.7578125px;
    margin: 0 0 1px;
    padding: 0;
    gap: 0;
    border: 0;
    background: #f5f5f5;
  }

  body[data-detail-type="happy"] .mh-history-modes button {
    box-sizing: border-box;
    width: 100%;
    height: 45.7578125px;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    color: #666;
    background: #f5f5f5;
    font: 400 13.52px/45.7578125px "microsoft yahei", "Microsoft YaHei", sans-serif;
  }

  body[data-detail-type="happy"] .mh-history-modes button.active {
    color: #fff;
    background: #50515f;
  }

  body[data-detail-type="happy"] .mh-two-sided-history .mh-twoface-position-shell {
    margin: 0;
  }

  body[data-detail-type="happy"] .mh-history-trait-tabs {
    display: flex;
    box-sizing: border-box;
    width: 369.203125px;
    min-height: 0;
    height: 33.1953125px;
    margin: 11.3984375px 10.3984375px 8.3984375px;
    padding: 0;
    gap: 0;
    overflow: hidden;
    border: 1px solid #fb8e19;
    border-radius: 0;
    background: #fff;
  }

  body[data-detail-type="happy"] .mh-history-trait-tabs button {
    box-sizing: border-box;
    flex: 1 1 25%;
    width: 91.796875px;
    min-width: 0;
    height: 31.1953125px;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    color: #fb8e19;
    background: transparent;
    font: 400 14.56px/31.1953125px "microsoft yahei", "Microsoft YaHei", sans-serif;
  }

  body[data-detail-type="happy"] .mh-history-trait-tabs button.active {
    color: #fff;
    background: #fb8e19;
  }

  body[data-detail-type="happy"] .mh-two-sided-history > .mh-table-scroll {
    margin: 0;
    overflow: hidden;
  }

  body[data-detail-type="happy"] .mh-history-single {
    width: 100%;
    min-width: 100%;
    border-collapse: separate;
    border-spacing: 1px;
    table-layout: fixed;
    color: #666;
    background: #e5e5e5;
    font: 400 12.48px "microsoft yahei", "Microsoft YaHei", sans-serif;
  }

  body[data-detail-type="happy"] .mh-history-single th,
  body[data-detail-type="happy"] .mh-history-single td {
    box-sizing: border-box;
    min-width: 0;
    height: 33px;
    padding: 0;
    border: 0;
    color: #666;
    background: #fff;
    font-size: 12.48px;
    font-weight: 400;
    text-align: center;
  }

  body[data-detail-type="happy"] .mh-history-single th {
    height: 78px;
    background: #f0f0f0;
    line-height: 26px;
    white-space: normal;
  }

  body[data-detail-type="happy"] .mh-history-single th:first-child {
    padding: 0 31.2px;
    white-space: nowrap;
  }

  body[data-detail-type="happy"] .mh-history-single th:not(:first-child) {
    padding: 0 7.28px;
  }

  body[data-detail-type="happy"] .mh-history-single tr > :first-child {
    width: 87.3515625px;
    min-width: 87.3515625px;
  }

  body[data-detail-type="happy"] .mh-history-single tr > :not(:first-child) {
    width: 36.578125px;
    min-width: 36.578125px;
  }
}


@media (max-width: 1020px) {
  body[data-detail-type="happy"] .mh-history-stats > .mh-mode-tabs {
    grid-template-columns: 195.5px 194.5px;
  }

  body[data-detail-type="happy"] .mh-history-stats .shape-mode tr > :first-child {
    width: 95.5px;
    min-width: 95.5px;
  }

  body[data-detail-type="happy"] .mh-history-stats .shape-mode tr > :not(:first-child) {
    width: 47.7421875px;
    min-width: 47.7421875px;
  }
}


@media (max-width: 1020px) {
  body[data-detail-type="happy"] .mh-daily-mode-tabs {
    box-sizing: content-box;
    width: 100%;
    height: 31.1953125px;
    padding: 10.3984375px;
    overflow-x: scroll;
  }

  body[data-detail-type="happy"] .mh-daily-mode-tabs::after {
    flex: 0 0 15px;
    width: 15px;
    content: "";
  }

  body[data-detail-type="happy"] .mh-daily-rank-line {
    height: 38.4375px;
  }

  body[data-detail-type="happy"] .mh-daily-rank-line button {
    height: 37.4375px;
  }

  body[data-detail-type="happy"] .mh-daily-table {
    table-layout: fixed;
  }

  body[data-detail-type="happy"] .mh-daily-table col.mh-daily-date-col {
    width: 83.1953125px;
  }

  body[data-detail-type="happy"] .mh-daily-table col.mh-daily-period-col {
    width: 39.515625px;
  }

  body[data-detail-type="happy"] .mh-daily-table tr > :first-child {
    width: 83.1953125px;
    min-width: 83.1953125px;
  }

  body[data-detail-type="happy"] .mh-daily-table tr > :not(:first-child) {
    width: 39.515625px;
    min-width: 39.515625px;
  }

  body[data-detail-type="happy"] .mh-daily-table thead tr:first-child th:not([rowspan]) {
    height: 41.59375px;
    line-height: 41.59375px;
  }

  body[data-detail-type="happy"] .mh-daily-table thead tr:first-child th[rowspan] {
    height: 105px;
    line-height: 31.2px;
  }

  body[data-detail-type="happy"] .mh-daily-table thead tr:nth-child(2) th {
    height: 62.40625px;
    line-height: 31.2px;
  }
}


@media (max-width: 1020px) {
  body[data-detail-type="happy"] .mh-daily-position-sheet {
    width: 390px;
    height: 265px;
    max-height: 265px;
    margin-bottom: var(--ui-mobile-nav-height);
    overflow: visible;
    border-radius: 0;
  }

  body[data-detail-type="happy"] .mh-daily-position-sheet > header {
    height: 65px;
    grid-template-columns: 55px 280px 55px;
    align-items: start;
  }

  body[data-detail-type="happy"] .mh-daily-position-sheet > header button {
    width: 55px;
    height: 45px;
    padding: 0;
    color: #000;
    font: 400 15px/45px "microsoft yahei", "Microsoft YaHei", sans-serif;
  }

  body[data-detail-type="happy"] .mh-daily-position-sheet > header strong {
    box-sizing: border-box;
    width: 280px;
    height: 68.3984375px;
    padding-top: 23.3984375px;
    color: #000;
    font: 400 15px/45px "microsoft yahei", "Microsoft YaHei", sans-serif;
  }

  body[data-detail-type="happy"] .mh-daily-position-wheel {
    height: 200px;
    padding: 80px 0;
  }

  body[data-detail-type="happy"] .mh-daily-position-wheel::before {
    top: 80px;
  }

  body[data-detail-type="happy"] .mh-daily-position-wheel::after {
    top: 120px;
  }

  body[data-detail-type="happy"] .mh-daily-position-wheel button,
  body[data-detail-type="happy"] .mh-daily-position-wheel button.selected {
    height: 40px;
    color: #000;
    background: #fff;
    font: 400 15px/40px "microsoft yahei", "Microsoft YaHei", sans-serif;
  }
}


/* Source-measured H10 number-distribution row shell and legacy ball cells. */
@media (max-width: 1020px) {
  body[data-detail-type="happy"] .mh-distribution-history {
    box-sizing: content-box;
    border-top: 2px solid #efeff4;
  }
  body[data-detail-type="happy"] .mh-distribution-row {
    display: -webkit-box;
    grid-template-columns: none;
    box-sizing: border-box;
    width: 100%;
    height: 11.45633vw;
    min-height: 11.45633vw;
    padding-right: 2.666266vw;
    padding-left: 2.666266vw;
    border-top: 1px solid #efeff4;
    border-bottom: 0;
    align-items: stretch;
  }
  body[data-detail-type="happy"] .mh-distribution-left {
    box-sizing: content-box;
    display: -webkit-box;
    width: 22.666266vw;
    height: 11.2vw;
    padding: 0;
    border: 0;
  }
  body[data-detail-type="happy"] .mh-distribution-left > span {
    box-sizing: content-box;
    display: block;
    width: auto;
    height: 11.2vw;
    padding: 0;
    border: 0;
    -webkit-box-flex: 1;
    color: #666;
    font: 400 2.933333vw/11.2vw "microsoft yahei";
    text-align: start;
  }
  body[data-detail-type="happy"] .mh-distribution-row > .mh-opening-result {
    box-sizing: content-box;
    display: block;
    width: 0;
    height: 11.2vw;
    padding: 0;
    border: 0;
    -webkit-box-flex: 6;
    overflow: visible;
  }
  body[data-detail-type="happy"] .mh-distribution-row .mh-balls.history.happy10 {
    display: -webkit-box;
    grid-template-columns: none;
    width: 70.136218vw;
    height: 6vw;
    margin: 2.666266vw 0 0 calc(1.864583vw + .008px);
    gap: 0;
  }
  body[data-detail-type="happy"] .mh-distribution-ball-cell {
    box-sizing: border-box;
    display: block;
    width: 0;
    height: 6vw;
    margin: 0 1.413333vw 0 0;
    -webkit-box-flex: 1;
  }
  body[data-detail-type="happy"] .mh-distribution-row .mh-balls.history.happy10 .mh-ball {
    box-sizing: content-box;
    display: block;
    width: calc(6.879006vw + .005px);
    height: 6.933093vw;
    margin: 0 auto;
    border-radius: 0;
    background-color: transparent;
    background-image: url("/assets/pc9567-mobile-number-sprite.png");
    background-repeat: no-repeat;
    background-size: 94.4vw auto;
    color: #fff;
    font: 400 4.266667vw/6.933093vw "microsoft yahei", "Microsoft YaHei", sans-serif;
    text-align: center;
  }
  body[data-detail-type="happy"] .mh-distribution-row .mh-ball.h10.blue {
    background-position: -42.346667vw -31.466667vw;
  }
  body[data-detail-type="happy"] .mh-distribution-row .mh-ball.h10.red {
    background-position: -50.346667vw -31.466667vw;
  }
}


/* Source-measured shared mobile date strip and three-wheel picker. */
@media (max-width: 1020px) {
  body[data-detail-type="happy"] .mh-datebar {
    box-sizing: border-box;
    display: flex;
    width: 100%;
    height: 38.4375px;
    padding: 0;
    align-items: flex-start;
    justify-content: flex-end;
    border-bottom: 1px solid #dbdbdb;
    background: #f5f5f5;
  }

  body[data-detail-type="happy"] .mh-datebar > button {
    box-sizing: content-box;
    flex: 0 0 auto;
    width: 24.9609375px;
    min-width: 24.9609375px;
    height: 22.875px;
    margin: 0 14.5546875px 0 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    color: #000;
    background: transparent;
    font: 400 12.48px/37.44px "microsoft yahei", "Microsoft YaHei", sans-serif;
    text-align: left;
  }

  body[data-detail-type="happy"] .mh-datebar > button.active {
    color: #fb8e19;
  }

  body[data-detail-type="happy"] .mh-datebar > .mh-date-open {
    position: relative;
    display: block;
    width: 90.6015625px;
    min-width: 90.6015625px;
    margin-right: 10.3984375px;
    padding: 0;
    overflow: visible;
  }

  body[data-detail-type="happy"] .mh-date-open > span {
    display: block;
    overflow: visible;
    text-overflow: clip;
  }

  body[data-detail-type="happy"] .mh-date-open > i {
    display: none;
  }

  body[data-detail-type="happy"] .mh-date-open::after {
    position: absolute;
    top: 5.2px;
    right: -10.4px;
    display: block;
    width: 20.796875px;
    height: 20.796875px;
    background: transparent url("/assets/pk10-bg-icon.png") no-repeat 0 -53.04px / 328.64px auto;
    content: "";
    pointer-events: none;
  }

  body[data-detail-type="happy"] .mh-date-sheet {
    margin-bottom: var(--ui-mobile-nav-height);
  }

  body[data-detail-type="happy"] .mh-date-sheet > header {
    position: relative;
    display: block;
    width: 100%;
    height: 65px;
  }

  body[data-detail-type="happy"] .mh-date-sheet > header button {
    position: absolute;
    z-index: 2;
    top: 0;
    width: 55px;
    height: 45px;
    padding: 0;
    color: #000;
    font: 400 15px/45px "microsoft yahei", "Microsoft YaHei", sans-serif;
    text-align: center;
  }

  body[data-detail-type="happy"] .mh-date-sheet > header button:first-child {
    left: 0;
  }

  body[data-detail-type="happy"] .mh-date-sheet > header button:last-child {
    right: 0;
    color: #000;
  }

  body[data-detail-type="happy"] .mh-date-sheet > header strong {
    position: static;
    box-sizing: border-box;
    display: block;
    width: 100%;
    height: 68.3984375px;
    padding: 23.3984375px 58.5px 0;
    color: #000;
    font: 400 15px/45px "microsoft yahei", "Microsoft YaHei", sans-serif;
    text-align: center;
  }

  body[data-detail-type="happy"] .mh-picker-grid {
    grid-template-columns: repeat(3, 33.329327vw);
    background:
      linear-gradient(#ddd, #ddd) 0 80px / 100% 1px no-repeat,
      linear-gradient(#ddd, #ddd) 0 120px / 100% 1px no-repeat;
  }

  body[data-detail-type="happy"] .mh-picker-grid::before {
    z-index: 3;
    top: 0;
    width: 100%;
    height: 200px;
    background: linear-gradient(#fff, rgba(255, 255, 255, 0), #fff);
    opacity: .9;
  }

  body[data-detail-type="happy"] .mh-picker-grid::after {
    display: none;
  }

  body[data-detail-type="happy"] .mh-picker-wheel button,
  body[data-detail-type="happy"] .mh-picker-wheel button.selected {
    color: #000;
    font: 400 15px/40px "microsoft yahei", "Microsoft YaHei", sans-serif;
  }
}


/* Source-measured Happy10 secondary-menu nested scroll geometry. */
@media (max-width: 1020px) {
  body[data-detail-type="happy"] .mh-pages:not(.mh-pages-direct) {
    box-sizing: border-box;
    width: 100%;
    height: 46.7578125px;
    overflow-x: scroll;
    overflow-y: hidden;
  }

  body[data-detail-type="happy"] .mh-pages:not(.mh-pages-direct) > div {
    box-sizing: content-box;
    display: -webkit-box;
    width: 475vw;
    min-width: 475vw;
    height: 45.7578125px;
    padding: 0 11.732772vw 0 0;
    overflow-x: scroll;
    overflow-y: hidden;
  }

  body[data-detail-type="happy"] .mh-pages:not(.mh-pages-direct) button {
    box-sizing: border-box;
    display: inline-block;
    flex: none;
    width: auto;
    min-width: 0;
    height: 45.7578125px;
    margin: 0 5.2px 0 10.4px;
    padding: 0 10.4px;
    color: #666;
    background: transparent;
    font: 400 13.52px/45.76px "microsoft yahei", "Microsoft YaHei", sans-serif;
  }

  body[data-detail-type="happy"] .mh-pages:not(.mh-pages-direct) button > span {
    display: block;
    height: 45.7578125px;
    margin: 0;
    color: inherit;
    font: inherit;
  }

  body[data-detail-type="happy"] .mh-pages:not(.mh-pages-direct) button:last-child > span {
    margin-right: 52px;
  }

  body[data-detail-type="happy"] .mh-pages:not(.mh-pages-direct) button.active {
    color: #fb8e19;
  }
}


/* Source-measured countdown row with the intentionally omitted video column left empty. */
@media (max-width: 1020px) {
  body[data-detail-type="happy"] .mh-current .detail-progress-line {
    box-sizing: border-box;
    display: grid;
    grid-template-columns: 108.6796875px 147.671875px 43.1796875px 69.671875px;
    width: 369.203125px;
    height: 29.1171875px;
    margin: 0;
    padding: 0;
    align-items: start;
    justify-content: start;
    gap: 0;
  }

  body[data-detail-type="happy"] .mh-current .detail-progress-line > span {
    box-sizing: border-box;
    display: block;
    width: 108.6796875px;
    height: 21.0078125px;
    margin: 8.109375px 0 0;
    padding: 0;
    color: #333;
    font: 400 14.56px/15.6px "microsoft yahei", "Microsoft YaHei", sans-serif;
    white-space: nowrap;
  }

  body[data-detail-type="happy"] .mh-current .detail-progress-line > b {
    position: relative;
    box-sizing: border-box;
    display: block;
    width: 145.359375px;
    height: 4.15625px;
    margin: 13.875px 0 0 -0.5859375px;
    padding: 0;
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: #c5c5c5;
  }

  body[data-detail-type="happy"] .mh-current .detail-progress-line > b > i {
    height: 4.15625px;
    border-radius: 0;
    background: #ff2600;
  }

  body[data-detail-type="happy"] .mh-current .detail-progress-line > strong {
    box-sizing: border-box;
    display: block;
    width: 43.1796875px;
    height: 21.0078125px;
    margin: 8.109375px 0 0;
    padding: 0 0 0 7.28px;
    color: #f12d35;
    font: 400 14.56px/15.6px "microsoft yahei", "Microsoft YaHei", sans-serif;
    text-align: left;
    white-space: nowrap;
  }
}


/* r574 Happy8 and Taiwan Bingo source-measured header/navigation parity. */
@media (max-width: 1020px) {
  body[data-detail-type="happy"] .mh-current.happy8 {
    box-sizing: border-box;
    width: 100%;
    height: 191.359375px;
    min-height: 191.359375px;
    margin: 10.3984375px 0 11.4375px;
    padding: 10.3984375px;
    border: 0;
  }

  body[data-detail-type="happy"] .mh-current.happy8 > p {
    display: block;
    width: 369.203125px;
    height: 17.6796875px;
    min-height: 17.6796875px;
    margin: 0 0 12.4765625px;
    color: #333;
    font: 400 16.64px/normal "microsoft yahei", "Microsoft YaHei", sans-serif;
  }

  body[data-detail-type="happy"] .mh-current.happy8 > p.mh-current-line {
    display: flex;
    align-items: center;
    justify-content: space-between;
  }

  body[data-detail-type="happy"] .mh-current.happy8 .mh-current-issue,
  body[data-detail-type="happy"] .mh-current.happy8 .mh-current-issue strong {
    margin: 0;
    color: #333;
    font: 400 16.64px/normal "microsoft yahei", "Microsoft YaHei", sans-serif;
  }

  body[data-detail-type="happy"] .mh-current.happy8 .mh-current-status {
    margin-left: 4px;
    color: #666;
    font: 400 12.48px/normal "microsoft yahei", "Microsoft YaHei", sans-serif;
  }

  body[data-detail-type="happy"] .mh-header-sort {
    display: flex;
    flex: 0 0 96px;
    width: 96px;
    height: 26px;
    gap: 8px;
  }

  body[data-detail-type="happy"] .mh-header-sort button {
    box-sizing: border-box;
    width: 44px;
    min-width: 44px;
    height: 26px;
    padding: 0 10px;
    border: 0;
    border-radius: 14px;
    color: #333;
    background: #f6f6f6;
    font: 400 13.3333px/26px "microsoft yahei", "Microsoft YaHei", sans-serif;
  }

  body[data-detail-type="happy"] .mh-header-sort button.active {
    color: #fff;
    background: #fc8f19;
  }

  body[data-detail-type="happy"] .mh-balls.current.happy8 {
    box-sizing: border-box;
    grid-template-columns: repeat(10, 26px);
    width: 369.203125px;
    height: 88.3984375px;
    min-height: 88.3984375px;
    align-content: start;
    justify-content: start;
    column-gap: 10.3984375px;
    row-gap: 5.1953125px;
  }

  body[data-detail-type="happy"] .mh-balls.current.happy8 .mh-ball {
    width: 26px;
    height: 26px;
    border: 0;
    border-radius: 50%;
    color: #fff;
    font: 400 17.68px/26px "microsoft yahei", "Microsoft YaHei", sans-serif;
  }

  body[data-detail-type="happy"] .mh-balls.current.happy8 .mh-ball.cyan { background: #19a6da; }
  body[data-detail-type="happy"] .mh-balls.current.happy8 .mh-ball.blue { background: #0092dd; }
  body[data-detail-type="happy"] .mh-balls.current.happy8 .mh-ball.special { background: #fa8e19; }
  body[data-detail-type="happy"] .mh-balls.current.happy8 .mh-ball.special::after { content: none; }

  body[data-detail-type="happy"] .mh-current.happy8 .mh-current-summary {
    width: 369.203125px;
    height: 26px;
    min-height: 26px;
    margin: 6.234375px 0 0;
    gap: 5px;
    justify-content: flex-start;
    color: #666;
    font: 400 12.48px/26px "microsoft yahei", "Microsoft YaHei", sans-serif;
  }

  body[data-detail-type="happy"] .mh-current.happy8 .mh-current-summary strong {
    color: #f44a07;
    font-size: 14.56px;
    font-weight: 400;
  }

  body[data-detail-type="happy"] .mh-pages-direct {
    margin-bottom: 0;
  }

  body[data-detail-type="happy"] .mh-pages-direct > div {
    display: grid;
    width: 100%;
  }

  body[data-detail-type="happy"] .mh-pages-direct.mh-pages-count-2 > div {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body[data-detail-type="happy"] .mh-pages-direct.mh-pages-count-3 > div {
    grid-template-columns: 31.021635% 37.956731% 31.021634%;
  }

  body[data-detail-type="happy"] .mh-pages-direct button {
    width: 100%;
    min-width: 0;
    height: 45.7578125px;
    margin: 0;
    padding: 0;
    color: #666;
    background: #fff;
    font: 400 13.52px/45.76px "microsoft yahei", "Microsoft YaHei", sans-serif;
  }

  body[data-detail-type="happy"] .mh-pages-direct button.active {
    color: #fb8e19;
    border-radius: 0;
    background: #fff;
  }

  body[data-detail-type="happy"] .mh-h8-roads.mh-source-blank {
    min-height: 481px;
    padding-bottom: 0;
    background: linear-gradient(#fff 0 185px, #efeff4 185px 100%);
  }
}


/* 20260826-mobile-happy-series-source-parity-r575:
 * preserve the original rem-responsive coordinate system at 360/390/430,
 * keep the intentionally omitted video column as empty geometry, and reuse
 * the shared source date-strip measurements without a fixed 390px canvas. */
@media (max-width: 1020px) {
  body[data-detail-type="happy"] #mobileDetail {
    --mh-source-rem: calc(100vw / 3.75);
  }

  body[data-detail-type="happy"] .mobile-happy-titlebar {
    position: relative;
    display: flex !important;
    box-sizing: border-box;
    width: 100% !important;
    height: calc(var(--mh-source-rem) * .5) !important;
    min-height: calc(var(--mh-source-rem) * .5) !important;
    padding: 0 calc(var(--mh-source-rem) * .1);
    align-items: center;
  }

  body[data-detail-type="happy"] .mobile-happy-titlebar > button {
    display: block;
    flex: 0 0 24px;
    width: 24px;
    height: 24px;
    padding: 0;
  }

  body[data-detail-type="happy"] .mobile-happy-titlebar .mh-back-icon {
    display: block;
    width: 24px;
    height: 24px;
  }

  body[data-detail-type="happy"] .mobile-happy-titlebar h1 {
    position: absolute;
    inset: 0;
    width: auto;
    height: calc(var(--mh-source-rem) * .5);
    margin: 0 !important;
    font-size: calc(var(--mh-source-rem) * .18) !important;
    line-height: calc(var(--mh-source-rem) * .5) !important;
    pointer-events: none;
  }


  body[data-detail-type="happy"] .mh-current.happy8 {
    width: 100%;
    height: calc(var(--mh-source-rem) * 1.84);
    min-height: calc(var(--mh-source-rem) * 1.84);
    margin: calc(var(--mh-source-rem) * .1) 0 calc(var(--mh-source-rem) * .11);
    padding: calc(var(--mh-source-rem) * .1);
  }

  body[data-detail-type="happy"] .mh-current.happy8 > p {
    width: calc(var(--mh-source-rem) * 3.55);
    height: calc(var(--mh-source-rem) * .17);
    min-height: calc(var(--mh-source-rem) * .17);
    margin: 0 0 calc(var(--mh-source-rem) * .12);
    font-size: calc(var(--mh-source-rem) * .16);
  }

  body[data-detail-type="happy"] .mh-current.happy8 .mh-current-issue,
  body[data-detail-type="happy"] .mh-current.happy8 .mh-current-issue strong {
    font-size: calc(var(--mh-source-rem) * .16);
  }

  body[data-detail-type="happy"] .mh-current.happy8 .mh-current-status {
    font-size: calc(var(--mh-source-rem) * .12);
  }

  body[data-detail-type="happy"] .mh-balls.current.happy8 {
    grid-template-columns: repeat(10, calc(var(--mh-source-rem) * .25));
    width: calc(var(--mh-source-rem) * 3.55);
    height: calc(var(--mh-source-rem) * .85);
    min-height: calc(var(--mh-source-rem) * .85);
    column-gap: calc(var(--mh-source-rem) * .1);
    row-gap: calc(var(--mh-source-rem) * .05);
  }

  body[data-detail-type="happy"] .mh-balls.current.happy8 .mh-ball {
    width: calc(var(--mh-source-rem) * .25);
    height: calc(var(--mh-source-rem) * .25);
    font-size: calc(var(--mh-source-rem) * .17);
    line-height: calc(var(--mh-source-rem) * .25);
  }

  body[data-detail-type="happy"] .mh-current.happy8 .mh-current-summary {
    width: calc(var(--mh-source-rem) * 3.55);
    height: calc(var(--mh-source-rem) * .25);
    min-height: calc(var(--mh-source-rem) * .25);
    margin-top: calc(var(--mh-source-rem) * .06);
    gap: calc(var(--mh-source-rem) * .048076923);
    font-size: calc(var(--mh-source-rem) * .12);
    line-height: calc(var(--mh-source-rem) * .25);
  }

  body[data-detail-type="happy"] .mh-current.happy8 .mh-current-summary strong {
    font-size: calc(var(--mh-source-rem) * .14);
  }

  body[data-detail-type="happy"] .mh-current.happy8 .detail-progress-line {
    display: flex;
    width: calc(var(--mh-source-rem) * 3.55);
    height: calc(var(--mh-source-rem) * .28);
    min-height: calc(var(--mh-source-rem) * .28);
    align-items: flex-start;
  }

  body[data-detail-type="happy"] .mh-current.happy8 .detail-progress-line > span {
    flex: 1 1 calc(var(--mh-source-rem) * .74);
    width: auto;
    height: calc(var(--mh-source-rem) * .202);
    margin: calc(var(--mh-source-rem) * .078) 0 0;
    color: #666;
    font-size: calc(var(--mh-source-rem) * .14);
    line-height: calc(var(--mh-source-rem) * .15);
  }

  body[data-detail-type="happy"] .mh-current.happy8 .detail-progress-line > b {
    flex: 6 1 0;
    width: auto;
    height: calc(var(--mh-source-rem) * .04);
    margin: calc(var(--mh-source-rem) * .1335) 0 0;
    background: #c5c5c5;
  }

  body[data-detail-type="happy"] .mh-current.happy8 .detail-progress-line > b > i {
    height: calc(var(--mh-source-rem) * .04);
    background: #ff2600;
  }

  body[data-detail-type="happy"] .mh-current.happy8 .detail-progress-line > strong {
    flex: 0 0 auto;
    width: auto;
    height: calc(var(--mh-source-rem) * .202);
    margin: calc(var(--mh-source-rem) * .078) 0 0;
    padding-left: calc(var(--mh-source-rem) * .07);
    color: #ff2600;
    font-size: calc(var(--mh-source-rem) * .14);
    line-height: calc(var(--mh-source-rem) * .15);
  }

  body[data-detail-type="happy"] .mh-current.happy8 .detail-progress-line::after {
    display: block;
    flex: 0 0 calc(var(--mh-source-rem) * .67);
    width: calc(var(--mh-source-rem) * .67);
    height: calc(var(--mh-source-rem) * .28);
    content: "";
  }

  body[data-detail-type="happy"] .mh-current.happy8 .detail-progress-line.is-opening {
    display: block;
    height: calc(var(--mh-source-rem) * .15);
    min-height: calc(var(--mh-source-rem) * .15);
  }

  body[data-detail-type="happy"] .mh-current.happy8 .detail-progress-line.is-opening > span,
  body[data-detail-type="happy"] .mh-current.happy8 .detail-progress-line.is-opening > b {
    display: none;
  }

  body[data-detail-type="happy"] .mh-current.happy8 .detail-progress-line.is-opening > strong {
    display: block;
    width: auto;
    height: calc(var(--mh-source-rem) * .15);
    margin: 0;
    padding: 0;
    color: #666;
    font-size: calc(var(--mh-source-rem) * .14);
    line-height: calc(var(--mh-source-rem) * .15);
  }

  body[data-detail-type="happy"] .mh-current.happy8 .detail-progress-line.is-opening::after {
    display: none;
  }

  body[data-detail-type="happy"] .mh-pages-direct {
    height: calc(var(--mh-source-rem) * .44 + 1px);
  }

  body[data-detail-type="happy"] .mh-pages-direct > div,
  body[data-detail-type="happy"] .mh-pages-direct button {
    height: calc(var(--mh-source-rem) * .44);
  }

  body[data-detail-type="happy"] .mh-pages-direct button {
    font-size: calc(var(--mh-source-rem) * .13);
    line-height: calc(var(--mh-source-rem) * .44);
  }

  body[data-detail-type="happy"] .mh-datebar {
    height: calc(var(--mh-source-rem) * .36 + 1px);
  }

  body[data-detail-type="happy"] .mh-datebar > button {
    width: calc(var(--mh-source-rem) * .24);
    min-width: calc(var(--mh-source-rem) * .24);
    height: calc(var(--mh-source-rem) * .22);
    margin-right: calc(var(--mh-source-rem) * .14);
    font-size: calc(var(--mh-source-rem) * .12);
    line-height: calc(var(--mh-source-rem) * .36);
  }

  body[data-detail-type="happy"] .mh-datebar > .mh-date-open {
    width: calc(var(--mh-source-rem) * .871169);
    min-width: calc(var(--mh-source-rem) * .871169);
    margin-right: calc(var(--mh-source-rem) * .1);
  }

  body[data-detail-type="happy"] .mh-date-open::after {
    top: calc(var(--mh-source-rem) * .05);
    right: calc(var(--mh-source-rem) * -.1);
    width: calc(var(--mh-source-rem) * .2);
    height: calc(var(--mh-source-rem) * .2);
    background-position: 0 calc(var(--mh-source-rem) * -.51);
    background-size: calc(var(--mh-source-rem) * 3.16) auto;
  }
}


/* 20260826-mobile-happy-series-source-parity-r575:
 * source-default SG route, atomic countdown profile, and exact Happy8 road geometry. */
@media (max-width: 1020px) {
  body[data-detail-type="happy"] .mh-current.happy8 .detail-progress-line > strong {
    box-sizing: border-box;
    flex: 0 0 calc(var(--mh-source-rem) * .44306);
    width: calc(var(--mh-source-rem) * .44306);
  }

  body[data-detail-type="happy"] .mh-h8-roads {
    overflow-x: hidden;
    background: #fff;
  }

  body[data-detail-type="happy"] .mh-h8-roads > .mh-road-toolbar {
    position: relative;
    display: block;
    width: 100%;
    height: calc(var(--mh-source-rem) * .36 + 2px);
    background: #fff;
  }

  body[data-detail-type="happy"] .mh-h8-roads > .mh-road-toolbar > .mh-datebar {
    position: absolute;
    z-index: 0;
    top: 1px;
    left: 0;
    width: 100%;
    height: calc(var(--mh-source-rem) * .36 + 1px);
    background: #fff;
  }

  body[data-detail-type="happy"] .mh-h8-roads .mh-filter-open {
    position: absolute;
    z-index: 1;
    top: 1px;
    left: 0;
    box-sizing: border-box;
    width: calc(var(--mh-source-rem) * .68);
    height: calc(var(--mh-source-rem) * .36);
    margin: 0;
    padding: 0;
    border: 0;
    color: #fb8e19;
    background: transparent;
    font: 400 calc(var(--mh-source-rem) * .12)/calc(var(--mh-source-rem) * .36) "microsoft yahei", "Microsoft YaHei", sans-serif;
    text-align: left;
  }

  body[data-detail-type="happy"] .mh-h8-roads > .mh-road-card > header {
    display: grid;
    box-sizing: border-box;
    grid-template-columns: calc(var(--mh-source-rem) * 2.4) calc(var(--mh-source-rem) * 1.35);
    width: 100%;
    height: calc(var(--mh-source-rem) * .35);
    min-height: calc(var(--mh-source-rem) * .35);
    padding: 0;
    gap: 0;
    align-items: start;
  }

  body[data-detail-type="happy"] .mh-h8-roads > .mh-road-card > header > span {
    display: block;
    box-sizing: border-box;
    width: calc(var(--mh-source-rem) * 2.4);
    height: calc(var(--mh-source-rem) * .35);
    padding: 0 0 0 calc(var(--mh-source-rem) * .1);
    overflow: visible;
    color: #989898;
    font: 400 calc(var(--mh-source-rem) * .12)/calc(var(--mh-source-rem) * .35) "microsoft yahei", "Microsoft YaHei", sans-serif;
    text-overflow: clip;
    white-space: normal;
  }

  body[data-detail-type="happy"] .mh-h8-roads > .mh-road-card > header > span > b {
    margin-left: 0;
    color: inherit;
    font: inherit;
  }

  body[data-detail-type="happy"] .mh-h8-roads > .mh-road-card > header > strong {
    box-sizing: border-box;
    width: calc(var(--mh-source-rem) * 1.35);
    height: calc(var(--mh-source-rem) * .35);
    padding: 0 calc(var(--mh-source-rem) * .1) 0 0;
    color: #ef0508;
    font: 400 calc(var(--mh-source-rem) * .13)/calc(var(--mh-source-rem) * .35) "microsoft yahei", "Microsoft YaHei", sans-serif;
    text-align: right;
    white-space: nowrap;
  }

  body[data-detail-type="happy"] .mh-h8-roads > .mh-road-card.rank-2 > header,
  body[data-detail-type="happy"] .mh-h8-roads > .mh-road-card.rank-3 > header,
  body[data-detail-type="happy"] .mh-h8-roads > .mh-road-card.rank-4 > header,
  body[data-detail-type="happy"] .mh-h8-roads > .mh-road-card.rank-2 > header > span,
  body[data-detail-type="happy"] .mh-h8-roads > .mh-road-card.rank-3 > header > span,
  body[data-detail-type="happy"] .mh-h8-roads > .mh-road-card.rank-4 > header > span {
    height: calc(var(--mh-source-rem) * .7);
    min-height: calc(var(--mh-source-rem) * .7);
  }

  body[data-detail-type="happy"] .mh-h8-roads > .mh-road-card.rank-2 .mh-road-table td,
  body[data-detail-type="happy"] .mh-h8-roads > .mh-road-card.rank-3 .mh-road-table td,
  body[data-detail-type="happy"] .mh-h8-roads > .mh-road-card.rank-4 .mh-road-table td {
    width: calc(var(--mh-source-rem) * .42);
    min-width: calc(var(--mh-source-rem) * .42);
  }
}


/* r578: source 21-ball history rows keep the provider-tail wrapper height */
@media (max-width: 1020px) {
  body[data-detail-type="happy"] .mh-opening.happy8 .mh-opening-row:has(.mh-ball:nth-child(21)) {
    height: calc(var(--mh-source-rem) * .934419471);
    min-height: calc(var(--mh-source-rem) * .934419471);
  }
}


/* r579: Happy8 daily modes and malformed three-row header match the source */
@media (max-width: 1020px) {
  body[data-detail-type="happy"] .mh-daily-long.happy8 .mh-daily-mode-tabs {
    box-sizing: border-box;
    width: 100%;
    height: calc(var(--mh-source-rem) * .45);
    padding: calc(var(--mh-source-rem) * .1) calc(var(--mh-source-rem) * .05);
    gap: 0;
    overflow: hidden;
  }

  body[data-detail-type="happy"] .mh-daily-long.happy8 .mh-daily-mode-tabs::after {
    display: none;
  }

  body[data-detail-type="happy"] .mh-daily-long.happy8 .mh-daily-mode-tabs button {
    box-sizing: border-box;
    flex: 0 0 calc(var(--mh-source-rem) * .73);
    width: calc(var(--mh-source-rem) * .73);
    min-width: calc(var(--mh-source-rem) * .73);
    height: calc(var(--mh-source-rem) * .25);
    padding: 0;
    border: 0;
    border-radius: calc(var(--mh-source-rem) * .25);
    font: 400 calc(var(--mh-source-rem) * .12)/calc(var(--mh-source-rem) * .25) "microsoft yahei", "Microsoft YaHei", sans-serif;
  }

  body[data-detail-type="happy"] .mh-daily-long.happy8 .mh-table-scroll {
    width: 100%;
    margin: 0;
    overflow-x: scroll;
    overflow-y: visible;
  }

  body[data-detail-type="happy"] .mh-daily-long.happy8 .mh-daily-table {
    width: var(--mh-daily-width);
    min-width: var(--mh-daily-width);
    table-layout: fixed;
    border-collapse: separate;
    border-spacing: 1px;
    color: #666;
    background: #e5e5e5;
    font: 400 calc(var(--mh-source-rem) * .12) "microsoft yahei", "Microsoft YaHei", sans-serif;
  }

  body[data-detail-type="happy"] .mh-daily-long.happy8 .mh-daily-table col.mh-daily-date-col {
    width: calc(var(--mh-source-rem) * .8);
  }

  body[data-detail-type="happy"] .mh-daily-long.happy8 .mh-daily-table col.mh-daily-period-col {
    width: calc(var(--mh-source-rem) * .38);
  }

  body[data-detail-type="happy"] .mh-daily-long.happy8 .mh-daily-table th,
  body[data-detail-type="happy"] .mh-daily-long.happy8 .mh-daily-table td {
    box-sizing: border-box;
    min-width: 0;
    height: calc(var(--mh-source-rem) * .3);
    padding: 0;
    border: 0;
    color: #666;
    background: #fff;
    font: 400 calc(var(--mh-source-rem) * .12)/calc(var(--mh-source-rem) * .3) "microsoft yahei", "Microsoft YaHei", sans-serif;
    text-align: center;
  }

  body[data-detail-type="happy"] .mh-daily-long.happy8 .mh-daily-table th,
  body[data-detail-type="happy"] .mh-daily-long.happy8 .mh-daily-table thead tr:first-child th:not([rowspan]),
  body[data-detail-type="happy"] .mh-daily-long.happy8 .mh-daily-table thead tr:first-child th[rowspan],
  body[data-detail-type="happy"] .mh-daily-long.happy8 .mh-daily-table thead tr:nth-child(2) th {
    height: calc(var(--mh-source-rem) * .3);
    background: #f0f0f0;
    font: 400 calc(var(--mh-source-rem) * .14)/calc(var(--mh-source-rem) * .3) "microsoft yahei", "Microsoft YaHei", sans-serif;
  }

  body[data-detail-type="happy"] .mh-daily-long.happy8 .mh-daily-table tr > :first-child {
    width: calc(var(--mh-source-rem) * .8);
    min-width: calc(var(--mh-source-rem) * .8);
  }

  body[data-detail-type="happy"] .mh-daily-long.happy8 .mh-daily-table tr > :not(:first-child) {
    width: calc(var(--mh-source-rem) * .38);
    min-width: calc(var(--mh-source-rem) * .38);
  }

  body[data-detail-type="happy"] .mh-daily-long.happy8 .mh-daily-table .mh-daily-range {
    padding-left: calc(var(--mh-source-rem) * .7);
    text-align: left;
  }

  body[data-detail-type="happy"] .mh-daily-long.happy8 .mh-daily-table.mh-daily-one-period {
    width: 100%;
    min-width: 100%;
  }

  body[data-detail-type="happy"] .mh-daily-long.happy8 .mh-daily-table.mh-daily-one-period col {
    width: 50%;
    min-width: 50%;
  }
}


/* r586: source road/date modal stacking, offset, controls and checked sprite. */
@media (max-width: 1020px) {
  body[data-detail-type="happy"] .mh-overlay {
    z-index: 50;
    box-sizing: border-box;
    padding-bottom: 0;
    background: rgba(0, 0, 0, .7);
  }

  body[data-detail-type="happy"] .mh-date-sheet,
  body[data-detail-type="happy"] .mh-daily-position-sheet,
  body[data-detail-type="happy"] .mh-select-sheet {
    width: 100vw;
    max-width: none;
    margin-bottom: var(--ui-mobile-nav-height);
  }

  body[data-detail-type="happy"] .mh-select-actions {
    grid-template-columns: repeat(4, 25%);
    width: 100%;
  }

  body[data-detail-type="happy"] .mh-select-actions button {
    width: 100%;
  }

  body[data-detail-type="happy"] .mh-daily-position-sheet > header {
    grid-template-columns: 55px minmax(0, 1fr) 55px;
  }

  body[data-detail-type="happy"] .mh-daily-position-sheet > header strong {
    width: auto;
  }

  body[data-detail-type="happy"] .mh-select-sheet > header button,
  body[data-detail-type="happy"] .mh-select-sheet > header button:last-child,
  body[data-detail-type="happy"] .mh-select-sheet > header strong {
    color: #000;
  }

  body[data-detail-type="happy"] .mh-select-sheet.mh-h8-select .mh-check-grid {
    position: relative;
    display: block;
    padding: 0;
  }

  body[data-detail-type="happy"] .mh-select-sheet.mh-h8-select .mh-check-grid button {
    position: absolute;
    width: 30vw;
    border-color: #e4e3e8;
    font: 400 15px/40px "microsoft yahei", "Microsoft YaHei", sans-serif;
  }

  body[data-detail-type="happy"] .mh-select-sheet.mh-h8-select .mh-check-grid button.active {
    border-color: #fb8e19;
  }

  body[data-detail-type="happy"] .mh-select-sheet.mh-h8-select .mh-check-grid button:nth-child(1) { top: 0; left: 0; }
  body[data-detail-type="happy"] .mh-select-sheet.mh-h8-select .mh-check-grid button:nth-child(2) { top: 0; left: 35vw; }
  body[data-detail-type="happy"] .mh-select-sheet.mh-h8-select .mh-check-grid button:nth-child(3) { top: 0; left: 70vw; }
  body[data-detail-type="happy"] .mh-select-sheet.mh-h8-select .mh-check-grid button:nth-child(4) { top: 12.922678vw; left: 0; }
  body[data-detail-type="happy"] .mh-select-sheet.mh-h8-select .mh-check-grid button:nth-child(5) { top: 12.922678vw; left: 34vw; }
  body[data-detail-type="happy"] .mh-select-sheet.mh-h8-select .mh-check-grid button:nth-child(6) { top: 12.922678vw; left: 69vw; }

  body[data-detail-type="happy"] .mh-select-sheet.mh-h8-select .mh-check-grid button.active::after {
    right: 0;
    bottom: -.266667vw;
    display: block;
    width: 5.2vw;
    height: 5.6vw;
    border: 0;
    background-image: url("data:image/png;base64,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");
    background-position: 0 0;
    background-size: 100% 100%;
  }
}


/* 20260826 mobile happy shared date strip exact source spacing: retain the previously proven shared picker and correct only
 * the inline source strip's final shortcut gap and padded date hit target. */
@media (max-width: 1020px) {
  body[data-detail-type="happy"] .mh-datebar > button:nth-child(3) {
    margin-right: calc(var(--mh-source-rem) * .1);
  }

  body[data-detail-type="happy"] .mh-datebar > .mh-date-open {
    width: calc(var(--mh-source-rem) * .921199);
    min-width: calc(var(--mh-source-rem) * .921199);
  }
}


/* 20260826 mobile happy h8 road responsive track geometry r589: keep the source rem-scaled header/table shell across
 * 360/390/430 instead of freezing the road track at its 390px height. */
@media (max-width: 1020px) {
  body[data-detail-type="happy"] .mh-h8-roads > .mh-road-card .mh-road-track {
    height: calc(var(--mh-source-rem) * .85 + 2px);
    min-height: calc(var(--mh-source-rem) * .85 + 2px);
    margin-bottom: calc(var(--mh-source-rem) * .1);
  }

  body[data-detail-type="happy"] .mh-h8-roads > .mh-road-card .mh-road-table {
    height: calc(var(--mh-source-rem) * .85);
    min-height: calc(var(--mh-source-rem) * .85);
  }

  body[data-detail-type="happy"] .mh-h8-roads > .mh-road-card .mh-road-table td {
    padding-top: calc(var(--mh-source-rem) * .05);
    padding-bottom: calc(var(--mh-source-rem) * .08);
  }

  body[data-detail-type="happy"] .mh-h8-roads > .mh-road-card .mh-road-table td b {
    height: calc(var(--mh-source-rem) * .14);
    min-height: calc(var(--mh-source-rem) * .14);
    font-size: calc(var(--mh-source-rem) * .12);
    line-height: calc(var(--mh-source-rem) * .14);
  }
}


/* 20260826-mobile-happy-series-source-parity-r596:
 * one shared three-item footer reserve plus the original 0.4rem gray tail.
 * Page-specific 64px reserves previously stacked with #mobileDetail and body. */
@media (max-width: 1020px) {
  body[data-detail-type="happy"] #mobileDetail {
    padding-bottom: calc(var(--mh-source-rem) * .4) !important;
    background: #efeff4;
  }

  body[data-detail-type="happy"] .mh-content,
  body[data-detail-type="happy"] .mh-page {
    background: #fff;
  }

  body[data-detail-type="happy"] .mh-page {
    padding-bottom: 0 !important;
  }
}


/* 20260826-mobile-happy-series-source-parity-r598:
 * Every Happy8/Bingo road card expands to its current longest source column.
 * Fixed track heights must never clip a continuous run. */
@media (max-width: 1020px) {
  body[data-detail-type="happy"] .mh-h8-road-source-dynamic .mh-road-track {
    height: auto !important;
    min-height: 0 !important;
  }

  body[data-detail-type="happy"] .mh-h8-road-source-dynamic.rank-2 .mh-road-table td b,
  body[data-detail-type="happy"] .mh-h8-road-source-dynamic.rank-3 .mh-road-table td b,
  body[data-detail-type="happy"] .mh-h8-road-source-dynamic.rank-4 .mh-road-table td b {
    margin-bottom: calc(var(--mh-source-rem) * .03);
  }
}


/* 20260826-mobile-happy-series-source-parity-r603:
 * source-measured Happy10 header, shared road-card title geometry, direction rows,
 * number-road 10x2 selector, checked sprite, bead row height, and terminal gray gap. */
@media (max-width: 1020px) {
  body[data-detail-type="happy"] .mh-current.happy10 {
    height: 138.3046875px;
    min-height: 138.3046875px;
  }

  body[data-detail-type="happy"] .mh-roads {
    padding-bottom: 10.3984375px !important;
  }

  body[data-detail-type="happy"] .mh-road-card > header {
    border-bottom: 0;
  }

  body[data-detail-type="happy"] .mh-direction-road > header {
    min-height: 62.3984375px;
  }

  body[data-detail-type="happy"] .mh-number-road-filters {
    box-sizing: border-box;
    display: block;
    width: 100%;
    height: 150.75px;
    min-height: 150.75px;
    padding: 1px 0 0;
    overflow: visible;
    border: 0;
    background: #fff;
  }

  body[data-detail-type="happy"] .mh-number-road-actions {
    position: relative;
    width: 100%;
    height: 41.59375px;
  }

  body[data-detail-type="happy"] .mh-number-road-actions button {
    position: absolute;
    top: 0;
    display: block;
    width: 24.9609375px;
    height: 41.6015625px;
    padding: 0;
    border: 0;
    border-radius: 0;
    color: #909090;
    background: transparent;
    font: 400 12.48px/41.6px "microsoft yahei", "Microsoft YaHei", sans-serif;
  }

  body[data-detail-type="happy"] .mh-number-road-actions button:first-child {
    left: 132.59375px;
  }

  body[data-detail-type="happy"] .mh-number-road-actions button:last-child {
    left: 232.4453125px;
  }

  body[data-detail-type="happy"] .mh-number-road-grid {
    display: grid;
    width: 100%;
    height: 98.796875px;
    grid-template-columns: repeat(10, minmax(0, 1fr));
    grid-auto-rows: 37.4375px;
    row-gap: 10.3984375px;
    align-content: start;
  }

  body[data-detail-type="happy"] .mh-number-road-grid button {
    position: relative;
    box-sizing: border-box;
    width: 31.1953125px;
    height: 37.4375px;
    min-width: 0;
    padding: 0;
    justify-self: center;
    border: 1px solid #fb8e19;
    border-radius: 0;
    color: #fb8e19;
    background: transparent;
    font: 400 12.48px/37.44px "microsoft yahei", "Microsoft YaHei", sans-serif;
  }

  body[data-detail-type="happy"] .mh-number-road-grid button.active {
    color: #fb8e19;
    border-color: #fb8e19;
    background: transparent;
  }

  body[data-detail-type="happy"] .mh-number-road-grid button.active:not([data-ui-choice-check])::after {
    position: absolute;
    right: 0;
    bottom: -1.04px;
    display: block;
    width: 20.2734375px;
    height: 21.8359375px;
    background: transparent url("https://m.1689567.com/img/cltj_img/icon-168index.png?v=202584100") no-repeat 4.68px -21.84px / 346.32px auto;
    content: "";
    pointer-events: none;
  }

  body[data-detail-type="happy"] .mh-number-road-card .mh-road-table td b {
    height: 18.71875px;
    min-height: 18.71875px;
    line-height: 14.56px;
  }
}


/* 20260826-mobile-happy-series-source-parity-r604:
 * contain the original terminal road margin once, then match the source border-box
 * heights for road mode tabs, road toolbars, and the number-road selector root. */
@media (max-width: 1020px) {
  body[data-detail-type="happy"] .mh-roads {
    display: flow-root;
    padding-bottom: 0 !important;
    border-top: 1px solid #efeff4;
    box-sizing: border-box;
  }

  body[data-detail-type="happy"] .mh-mode-tabs {
    height: 47.796875px;
    min-height: 47.796875px;
  }

  body[data-detail-type="happy"] .mh-mode-tabs button {
    height: 46.796875px;
    min-height: 46.796875px;
    line-height: 46.8px;
  }

  body[data-detail-type="happy"] .mh-road-toolbar {
    height: 38.4375px;
    min-height: 38.4375px;
  }

  body[data-detail-type="happy"] .mh-road-toolbar > .mh-filter-open,
  body[data-detail-type="happy"] .mh-road-toolbar > .mh-datebar {
    height: 37.4375px;
    min-height: 37.4375px;
  }

  body[data-detail-type="happy"] .mh-road-toolbar > .mh-filter-open {
    line-height: 37.44px;
  }

  body[data-detail-type="happy"] .mh-number-road-filters {
    height: 149.75px;
    min-height: 149.75px;
    padding-top: 0;
  }
}


/* 20260826-mobile-happy-series-source-parity-r605:
 * reuse the source trend shell: exact toolbar positions/date, fixed left trend
 * table, non-wrapping issue+draw rows, viewport-width total table, and scroll arrows. */
@media (max-width: 1020px) {
  body[data-detail-type="happy"] .mh-trend-modes {
    height: 46.7578125px;
    min-height: 46.7578125px;
  }

  body[data-detail-type="happy"] .mh-trend-modes button {
    height: 46.7578125px;
    min-height: 46.7578125px;
    line-height: normal;
  }

  body[data-detail-type="happy"] .mh-trend-toolbar {
    position: relative;
    display: block;
    width: 100%;
    height: 38.4375px;
    min-height: 38.4375px;
    overflow: visible;
  }

  body[data-detail-type="happy"] .mh-trend-toolbar button {
    position: absolute;
    top: 0;
    min-width: 0;
    height: 37.4375px;
    padding: 0;
    border: 0;
    color: #000;
    background: transparent;
    font: 400 12.48px/37.44px "microsoft yahei", "Microsoft YaHei", sans-serif;
  }

  body[data-detail-type="happy"] .mh-trend-toolbar button:nth-child(1) {
    left: 0;
    width: 70.71875px;
    color: #fb8e19;
  }

  body[data-detail-type="happy"] .mh-trend-toolbar button:nth-child(2) {
    left: 113.25px;
    width: 24.9609375px;
  }

  body[data-detail-type="happy"] .mh-trend-toolbar button:nth-child(3) {
    left: 152.765625px;
    width: 24.9609375px;
  }

  body[data-detail-type="happy"] .mh-trend-toolbar button:nth-child(4) {
    left: 192.28125px;
    width: 24.9609375px;
  }

  body[data-detail-type="happy"] .mh-trend-toolbar button:nth-child(5) {
    left: 283.796875px;
    width: 95.8046875px;
  }

  body[data-detail-type="happy"] .mh-trend-toolbar button:nth-child(6) {
    left: 227.640625px;
    width: 45.7578125px;
  }

  body[data-detail-type="happy"] .mh-trend-toolbar button.active {
    color: #fb8e19;
  }

  body[data-detail-type="happy"] .mh-trend-toolbar .mh-trend-date {
    color: #000;
  }

  body[data-detail-type="happy"] .mh-split-fixed .mh-position-trend td {
    white-space: nowrap;
  }

  body[data-detail-type="happy"] .mh-split-fixed .mh-position-trend thead th,
  body[data-detail-type="happy"] .mh-split-fixed .mh-position-trend .stats-head td {
    height: 63.4375px;
  }

  body[data-detail-type="happy"] .mh-total-trend {
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    table-layout: fixed;
  }

  body[data-detail-type="happy"] .mh-trend-more {
    box-sizing: border-box;
    width: 100%;
    height: 51.9921875px;
    padding-top: 10.3984375px;
    background: #f0eff5;
    text-align: center;
  }

  body[data-detail-type="happy"] .mh-trend-more button {
    display: inline-block;
    width: 124.796875px;
    height: 41.59375px;
    padding: 0;
    border: 0;
    border-radius: 3.12px;
    color: #000;
    background: #ccc;
    font: 400 16.64px/41.6px "microsoft yahei", "Microsoft YaHei", sans-serif;
  }

  body[data-detail-type="happy"] .mh-trend-more button[hidden] {
    display: none;
  }
}


/* 20260826-mobile-happy-series-source-parity-r606:
 * trend pages retain the source 1px root line; the reusable number-distribution
 * split uses the measured 0.9rem fixed issue rail instead of the old 23vw guess. */
@media (max-width: 1020px) {
  body[data-detail-type="happy"] .mh-trend {
    box-sizing: border-box;
    border-top: 1px solid #efeff4;
  }

  body[data-detail-type="happy"] .mh-trend .mh-split-table:has(.mh-number-trend) {
    grid-template-columns: 93.59375px 296.40625px;
  }

  body[data-detail-type="happy"] .mh-trend .mh-split-table:has(.mh-number-trend) .mh-split-fixed,
  body[data-detail-type="happy"] .mh-split-fixed .mh-number-trend {
    width: 93.59375px;
    min-width: 93.59375px;
  }

  body[data-detail-type="happy"] .mh-trend .mh-split-table:has(.mh-number-trend) .mh-split-scroll {
    width: 296.40625px;
  }
}


/* 20260826-mobile-happy-series-source-parity-r607:
 * keep the trend toolbar border inside its measured 0.37rem box and lock the
 * source total-trend column geometry instead of letting table min-content drift. */
@media (max-width: 1020px) {
  body[data-detail-type="happy"] .mh-trend-toolbar {
    box-sizing: border-box;
  }

  body[data-detail-type="happy"] .mh-total-trend thead tr:first-child > :nth-child(1) { width: 74.109375px; }
  body[data-detail-type="happy"] .mh-total-trend thead tr:first-child > :nth-child(2) { width: 128.7109375px; }
  body[data-detail-type="happy"] .mh-total-trend thead tr:first-child > :nth-child(3) { width: 19.4921875px; }
  body[data-detail-type="happy"] .mh-total-trend thead tr:first-child > :nth-child(4) { width: 23.015625px; }
  body[data-detail-type="happy"] .mh-total-trend thead tr:first-child > :nth-child(5) { width: 22.3515625px; }
  body[data-detail-type="happy"] .mh-total-trend thead tr:first-child > :nth-child(6) { width: 20.53125px; }
  body[data-detail-type="happy"] .mh-total-trend thead tr:first-child > :nth-child(7) { width: 22.3515625px; }
  body[data-detail-type="happy"] .mh-total-trend thead tr:first-child > :nth-child(8) { width: 22.3515625px; }
  body[data-detail-type="happy"] .mh-total-trend thead tr:first-child > :nth-child(9) { width: 23.015625px; }
  body[data-detail-type="happy"] .mh-total-trend thead tr:first-child > :nth-child(10) { width: 23.0703125px; }
}


/* 20260826-mobile-happy-series-source-parity-r608:
 * the shared split-table clone owns one fixed cell, not the original colspan.
 * Lock both position-trend rails to the source table widths after collapsing it. */
@media (max-width: 1020px) {
  body[data-detail-type="happy"] .mh-split-fixed .mh-position-trend {
    width: 170.8125px;
    min-width: 170.8125px;
    max-width: 170.8125px;
    table-layout: fixed;
  }

  body[data-detail-type="happy"] .mh-split-scroll .mh-position-trend {
    width: 516.125px;
    min-width: 516.125px;
    max-width: 516.125px;
    table-layout: fixed;
  }
}


/* 20260826-mobile-happy-series-source-parity-r609:
 * ratio labels stay on one source row; statistics use the source 0.3rem rows.
 * The original parity-ratio rail is narrower than the size-ratio rail. */
@media (max-width: 1020px) {
  body[data-detail-type="happy"] .mh-ratio-trend tbody tr:not(.stats) td {
    height: 8.513621795vw;
  }

  body[data-detail-type="happy"] .mh-ratio-trend .stats td {
    height: 31.203125px;
    line-height: 31.2px;
  }

  body[data-detail-type="happy"] [data-mobile-happy-page="单双走势"] .mh-ratio-trend {
    width: 403.7421875px;
    min-width: 403.7421875px;
    max-width: 403.7421875px;
  }
}


/* 20260826-mobile-happy-series-source-parity-r611:
 * parity-ratio uses its measured narrower fixed rail; auto min-content otherwise
 * adds 5px back despite the source width contract. */
@media (max-width: 1020px) {
  body[data-detail-type="happy"] [data-mobile-happy-page="单双走势"] .mh-ratio-trend {
    table-layout: fixed;
  }
}


/* 20260826-mobile-happy-series-source-parity-r612:
 * The source ratio table is auto-sized from inline-table issue/number spans.
 * Normal position trends also retain the source float-flow tail geometry. */
@media (max-width: 1020px) {
  body[data-detail-type="happy"] .mh-ratio-trend .mh-ratio-issue,
  body[data-detail-type="happy"] .mh-ratio-trend .mh-ratio-draw {
    display: inline-table;
  }

  body[data-detail-type="happy"] [data-mobile-happy-page="单双走势"] .mh-ratio-trend {
    width: 100%;
    min-width: 100%;
    max-width: none;
    table-layout: auto;
    white-space: nowrap;
  }

  body[data-detail-type="happy"] [data-mobile-happy-page="单双走势"] .mh-ratio-trend thead tr:first-child > :first-child,
  body[data-detail-type="happy"] [data-mobile-happy-page="单双走势"] .mh-ratio-trend tbody tr:not(.stats) > :first-child {
    width: 41.59375px;
    min-width: 41.59375px;
  }

  body[data-detail-type="happy"] [data-mobile-happy-page="单双走势"] .mh-ratio-trend thead tr:first-child > :nth-child(2),
  body[data-detail-type="happy"] [data-mobile-happy-page="单双走势"] .mh-ratio-trend tbody tr:not(.stats) > :nth-child(2) {
    width: auto;
    min-width: 0;
  }

  body[data-detail-type="happy"] [data-mobile-happy-page="大小走势"]:has(.mh-position-trend),
  body[data-detail-type="happy"] [data-mobile-happy-page="单双走势"]:has(.mh-position-trend) {
    padding-bottom: 13.515625px;
  }

  body[data-detail-type="happy"] [data-mobile-happy-page="大小走势"]:has(.mh-position-trend) .mh-trend-more,
  body[data-detail-type="happy"] [data-mobile-happy-page="单双走势"]:has(.mh-position-trend) .mh-trend-more {
    margin-top: -3.1796875px;
  }
}


/* 20260826-mobile-happy-series-source-parity-r613:
 * The source total trend is an auto-layout content-box table with a real tfoot.
 * Preserve its three hit-color families instead of the generic trend palette. */
@media (max-width: 1020px) {
  body[data-detail-type="happy"] .mh-total-trend {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    table-layout: auto;
  }

  body[data-detail-type="happy"] .mh-total-trend th,
  body[data-detail-type="happy"] .mh-total-trend td {
    box-sizing: content-box;
    min-width: 0;
    padding: 0;
  }

  body[data-detail-type="happy"] .mh-total-trend thead tr:first-child > :nth-child(1) {
    width: 19% !important;
    min-width: 0;
  }

  body[data-detail-type="happy"] .mh-total-trend thead tr:first-child > :nth-child(2) {
    width: 33% !important;
    min-width: 0;
  }

  body[data-detail-type="happy"] .mh-total-trend thead tr:first-child > :nth-child(n + 3),
  body[data-detail-type="happy"] .mh-total-trend tfoot .pldke .jibenend {
    width: 5% !important;
    min-width: 0;
    padding: 0 1%;
  }

  body[data-detail-type="happy"] .mh-total-trend tbody td,
  body[data-detail-type="happy"] .mh-total-trend tfoot td {
    width: auto !important;
    min-width: 0 !important;
  }

  body[data-detail-type="happy"] .mh-total-trend tbody .tabred {
    font-size: 11.44px;
  }

  body[data-detail-type="happy"] .mh-total-trend tbody td.hot span {
    display: inline-block;
    width: 16.6328125px;
    height: 16.6328125px;
    border-radius: 50%;
    color: #fff;
    background: #66cdaa;
    line-height: 16.6328125px;
  }

  body[data-detail-type="happy"] .mh-total-trend tbody td.hot.zese span {
    background: #6a5acd;
  }

  body[data-detail-type="happy"] .mh-total-trend tbody td.hot.fense span {
    background: #cd69c9;
  }

  body[data-detail-type="happy"] .mh-total-trend tfoot .pldke {
    height: 68.640625px;
    background: #f0f0f0;
  }

  body[data-detail-type="happy"] .mh-total-trend tfoot .pldke th {
    height: 68.640625px;
    color: #403f3f;
    background: transparent;
    font-size: 12.48px;
    font-weight: 400;
    line-height: 34.32px;
  }

  body[data-detail-type="happy"] .mh-total-trend tfoot tr:not(.pldke),
  body[data-detail-type="happy"] .mh-total-trend tfoot tr:not(.pldke) td {
    height: 31.1953125px;
    color: #999;
    background: #fff;
    line-height: normal;
  }
}


/* 20260826-mobile-happy-series-source-parity-r614:
 * remove the generic minimum/spacing that over-sized source-specific Happy10
 * containers; retain the proven table/data implementations beneath them. */
@media (max-width: 1020px) {
  body[data-detail-type="happy"] [data-mobile-happy-page="大小走势"]:has(.mh-position-trend),
  body[data-detail-type="happy"] [data-mobile-happy-page="单双走势"]:has(.mh-position-trend) {
    padding-bottom: 13.515625px !important;
  }

  body[data-detail-type="happy"] [data-mobile-happy-page="长龙提醒"] {
    min-height: 0 !important;
    border-top: 1px solid #efeff4;
  }

  body[data-detail-type="happy"] [data-mobile-happy-page="长龙提醒"] > ul {
    padding-bottom: 10.3984375px;
  }

  body[data-detail-type="happy"] [data-mobile-happy-page="双面统计"] {
    border-top: 1px solid #efeff4;
    padding-bottom: 10.3984375px;
  }

  body[data-detail-type="happy"] [data-mobile-happy-page="两面统计"] > .mh-table-scroll {
    margin-top: 0 !important;
  }

  body[data-detail-type="happy"] [data-mobile-happy-page="每日长龙统计"] .mh-daily-mode-tabs {
    height: 53px;
    min-height: 53px;
  }

  body[data-detail-type="happy"] [data-mobile-happy-page="单双大小历史"] .mh-history-modes {
    height: 46.7578125px;
    min-height: 46.7578125px;
    margin-bottom: 0;
  }
}


/* 20260826-mobile-happy-series-source-parity-r615:
 * close the remaining measured Happy10 sub-pixel gaps: preserve source border
 * ownership, content-box daily tabs, tbody line flow, and the 47.796875px road mode. */
@media (max-width: 1020px) {
  body[data-detail-type="happy"] [data-mobile-happy-page="双面统计"] {
    padding-bottom: 10.3984375px !important;
  }

  body[data-detail-type="happy"] [data-mobile-happy-page="每日长龙统计"] .mh-daily-mode-tabs {
    box-sizing: border-box;
  }

  body[data-detail-type="happy"] [data-mobile-happy-page="每日长龙统计"].happy10 .mh-daily-table {
    width: 652.4140625px;
    min-width: 0;
    table-layout: auto;
  }

  body[data-detail-type="happy"] [data-mobile-happy-page="今日号码统计"],
  body[data-detail-type="happy"] [data-mobile-happy-page="历史号码统计"] {
    border-top: 1px solid #efeff4;
  }

  body[data-detail-type="happy"] [data-mobile-happy-page="历史号码统计"] .mh-history-stats-table.number-mode tbody tr,
  body[data-detail-type="happy"] [data-mobile-happy-page="历史号码统计"] .mh-history-stats-table.number-mode tbody td {
    height: 31.1953125px;
    line-height: normal;
  }

  body[data-detail-type="happy"] [data-mobile-happy-page="路珠分析"] > .mh-mode-tabs {
    height: 47.796875px;
    min-height: 47.796875px;
  }
}


/* 20260826-mobile-happy-series-source-parity-r616:
 * reproduce the source road-toolbar hit rectangles and finish the daily/history
 * corrections without changing any lottery formulas or trusted data windows. */
@media (max-width: 1020px) {
  body[data-detail-type="happy"] [data-mobile-happy-page="双面统计"] {
    padding-bottom: 0 !important;
  }

  body[data-detail-type="happy"] [data-mobile-happy-page="每日长龙统计"] .mh-daily-mode-tabs {
    box-sizing: content-box;
    height: 32.203125px;
    min-height: 32.203125px;
  }

  body[data-detail-type="happy"] [data-mobile-happy-page="每日长龙统计"].happy10 .mh-daily-table {
    width: 652.3984375px;
    min-width: 652.3984375px;
    table-layout: fixed;
  }

  body[data-detail-type="happy"] [data-mobile-happy-page="历史号码统计"] .mh-split-fixed .mh-history-stats-table.number-mode tbody tr,
  body[data-detail-type="happy"] [data-mobile-happy-page="历史号码统计"] .mh-split-fixed .mh-history-stats-table.number-mode tbody td {
    height: 31.203125px;
    line-height: 31.2px;
  }

  body[data-detail-type="happy"] .mh-roads > .mh-road-toolbar {
    position: relative;
    display: block;
  }

  body[data-detail-type="happy"] .mh-roads > .mh-road-toolbar > .mh-datebar {
    position: absolute;
    top: 0;
    right: 0;
    box-sizing: border-box;
    flex: 0 0 calc(var(--mh-source-rem) * 2.12109375);
    width: calc(var(--mh-source-rem) * 2.12109375);
  }

  body[data-detail-type="happy"] .mh-roads > .mh-road-toolbar > .mh-filter-open {
    position: absolute;
    top: 0;
    box-sizing: border-box;
    width: calc(var(--mh-source-rem) * .68);
    margin: 0;
    padding: 0 calc(var(--mh-source-rem) * .2) 0 0;
    color: #fb8e19;
    background: transparent;
    text-align: left;
  }

  body[data-detail-type="happy"] .mh-roads > .mh-road-toolbar > .mh-filter-open:first-child {
    left: 0;
  }

  body[data-detail-type="happy"] [data-mobile-happy-page="单双大小路珠"] > .mh-road-toolbar > .mh-filter-open:nth-child(2) {
    left: calc(var(--mh-source-rem) * .68);
    width: calc(var(--mh-source-rem) * .44);
    color: #000;
  }

  body[data-detail-type="happy"] [data-mobile-happy-page="路珠分析"] > .mh-mode-tabs {
    display: flex;
    box-sizing: content-box;
    height: 46.796875px;
    min-height: 46.796875px;
    border-bottom: 1px solid #d2d2d2;
  }

  body[data-detail-type="happy"] [data-mobile-happy-page="路珠分析"] > .mh-mode-tabs button {
    box-sizing: border-box;
    flex: 1 1 0;
    min-width: 0;
    height: 46.796875px;
    min-height: 46.796875px;
    padding: 0;
    border: 0;
    color: #000;
    border-right: 1px solid #fff;
    border-radius: 0;
    background: #f5f5f5;
  }

  body[data-detail-type="happy"] [data-mobile-happy-page="路珠分析"] > .mh-mode-tabs button:last-child {
    border-right: 0;
  }

  body[data-detail-type="happy"] [data-mobile-happy-page="路珠分析"] > .mh-mode-tabs button.active {
    color: #fff;
    border-radius: 0;
    background: #50515f;
  }

  body[data-detail-type="happy"] [data-mobile-happy-page="路珠分析"] > .mh-road-toolbar > .mh-filter-open:first-child {
    left: calc(var(--mh-source-rem) * .1);
  }

  body[data-detail-type="happy"] [data-mobile-happy-page="路珠分析"] > .mh-road-toolbar > .mh-filter-open:nth-child(2) {
    left: calc(var(--mh-source-rem) * .88);
  }
}


/* 20260826-mobile-happy-series-source-parity-r617:
 * reuse the measured source date-strip geometry on the two standard history
 * surfaces, top-align the shared position pills, and close the daily header
 * sub-pixel width without changing any page data or interaction semantics. */
@media (max-width: 1020px) {
  body[data-detail-type="happy"] .mh-twoface-position-shell .mh-position-tabs {
    align-items: flex-start;
  }

  body[data-detail-type="happy"] [data-mobile-happy-page="每日长龙统计"].happy10 .mh-daily-table thead tr:first-child > th:nth-child(2) {
    width: calc(var(--mh-source-rem) * 5.444410456730769);
    min-width: calc(var(--mh-source-rem) * 5.444410456730769);
    max-width: calc(var(--mh-source-rem) * 5.444410456730769);
  }

  body[data-detail-type="happy"] [data-mobile-happy-page="开奖号码"] > .mh-datebar,
  body[data-detail-type="happy"] [data-mobile-happy-page="号码分布"] > .mh-datebar {
    position: relative;
    display: block;
    box-sizing: border-box;
    height: calc(var(--mh-source-rem) * .36 + 1px);
    padding: 0;
  }

  body[data-detail-type="happy"] [data-mobile-happy-page="开奖号码"] > .mh-datebar > button,
  body[data-detail-type="happy"] [data-mobile-happy-page="号码分布"] > .mh-datebar > button {
    position: absolute;
    top: 0;
    box-sizing: border-box;
    height: calc(var(--mh-source-rem) * .36);
    margin: 0;
    padding: 0;
    line-height: calc(var(--mh-source-rem) * .36);
  }

  body[data-detail-type="happy"] [data-mobile-happy-page="开奖号码"] > .mh-datebar > button:nth-child(1),
  body[data-detail-type="happy"] [data-mobile-happy-page="号码分布"] > .mh-datebar > button:nth-child(1) {
    left: calc(var(--mh-source-rem) * 1.638972355769231);
    width: calc(var(--mh-source-rem) * .240009014423077);
  }

  body[data-detail-type="happy"] [data-mobile-happy-page="开奖号码"] > .mh-datebar > button:nth-child(2),
  body[data-detail-type="happy"] [data-mobile-happy-page="号码分布"] > .mh-datebar > button:nth-child(2) {
    left: calc(var(--mh-source-rem) * 2.018930288461538);
    width: calc(var(--mh-source-rem) * .240009014423077);
  }

  body[data-detail-type="happy"] [data-mobile-happy-page="开奖号码"] > .mh-datebar > button:nth-child(3),
  body[data-detail-type="happy"] [data-mobile-happy-page="号码分布"] > .mh-datebar > button:nth-child(3) {
    left: calc(var(--mh-source-rem) * 2.398888221153846);
    width: calc(var(--mh-source-rem) * .240009014423077);
  }

  body[data-detail-type="happy"] [data-mobile-happy-page="开奖号码"] > .mh-datebar > .mh-date-open,
  body[data-detail-type="happy"] [data-mobile-happy-page="号码分布"] > .mh-datebar > .mh-date-open {
    left: calc(var(--mh-source-rem) * 2.778846153846154);
    width: calc(var(--mh-source-rem) * .871168870192308);
    min-width: calc(var(--mh-source-rem) * .871168870192308);
    padding-right: calc(var(--mh-source-rem) * .15);
    justify-content: space-between;
  }
}


/* 20260826-mobile-happy-series-source-parity-r618:
 * the Taiwan Bingo source uses the full two-character sort labels inside the
 * measured 44px pills; generic button padding must not clip them. */
@media (max-width: 1020px) {
  body[data-detail-type="happy"] .mh-header-sort button {
    padding-right: 0;
    padding-left: 0;
  }
}


/* source-parity-r623/r647: match the source single-line -webkit-box track.
 * The box removes template whitespace while nowrap plus the inner scroller keeps
 * all 21 source items on one reachable row. */
body[data-detail-type="happy"] .mh-pages:not(.mh-pages-direct) > div {
  display: -webkit-box;
  white-space: nowrap;
  overflow-x: scroll;
  overflow-y: hidden;
}


/* 20260826-mobile-happy-series-source-parity-r636:
 * Keep the Happy8 road filter at the source left edge and anchor the shared
 * date strip to the source-measured right edge without overlap. */
@media (max-width: 1020px) {
  body[data-detail-type="happy"] [data-mobile-happy-page="路珠分析"].mh-h8-roads > .mh-road-toolbar {
    box-sizing: content-box;
    height: 37.4375px;
    min-height: 0;
  }

  body[data-detail-type="happy"] [data-mobile-happy-page="路珠分析"].mh-h8-roads > .mh-road-toolbar > .mh-datebar {
    right: 0;
    left: auto;
  }

  body[data-detail-type="happy"] [data-mobile-happy-page="路珠分析"].mh-h8-roads > .mh-road-toolbar > .mh-filter-open:first-child {
    left: 0;
    white-space: nowrap;
  }
}


/* 20260826-mobile-happy-series-source-parity-r637:
 * Multi-character Happy8 road values fill the source 43.68px content box;
 * one-character tracks retain the shared 29.5px bead primitive. */
@media (max-width: 1020px) {
  body[data-detail-type="happy"] .mh-h8-road-source-dynamic.rank-2 .mh-road-table td b,
  body[data-detail-type="happy"] .mh-h8-road-source-dynamic.rank-3 .mh-road-table td b,
  body[data-detail-type="happy"] .mh-h8-road-source-dynamic.rank-4 .mh-road-table td b {
    width: 100%;
  }
}


/* 20260826-mobile-happy-series-source-parity-r641:
 * Happy10 source renders the full current issue token in 16.64px #333 with no
 * gap before 开奖. Keep the Happy8/Bingo profile untouched. */
@media (max-width: 1020px) {
  body[data-detail-type="happy"] .mh-current.happy10 .mh-current-issue,
  body[data-detail-type="happy"] .mh-current.happy10 .mh-current-issue strong {
    color: #333;
    font-size: 16.64px;
    line-height: normal;
  }

  body[data-detail-type="happy"] .mh-current.happy10 .mh-current-issue strong {
    margin-right: 0;
  }
}


/* 20260827-mobile-happy-series-longest-run-r649:
 * Product excludes video for every mobile lottery. Reassign the removed video
 * column to the countdown track. Happy8/Bingo roads must be tall enough for the
 * current longest continuous column, and Taiwan Bingo's sum line stays source gray. */
@media (max-width: 1020px) {
  body[data-detail-type="happy"] .mh-current .detail-progress-line {
    grid-template-columns: 108.6796875px minmax(0, 1fr) 43.1796875px;
  }

  body[data-detail-type="happy"] .mh-current .detail-progress-line::after {
    display: none !important;
    flex: 0 0 0 !important;
    width: 0 !important;
    height: 0 !important;
    content: none !important;
  }

  body[data-detail-type="happy"] #mobileDetail[data-lot-code="10047"] .mh-current.happy8 .mh-current-summary strong {
    color: #666;
    font-size: calc(var(--mh-source-rem) * .12);
    font-weight: 400;
    line-height: calc(var(--mh-source-rem) * .25);
  }
}


/* 20260827-mobile-happy-series-full-interaction-r653:
 * Restore source-measured page bottoms after the shared no-padding shell,
 * preserve Happy8 table dividers, and represent trusted Taiwan empty data
 * without generic cards or collapsed content. */
@media (max-width: 1020px) {
  body[data-detail-type="happy"] .mh-page.mh-stat-cards {
    padding-bottom: 10.3984375px !important;
  }

  body[data-detail-type="happy"] .mh-page.mh-stat-cards > .mh-stat-card:last-child {
    margin-bottom: 0 !important;
  }

  body[data-detail-type="happy"] .mh-daily-long.happy8 {
    border-top-color: #d2d2d2;
    border-bottom: 1px solid #dbdbdb;
  }

  body[data-detail-type="happy"] #mobileDetail[data-lot-code="10047"] .mh-opening-table > .mh-empty {
    height: calc(var(--mh-source-rem) * 2.25);
    min-height: calc(var(--mh-source-rem) * 2.25);
  }

  body[data-detail-type="happy"] #mobileDetail[data-lot-code="10047"] .mh-h8-roads.is-confirmed-empty {
    min-height: calc(var(--mh-source-rem) * 2.14 + 1px);
    overflow: hidden;
  }
}


/* 20260827-mobile-happy-series-responsive-flow-r655:
 * Taiwan Bingo's 21-ball history uses the source wrapper's content-driven
 * height. Remove the generic double divider and preserve the source line-box
 * remainder at all three acceptance widths. */
@media (max-width: 1020px) {
  body[data-detail-type="happy"] #mobileDetail[data-lot-code="10047"] .mh-opening.happy8 .mh-opening-row:has(.mh-ball:nth-child(21)) {
    height: auto !important;
    min-height: 0 !important;
    border-bottom: 0 !important;
  }

  body[data-detail-type="happy"] #mobileDetail[data-lot-code="10047"] .mh-opening.happy8 .mh-opening-row:has(.mh-ball:nth-child(21)) .mh-balls.history.happy8 {
    margin-bottom: calc(2.5859375px + (100vw - 390px) * .0064453125) !important;
  }
}

@media (max-width: 370px) {
  body[data-detail-type="happy"] #mobileDetail[data-lot-code="10047"] .mh-opening.happy8 .mh-opening-row:has(.mh-ball:nth-child(21)) .mh-balls.history.happy8 {
    margin-bottom: 1.8828125px !important;
  }

  body[data-detail-type="happy"] .mh-opening.happy10 .mh-opening-head::after,
  body[data-detail-type="happy"] .mh-opening.happy8 .mh-opening-head::after {
    height: 1.5px;
  }

  body[data-detail-type="happy"] .mh-opening.happy10 .mh-opening-head + .mh-opening-row,
  body[data-detail-type="happy"] .mh-opening.happy8 .mh-opening-head + .mh-opening-row {
    margin-top: 1.5px;
  }
}

@media (min-width: 391px) and (max-width: 1020px) {
  body[data-detail-type="happy"] #mobileDetail[data-lot-code="10047"] .mh-opening.happy8 .mh-opening-head {
    height: calc(45.7578125px + (100vw - 390px) * .1173828125);
    min-height: calc(45.7578125px + (100vw - 390px) * .1173828125);
  }
}

/* r663: Australia Lucky 20's 21-ball rows use the source content-driven
 * provider wrapper instead of a fixed proportional row height. */
@media (max-width: 1020px) {
  body[data-detail-type="happy"] #mobileDetail[data-lot-code="10013"] .mh-opening.happy8 .mh-opening-row:has(.mh-ball:nth-child(21)) {
    height: auto !important;
    min-height: 0 !important;
    border-top-width: calc(var(--mh-source-rem) * .01) !important;
    border-bottom: 0 !important;
  }

  body[data-detail-type="happy"] #mobileDetail[data-lot-code="10013"] .mh-opening.happy8 .mh-opening-row:has(.mh-ball:nth-child(21)) .mh-balls.history.happy8 {
    margin-bottom: calc(2.5859375px + (100vw - 390px) * .0064453125) !important;
  }
}

@media (max-width: 390px) {
  body[data-detail-type="happy"] #mobileDetail[data-lot-code="10013"] .mh-opening.happy8 .mh-opening-row:has(.mh-ball:nth-child(21)) .mh-balls.history.happy8 {
    margin-bottom: calc(2.5859375px + (100vw - 390px) * .006770833333333333) !important;
  }
}


/* 20260827-mobile-happy-series-visual-source-parity-r664:
 * Reopen screenshot acceptance against the live mobile source. Keep Happy10
 * draw balls compact, reclaim the removed video width for countdown, retain
 * source table dividers, use source road/position colors, render local check
 * and arrow primitives without hotlink dependence, and redraw trend lines
 * across responsive widths. */
@media (max-width: 1020px) {
  body[data-detail-type="happy"] .mh-current.happy10 .mh-balls.current.happy10 {
    justify-content: start !important;
    column-gap: 12.0625px !important;
    row-gap: 0 !important;
  }

  body[data-detail-type="happy"] .mh-current.happy10 .mh-balls.current.happy10 .mh-ball.h10 {
    font-size: 17.68px !important;
    line-height: 26px !important;
  }

  body[data-detail-type="happy"] .mh-current.happy10 .mh-current-summary,
  body[data-detail-type="happy"] .mh-current.happy10 .mh-current-summary strong,
  body[data-detail-type="happy"] .mh-current.happy10 .mh-current-dragons b {
    color: #666 !important;
    font-weight: 400 !important;
  }

  body[data-detail-type="happy"] .mh-current.happy10 .mh-current-dragons {
    gap: 10.3984375px !important;
  }

  body[data-detail-type="happy"] .mh-current .detail-progress-line {
    display: grid !important;
    grid-template-columns: 108.09375px minmax(0, 1fr) 46.078125px !important;
    column-gap: 0 !important;
    align-items: center !important;
  }

  body[data-detail-type="happy"] .mh-current .detail-progress-line > * {
    flex: none !important;
    width: auto;
    min-width: 0;
  }

  body[data-detail-type="happy"] .mh-current .detail-progress-line > span {
    white-space: nowrap;
  }

  body[data-detail-type="happy"] .mh-current .detail-progress-line > b {
    width: 100%;
  }

  body[data-detail-type="happy"] .mh-current .detail-progress-line > strong {
    text-align: right;
  }

  body[data-detail-type="happy"] .mh-stat-cards .mh-stat-card .mh-table {
    table-layout: fixed !important;
  }

  body[data-detail-type="happy"] .mh-stat-cards .mh-stat-card .mh-table th,
  body[data-detail-type="happy"] .mh-stat-cards .mh-stat-card .mh-table td {
    border-right: 1px solid #e6e6e6 !important;
  }

  body[data-detail-type="happy"] .mh-stat-cards .mh-stat-card .mh-table tbody td {
    border-top: 1px solid #e6e6e6 !important;
  }

  body[data-detail-type="happy"] .mh-stat-cards .mh-stat-card .mh-table tr > :nth-child(-n + 5) {
    width: 17.08917058% !important;
  }

  body[data-detail-type="happy"] .mh-stat-cards .mh-stat-card .mh-table tr > :last-child {
    width: 14.5541471% !important;
    border-right: 0 !important;
  }

  body[data-detail-type="happy"] .mh-road-card .mh-road-table b {
    color: #989898 !important;
    font-weight: 400 !important;
  }

  body[data-detail-type="happy"] .mh-road-card .mh-road-table b.red {
    color: #ff0000 !important;
  }

  /* visual-source-parity-r677: keep number-road hits red after the shared road text rule */
  body[data-detail-type="happy"] .mh-number-road-card .mh-road-table b[style*="color:#ff0000"] {
    color: #ff0000 !important;
  }

  body[data-detail-type="happy"] .mh-road-card .mh-road-table td:first-child b:first-child {
    font-weight: 700 !important;
  }

  body[data-detail-type="happy"] .mh-road-toolbar .mh-filter-open {
    position: relative;
  }

  body[data-detail-type="happy"] .mh-road-toolbar .mh-filter-open::after {
    position: absolute;
    top: 7.28px;
    right: -6.24px;
    display: block;
    width: 20.796875px;
    height: 20.796875px;
    margin: 0;
    background: transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M4.5 7l5.5 5.5L15.5 7' fill='none' stroke='%23ccc' stroke-width='1.4'/%3E%3C/svg%3E") center / 20.796875px 20.796875px no-repeat;
    color: transparent;
    content: "";
    pointer-events: none;
  }

  body[data-detail-type="happy"] .mh-number-road-grid button.active:not([data-ui-choice-check])::before {
    position: absolute;
    right: -1px;
    bottom: -1.04px;
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 0 20.796875px 20.2734375px;
    border-color: transparent transparent #fb8e19 transparent;
    content: "";
    pointer-events: none;
  }

  body[data-detail-type="happy"] .mh-number-road-grid button.active:not([data-ui-choice-check])::after {
    position: absolute;
    right: 0;
    bottom: -1.04px;
    display: block;
    width: 12px;
    height: 13px;
    border: 0;
    background: none !important;
    color: #fff;
    content: "✓";
    font: 700 9px/13px Arial, sans-serif;
    text-align: center;
    pointer-events: none;
  }

  body[data-detail-type="happy"] .mh-scroll-hint {
    color: #fa962f !important;
    font: inherit;
  }

  body[data-detail-type="happy"] .mh-trend-toolbar button {
    color: #000 !important;
  }

  body[data-detail-type="happy"] .mh-trend-toolbar button:first-child,
  body[data-detail-type="happy"] .mh-trend-toolbar button.active {
    color: #fb8e19 !important;
  }

  body[data-detail-type="happy"] .mh-trend-toolbar .mh-trend-date,
  body[data-detail-type="happy"] .mh-trend-toolbar button:last-child {
    color: #000 !important;
  }

  body[data-detail-type="happy"] .mh-trend-toolbar button:first-child,
  body[data-detail-type="happy"] .mh-trend-toolbar button:last-child {
    position: relative;
  }

  body[data-detail-type="happy"] .mh-trend-toolbar button:first-child::after,
  body[data-detail-type="happy"] .mh-trend-toolbar button:last-child::after {
    position: absolute;
    top: 7.28px;
    right: 0;
    display: block;
    width: 20.796875px;
    height: 20.796875px;
    margin: 0;
    background: transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M4.5 7l5.5 5.5L15.5 7' fill='none' stroke='%23ccc' stroke-width='1.4'/%3E%3C/svg%3E") center / 20.796875px 20.796875px no-repeat;
    color: transparent;
    content: "";
    pointer-events: none;
  }

  body[data-detail-type="happy"] .mh-position-trend tbody tr:not(.stats) td:nth-child(6n + 3).trend-hit b,
  body[data-detail-type="happy"] .mh-position-trend tbody tr:not(.stats) td:nth-child(6n + 4).trend-hit b {
    background: #fb8e19 !important;
  }

  body[data-detail-type="happy"] .mh-position-trend tbody tr:not(.stats) td:nth-child(6n + 5).trend-hit b,
  body[data-detail-type="happy"] .mh-position-trend tbody tr:not(.stats) td:nth-child(6n + 6).trend-hit b {
    background: #3cb0ec !important;
  }

  body[data-detail-type="happy"] .mh-position-trend tbody tr:not(.stats) td:nth-child(6n + 7).trend-hit b,
  body[data-detail-type="happy"] .mh-position-trend tbody tr:not(.stats) td:nth-child(6n + 8).trend-hit b {
    background: #08bf02 !important;
  }

  body[data-detail-type="happy"] .mh-trend .mh-table-scroll {
    position: relative;
  }

  body[data-detail-type="happy"] .mh-trend-line-layer {
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    display: block;
    overflow: visible;
    pointer-events: none;
  }

  body[data-detail-type="happy"] .mh-trend-table td.hot > span,
  body[data-detail-type="happy"] .mh-trend-table td.trend-hit > b {
    position: relative;
    z-index: 2;
  }
}


/* 20260827-mobile-happy-series-final-geometry-parity-r665:
 * F12 follow-up after r664: restore exact current-summary spacing and colors,
 * keep source-natural double-stat columns, preserve the absolutely positioned
 * trend toolbar, and bold the latest value at the end of the newest road run. */
@media (max-width: 1020px) {
  body[data-detail-type="happy"] .mh-current .mh-current-status {
    margin-left: 4px !important;
  }

  body[data-detail-type="happy"] .mh-current.happy10 .mh-current-summary {
    gap: 10.3984375px !important;
  }

  body[data-detail-type="happy"] .mh-current.happy10 .mh-current-summary > i {
    margin-right: 7.2734375px !important;
  }

  body[data-detail-type="happy"] .mh-current.happy10 .mh-current-summary > strong {
    font-size: 12.48px !important;
    line-height: 26px !important;
  }

  body[data-detail-type="happy"] .mh-current .detail-progress-line {
    grid-template-columns: 108.6796875px minmax(0, 1fr) 43.1796875px !important;
    color: #666 !important;
  }

  body[data-detail-type="happy"] .mh-current .detail-progress-line > span {
    color: #666 !important;
  }

  body[data-detail-type="happy"] .mh-current .detail-progress-line > strong {
    color: #ff2600 !important;
  }

  body[data-detail-type="happy"] .mh-stat-cards .mh-stat-card .mh-table {
    table-layout: auto !important;
  }

  body[data-detail-type="happy"] .mh-stat-cards .mh-stat-card .mh-table th,
  body[data-detail-type="happy"] .mh-stat-cards .mh-stat-card .mh-table td {
    width: auto !important;
  }

  body[data-detail-type="happy"] .mh-road-card .mh-road-table td:first-child b:first-child {
    font-weight: 400 !important;
  }

  body[data-detail-type="happy"] .mh-road-card .mh-road-table td:first-child b:last-child {
    font-weight: 700 !important;
  }

  body[data-detail-type="happy"] .mh-trend-toolbar button:first-child,
  body[data-detail-type="happy"] .mh-trend-toolbar button:last-child {
    position: absolute !important;
  }
}


/* 20260827-mobile-happy-series-trend-mode-geometry-r666:
 * Final source-measured correction for the basic-trend two-option strip.
 * At a 390px viewport the source uses 195.5px / 194.5px columns and a
 * 45.7578125px total hit rectangle; keep the half-pixel asymmetry responsive. */
@media (max-width: 1020px) {
  body[data-detail-type="happy"] .mh-trend-modes {
    grid-template-columns: calc(50% + .5px) calc(50% - .5px) !important;
    height: 45.7578125px !important;
    min-height: 45.7578125px !important;
  }

  body[data-detail-type="happy"] .mh-trend-modes button {
    height: 45.7578125px !important;
    min-height: 45.7578125px !important;
  }
}


/* 20260827-mobile-happy-series-secondary-nav-countdown-r667:
 * Original Happy10 keeps the secondary rail anchored at its first item after a
 * page switch. With video excluded, Happy8/Bingo may reclaim the video column
 * for the track only after reserving one responsive slot for an 8-character
 * countdown so hour-scale values remain complete at 360/390/430. */
@media (max-width: 1020px) {
  body[data-detail-type="happy"] .mh-current.happy8 .detail-progress-line > strong {
    box-sizing: border-box;
    flex: 0 0 calc(var(--mh-source-rem) * .7) !important;
    width: calc(var(--mh-source-rem) * .7) !important;
    min-width: calc(var(--mh-source-rem) * .7) !important;
    white-space: nowrap;
    text-align: right;
  }
}


/* 20260828-mobile-happy-series-countdown-road-color-r675:
 * Product removes video, so the countdown track owns all remaining width without
 * reserving a fixed time slot outside the 390px shell. Happy8/Bingo source-road
 * cells keep each source label as one full line and preserve the provider's
 * per-outcome colors; do not let a shared gray !important rule erase them. */
@media (max-width: 1020px) {
  body[data-detail-type="happy"] .mh-current.happy8 .detail-progress-line {
    grid-template-columns: 108.6796875px minmax(0, 1fr) max-content !important;
  }

  body[data-detail-type="happy"] .mh-current.happy8 .detail-progress-line > strong {
    flex: none !important;
    width: auto !important;
    min-width: 0 !important;
    white-space: nowrap;
    text-align: right;
  }

  body[data-detail-type="happy"] .mh-h8-road-source-dynamic .mh-road-table td b {
    display: block !important;
    white-space: nowrap !important;
  }

  body[data-detail-type="happy"] .mh-h8-road-source-dynamic .mh-road-table td b[style*="color:red"] {
    color: #ff0000 !important;
  }

  body[data-detail-type="happy"] .mh-h8-road-source-dynamic .mh-road-table td b[style*="color:#F10078"] {
    color: #f10078 !important;
  }

  body[data-detail-type="happy"] .mh-h8-road-source-dynamic .mh-road-table td b[style*="color:#FF2FFF"] {
    color: #ff2fff !important;
  }

  body[data-detail-type="happy"] .mh-h8-road-source-dynamic .mh-road-table td b[style*="color:#009100"] {
    color: #009100 !important;
  }

  body[data-detail-type="happy"] .mh-h8-road-source-dynamic .mh-road-table td b[style*="color:#F00078"] {
    color: #f00078 !important;
  }
}


/* 20260828-mobile-happy-series-visual-details-r679:
 * Same-state F12 repair after r678 acceptance was withdrawn. Match the source
 * solid Happy10 draw balls, countdown baselines, statistic-card depth, red sum
 * value, segmented road headings, and split issue/number trend columns. */
@media (max-width: 1020px) {
  body[data-detail-type="happy"] .mh-current.happy10 .mh-balls.current.happy10 .mh-ball.h10 {
    overflow: visible !important;
    border-radius: 50% !important;
    background-image: none !important;
    background-color: #0092dd !important;
  }

  body[data-detail-type="happy"] .mh-current.happy10 .mh-balls.current.happy10 .mh-ball.h10.red {
    background-color: #ff0000 !important;
  }

  body[data-detail-type="happy"] .mh-current .detail-progress-line > span,
  body[data-detail-type="happy"] .mh-current .detail-progress-line > strong {
    align-self: start;
    margin-top: 8.109375px !important;
    transform: none !important;
  }

  body[data-detail-type="happy"] .mh-current .detail-progress-line > b {
    align-self: start;
    margin-top: 13.875px !important;
  }

  body[data-detail-type="happy"] .mh-stat-cards .mh-stat-card {
    box-shadow: 0 4.16px 6.24px rgba(0, 0, 0, .09);
  }

  body[data-detail-type="happy"] .mh-total-trend tbody td.mh-sum,
  body[data-detail-type="happy"] .mh-total-trend tbody td.mh-sum > span {
    color: #ff0000 !important;
  }

  body[data-detail-type="happy"] .mh-road-card > header {
    display: flex;
    gap: 0;
    justify-content: flex-start;
  }

  body[data-detail-type="happy"] .mh-road-card > header > span {
    box-sizing: border-box;
    flex: 0 0 57%;
    width: 57%;
    overflow: hidden;
  }

  body[data-detail-type="happy"] .mh-road-card > header > strong {
    box-sizing: border-box;
    flex: 0 0 43%;
    width: 43%;
    overflow: visible;
    text-align: right;
  }

  body[data-detail-type="happy"] .mh-road-card > header > strong > span {
    display: inline;
    margin-left: 5.2px;
  }
}


/* 20260829-mobile-happy-series-header-info-removed-r686:
   Trend hit balls keep source-pure fills without a shared orange halo.
   Split-table summary labels preserve the full two-column frozen width in the renderer.\n   Happy8/Bingo fallback roads reuse source dynamic height, rank width, and color semantics. */

/* 20260830-mobile-happy-color-utility-scope-r687: utility colors are owned only by happy consumers */

/* 20260831-mobile-happy-tablet-fluid-contract-r801
 * Tablet keeps the mobile happy-series route. Only sheet and action geometry
 * becomes fluid above phone width; wheel row heights and phone measurements
 * stay unchanged. */
@media (min-width: 569px) and (max-width: 1020px) {
  body[data-detail-type="happy"] :is(
    .mh-date-sheet,
    .mh-select-sheet,
    .mh-single-wheel,
    .mh-daily-position-sheet
  ) {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    flex-basis: 100% !important;
  }

  body[data-detail-type="happy"] .mh-select-actions {
    width: 100% !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }

  body[data-detail-type="happy"] .mh-select-actions button {
    width: 100% !important;
    min-width: 0 !important;
  }

  body[data-detail-type="happy"] :is(
    .mh-select-sheet .mh-check-grid.position-grid,
    .mh-select-sheet .mh-check-grid.kind-grid,
    .mh-select-sheet.mh-h8-select .mh-check-grid,
    .mh-trend-select .mh-check-grid.period-grid,
    .mh-trend-select .mh-check-grid.annotation-grid,
    .mh-trend-select .mh-check-grid.position-grid
  ) {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    column-gap: 19.5px !important;
    padding-right: 10.3984375px !important;
    padding-left: 10.3984375px !important;
  }

  body[data-detail-type="happy"] .mh-select-sheet .mh-check-grid.kind-grid,
  body[data-detail-type="happy"] .mh-select-sheet.mh-h8-select .mh-check-grid,
  body[data-detail-type="happy"] .mh-trend-select .mh-check-grid.period-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  body[data-detail-type="happy"] .mh-daily-position-sheet > header {
    grid-template-columns: 55px minmax(0, 1fr) 55px !important;
  }

  body[data-detail-type="happy"] .mh-daily-position-sheet > header strong {
    width: auto !important;
    min-width: 0 !important;
  }

  /* Tablet cards keep the shared phone-density type and row rhythm. */
  body[data-detail-type="happy"] .mh-stat-cards .mh-stat-card {
    height: auto !important;
    min-height: calc(
      var(--ui-stat-title-height)
      + var(--ui-stat-cell-height)
      + var(--ui-stat-cell-height)
    ) !important;
  }

  body[data-detail-type="happy"] .mh-stat-cards .mh-stat-card .mh-table-scroll {
    height: auto !important;
  }

  body[data-detail-type="happy"] .mh-stat-cards .mh-stat-card .mh-table th,
  body[data-detail-type="happy"] .mh-stat-cards .mh-stat-card .mh-table td {
    height: var(--ui-stat-cell-height) !important;
    font-size: var(--ui-font-size-body) !important;
    line-height: var(--ui-stat-cell-height) !important;
  }
}



/* 20260831-mobile-happy-full-corner-check-r802: number/rank multi-selects share the complete source corner-check sprite. */
@media (max-width:1020px){
  body[data-detail-type="happy"] .mh-distribution-number-row button,
  body[data-detail-type="happy"] .mh-number-road-grid button,
  body[data-detail-type="happy"] .mh-select-sheet .mh-check-grid button{
    position:relative!important;
  }
  body[data-detail-type="happy"] .mh-distribution-number-row button.active:not([data-ui-choice-check])::after,
  body[data-detail-type="happy"] .mh-number-road-grid button.active:not([data-ui-choice-check])::after,
  body[data-detail-type="happy"] .mh-select-sheet .mh-check-grid button.active:not([data-ui-choice-check])::after{
    content:""!important;
    position:absolute!important;
    top:auto!important;
    right:0!important;
    bottom:-1.04px!important;
    display:block!important;
    width:20.2734375px!important;
    height:21.8359375px!important;
    border:0!important;
    clip-path:none!important;
    background:url("/assets/mobile-sport-filter-sprite.png") no-repeat 4.68px -21.84px/346.32px auto!important;
    color:transparent!important;
    font-size:0!important;
    pointer-events:none!important;
  }
}


/* 20260831-mobile-happy-shared-date-trigger-r812:
 * Happy date strips keep their source-measured fourth-button/date position while
 * the shared real-DOM chevron owns vertical alignment. Retire the legacy sprite
 * pseudo-element so there is exactly one visible date arrow. */
@media (max-width: 1020px) {
  body[data-detail-type="happy"] .mh-datebar [data-ui-date-trigger="dom"],
  body[data-detail-type="happy"] .mh-trend-toolbar [data-ui-date-trigger="dom"] {
    inset: auto !important;
    display: inline-flex !important;
    min-height: 0 !important;
    margin-block: 0 !important;
    align-items: center !important;
    line-height: normal !important;
  }

  body[data-detail-type="happy"] .mh-datebar [data-ui-date-trigger="dom"] {
    position: relative !important;
    height: 100% !important;
  }

  body[data-detail-type="happy"] [data-mobile-happy-page="开奖号码"] > .mh-datebar > [data-ui-date-trigger="dom"],
  body[data-detail-type="happy"] [data-mobile-happy-page="号码分布"] > .mh-datebar > [data-ui-date-trigger="dom"] {
    position: absolute !important;
    inset: 0 auto auto calc(var(--mh-source-rem) * 2.778846153846154) !important;
  }

  body[data-detail-type="happy"] .mh-trend-toolbar [data-ui-date-trigger="dom"] {
    position: absolute !important;
    inset: 0 auto auto 283.796875px !important;
    height: 37.4375px !important;
    margin: 0 !important;
  }

  body[data-detail-type="happy"] .mh-date-open::after {
    display: none !important;
    background: none !important;
    content: none !important;
  }

  body[data-detail-type="happy"] .mh-date-open .ui-date-trigger-label {
    line-height: normal !important;
  }
}

/* 20260831-mobile-happy-tablet-current-date-toolbar-r813:
 * Tablet keeps phone-density internals but lets current/date/toolbar shells own
 * the full viewport. Controls align with grid/flex instead of the 390px source
 * coordinate island; balls, road rails, type, and row primitives stay intrinsic. */
@media (min-width: 569px) and (max-width: 1020px) {
  body[data-detail-type="happy"] #mobileDetail {
    --mh-source-rem: 104px;
  }

  body[data-detail-type="happy"] .mh-current {
    display: grid !important;
    box-sizing: border-box !important;
    grid-template-columns: minmax(0, 1fr) !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    align-content: start !important;
  }

  body[data-detail-type="happy"] .mh-current.happy8 > p,
  body[data-detail-type="happy"] .mh-balls.current.happy8,
  body[data-detail-type="happy"] .mh-current.happy8 .mh-current-summary,
  body[data-detail-type="happy"] .mh-current .detail-progress-line {
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
  }

  body[data-detail-type="happy"] .mh-datebar {
    display: grid !important;
    box-sizing: border-box !important;
    grid-template-columns:
      repeat(3, 24.9609375px)
      95.8046875px !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    padding-right: 10.3984375px !important;
    padding-left: 10.3984375px !important;
    align-items: center !important;
    justify-content: end !important;
    column-gap: 14.5546875px !important;
  }

  body[data-detail-type="happy"] .mh-datebar > button {
    position: relative !important;
    inset: auto !important;
    width: 24.9609375px !important;
    min-width: 0 !important;
    margin: 0 !important;
  }

  body[data-detail-type="happy"] .mh-datebar > .mh-date-open {
    grid-column: 4 !important;
    width: 95.8046875px !important;
    min-width: 95.8046875px !important;
    margin: 0 !important;
    padding-right: 15.59375px !important;
    justify-self: end !important;
    justify-content: flex-end !important;
  }

  body[data-detail-type="happy"] [data-mobile-happy-page="开奖号码"] > .mh-datebar > [data-ui-date-trigger="dom"],
  body[data-detail-type="happy"] [data-mobile-happy-page="号码分布"] > .mh-datebar > [data-ui-date-trigger="dom"] {
    position: relative !important;
    inset: auto !important;
    grid-column: 4 !important;
    justify-self: end !important;
  }

  body[data-detail-type="happy"] .mh-roads > .mh-road-toolbar,
  body[data-detail-type="happy"] .mh-h8-roads > .mh-road-toolbar {
    display: flex !important;
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    align-items: center !important;
  }

  body[data-detail-type="happy"] .mh-roads > .mh-road-toolbar > .mh-filter-open,
  body[data-detail-type="happy"] .mh-h8-roads > .mh-road-toolbar > .mh-filter-open {
    position: relative !important;
    inset: auto !important;
    flex: 0 0 auto !important;
  }

  body[data-detail-type="happy"] .mh-roads > .mh-road-toolbar > .mh-datebar,
  body[data-detail-type="happy"] .mh-h8-roads > .mh-road-toolbar > .mh-datebar {
    position: relative !important;
    inset: auto !important;
    flex: 1 1 0 !important;
    width: auto !important;
    min-width: 0 !important;
    margin-left: auto !important;
  }

  body[data-detail-type="happy"] .mh-trend-toolbar {
    position: relative !important;
    display: grid !important;
    box-sizing: border-box !important;
    grid-template-columns:
      70.71875px
      minmax(0, 1fr)
      repeat(3, 24.9609375px)
      45.7578125px
      95.8046875px !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    padding-right: 10.3984375px !important;
    padding-left: 10.3984375px !important;
    align-items: center !important;
    column-gap: 14.5546875px !important;
  }

  body[data-detail-type="happy"] .mh-trend-toolbar > button,
  body[data-detail-type="happy"] .mh-trend-toolbar > button:first-child,
  body[data-detail-type="happy"] .mh-trend-toolbar > button:last-child {
    position: relative !important;
    inset: auto !important;
    margin: 0 !important;
  }

  body[data-detail-type="happy"] .mh-trend-toolbar > button:nth-child(1) {
    grid-column: 1 !important;
  }

  body[data-detail-type="happy"] .mh-trend-toolbar > button:nth-child(2) {
    grid-column: 3 !important;
  }

  body[data-detail-type="happy"] .mh-trend-toolbar > button:nth-child(3) {
    grid-column: 4 !important;
  }

  body[data-detail-type="happy"] .mh-trend-toolbar > button:nth-child(4) {
    grid-column: 5 !important;
  }

  body[data-detail-type="happy"] .mh-trend-toolbar > button:nth-child(5),
  body[data-detail-type="happy"] .mh-trend-toolbar > [data-ui-date-trigger="dom"] {
    position: relative !important;
    inset: auto !important;
    grid-column: 7 !important;
    justify-self: end !important;
  }

  body[data-detail-type="happy"] .mh-trend-toolbar > button:nth-child(6) {
    grid-column: 6 !important;
  }
}

