/* ===== 反馈通道页 · page-contact ===== */

.page-contact {
  --pc-rule: 2px solid var(--ink-line);
  --pc-pad: 18px;
}

/* --- 面包屑与刊头 --- */
.page-contact .breadcrumb {
  padding-block: var(--gap-md) 0;
}

.page-contact .pc-masthead {
  padding-block: var(--gap-lg);
  border-bottom: var(--pc-rule);
}

.page-contact .pc-masthead__title {
  font-family: var(--font-display);
  font-size: var(--fs-6);
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -0.01em;
  color: var(--paper);
  max-width: 20ch;
  margin-block: var(--gap-sm) var(--gap-md);
}

.page-contact .pc-masthead__lead {
  max-width: 64ch;
  margin: 0;
  font-size: var(--fs-3);
  line-height: 1.8;
  color: var(--quiet-blue);
}

/* --- 页内跳转条 --- */
.page-contact .pc-jump {
  border-bottom: 1px solid var(--ink-line);
}

.page-contact .pc-jump__inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--gap-xs) var(--gap-sm);
  padding-block: var(--gap-md);
}

.page-contact .pc-jump__label {
  font-family: var(--font-mono);
  font-size: var(--fs-1);
  letter-spacing: 0.12em;
  color: var(--quiet-blue);
}

.page-contact .pc-jump__list {
  display: flex;
  flex-wrap: wrap;
  gap: var(--gap-xs) var(--gap-xs);
  list-style: none;
  margin: 0;
  padding: 0;
}

.page-contact .pc-jump__list a {
  display: inline-block;
  padding: 4px 10px;
  border: 1px solid var(--ink-line);
  font-family: var(--font-mono);
  font-size: var(--fs-1);
  color: var(--neon-cyan);
  text-decoration: none;
  transition: border-color 180ms ease, background-color 180ms ease;
}

.page-contact .pc-jump__list a:hover {
  border-color: var(--neon-cyan);
  background: var(--ink-deep);
}

.page-contact .pc-jump__list a:focus-visible {
  outline: 2px solid var(--neon-cyan);
  outline-offset: 2px;
}

/* --- 章节骨架 --- */
.page-contact .pc-block {
  padding-block: var(--gap-xl);
  border-bottom: 1px solid var(--ink-line);
  scroll-margin-top: 120px;
}

.page-contact .pc-block--last {
  border-bottom: none;
}

.page-contact .pc-block__grid {
  display: grid;
  gap: var(--gap-lg);
}

.page-contact .pc-block__num {
  display: block;
  font-family: var(--font-mono);
  font-size: var(--fs-3);
  font-weight: 700;
  letter-spacing: 0.1em;
  color: var(--neon-cyan);
}

.page-contact .pc-block__title {
  font-family: var(--font-sans);
  font-size: var(--fs-4);
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 1.25;
  color: var(--paper);
  margin-block: 6px 0;
}

.page-contact .pc-block__note {
  margin-block: var(--gap-xs) 0;
  font-size: var(--fs-1);
  line-height: 1.6;
  color: var(--quiet-blue);
}

.page-contact .pc-text {
  max-width: 68ch;
  margin: 0 0 var(--gap-md);
  font-size: var(--fs-2);
  line-height: 1.8;
  color: var(--quiet-blue);
}

.page-contact .pc-text--tight {
  margin-block: var(--gap-md) 0;
}

/* --- 提交前准备：编号清单 --- */
.page-contact .pc-checklist {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: var(--gap-sm);
}

.page-contact .pc-checklist__item {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: var(--gap-sm);
  align-items: start;
  padding: var(--pc-pad);
  border: var(--pc-rule);
  background: var(--ink-deep);
  box-shadow: var(--shadow-brut-sm);
}

.page-contact .pc-checklist__idx {
  font-family: var(--font-mono);
  font-size: var(--fs-3);
  font-weight: 700;
  line-height: 1;
  color: var(--warm-gold);
}

.page-contact .pc-checklist__main {
  display: grid;
  gap: 6px;
}

.page-contact .pc-checklist__title {
  font-family: var(--font-sans);
  font-size: var(--fs-3);
  font-weight: 800;
  letter-spacing: -0.01em;
  color: var(--paper);
  margin: 0;
}

.page-contact .pc-checklist__desc {
  margin: 0;
  font-size: var(--fs-2);
  line-height: 1.75;
  color: var(--quiet-blue);
}

/* --- 问题类型选项卡 --- */
.page-contact .pc-tabs {
  position: relative;
}

.page-contact .pc-tabs__bar {
  display: flex;
  flex-wrap: wrap;
  gap: var(--gap-xs);
  margin-bottom: var(--gap-md);
}

.page-contact .pc-tabs__input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}

.page-contact .pc-tabs__chip {
  display: inline-block;
  padding: 8px 16px;
  border: var(--pc-rule);
  background: var(--ink-deep);
  font-family: var(--font-mono);
  font-size: var(--fs-1);
  letter-spacing: 0.04em;
  color: var(--quiet-blue);
  cursor: pointer;
  user-select: none;
  transition: background-color 180ms ease, color 180ms ease, border-color 180ms ease;
}

.page-contact .pc-tabs__chip:hover {
  border-color: var(--neon-cyan);
  color: var(--paper);
}

.page-contact .pc-tabs__input:checked + .pc-tabs__chip {
  background: var(--neon-cyan);
  border-color: var(--neon-cyan);
  color: var(--ink-night);
  font-weight: 700;
}

.page-contact .pc-tabs__input:focus-visible + .pc-tabs__chip {
  outline: 2px solid var(--neon-cyan);
  outline-offset: 2px;
}

.page-contact .pc-tabs__panel {
  display: none;
}

.page-contact #pc-issue-1:checked ~ .pc-tabs__panels > #pc-panel-1,
.page-contact #pc-issue-2:checked ~ .pc-tabs__panels > #pc-panel-2,
.page-contact #pc-issue-3:checked ~ .pc-tabs__panels > #pc-panel-3,
.page-contact #pc-issue-4:checked ~ .pc-tabs__panels > #pc-panel-4 {
  display: block;
}

.page-contact .pc-def {
  margin: 0;
  border: var(--pc-rule);
  background: var(--ink-deep);
  padding: var(--pc-pad);
  display: grid;
}

.page-contact .pc-def__row {
  display: grid;
  gap: 6px;
  padding-block: var(--gap-sm);
  border-bottom: 1px dashed var(--ink-line);
}

.page-contact .pc-def__row:first-child {
  padding-top: 0;
}

.page-contact .pc-def__row:last-child {
  padding-bottom: 0;
  border-bottom: none;
}

.page-contact .pc-def__k {
  font-family: var(--font-mono);
  font-size: var(--fs-1);
  letter-spacing: 0.08em;
  color: var(--neon-cyan);
}

.page-contact .pc-def__v {
  margin: 0;
  font-size: var(--fs-2);
  line-height: 1.75;
  color: var(--paper);
}

.page-contact .pc-def__v a {
  color: var(--neon-cyan);
}

/* --- 通道卡片 --- */
.page-contact .pc-channel-grid {
  display: grid;
  gap: var(--gap-sm);
}

.page-contact .pc-channel {
  display: grid;
  align-content: start;
  gap: 8px;
  padding: var(--pc-pad);
  border: var(--pc-rule);
  background: var(--ink-deep);
  box-shadow: var(--shadow-brut-sm);
  transition: border-color 180ms ease;
}

.page-contact .pc-channel:hover,
.page-contact .pc-channel:focus-within {
  border-color: var(--neon-cyan);
}

.page-contact .pc-channel__tag {
  font-family: var(--font-mono);
  font-size: var(--fs-1);
  letter-spacing: 0.12em;
  color: var(--magenta);
}

.page-contact .pc-channel__name {
  margin: 0;
  font-family: var(--font-sans);
  font-size: var(--fs-3);
  font-weight: 800;
  letter-spacing: -0.01em;
  color: var(--paper);
}

.page-contact .pc-channel__desc {
  margin: 0;
  font-size: var(--fs-2);
  line-height: 1.75;
  color: var(--quiet-blue);
}

.page-contact .pc-channel__meta {
  margin: var(--gap-xs) 0 0;
  padding-top: var(--gap-xs);
  border-top: 1px dashed var(--ink-line);
  font-family: var(--font-mono);
  font-size: var(--fs-1);
  line-height: 1.6;
  color: var(--warm-gold);
}

.page-contact .pc-channel__meta a {
  color: var(--neon-cyan);
  text-decoration: none;
}

.page-contact .pc-channel__meta a:hover {
  text-decoration: underline;
}

/* --- 时段条 --- */
.page-contact .pc-hours {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: var(--gap-xs) var(--gap-md);
  margin-top: var(--gap-md);
  padding: var(--pc-pad);
  border: var(--pc-rule);
  border-left: 6px solid var(--warm-gold);
  background: var(--ink-deep);
}

.page-contact .pc-hours__label {
  font-family: var(--font-mono);
  font-size: var(--fs-1);
  letter-spacing: 0.1em;
  color: var(--quiet-blue);
}

.page-contact .pc-hours__value {
  font-family: var(--font-mono);
  font-size: var(--fs-3);
  font-weight: 700;
  color: var(--warm-gold);
}

.page-contact .pc-hours__hint {
  flex: 1 1 100%;
  font-size: var(--fs-1);
  line-height: 1.6;
  color: var(--quiet-blue);
}

/* --- 七段母题光带 --- */
.page-contact .pc-rule {
  height: 6px;
  background: linear-gradient(
    90deg,
    var(--neon-cyan) 0 14%,
    var(--warm-gold) 14% 28%,
    var(--magenta) 28% 42%,
    var(--neon-cyan) 42% 57%,
    var(--warm-gold) 57% 71%,
    var(--magenta) 71% 85%,
    var(--neon-cyan) 85% 100%
  );
}

/* --- 图片容器 --- */
.page-contact .media-frame {
  border: var(--pc-rule);
  background: var(--ink-deep);
  margin: 0;
}

.page-contact .media-frame img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  object-fit: cover;
}

.page-contact .pc-figure {
  margin-top: var(--gap-lg);
}

.page-contact .pc-figure--align {
  margin-top: 0;
}

/* --- 联系信息 --- */
.page-contact .pc-contact-grid {
  display: grid;
  gap: var(--gap-lg);
}

.page-contact .pc-contact-list {
  margin: 0;
  border: var(--pc-rule);
  background: var(--paper);
  color: var(--body-ink);
  box-shadow: var(--shadow-brut-sm);
}

.page-contact .pc-contact-list__row {
  display: grid;
  gap: 6px;
  padding: var(--pc-pad);
  border-bottom: var(--pc-rule);
}

.page-contact .pc-contact-list__row:last-child {
  border-bottom: none;
}

.page-contact .pc-contact-list dt {
  font-family: var(--font-sans);
  font-size: var(--fs-1);
  font-weight: 800;
  letter-spacing: 0.06em;
  color: var(--ink-deep);
}

.page-contact .pc-contact-list dd {
  margin: 0;
  font-family: var(--font-mono);
  font-size: var(--fs-2);
  line-height: 1.6;
  color: var(--body-ink);
  word-break: break-word;
}

/* --- 备案面板 --- */
.page-contact .pc-legal {
  display: grid;
  gap: var(--gap-xs);
  padding: var(--pc-pad) var(--gap-md);
  border: var(--pc-rule);
  border-left: 6px solid var(--retro-orange);
  background: var(--paper);
  color: var(--body-ink);
}

.page-contact .pc-legal__code {
  font-family: var(--font-mono);
  font-size: var(--fs-3);
  font-weight: 700;
  color: var(--body-ink);
}

.page-contact .pc-legal__note {
  margin: 0;
  font-size: var(--fs-2);
  line-height: 1.75;
  color: var(--body-ink);
}

/* --- 不受理范围 --- */
.page-contact .pc-scope {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: var(--gap-sm);
}

.page-contact .pc-scope__item {
  padding: var(--gap-sm) var(--gap-md);
  border: 1px solid var(--ink-line);
  border-left: 4px solid var(--magenta);
  background: var(--ink-deep);
}

.page-contact .pc-scope__title {
  margin: 0 0 6px;
  font-family: var(--font-sans);
  font-size: var(--fs-3);
  font-weight: 800;
  letter-spacing: -0.01em;
  color: var(--paper);
}

.page-contact .pc-scope__desc {
  margin: 0;
  font-size: var(--fs-2);
  line-height: 1.75;
  color: var(--quiet-blue);
}

.page-contact .pc-actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--gap-sm);
  margin-top: var(--gap-lg);
}

/* --- 动效（渐进增强，reduced-motion 下静态） --- */
.page-contact [data-reveal] {
  opacity: 1;
}

@media (prefers-reduced-motion: no-preference) {
  .page-contact .js-reveal [data-reveal] {
    opacity: 0;
    transform: translateY(16px);
  }

  .page-contact .js-reveal [data-reveal].is-revealed {
    opacity: 1;
    transform: none;
    transition: opacity 420ms cubic-bezier(.2, .7, .2, 1), transform 420ms cubic-bezier(.2, .7, .2, 1);
  }
}

/* --- 响应式 --- */
@media (min-width: 640px) {
  .page-contact {
    --pc-pad: 22px;
  }

  .page-contact .pc-channel-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 900px) {
  .page-contact .pc-masthead {
    padding-block: var(--gap-xl);
  }

  .page-contact .pc-block__grid {
    grid-template-columns: minmax(180px, 26%) minmax(0, 1fr);
    gap: var(--gap-xl);
    align-items: start;
  }

  .page-contact .pc-block__aside {
    position: sticky;
    top: 116px;
  }

  .page-contact .pc-contact-grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: start;
  }
}

@media (min-width: 1100px) {
  .page-contact .pc-checklist {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
