/* ============================================================
   responsive.css — 断点适配（v1.1）
   ============================================================ */

@media (max-width: 1180px) {
  .hero {
    grid-template-columns: minmax(0, 1fr) minmax(0, 0.9fr);
    gap: 24px;
  }

  .stage {
    width: min(100%, 440px);
  }

  .stage__mascot {
    height: clamp(220px, 25vw, 300px);
  }

  .monitor {
    width: 158px;
    right: -5%;
  }
}

@media (max-width: 1024px) {
  .hero {
    grid-template-columns: minmax(0, 1fr);
    padding-top: 34px;
    gap: 20px;
  }

  .hero__stage {
    min-height: 0;
  }

  .stage {
    width: min(100%, 430px);
  }

  .hero__title {
    font-size: clamp(3.2rem, 11vw, 5.6rem);
  }

  .hero__watermark {
    font-size: 34vw;
    right: -6%;
    top: 2%;
  }

  .court {
    grid-template-columns: minmax(0, 1fr);
    padding-top: 24px;
  }

  .court__stack {
    order: 1;
  }

  .court__aside {
    order: 2;
  }

  .report__body {
    grid-template-columns: minmax(0, 1fr);
  }

  .report__score {
    grid-column: 1 / 2;
    grid-row: 1 / 2;
    padding-bottom: 0;
  }

  .report__verdict {
    grid-column: 1 / 2;
    grid-row: 2 / 3;
  }

  .report__stamp {
    grid-column: 1 / 2;
    grid-row: 2 / 3;
    justify-self: end;
  }

  .report__mascot {
    height: 104px;
  }

  .foot__inner {
    grid-template-columns: minmax(0, 1fr);
  }

  .foot__mascot {
    display: none;
  }
}

@media (max-width: 900px) {
  .stats__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px 10px;
  }

  .stat:nth-child(3) {
    border-left: 0;
    padding-left: 0;
  }

  .stat:nth-child(3),
  .stat:nth-child(4) {
    padding-top: 12px;
    border-top: 2px dashed rgba(25, 20, 16, 0.2);
  }

  .gallery__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .memes__rail {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
  }

  .meme img {
    height: 130px;
  }
}

@media (max-width: 760px) {
  .ticker {
    height: 31px;
    font-size: 10.5px;
  }

  .hero__eyebrow {
    font-size: 9.5px;
    letter-spacing: 0.06em;
  }

  .hero__title {
    font-size: clamp(2.9rem, 12vw, 4.4rem);
    letter-spacing: 0.01em;
  }

  .hero__meta {
    gap: 4px 12px;
    font-size: 10.5px;
  }

  .hero__scroll {
    display: none;
  }

  .form-row,
  .form-row--split {
    grid-template-columns: minmax(0, 1fr);
    gap: 16px;
  }

  .card {
    padding: 24px 20px;
  }

  .report__head {
    padding: 18px 20px;
  }

  .report__meta {
    text-align: left;
  }

  .report__body {
    padding: 22px 20px 26px;
  }

  .report__foot {
    padding: 18px 20px;
  }

  .report__actions {
    width: 100%;
  }

  .report__actions .btn {
    flex: 1 1 auto;
  }

  .board__row {
    grid-template-columns: 34px minmax(0, 1fr) minmax(64px, 0.7fr) 72px;
    gap: 8px;
    padding: 9px 10px;
  }

  .board__name {
    font-size: 14.5px;
  }

  .board__score {
    font-size: 12px;
  }

  .toasts {
    bottom: 16px;
  }

  .toast {
    font-size: 12px;
    padding: 9px 14px;
  }

  .scan-visual {
    height: 128px;
  }

  .scan-visual img {
    height: 116px;
  }

  .scanner__panel {
    padding: 18px;
  }

  .float-layer {
    display: none;
  }

  .bg-deco__float {
    display: none;
  }

  .bg-deco__word--a {
    display: none;
  }

  .section-no {
    top: -28px;
    font-size: 64px;
  }

  .paper-stack__sheet {
    display: none;
  }

  .court__peek {
    top: -44px;
    width: 76px;
  }

  .stage__note {
    display: none;
  }

  .monitor {
    width: 118px;
    right: -4%;
    bottom: 2%;
  }

  .monitor__head,
  .monitor__foot {
    font-size: 7px;
    padding: 4px 6px;
  }

  .monitor__screen img {
    width: 72%;
  }

  .gallery__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }

  .pose__img {
    --pose-h: 150px;
  }

  .pose__meta b {
    font-size: 17px;
  }

  .memes__rail {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .meme img {
    height: 120px;
  }

  .dock__btn {
    width: 42px;
    height: 42px;
  }

  .dock__btn--mascot img {
    width: 30px;
  }

  .foot__word {
    font-size: 34vw;
  }
}

@media (max-width: 560px) {
  :root {
    --bw: 2.5px;
    --shadow-hard: 5px 5px 0 var(--ink);
    --shadow-lift: 7px 7px 0 var(--ink);
  }

  .page {
    width: min(100% - 28px, var(--page));
  }

  .hero__cta {
    gap: 10px;
  }

  .hero__cta .btn {
    flex: 1 1 100%;
  }

  .hero__watermark {
    display: none;
  }

  .monitor {
    display: none;
  }

  .stage {
    width: min(100%, 340px);
  }

  .stage__mascot {
    height: clamp(200px, 54vw, 270px);
  }

  .stage__badge--confidential {
    right: -2%;
  }

  .stage__sticker--1 {
    width: 54px;
    right: 3%;
    top: 4%;
  }

  .stage__sticker--2 {
    display: none;
  }

  .stage__sticker--3 {
    display: none;
  }

  .stats {
    margin-top: -18px;
  }

  .stats__card {
    rotate: 0deg;
    padding: 16px 16px 18px;
  }

  .section-head__aside {
    display: none;
  }

  .section-head__title {
    font-size: clamp(1.5rem, 7vw, 2rem);
  }

  .gallery__grid {
    gap: 10px;
  }

  .pose {
    padding: 14px 8px 10px;
  }

  .pose__img {
    --pose-h: 112px;
  }

  .pose__meta b {
    font-size: 16px;
  }

  .memes__rail {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .meme img {
    height: 104px;
  }

  .meme figcaption {
    font-size: 10px;
  }

  .board__row {
    grid-template-columns: 26px minmax(0, 1fr) 62px;
  }

  .board__meter {
    display: none;
  }

  .board__list {
    gap: 6px;
  }

  .report__meta {
    gap: 14px;
  }

  .report__field {
    grid-template-columns: 48px minmax(0, 1fr);
    font-size: 13px;
  }

  .report__value {
    font-size: 14.5px;
  }

  .report__number {
    letter-spacing: -0.04em;
  }

  .report__mascot {
    height: 82px;
  }

  .report__stamp {
    width: 80px;
    margin: 0 -4px 0 0;
  }

  .board__note {
    text-align: left;
  }

  .foot {
    padding-bottom: 40px;
  }
}

/* 横屏矮设备 */
@media (max-height: 560px) and (orientation: landscape) {
  .scanner {
    place-items: start center;
    overflow: auto;
    padding: 10px;
  }

  .scan-visual {
    height: 96px;
  }

  .scan-visual img {
    height: 88px;
  }

  .scan-log {
    height: 62px;
  }
}

/* 减少动效 */
@media (prefers-reduced-motion: reduce) {
  .stage__ring,
  .stage__mascot,
  .scan-visual__beam,
  .float-layer,
  .egg__img,
  .bg-deco__float,
  .stage__sticker {
    animation: none !important;
  }

  .bg-deco__word,
  .hero__watermark {
    display: none;
  }
}

