/* 共鸣计算器布局覆盖：桌面端使用固定步骤轨道，移动端保持紧凑的一页式装配。 */
@media (min-width: 78.01rem) {
  .resonance-builder.is-one-page {
    display: grid;
    grid-template-columns: 10.5rem minmax(0, 1fr);
    align-items: start;
  }
  .resonance-builder .rs-reference-appbar {
    grid-column: 1 / -1;
    grid-row: 1;
  }
  .resonance-builder .rs-live-notice {
    grid-column: 1 / -1;
    grid-row: 2;
  }
  .resonance-builder .rs-panel-nav {
    grid-column: 1;
    grid-row: 3;
    grid-template-columns: 1fr;
    align-self: start;
    top: 4.7rem;
    overflow: hidden;
    border-right: 1px solid var(--ency-line);
    border-bottom: 0;
    border-radius: 0 0 0 .9rem;
  }
  .resonance-builder .rs-panel-nav button {
    min-height: 3.7rem;
    grid-template-columns: 2rem minmax(0, 1fr);
    padding: .7rem .75rem;
    text-align: left;
  }
  .resonance-builder .rs-panel-nav small {
    display: grid;
    width: 1.7rem;
    aspect-ratio: 1;
    place-items: center;
    border: 1px solid currentColor;
    border-radius: 50%;
  }
  .resonance-builder .rs-panel-nav strong {
    font-size: .63rem;
    white-space: normal;
  }
  .resonance-builder .rs-builder-layout {
    grid-column: 2;
    grid-row: 3;
  }
}

@media (min-width: 40.01rem) and (max-width: 78rem) {
  .resonance-builder .rs-panel-nav {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (max-width: 40rem) {
  .resonance-builder .rs-reference-appbar {
    gap: .4rem;
    padding: .55rem .65rem;
  }
  .resonance-builder .rs-reference-title > span { font-size: 1.15rem; }
  .resonance-builder .rs-reference-title strong { font-size: .78rem; }
  .resonance-builder .rs-reference-plan {
    grid-template-columns: minmax(0, 1fr) auto auto;
    gap: .3rem;
  }
  .resonance-builder .rs-reference-plan button { padding: .4rem .48rem; }
  .resonance-builder .rs-panel-nav {
    top: 3.8rem;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1px;
  }
  .resonance-builder .rs-panel-nav button {
    min-height: 2.75rem;
    grid-template-columns: 1fr;
    justify-items: center;
    gap: .18rem;
    padding: .38rem .2rem;
    text-align: center;
  }
  .resonance-builder .rs-panel-nav small { font-size: .42rem; }
  .resonance-builder .rs-panel-nav strong {
    font-size: .49rem;
    text-overflow: clip;
    white-space: normal;
  }
  .resonance-builder .rs-builder-main { padding: .65rem; }
  .resonance-builder .rs-reference-hero-stage {
    min-height: 0;
    grid-template-columns: 1fr;
  }
  .resonance-builder .rs-reference-hero-stage .rs-selected-hero-art {
    min-height: 9.5rem;
  }
  .resonance-builder .rs-reference-hero-stage .rs-selected-hero-art img {
    height: 9.5rem;
  }
  .resonance-builder .rs-reference-hero-copy {
    padding: .72rem .85rem .9rem;
  }
  .resonance-builder .rs-reference-hero-copy h4 { font-size: 2rem; }
  .resonance-builder .rs-reference-hero-copy p {
    display: -webkit-box;
    margin-top: .45rem;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
  }
  .resonance-builder .rs-hero-picker {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    max-height: 17rem;
    overflow-y: auto;
  }
  .resonance-builder .rs-set-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .resonance-builder .rs-set-choice {
    grid-template-columns: 3rem minmax(0, 1fr);
    gap: .45rem;
    padding: .45rem;
  }
  .resonance-builder .rs-set-choice > span:first-child { width: 3rem; height: 3rem; }
  .resonance-builder .rs-set-choice p { -webkit-line-clamp: 1; }
  .resonance-builder .rs-selected-loadout > div {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: .2rem;
  }
  .resonance-builder .rs-selected-slot > button:first-child { padding: .28rem .12rem .38rem; }
  .resonance-builder .rs-selected-slot > button:first-child > span { width: 2rem; height: 2rem; }
  .resonance-builder .rs-selected-slot strong { font-size: .42rem; }
  .resonance-builder .rs-inscription-slots {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: .18rem;
  }
  .resonance-builder .rs-inscription-slots button { padding: .25rem .08rem; }
  .resonance-builder .rs-inscription-slots button > span { width: 1.85rem; height: 1.85rem; }
  .resonance-builder .rs-inscription-slots small { font-size: .36rem; }
  .resonance-builder .rs-build-summary {
    padding: .7rem;
    border-top: 2px solid #8fb4d7;
  }
  .resonance-builder .rs-build-summary > header {
    min-height: 5.2rem;
    grid-template-columns: minmax(0, 1fr) 5.2rem;
  }
  .resonance-builder .rs-summary-hero { width: 5.2rem; height: 5.2rem; }
}
