@layer tokens, base, layout, components, pages, utilities, overrides;
/* COMPATIBILITY LAYER — do not add new styles here. Migrate to src/styles/ instead. */

@layer overrides {
/* Split from theme-lineoa.css: shell. */
.lineoa-theme .profile-view-btn.is-active,
.lineoa-theme .profile-range-btn.is-active,
.lineoa-theme .arena-tab-btn.is-active,
.lineoa-theme .tab-btn.is-active {
  background: linear-gradient(180deg, rgba(189, 242, 31, 0.2), rgba(159, 217, 255, 0.14));
  border-color: rgba(64, 105, 0, 0.16);
  color: var(--on-surface);
  box-shadow: none;
}.lineoa-theme .arena-tab-btn,
.lineoa-theme .group-detail-tab-btn {
  min-height: 38px;
  border: none;
  border-radius: 0;
  background: transparent;
  font-family: var(--font-headline);
  font-size: 0.74rem;
  font-weight: 600;
  color: var(--on-surface-variant);
}.lineoa-theme .arena-tab-btn::after {
  display: none;
}

@media (max-width: 380px){.lineoa-theme .profile-editorial-head,
.lineoa-theme .profile-ref-header,
.lineoa-theme .community-item {
    grid-template-columns: 1fr;
    display: grid;
  }.lineoa-theme .groups-card-body {
    grid-template-columns: 52px minmax(0, 1fr);
    min-height: 82px;
    padding: 12px 72px 12px 12px;
    display: grid;
  }.lineoa-theme .groups-cover-wrap {
    width: 52px;
    height: 52px;
  }.lineoa-theme .groups-card-main h4 {
    font-size: 0.92rem;
  }.lineoa-theme .groups-card-main p {
    font-size: 0.68rem;
  }.lineoa-theme .profile-editorial-avatar-wrap,
.lineoa-theme .profile-ref-avatar-wrap {
    width: 68px;
    height: 68px;
  }.lineoa-theme .profile-editorial-stats,
.lineoa-theme .profile-ref-stats,
.lineoa-theme .profile-evolution-metrics,
.lineoa-theme .national-stats-grid {
    grid-template-columns: 1fr 1fr;
  }.lineoa-theme .group-detail-tab-btn {
    font-size: 0.7rem;
  }.lineoa-theme .group-detail-rank-item {
    grid-template-columns: 32px 38px minmax(0, 1fr) auto;
    padding: 10px;
  }.lineoa-theme .group-detail-rank-no {
    width: 32px;
    font-size: 1.08rem;
  }.lineoa-theme .group-detail-rank-score strong {
    font-size: 1.3rem;
  }.lineoa-theme .group-activity-report-sheet {
    grid-template-columns: 1fr;
    width: min(520px, calc(100% - 2px));
    max-height: min(92dvh, 760px);
    gap: 10px;
  }.lineoa-theme .group-activity-report-toggle-btn {
    font-size: 0.86rem;
  }.lineoa-theme .group-activity-report-duel-card {
    padding: 9px;
  }.lineoa-theme .group-performance-match-item {
    grid-template-columns: 1fr;
  }.lineoa-theme .group-performance-match-center {
    order: -1;
    min-width: 0;
  }.lineoa-theme .group-performance-match-side,
.lineoa-theme .group-performance-match-side.is-right {
    align-items: stretch;
    text-align: left;
  }.lineoa-theme .group-performance-match-side.is-right .group-performance-match-player {
    flex-direction: row;
  }
}.lineoa-theme .groups-tab-panel {
  padding-inline: 0;
}

@media (max-width: 370px){body.lineoa-theme {
    padding-inline: 14px;
  }.lineoa-theme .top-ribbon h1 {
    font-size: 1.24rem;
  }.lineoa-theme .brand-b,
.lineoa-theme .top-profile-avatar,
.lineoa-theme .top-notify-btn {
    width: 38px;
    height: 38px;
  }.lineoa-theme .challenge-match-main {
    grid-template-columns: 1fr;
  }.lineoa-theme .challenge-match-side {
    align-items: stretch;
  }.lineoa-theme .challenge-avatar-row {
    justify-content: flex-start;
  }
}.lineoa-theme .profile-view-btn,
.lineoa-theme .arena-tab-btn,
.lineoa-theme .group-performance-mode-btn {
  border-radius: var(--radius-full);
  color: var(--text-muted);
  font-weight: 700;
}.lineoa-theme .profile-view-btn.is-active,
.lineoa-theme .profile-range-btn.is-active,
.lineoa-theme .arena-tab-btn.is-active,
.lineoa-theme .group-performance-mode-btn.is-active {
  background: var(--brand);
  color: var(--brand-text);
  box-shadow: none;
}.lineoa-theme .group-detail-tab-btn {
  padding: 6px 4px 8px;
  white-space: nowrap;
  border-radius: var(--radius-full);
  color: var(--text-muted);
  font-weight: 700;
  min-height: 34px;
  font-size: 0.68rem;
}.lineoa-theme .top-ribbon h1::after {
  content: "Arena";
  color: var(--text-soft);
  font-family: var(--font-body);
  margin-top: 2px;
  font-size: 0.68rem;
  font-weight: 600;
  display: none;
}.lineoa-theme .tab-panel,
.lineoa-theme .profile-view {
  gap: 18px;
}
@media (max-width: 430px){.lineoa-theme .top-ribbon-actions {
    gap: 9px;
  }.lineoa-theme .top-notify-btn {
    width: 42px;
    height: 42px;
  }.lineoa-theme .top-notify-btn .material-symbols-outlined {
    font-size: 29px;
  }.lineoa-theme #tab-community .challenge-tag-row {
    gap: 7px;
  }.lineoa-theme #tab-community .challenge-avatar-row {
    gap: 5px;
  }.lineoa-theme #tab-community .challenge-avatar-more {
    font-size: 14px;
  }}
@media (max-width: 430px){body.lineoa-theme {
    padding-inline: 18px;
    padding-inline: 12px;
    padding-inline: 14px;
    padding-inline: 14px;
    padding-inline: 12px;
}.lineoa-theme .mobile-shell {
    gap: 11px;
  }.lineoa-theme .top-brand-avatar {
    width: 40px;
    height: 40px;
    flex-basis: 40px !important;
  }.lineoa-theme .top-ribbon h1 {
    font-size: 29px;
  }.lineoa-theme #tab-community .home-action-btn > .material-symbols-outlined {
    width: 21px;
    height: 21px;
    flex-basis: 21px;
    font-size: 22px;
  }.lineoa-theme #tab-community .home-static-filter-chips {
    gap: 7px 8px;
    margin-bottom: 14px;
  }.lineoa-theme #tab-community .home-static-filter-chips button {
    height: 30px;
    min-height: 30px;
    padding-inline: 12px;
    font-size: 12px;
  }.lineoa-theme #tab-community .challenge-match-main {
    grid-template-columns: minmax(0, 1fr) 112px;
    gap: 5px 8px;
    padding: 12px;
  }.lineoa-theme #tab-community .challenge-schedule {
    letter-spacing: 0.03em;
    font-size: 11px;
}.lineoa-theme #tab-community .challenge-count-pill {
    min-height: 22px;
    padding-inline: 8px;
    font-size: 11px;
  }.lineoa-theme #tab-community .challenge-match-title {
    font-size: 18px;
  }.lineoa-theme #tab-community .challenge-match-location {
    gap: 6px;
    line-height: 1.4;
    grid-template-columns: 16px minmax(0, 1fr);
    font-size: 12px;
}.lineoa-theme #tab-community .challenge-match-location .material-symbols-outlined {
  }.lineoa-theme #tab-community .challenge-tag {
    min-height: 22px;
    padding-inline: 8px;
    font-size: 11px;
  }.lineoa-theme #tab-community .challenge-party-avatar,
.lineoa-theme #tab-community .challenge-avatar-more {
    border-radius: 9px !important;
    width: 28px !important;
    height: 28px !important;
    flex-basis: 28px !important;
}.lineoa-theme #tab-community .challenge-join-btn {
    height: 32px;
    min-height: 32px;
    font-size: 12px;
  }
}
.lineoa-theme .mobile-shell {
  position: relative;
  z-index: 1;
  width: min(430px, 100%);
  gap: 13px;
  padding-top: 0;
}
body.lineoa-theme.is-profile-tab .top-ribbon {
  display: none;
}body.lineoa-theme.is-profile-tab .mobile-shell {
  padding-top: max(14px, env(safe-area-inset-top));
}body.lineoa-theme.is-groups-tab .mobile-shell {
  padding-top: max(14px, env(safe-area-inset-top));
}
body.lineoa-theme.is-profile-tab .top-ribbon,
body.lineoa-theme.is-groups-tab .top-ribbon {
  display: flex !important;
}body.lineoa-theme.is-profile-tab .mobile-shell,
body.lineoa-theme.is-groups-tab .mobile-shell {
  padding-top: 0 !important;
}.lineoa-theme .top-ribbon h1 {
  margin: 0;
  color: #101314;
  font-family: var(--font-google-sans-thai);
  font-size: 28px;
  font-weight: 800;
  line-height: 0.92;
  letter-spacing: -0.035em;
}.lineoa-theme .top-ribbon h1 span {
  color: #79CF00;
}.lineoa-theme .top-ribbon-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0;
  margin-left: auto;
}body.lineoa-theme.is-groups-tab .top-ribbon {
  display: none;
}

@media (max-width: 559px){.lineoa-theme .bottom-nav {
    left: 0;
    right: 0;
    width: 100%;
    max-width: 100%;
    transform: none;
    padding-left: max(8px, env(safe-area-inset-left));
    padding-right: max(8px, env(safe-area-inset-right));
    border-radius: 0;
    border-left: none !important;
    border-right: none !important;
  }
}.lineoa-theme .tab-btn .tab-label {
  text-transform: none;
  letter-spacing: 0;
  font-size: 11px;
  font-weight: 700;
}
body.lineoa-theme.is-groups-tab:not(.is-group-detail-open) .top-ribbon {
  display: flex;
}body.lineoa-theme.is-group-detail-open .top-ribbon {
  display: none;
}
@media (max-width: 768px) {
  .lineoa-theme .bottom-nav {
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    max-width: 100%;
    transform: none;
    margin: 0;
    border-radius: 0;
    border-left: none !important;
    border-right: none !important;
    border-bottom: none;
    border-top: 1px solid rgba(32, 36, 40, 0.08);
    box-shadow: none;
    padding-left: max(8px, env(safe-area-inset-left));
    padding-right: max(8px, env(safe-area-inset-right));
  }
}.lineoa-theme :is(.bottom-nav, .top-ribbon) {
  box-shadow: none;
}.lineoa-theme .tab-btn {
  font-weight: 700;
  font-family: var(--font-google-sans-thai);
  border: 0;
  background: transparent;
  box-shadow: none;
  min-height: 46px;
  gap: 2px;
  color: #8d949b;
  border-radius: 12px;
}body.lineoa-theme :is(small, .profile-ref-stat-label, .challenge-schedule, .challenge-tag, .home-match-filter-reset-btn, .tab-btn .tab-label) {
  font-size: var(--text-sm) !important;
  letter-spacing: 0 !important;
}body.lineoa-theme :is(.mobile-shell, .stack-form, .community-toolbar, .home-feed-list, .profile-results-block, .groups-card-main, .arena-panel, .profile-ref-section, .profile-stats-card, .report-layout-generic, .report-ref-form, .home-match-filter-fields) {
  gap: var(--card-gap);
}html[data-language="en"] body.lineoa-theme :is(.top-brand-subtitle, .home-nearme-pill, .home-location-pill, .home-static-filter-chips button, .home-match-filter-chip, .home-match-filter-choice-chip, .challenge-match-title, .my-match-card h4, .my-match-card .challenge-tag, .challenge-tag, .challenge-count-pill, .challenge-schedule, .challenge-match-location, .tab-btn .tab-label, .profile-view-btn, .my-matches-primary-tabs button, .my-matches-filter-bar button, .qp-pill, .qp-type-title, .court-card-main h4, .community-main h4, .groups-card-main h4) {
  font-weight: 600 !important;
}html[data-language="en"] body.lineoa-theme :is(.home-static-filter-chips button.is-active, .home-match-filter-choice-chip.is-active, .challenge-tag.is-ranked, .tab-btn.is-active .tab-label, .my-matches-primary-tabs button.is-active, .my-matches-filter-bar button.is-active, .qp-pill.is-active) {
  font-weight: 700 !important;
}html[data-language="en"] body.lineoa-theme :is(.top-brand-subtitle, .home-nearme-pill, .home-location-pill, .home-static-filter-chips button, .home-match-filter-chip, .home-match-filter-choice-chip, .challenge-match-title, .my-match-card h4, .challenge-tag, .my-match-card .challenge-tag, .challenge-count-pill, .challenge-schedule, .challenge-match-location, .tab-btn .tab-label, .profile-view-btn, .my-matches-primary-tabs button, .my-matches-filter-bar button, .qp-pill, .qp-type-title, .court-card-main h4, .community-main h4, .groups-card-main h4, .open-match-detail-pill, .open-match-detail-info-row strong, .open-match-detail-copy-card h4, .skill-chip, .home-match-filter-reset-btn) {
  font-weight: 500 !important;
}body.lineoa-theme.is-group-detail-open #groupDetailScreen .group-detail-tab-btn {
  min-height: 40px !important;
}body.lineoa-theme.is-group-detail-open #groupDetailScreen .group-detail-tab-panel {
  width: 100% !important;
  max-width: none !important;
  margin: 0;
  padding-inline: 14px !important;
}html[data-language="th"] body.lineoa-theme :is(.tab-btn .tab-label, .home-static-filter-chips button, .home-match-filter-chip, .home-match-filter-choice-chip, .profile-view-btn, .my-matches-primary-tabs button, .my-matches-filter-bar button, .qp-pill, .qp-type-title, .challenge-tag, .challenge-count-pill) {
  font-family: var(--font-headline) !important;
  font-weight: 600 !important;
  line-height: 1.25 !important;
}html[data-language="th"] body.lineoa-theme :is(.tab-btn.is-active .tab-label, .home-static-filter-chips button.is-active, .home-match-filter-choice-chip.is-active, .my-matches-primary-tabs button.is-active, .my-matches-filter-bar button.is-active, .qp-pill.is-active, .challenge-tag.is-ranked) {
  font-weight: 700 !important;
}
body.lineoa-theme :is(#tab-community, #tab-home, #tab-groups, #tab-arena, #tab-profile).tab-panel,
body.lineoa-theme :is(.home-view, .my-matches-screen, .groups-tab-panel, .community-view, .profile-view) {
  gap: var(--smatch-page-gap) !important;
}body.lineoa-theme :is(.home-open-matches-card, .my-matches-screen, .groups-tab-panel, #communityCourtsView, #communityRankingView, #tab-profile > .profile-view.is-active) {
  margin-top: 0 !important;
}html[data-language="th"] body.lineoa-theme :is(.tab-btn .tab-label, .challenge-join-btn) {
  font-family: var(--font-headline) !important;
}
html body.lineoa-theme #dashboard > #tab-home[data-tab="matches"].tab-panel,
html body.lineoa-theme #dashboard > #tab-arena.tab-panel,
html body.lineoa-theme #dashboard > #tab-profile.tab-panel {
  padding-right: 0 !important;
  padding-left: 0 !important;
}html body.lineoa-theme #dashboard > #tab-home[data-tab="matches"].tab-panel > .my-matches-screen,
html body.lineoa-theme #dashboard > #tab-arena.tab-panel > #communitySwitchCard,
html body.lineoa-theme #dashboard > #tab-arena.tab-panel > .community-view,
html body.lineoa-theme #dashboard > #tab-profile.tab-panel > #profileSwitchCard,
html body.lineoa-theme #dashboard > #tab-profile.tab-panel > .profile-view {
  width: 100% !important;
  max-width: none !important;
  margin-right: 0 !important;
  margin-left: 0 !important;
  padding-right: 0 !important;
  padding-left: 0 !important;
}html body.lineoa-theme #dashboard > #tab-home[data-tab="matches"].tab-panel > .my-matches-screen {
  gap: 6px;
}html body.lineoa-theme #dashboard > #tab-home[data-tab="matches"].tab-panel .my-matches-head {
  min-height: 0;
  margin: 0;
  padding: 0;
}html body.lineoa-theme #dashboard > #tab-arena.tab-panel #communityCourtsView.profile-view > .community-courts-shell.card,
html body.lineoa-theme #dashboard > #tab-arena.tab-panel #communityRankingView.profile-view > .community-ranking-admin-content,
html body.lineoa-theme #dashboard > #tab-profile.tab-panel #profileDashboardView.profile-view > .profile-ref-section,
html body.lineoa-theme #dashboard > #tab-profile.tab-panel #profileStatsView.profile-view > .profile-ref-section {
  width: 100% !important;
  max-width: none !important;
  margin-right: 0 !important;
  margin-left: 0 !important;
  padding: 0 !important;
}body.lineoa-theme .top-ribbon h1 {
  color: var(--smatch-ci-primary);
}body.lineoa-theme .top-ribbon h1 > span {
  position: relative;
  color: var(--smatch-ci-mint);
  text-shadow: 0 10px 24px rgba(78, 209, 165, 0.2);
}body.lineoa-theme .top-ribbon h1 > span::after {
  content: "";
  position: absolute;
  right: -0.28em;
  top: -0.16em;
  width: 0.3em;
  height: 0.3em;
  border-radius: 50%;
  background: var(--smatch-ci-accent);
  box-shadow: 0 0 0 3px rgba(255, 127, 163, 0.14);
}body.lineoa-theme .top-ribbon-actions {
  gap: 10px;
  flex: 0 0 auto;
}body.lineoa-theme :is(.my-matches-primary-tabs button.is-active, .arena-tab-btn.is-active) {
  color: var(--smatch-ci-primary) !important;
  box-shadow: inset 0 -3px 0 var(--smatch-ci-mint);
}
body.lineoa-theme .top-ribbon {
  background:
    linear-gradient(180deg, rgba(255, 246, 242, 0.9), rgba(255, 255, 255, 0.94));
  border-bottom: 1px solid rgba(7, 59, 49, 0.05);
  margin: 0;
  padding: max(8px, env(safe-area-inset-top)) max(14px, env(safe-area-inset-right)) 8px max(14px, env(safe-area-inset-left));
  border-radius: 0;
  box-shadow: none;
  min-height: calc(56px + env(safe-area-inset-top));
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  padding-left: max(20px, env(safe-area-inset-left));
  padding-right: max(20px, env(safe-area-inset-right));
}

@media (max-width: 559px){body.lineoa-theme .top-ribbon {
    padding-left: max(16px, env(safe-area-inset-left));
    padding-right: max(16px, env(safe-area-inset-right));
  }
}
body.lineoa-theme .bottom-nav,
body.lineoa-theme.is-groups-tab .bottom-nav,
body.lineoa-theme.is-group-detail-open .bottom-nav {
  position: fixed;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 120;
  width: 100%;
  max-width: 100%;
  margin: 0;
  transform: none;
}body.lineoa-theme .bottom-nav {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-color: rgba(7, 59, 49, 0.08);
  box-sizing: border-box;
  margin-inline: 0;
}


/* Phase 3 bridge: keep bottom-nav Thai labels on the system scale. */
html body.lineoa-theme .bottom-nav.sm-bottom-nav .tab-btn .tab-label {
  display: block !important;
  height: 18px !important;
  min-height: 18px !important;
  font-size: 14px !important;
  font-weight: 850 !important;
  line-height: 18px;
}

}
