body.fan-subpage {
  --mint: var(--fan-pink);
  --paper: var(--fan-text);
  --line: var(--fan-line);
  --fan-input: #1b1a1f;
  --fan-input-border: #514950;
  --fan-soft: #302b32;
  --fan-bubble: #3b3540;
  background:
    radial-gradient(ellipse 80% 55% at 95% 5%, rgba(161, 102, 155, .14), transparent 70%),
    radial-gradient(ellipse 70% 45% at 2% 90%, rgba(111, 91, 156, .1), transparent 72%),
    var(--fan-bg);
  color: var(--fan-text);
}

.fan-subpage .fan-topbar { border-color: var(--fan-line); }
.fan-subpage .fan-quick-nav .member-label { color: var(--fan-pink); }
.fan-subpage .community-page,
.fan-subpage .info-page {
  max-width: 1440px;
  min-height: calc(100vh - 258px);
  margin-inline: auto;
  padding: 36px clamp(24px, 2.9vw, 42px) 90px;
  background: transparent;
}
.fan-subpage .community-page .community-heading,
.fan-subpage .info-heading {
  max-width: none;
  margin: 0 0 28px;
  padding: clamp(28px, 3vw, 42px);
  border: 1px solid var(--fan-line);
  border-radius: 22px;
  background: linear-gradient(105deg, #252128, #30232e);
}
.fan-subpage .community-page .community-heading .eyebrow,
.fan-subpage .info-heading .eyebrow {
  margin-bottom: 12px;
  color: var(--fan-pink);
  font-size: .8rem;
  letter-spacing: .14em;
}
.fan-subpage .community-page .community-heading h1,
.fan-subpage .info-heading h1 {
  margin: 0 0 12px;
  font-size: clamp(2.15rem, 4vw, 3.9rem);
  line-height: 1.14;
  letter-spacing: -.06em;
}
.fan-subpage .community-page .community-heading h1 br,
.fan-subpage .info-heading h1 br { display: none; }
.fan-subpage .community-page .community-heading em,
.fan-subpage .info-heading em { color: var(--fan-pink); }
.fan-subpage .community-page .community-heading > p:last-child,
.fan-subpage .info-heading > p:last-child { margin: 0; color: var(--fan-muted); }

.fan-subpage .page-tabs { max-width: none; margin-bottom: 20px; }
.fan-subpage .page-tabs button {
  min-width: 110px;
  padding: 12px 24px;
  border: 1px solid var(--fan-line);
  border-radius: 12px;
  background: var(--fan-card);
  color: var(--fan-muted);
}
.fan-subpage .page-tabs button:hover { border-color: var(--fan-pink); color: var(--fan-text); }
.fan-subpage .page-tabs button[aria-selected=true] {
  border-color: var(--fan-pink);
  background: var(--fan-pink);
  color: #29212a;
}
.fan-subpage .community-page .community-inner,
.fan-subpage .info-layout { max-width: none; }
.fan-subpage .community-panel,
.fan-subpage .info-sidebar,
.fan-subpage .info-main {
  border: 1px solid var(--fan-line);
  border-radius: 20px;
  background: var(--fan-panel);
  box-shadow: 0 18px 45px rgba(0, 0, 0, .12);
}
.fan-subpage .panel-heading,
.fan-subpage .notice-section,
.fan-subpage .forum-search,
.fan-subpage .post-editor,
.fan-subpage .post-card,
.fan-subpage .chat-form,
.fan-subpage .chat-disclaimer { border-color: var(--fan-line); }
.fan-subpage .panel-heading h2 { color: var(--fan-text); }
.fan-subpage .panel-kicker,
.fan-subpage .notice-section h3,
.fan-subpage .chat-author,
.fan-subpage .live-badge,
.fan-subpage .info-meta a,
.fan-subpage .markdown-body a,
.fan-subpage .post-title-button:hover,
.fan-subpage .more-button,
.fan-subpage .chat-result strong { color: var(--fan-pink); }
.fan-subpage .live-badge i { background: var(--fan-pink); box-shadow: 0 0 13px var(--fan-pink); }
.fan-subpage .panel-action,
.fan-subpage .solid-button,
.fan-subpage .forum-search button,
.fan-subpage .chat-form button,
.fan-subpage .comment-form button,
.fan-subpage .notice-badge,
.fan-subpage .streamer-badge {
  border: 0;
  border-radius: 11px;
  background: var(--fan-pink);
  color: #29212a;
  font-weight: 800;
}
.fan-subpage .panel-action:hover,
.fan-subpage .solid-button:hover,
.fan-subpage .forum-search button:hover,
.fan-subpage .chat-form button:hover,
.fan-subpage .comment-form button:hover { background: #ffd0e2; }
.fan-subpage .post-editor input,
.fan-subpage .post-editor textarea,
.fan-subpage .post-editor select,
.fan-subpage .forum-search input,
.fan-subpage .forum-search select,
.fan-subpage .chat-form input,
.fan-subpage .comment-form input {
  border: 1px solid var(--fan-input-border);
  background: var(--fan-input);
  color: var(--fan-text);
}
.fan-subpage input:focus-visible,
.fan-subpage textarea:focus-visible,
.fan-subpage select:focus-visible { outline: 2px solid var(--fan-pink); outline-offset: 2px; }
.fan-subpage input::placeholder,
.fan-subpage textarea::placeholder { color: var(--fan-muted); }
.fan-subpage .post-editor label,
.fan-subpage .post-title-button,
.fan-subpage .post-body,
.fan-subpage .post-tools button,
.fan-subpage .info-actions button { color: var(--fan-text); }
.fan-subpage .post-meta,
.fan-subpage .info-meta,
.fan-subpage .chat-meta,
.fan-subpage .chat-disclaimer,
.fan-subpage .markdown-hint,
.fan-subpage .info-history,
.fan-subpage .empty-state,
.fan-subpage .text-button,
.fan-subpage .chat-result time { color: var(--fan-muted); }
.fan-subpage .post-tools button,
.fan-subpage .info-actions button { border-color: var(--fan-input-border); }
.fan-subpage .post-tools button:hover,
.fan-subpage .info-actions button:hover { border-color: var(--fan-pink); color: var(--fan-pink); }
.fan-subpage .chat-bubble { background: var(--fan-bubble); color: var(--fan-text); }
.fan-subpage .chat-message.mine .chat-bubble { background: var(--fan-pink); color: #29212a; }
.fan-subpage .chat-messages { scrollbar-color: #8e6780 transparent; }
.fan-subpage .notice-section { background: var(--fan-soft); }
.fan-subpage .markdown-body pre { background: var(--fan-input); }
.fan-subpage .markdown-body blockquote { border-color: var(--fan-pink); background: var(--fan-soft); }
.fan-subpage .markdown-body .markdown-alert,
.fan-subpage .markdown-preview { border-color: var(--fan-pink); }
.fan-subpage .markdown-body input[type=checkbox] { accent-color: var(--fan-pink); }
.fan-subpage .info-sidebar { top: 178px; }
.fan-subpage .info-sidebar nav a { color: var(--fan-muted); }
.fan-subpage .info-sidebar nav a:hover,
.fan-subpage .info-sidebar nav a[aria-current=page] { background: var(--fan-soft); color: var(--fan-pink); }
.fan-subpage .info-history { display:grid; gap:12px; }
.fan-subpage .info-history[hidden] { display:none; }
.fan-subpage .info-history-item { display:grid; gap:8px; padding:15px 17px; border:1px solid var(--fan-line); border-radius:12px; background:var(--fan-card); }
.fan-subpage .info-history-item strong { color:var(--fan-text); font-size:.9rem; }
.fan-subpage .info-history-item span { color:var(--fan-muted); }
.fan-subpage .info-history-item summary { cursor:pointer; color:var(--fan-pink); font-weight:700; }
.fan-subpage .info-history-item pre { max-height:300px; overflow:auto; white-space:pre-wrap; overflow-wrap:anywhere; padding:14px; border-radius:10px; background:var(--fan-input); color:var(--fan-text); font:inherit; line-height:1.55; }
.fan-subpage .info-restore-button { justify-self:start; padding:8px 13px; border:1px solid var(--fan-pink); border-radius:9px; background:transparent; color:var(--fan-pink); font-weight:750; }
.fan-subpage .info-restore-button:hover { background:var(--fan-soft); }
.fan-subpage .info-restore-button:disabled { opacity:.55; cursor:wait; }
.fan-subpage .post-tags,.fan-subpage .post-reactions{display:flex;flex-wrap:wrap;gap:8px;margin-top:9px}.fan-subpage .post-tag,.fan-subpage .post-reactions button{border:1px solid var(--fan-line);border-radius:999px;background:var(--fan-card);color:var(--fan-pink);padding:5px 10px;cursor:pointer}.fan-subpage .post-reactions button[aria-pressed=true]{background:var(--fan-pink);color:#29212a}.fan-subpage .post-editor input[type=file]{padding:8px}.fan-subpage .forum-search button[aria-pressed=true]{background:var(--fan-card);color:var(--fan-pink);border:1px solid var(--fan-pink)}
.fan-subpage .collab-notice,.fan-subpage .collab-conflict{border:1px solid var(--fan-pink);border-radius:12px;padding:15px;background:var(--fan-soft);color:var(--fan-text);line-height:1.55}.fan-subpage .collab-conflict{display:grid;gap:10px}.fan-subpage .collab-conflict[hidden]{display:none}.fan-subpage .collab-conflict h3,.fan-subpage .collab-conflict p{margin:0}.fan-subpage .collab-conflict pre{max-height:300px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;background:var(--fan-input);border-radius:10px;padding:14px}.fan-subpage .collab-conflict button{justify-self:start}
.fan-subpage .site-footer {
  max-width: 1440px;
  margin-inline: auto;
  border-color: var(--fan-line);
  color: var(--fan-muted);
  background: var(--fan-bg);
}
.fan-subpage .site-footer span:first-child { color: var(--fan-text); }

[data-theme=light] body.fan-subpage {
  --mint: var(--fan-pink);
  --paper: var(--fan-text);
  --line: var(--fan-line);
  --fan-input: #fffafd;
  --fan-input-border: #d3c2ce;
  --fan-soft: #f8edf3;
  --fan-bubble: #eee1e9;
  background:
    radial-gradient(ellipse 80% 55% at 95% 5%, rgba(246, 205, 226, .6), transparent 70%),
    radial-gradient(ellipse 70% 45% at 2% 90%, rgba(223, 210, 245, .52), transparent 72%),
    var(--fan-bg);
  color: var(--fan-text);
}
[data-theme=light] .fan-subpage .community-page,
[data-theme=light] .fan-subpage .info-page { background: transparent; }
[data-theme=light] .fan-subpage .community-page .community-heading,
[data-theme=light] .fan-subpage .info-heading { background: linear-gradient(105deg, #f3e9f0, #f4e1eb); }
[data-theme=light] .fan-subpage .community-panel,
[data-theme=light] .fan-subpage .info-sidebar,
[data-theme=light] .fan-subpage .info-main { background: var(--fan-panel); color: var(--fan-text); border-color: var(--fan-line); }
[data-theme=light] .fan-subpage .page-tabs button { background: var(--fan-card); color: var(--fan-muted); border-color: var(--fan-line); }
[data-theme=light] .fan-subpage .page-tabs button[aria-selected=true] { background: #efa8c7; color: #29212a; border-color: #efa8c7; }
[data-theme=light] .fan-subpage .post-editor input,
[data-theme=light] .fan-subpage .post-editor textarea,
[data-theme=light] .fan-subpage .post-editor select,
[data-theme=light] .fan-subpage .forum-search input,
[data-theme=light] .fan-subpage .forum-search select,
[data-theme=light] .fan-subpage .chat-form input,
[data-theme=light] .fan-subpage .comment-form input { background: var(--fan-input); color: var(--fan-text); border-color: var(--fan-input-border); }
[data-theme=light] .fan-subpage .chat-bubble { background: var(--fan-bubble); color: var(--fan-text); }
[data-theme=light] .fan-subpage .chat-message.mine .chat-bubble { background: #efa8c7; color: #29212a; }
[data-theme=light] .fan-subpage .site-footer { background: var(--fan-bg); color: var(--fan-muted); }

@media (max-width: 900px) {
  .fan-subpage .info-sidebar { top: auto; }
}
@media (max-width: 700px) {
  .fan-subpage .fan-quick-nav .member-label { display: none; }
  .fan-subpage .community-page,
  .fan-subpage .info-page { padding: 22px 18px 64px; }
  .fan-subpage .community-page .community-heading,
  .fan-subpage .info-heading { padding: 25px 22px; margin-bottom: 22px; }
  .fan-subpage .community-page .community-heading h1,
  .fan-subpage .info-heading h1 { font-size: 2rem; }
  .fan-subpage .community-page .community-heading h1 br,
  .fan-subpage .info-heading h1 br { display: initial; }
  .fan-subpage .page-tabs button { min-width: 0; flex: 1; }
  .fan-subpage .community-panel,
  .fan-subpage .info-sidebar,
  .fan-subpage .info-main { border-radius: 16px; }
}
