/* Shared dialog finish: presentation only; retain original controls and data. */
:is(#feedbackPanel, #posterLinkPanel, #campHeroPanel) {
  --dialog-muted: #706a60;
  font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", sans-serif;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.5;
  padding: 20px;
  overscroll-behavior: contain;
}
:is(#feedbackPanel, #posterLinkPanel, #campHeroPanel) :is(button, input, textarea) {
  font-family: inherit;
  font-weight: 400;
  letter-spacing: normal;
}
:is(#feedbackPanel, #posterLinkPanel, #campHeroPanel) :is(.feedback-box, .poster-link-box, .camp-hero-panel-box) {
  padding: 24px;
  max-height: calc(100vh - 40px);
  max-height: calc(100dvh - 40px);
  overflow: auto;
  overscroll-behavior: contain;
  border: 0;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 20px 64px #302c2730;
  scrollbar-width: thin;
  scrollbar-color: #d3cdc2 transparent;
}
#feedbackPanel .feedback-box { width: min(480px, 100%); }
#posterLinkPanel .poster-link-box { width: min(620px, 100%); }
#campHeroPanel .camp-hero-panel-box { width: min(640px, 100%); }
:is(#feedbackPanel, #posterLinkPanel, #campHeroPanel) :is(.feedback-head, .poster-link-head, .camp-hero-panel-head) {
  position: static;
  margin: 0 0 20px;
  padding: 0;
  border: 0;
  gap: 16px;
  align-items: flex-start;
}
:is(#feedbackPanel, #posterLinkPanel, #campHeroPanel) h2 {
  margin: 6px 0 0;
  font-size: 22px;
  font-weight: 500;
  line-height: 1.4;
  overflow-wrap: anywhere;
}
:is(#feedbackPanel, #posterLinkPanel, #campHeroPanel) :is(.feedback-close, .poster-link-close, .camp-hero-panel-close) {
  flex: 0 0 44px;
  width: 44px;
  height: 44px;
  min-height: 44px;
  padding: 0;
  border: 0;
  border-radius: 10px;
  background: #f6f4ef;
  color: #706a60;
  font-size: 26px;
  font-weight: 400;
  box-shadow: none;
}
:is(#feedbackPanel, #posterLinkPanel, #campHeroPanel) button:focus-visible {
  outline: 2px solid #856023;
  outline-offset: 3px;
}
:is(#feedbackPanel, #posterLinkPanel, #campHeroPanel) button:hover:not(:disabled) { filter: brightness(.97); }
:is(#feedbackPanel, #posterLinkPanel, #campHeroPanel) button:disabled { cursor: not-allowed; opacity: .58; }
#feedbackPanel .feedback-form { gap: 20px; }
#feedbackPanel .feedback-form label { font-size: 15px; font-weight: 400; gap: 10px; }
#feedbackPanel .feedback-form textarea {
  min-height: 124px;
  padding: 12px 14px;
  border: 1px solid #ddd8cf;
  border-radius: 10px;
  background: #fcfbf8;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.65;
  caret-color: #856023;
  box-shadow: none;
}
#feedbackPanel textarea::placeholder { color: var(--dialog-muted); opacity: 1; font-weight: 400; }
#feedbackPanel textarea:focus { outline: 2px solid #ad8346; outline-offset: 1px; }
#feedbackPanel .feedback-captcha-row { grid-template-columns: 1fr; gap: 8px; }
#feedbackPanel #feedbackCaptchaText { display: block; margin-bottom: 10px; color: var(--dialog-muted); font-size: 14px; }
#feedbackPanel .feedback-slider-tip { color: var(--dialog-muted); font-size: 13px; font-weight: 400; }
#feedbackPanel .feedback-slider-track { border-radius: 10px; }
#feedbackPanel .feedback-slider-handle { border-radius: 8px; box-shadow: none; }
#feedbackPanel #refreshFeedbackCaptcha {
  justify-self: start;
  min-height: 44px;
  padding: 8px 12px;
  border: 1px solid #e7e2d9;
  border-radius: 8px;
  background: #fff;
  color: #77541e;
  font-size: 14px;
}
#feedbackPanel #feedbackSubmitButton { min-height: 48px; border-radius: 10px; font-size: 16px; font-weight: 500; }
#feedbackPanel .feedback-message { min-height: 0; font-size: 14px; font-weight: 400; }
#feedbackPanel .feedback-message:empty { display: none; }
#posterLinkPanel .poster-link-list { gap: 0; }
#posterLinkPanel .poster-link-row {
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 4px 16px;
  padding: 16px 0;
  background: transparent;
  border: 0;
  border-top: 1px solid #e9e5de;
  border-radius: 0;
}
#posterLinkPanel .poster-link-name { grid-column: 1; color: var(--text); font-size: 16px; font-weight: 500; }
#posterLinkPanel .poster-link-url { grid-column: 1; font-size: 13px; font-weight: 400; color: var(--dialog-muted); }
#posterLinkPanel .poster-copy-btn {
  grid-column: 2;
  grid-row: 1 / span 2;
  min-width: 88px;
  min-height: 44px;
  padding: 8px 12px;
  border-radius: 8px;
  font-size: 14px;
}
#campHeroPanel .camp-hero-panel-titleline { gap: 14px; align-items: flex-start; }
#campHeroPanel .camp-hero-panel-avatar { width: 56px; height: 56px; border: 0; box-shadow: none; border-radius: 10px; margin-top: 4px; }
#campHeroPanel .camp-hero-panel-titleline p { margin-top: 5px; font-size: 13px; font-weight: 400; color: var(--dialog-muted); }
#campHeroPanel .camp-hero-compare-toggle { min-height: 44px; margin-top: 10px; padding: 8px; border: 0; border-radius: 8px; font-size: 13px; }
#campHeroPanel .camp-hero-mode-list { gap: 0; }
#campHeroPanel .camp-hero-mode-card { gap: 14px; padding: 18px 0; border: 0; border-top: 1px solid #e9e5de; border-radius: 0; background: transparent; }
#campHeroPanel .camp-hero-mode-head { font-size: 15px; font-weight: 500; }
#campHeroPanel .camp-hero-mode-head strong { font-weight: 500; }
#campHeroPanel .camp-hero-mode-head span { font-size: 13px; font-weight: 400; color: var(--dialog-muted); }
#campHeroPanel .camp-hero-mode-card.active .camp-hero-mode-head { color: #77541e; }
#campHeroPanel .camp-hero-mode-metrics { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
#campHeroPanel .camp-hero-mode-metric { padding: 0; gap: 7px; border: 0; border-radius: 0; background: transparent; }
#campHeroPanel .camp-hero-mode-metric > span { font-size: 13px; font-weight: 400; color: var(--dialog-muted); }
#campHeroPanel .camp-hero-mode-metric-value { grid-template-columns: 1fr; gap: 6px; }
#campHeroPanel .camp-hero-mode-metric strong { font-size: 26px; font-weight: 500; line-height: 1.25; font-variant-numeric: tabular-nums; }
#campHeroPanel .camp-hero-mode-trend { justify-self: start; font-size: 13px; font-weight: 400; line-height: 1.4; }
#campHeroPanel .camp-hero-mode-empty { font-weight: 400; }
@media (max-width: 600px) {
  :is(#feedbackPanel, #posterLinkPanel, #campHeroPanel) { padding: 12px; }
  :is(#feedbackPanel, #posterLinkPanel, #campHeroPanel) :is(.feedback-box, .poster-link-box, .camp-hero-panel-box) {
    padding: 18px;
    max-height: calc(100vh - 24px);
    max-height: calc(100dvh - 24px);
  }
  :is(#feedbackPanel, #posterLinkPanel, #campHeroPanel) h2 { font-size: 20px; }
  #campHeroPanel .camp-hero-panel-titleline { gap: 10px; }
  #campHeroPanel .camp-hero-panel-avatar { width: 44px; height: 44px; }
  #campHeroPanel .camp-hero-mode-metrics { gap: 10px; }
  #campHeroPanel .camp-hero-mode-metric strong { font-size: 22px; }
  #posterLinkPanel .poster-link-row { gap: 4px 10px; }
}
