.support-manager {
  margin-bottom: 22px;
  padding: 16px;
  border: 1px solid rgba(190, 137, 45, .72);
  border-radius: 10px;
  background: linear-gradient(110deg, rgba(67, 32, 10, .86), rgba(10, 8, 6, .92));
}
.support-manager [hidden], .support-editor[hidden] { display: none !important; }
.support-manager-head { display: flex; gap: 16px; align-items: center; justify-content: space-between; }
.support-manager-head p { margin: 0 0 4px; color: #d99a32; font: 700 .72rem Georgia, serif; letter-spacing: .18em; }
.support-manager-head strong { color: #ffe4a4; }
.support-manager-head small { display: block; margin-top: 5px; color: #a99878; }
.support-login-form, .support-admin-bar { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.support-login-form input {
  width: 150px; padding: 9px 11px; border: 1px solid #9e6d26; border-radius: 6px;
  color: #f5ead4; background: rgba(0,0,0,.7);
}
.support-manager button, .support-block-controls button {
  padding: 8px 12px; border: 1px solid #bc893b; border-radius: 6px; color: #ffe5ab;
  background: linear-gradient(#6e2a10, #351006); cursor: pointer;
}
.support-manager button.primary { color: #311800; background: linear-gradient(#f8d371, #b96c11); }
.support-manager button.danger, .support-block-controls button.danger { border-color: #a24734; color: #ffc0ac; }
.support-manager button:disabled, .support-block-controls button:disabled { opacity: .4; cursor: default; }
.support-manager button.has-changes { box-shadow: 0 0 0 2px rgba(255,205,91,.28), 0 0 18px rgba(236,150,28,.2); }
.support-block { position: relative; }
.support-block-details > summary { position: relative; padding-right: 92px; cursor: pointer; list-style: none; user-select: none; }
.support-block-details > summary::-webkit-details-marker { display: none; }
.support-block-details > summary::after {
  content: "展開 ＋"; position: absolute; right: 18px; top: 50%; transform: translateY(-50%);
  color: #eab959; font-size: .84rem; white-space: nowrap;
}
.support-block-details[open] > summary::after { content: "收合 －"; }
.support-block-details[open] > summary { border-bottom: 1px solid rgba(190,137,45,.36); }
.support-block-details.support-block-always-open > summary { padding-right: 20px; cursor: default; }
.support-block-details.support-block-always-open > summary::after { display: none; }
.support-block-controls {
  display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px;
  padding: 10px 16px; border-top: 1px solid rgba(190,137,45,.24); background: rgba(0,0,0,.2);
}
.support-block-controls button { padding: 6px 9px; font-size: .82rem; }
.support-block-body { padding: 20px; color: #d7c7aa; line-height: 1.8; }
.support-block-body > :first-child { margin-top: 0; }
.support-block-body > :last-child { margin-bottom: 0; }
.support-block-body a { color: #ffd368; text-decoration: underline; text-underline-offset: 3px; }
.support-block-body img { max-width: 100%; height: auto; }
.support-block-flow .support-block-body { padding: 0; }
.support-block-flow .support-steps { margin: 0; }
.support-block-gift .support-block-body { padding: 0; }
.support-block-gift .milestone-intro { padding: 18px 20px 0; }
.support-block-gift .gift-note { margin: 0; }
.support-block-line { border-color: rgba(95, 178, 99, .62); background: linear-gradient(125deg, rgba(8,38,22,.9), rgba(8,8,6,.94)); }
.support-block-line .panel-heading { background: linear-gradient(90deg, rgba(15,79,42,.72), rgba(18,13,9,.82)); }
.support-block-line .line-button { display: inline-block; text-decoration: none; }
.support-empty { margin: 18px 0; padding: 28px; border: 1px dashed rgba(184,133,48,.5); color: #bca984; text-align: center; }
.support-editor { margin: 24px 0; }
.support-editor-note { margin: 0; padding: 0 22px 18px; color: #ad9c7b; }
.support-editor .rich-editor-area { min-height: 260px; }
@media (max-width: 820px) {
  .support-manager-head { align-items: stretch; flex-direction: column; }
  .support-login-form input { flex: 1 1 140px; width: auto; }
  .support-block-controls { width: auto; }
}
@media (max-width: 560px) {
  .support-block-details > summary { padding-right: 74px; }
  .support-block-details > summary::after { right: 10px; font-size: .75rem; }
  .support-admin-bar > button, .support-block-controls button { flex: 1 1 auto; }
  .support-editor label, .support-editor .editor-body-field { grid-template-columns: 1fr; }
}
