/* Mobile-only layout cleanup. Desktop styles remain unchanged. */
@media (max-width: 760px) {
  html, body {
    width: 100%;
    max-width: 100%;
    overflow-x: clip;
  }

  /* Large fixed decorative glows were widening the mobile document. */
  main.murim-main::before,
  main.murim-main::after {
    display: none !important;
  }

  .wrap {
    width: calc(100% - 24px) !important;
    max-width: none !important;
  }

  main.murim-main {
    min-width: 0 !important;
    padding-top: 22px !important;
    padding-bottom: 54px !important;
  }

  .murim-header {
    position: sticky;
    top: 0;
  }

  .murim-nav {
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 10px !important;
    min-height: 60px !important;
    padding: 9px 0 !important;
  }

  .brand.brand-home {
    margin: 0 !important;
  }

  .brand-home .ymc-brand-logo {
    width: 34px !important;
    height: 34px !important;
    flex-basis: 34px !important;
  }

  .brand-home .ymc-brand-name {
    display: none !important;
  }

  .murim-nav nav {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: flex-end !important;
    gap: 4px !important;
    min-width: 0 !important;
    overflow: visible !important;
  }

  .murim-nav nav::-webkit-scrollbar { display: none; }

  .murim-nav nav > a,
  .murim-nav nav > form,
  .murim-nav nav > .nav-dropdown {
    flex: 0 0 auto !important;
  }

  .murim-nav nav > a,
  .murim-nav .nav-dropdown-toggle,
  .murim-nav .linkbtn {
    min-height: 34px !important;
    padding: 0 8px !important;
    font-size: 13px !important;
    white-space: nowrap !important;
  }



  /* Guest navigation uses one consistent visual weight on mobile. */
  .murim-nav nav > a.pill,
  .murim-nav nav > a.guest-auth-link {
    min-height: 34px !important;
    padding: 0 8px !important;
    border: 1px solid transparent !important;
    border-radius: 5px !important;
    background: transparent !important;
    color: #d8d0c2 !important;
    box-shadow: none !important;
    font-size: 13px !important;
  }

  .murim-nav nav > a.pill:hover,
  .murim-nav nav > a.pill:focus-visible {
    border-color: #6c5231 !important;
    background: #211a12 !important;
    color: #f4d899 !important;
  }
  .nav-dropdown-menu {
    position: fixed !important;
    top: var(--mobile-nav-bottom, 60px) !important;
    left: 12px !important;
    right: 12px !important;
    width: auto !important;
    max-height: calc(100vh - var(--mobile-nav-bottom, 60px) - 12px);
    padding: 9px !important;
    overflow-y: auto;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 5px;
    z-index: 3000 !important;
  }

  .nav-dropdown-menu a {
    display: flex !important;
    align-items: center;
    min-height: 44px;
    padding: 10px 12px !important;
    white-space: normal !important;
  }

  .nav-dropdown.is-open .nav-dropdown-menu {
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
  }

  .nav-dropdown.is-open .nav-dropdown-toggle {
    color: #f4d899 !important;
    border-color: #6c5231 !important;
    background: #211a12 !important;
  }

  .card,
  .home-panel,
  .ranking-card {
    min-width: 0 !important;
    max-width: 100% !important;
    padding: 18px !important;
  }

  .section-head {
    align-items: flex-start !important;
    gap: 10px !important;
  }

  .section-head h1,
  .section-head h2 {
    font-size: 22px !important;
    line-height: 1.25 !important;
  }

  .campus-home { padding: 0 !important; }
  .campus-hero { border-radius: 16px !important; }
  .campus-hero__inner { padding: 28px 22px 30px !important; }
  .campus-hero h1 { font-size: 37px !important; line-height: 1.08 !important; }
  .campus-title-sub { margin-top: 10px !important; font-size: .68em !important; }
  .campus-hero__divider { width: min(230px, 82%) !important; margin: 22px 0 17px !important; }
  .campus-hero__divider::after { left: 60% !important; }
  .campus-hero__desc { font-size: 16px !important; }
  .campus-hero__actions { gap: 10px !important; margin-top: 24px !important; }
  .campus-btn { min-width: 0 !important; width: 100% !important; height: 54px !important; font-size: 17px !important; border-radius: 11px !important; }

  .campus-shortcuts { gap: 10px !important; margin-top: 12px !important; }
  .campus-card { min-height: 84px !important; gap: 13px !important; padding: 15px 16px !important; border-radius: 14px !important; }
  .campus-card__icon { width: 46px !important; height: 46px !important; flex-basis: 46px !important; font-size: 21px !important; }
  .campus-card__body h3 { margin-bottom: 3px !important; font-size: 19px !important; }
  .campus-card__body p { font-size: 13px !important; }
  .campus-card__arrow { font-size: 28px !important; }

  .home-meta-ranking-grid,
  .home-meta-column,
  .home-meta-column > section {
    min-width: 0 !important;
    max-width: 100% !important;
  }

  .home-meta-ranking-grid { gap: 14px !important; margin-top: 16px !important; }
  .home-tier-item summary { gap: 10px !important; padding: 14px 2px !important; }
  .home-tier-item summary > div { min-width: 0 !important; }
  .home-tier-item summary b,
  .home-tier-item summary small { overflow-wrap: anywhere; }

  .ranking-tabs {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 7px !important;
    overflow: visible !important;
  }

  .ranking-tab { width: 100% !important; min-width: 0 !important; padding: 9px 7px !important; }
  .ranking-row { grid-template-columns: 30px minmax(0, 1fr) auto !important; gap: 8px !important; padding: 11px 2px !important; }
  .ranking-row > div { min-width: 0 !important; }
  .ranking-row strong,
  .ranking-row small { overflow-wrap: anywhere; }
  .rating-score,
  .streak-score { font-size: .9rem !important; white-space: nowrap; }

  .tabs,
  .board-tabs,
  .tier-detail-nav {
    max-width: 100%;
    overflow-x: auto;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }

  .table-card { max-width: 100%; overflow-x: auto !important; }
  dialog { max-width: calc(100vw - 24px) !important; }
  img, video, canvas, svg { max-width: 100%; }
}

@media (max-width: 390px) {
  .wrap { width: calc(100% - 20px) !important; }
  .campus-hero__inner { padding-inline: 19px !important; }
  .campus-hero h1 { font-size: 34px !important; }
  .card, .home-panel, .ranking-card { padding: 15px !important; }
}


/* MOBILE_SITEWIDE_POLISH_V2 */
@media (max-width: 760px) {
  :root { --mobile-section-gap: 18px; }

  body { font-size: 15px; }

  main.murim-main > *,
  main.murim-main section,
  main.murim-main form,
  main.murim-main fieldset,
  main.murim-main article,
  main.murim-main details {
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
  }

  main.murim-main section + section {
    margin-top: var(--mobile-section-gap) !important;
  }

  h1 { font-size: clamp(28px, 9vw, 38px) !important; line-height: 1.12 !important; }
  h2 { font-size: clamp(21px, 6vw, 28px) !important; line-height: 1.2 !important; }
  h3 { overflow-wrap: anywhere; }
  p, li, dd, td, th { overflow-wrap: anywhere; }

  input,
  select,
  textarea {
    max-width: 100% !important;
    min-width: 0 !important;
    font-size: 16px !important;
  }

  button,
  .button,
  .pill {
    max-width: 100%;
    min-height: 42px;
  }

  .actions,
  .section-head,
  .page-actions,
  .form-actions,
  .board-post-actions {
    flex-wrap: wrap !important;
  }

  .table-card,
  .table-wrap,
  .ranking-table-wrap {
    width: 100%;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
  }

  .table-card table,
  .table-wrap table,
  .ranking-table-wrap table { min-width: 560px; }

  .murim-nav nav {
    flex-wrap: wrap !important;
    overflow: visible !important;
  }

  .murim-nav nav > a,
  .murim-nav nav > form,
  .murim-nav nav > .nav-dropdown {
    flex-shrink: 0 !important;
  }

  .murim-nav nav > form.inline {
    display: flex !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    gap: 0 !important;
  }

  .murim-nav nav > form.inline > .linkbtn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    min-width: 0 !important;
    height: 34px !important;
    min-height: 34px !important;
    margin: 0 !important;
    padding: 0 8px !important;
    border: 1px solid transparent !important;
    border-radius: 5px !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #d8d0c2 !important;
    font-size: 13px !important;
    line-height: 1 !important;
    white-space: nowrap !important;
  }

  .murim-nav nav > form.inline > .linkbtn:hover,
  .murim-nav nav > form.inline > .linkbtn:focus-visible {
    border-color: #6c5231 !important;
    background: #211a12 !important;
    color: #f4d899 !important;
  }

  .murim-nav .nav-dropdown,
  .murim-nav .nav-dropdown.is-open {
    overflow: visible !important;
  }

  .nav-dropdown-menu {
    grid-template-columns: 1fr 1fr !important;
    overflow-x: hidden !important;
    overscroll-behavior: contain;
  }

  .deck-detail-dialog {
    width: calc(100vw - 24px) !important;
    padding: 17px !important;
  }

  /* 덱 추천 */
  .deckrec-page { width: 100%; padding-bottom: 0 !important; }
  .deckrec-head { margin-bottom: 18px !important; }
  .deckrec-purpose-switch { width: 100% !important; }
  .deckrec-preset-toolbar { gap: 14px !important; margin-bottom: 18px !important; }
  .deckrec-preset-left,
  .deckrec-mode-panel,
  .deckrec-preset-stats {
    width: 100% !important;
    flex: 1 1 100% !important;
    margin-left: 0 !important;
  }
  .deckrec-preset-left .deckrec-preset-btn { flex: 1 1 0 !important; min-width: 0 !important; padding-inline: 7px !important; }
  .deckrec-preset-stats { justify-content: center !important; }
  .deckrec-setting-grid { grid-template-columns: 1fr !important; }
  .deckrec-setting + .deckrec-selector,
  .deckrec-selector + .deckrec-selector,
  .deckrec-recommend-section { margin-top: 18px !important; }
  .deckrec-selector-head { gap: 13px !important; }
  .deckrec-selector-tools { width: 100%; flex-wrap: wrap !important; }
  .deckrec-selector-tools .deckrec-filter-bar { width: 100%; overflow-x: auto; flex-wrap: nowrap !important; }
  .deckrec-filter-btn { flex: 0 0 auto; }
  .deckrec-recommend-head,
  .deckrec-recommend-actions { align-items: stretch !important; flex-direction: column !important; }
  .deckrec-to-arena { width: 100%; }
  .deckrec-result-card { padding: 16px !important; }

  /* 연무도우미 */
  .yw-page { width: 100%; padding-top: 0 !important; }
  .yw-head { padding: 12px 0 17px !important; gap: 14px !important; }
  .yw-head-reset { width: 100%; align-self: stretch !important; }
  .yw-summary { gap: 8px !important; margin: 12px 0 16px !important; }
  .yw-stat { padding: 12px !important; }
  .yw-grid { gap: 16px !important; }
  .yw-panel-head { padding: 15px !important; }
  .yw-body { padding: 13px !important; }
  .yw-group-grid,
  .yw-support-grid,
  .yw-squads { gap: 10px !important; }
  .yw-choice-group,
  .yw-squad { padding: 12px !important; }
  .yw-rank-item { padding: 12px !important; }
  .yw-rank-title-row { flex-direction: column; }

  /* 편성·시뮬레이션·상세 페이지 */
  .arena-slots,
  .arena-slot-form,
  .arena-result-head,
  .deck-basic-info,
  .deck-detail-stats,
  .member-grid,
  .formgrid,
  .simform {
    grid-template-columns: 1fr !important;
  }

  .arena-opponent { align-items: flex-start !important; flex-direction: column !important; gap: 12px !important; }
  .arena-rating { align-items: flex-start !important; }
  .tier-deck-card summary { grid-template-columns: auto minmax(0,1fr) !important; padding: 16px !important; }
  .tier-deck-card summary > :last-child { grid-column: 2; }
  .tier-detail-nav { gap: 7px !important; padding-bottom: 4px; }
  .board-layout,
  .account-grid,
  .tier-grid,
  .home-dashboard { grid-template-columns: 1fr !important; }
}

@media (max-width: 390px) {
  .nav-dropdown-menu { grid-template-columns: 1fr !important; }
  .deckrec-mode-grid { grid-template-columns: 1fr 1fr !important; }
  .yw-summary { grid-template-columns: 1fr 1fr !important; }
  .yw-stat strong { font-size: 19px !important; }
}
