.community-page {
  min-width: 0;
  width: 100%;
  overflow-x: clip;
}

.fy-community-feature-zone {
  gap: 12px;
  padding: 18px;
}

.fy-community-zone-heading {
  grid-template-columns: minmax(0, 1fr) minmax(300px, 430px);
  gap: 20px;
}

.fy-community-zone-heading h2 {
  font-size: 24px;
}

.fy-community-entry-banners {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
}

.fy-community-entry-banners > a,
.fy-community-entry-banners > button {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr) auto;
  align-items: center;
  gap: 11px;
  min-width: 0;
  min-height: 72px;
  padding: 10px 13px;
  overflow: hidden;
  color: #294742;
  font: inherit;
  text-align: left;
  cursor: pointer;
  text-decoration: none;
  background: linear-gradient(100deg, #f7fbf9, #eef5f1);
  border: 1px solid #cedbd6;
  border-radius: 11px;
  transition: transform 0.16s, border-color 0.16s, box-shadow 0.16s;
}

.fy-community-entry-banners > a.is-opportunities,
.fy-community-entry-banners > button.is-opportunities {
  background: linear-gradient(100deg, #fffaf0, #f7f0de);
  border-color: #ded4bb;
}

.fy-community-entry-banners > a:hover,
.fy-community-entry-banners > button:hover {
  border-color: #8eb5aa;
  box-shadow: 0 9px 20px #1c433e14;
  transform: translateY(-2px);
}

.fy-community-entry-banners > a > i,
.fy-community-entry-banners > button > i {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  font-size: 18px;
  font-style: normal;
  background: #dfeee9;
  border-radius: 10px;
}

.fy-community-entry-banners > a.is-opportunities > i,
.fy-community-entry-banners > button.is-opportunities > i {
  background: #efe1bc;
}

.fy-community-entry-banners > a > span,
.fy-community-entry-banners > button > span {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.fy-community-entry-banners > a small,
.fy-community-entry-banners > button small {
  color: #92703b;
  font-size: 7px;
  font-weight: 950;
  letter-spacing: 0.1em;
}

.fy-community-entry-banners > a b,
.fy-community-entry-banners > button b {
  font-size: 15px;
}

.fy-community-entry-banners > a p,
.fy-community-entry-banners > button p {
  margin: 0;
  overflow: hidden;
  color: #70807c;
  font-size: 9px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.fy-community-entry-banners > a em,
.fy-community-entry-banners > button em {
  color: #1d6b63;
  font-size: 9px;
  font-style: normal;
  font-weight: 950;
  white-space: nowrap;
}

.fy-community-channel-strip {
  min-height: 60px;
}

.fy-community-live-heading {
  align-items: center;
  margin-top: 10px;
  padding: 10px 0;
  border-top: 0;
}

.fy-community-live-heading h2 {
  font-size: 24px;
}

.fy-community-live-heading p {
  font-size: 9px;
}

.fy-community-live-heading > nav button {
  min-height: 34px;
  padding: 0 12px;
  font-size: 10px;
}

.fy-community .fy-community-content-layout {
  display: block;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  margin-right: 0 !important;
  margin-left: 0 !important;
  margin-top: 10px;
}

.fy-community .fy-community-content-layout .fy-community-main,
.fy-community .fy-community-content-layout .fy-community-main > .fy-hot-ribbon,
.fy-community .fy-community-content-layout .fy-community-main .fy-follow-feed-hub,
.fy-community .fy-community-content-layout .fy-community-main .fy-community-feed,
.fy-community .fy-community-content-layout .fy-community-main .fy-post-card,
.fy-community .fy-community-content-layout .fy-community-main .fy-unified-question-card,
.fy-community .fy-community-content-layout .fy-community-main .fy-community-feed > article {
  box-sizing: border-box;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
}

.fy-community .fy-community-content-layout .fy-community-main .fy-community-feed {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  align-items: stretch !important;
  gap: 12px !important;
  columns: auto !important;
}

.fy-community .fy-community-content-layout .fy-community-main .fy-community-feed > article,
.fy-community .fy-community-content-layout .fy-community-main .fy-community-feed > .fy-post-card,
.fy-community .fy-community-content-layout .fy-community-main .fy-community-feed .fy-post-card:nth-child(5n + 1),
.fy-community .fy-community-content-layout .fy-community-main .fy-community-feed .fy-unified-question-card {
  grid-column: auto !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  height: 100%;
  min-height: 310px;
  margin: 0 !important;
  break-inside: auto;
}

.fy-community .fy-community-content-layout .fy-community-main .fy-community-feed .fy-post-card,
.fy-community .fy-community-content-layout .fy-community-main .fy-community-feed .fy-post-card:nth-child(5n + 1) {
  display: flex !important;
  flex-direction: column;
  grid-template-columns: none !important;
  border-radius: 12px;
  box-shadow: 0 7px 20px #18343b0d;
}

.fy-community .fy-community-content-layout .fy-community-main .fy-post-cover,
.fy-community .fy-community-content-layout .fy-community-main .fy-post-card.is-featured .fy-post-cover {
  width: 100%;
  height: auto !important;
  min-height: 0 !important;
  aspect-ratio: 4 / 3;
}

.fy-community .fy-community-content-layout .fy-community-main .fy-post-cover img,
.fy-community .fy-community-content-layout .fy-community-main .fy-post-card.is-featured .fy-post-cover img {
  width: 100%;
  height: 100% !important;
  min-height: 0 !important;
  object-fit: cover;
  aspect-ratio: 4 / 3;
}

.fy-community-content-layout .fy-post-copy {
  display: flex;
  flex: 1;
  flex-direction: column;
  min-height: 0;
  padding: 13px;
}

.fy-community-content-layout .fy-post-card.is-discussion .fy-post-copy {
  padding: 13px;
}

.fy-community-content-layout .fy-post-copy h3,
.fy-community-content-layout .fy-post-card.is-featured h3,
.fy-community-content-layout .fy-post-card.is-discussion h3 {
  display: -webkit-box;
  margin: 9px 0 5px;
  overflow: hidden;
  font-family: inherit;
  font-size: 16px;
  line-height: 1.38;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.fy-community-content-layout .fy-post-copy > a > p {
  overflow: hidden;
  font-size: 9px;
  line-height: 1.58;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.fy-community-content-layout .fy-guide-proof {
  display: none;
}

.fy-community-content-layout .fy-post-author {
  margin-top: auto;
  padding-top: 10px;
}

.fy-community-content-layout .fy-post-author img {
  width: 27px;
  height: 27px;
}

.fy-community-content-layout .fy-post-author small {
  max-width: 125px;
}

.fy-community-content-layout .fy-post-author em {
  max-width: 58px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.fy-community-content-layout .fy-post-tags {
  flex-wrap: nowrap;
  overflow: hidden;
}

.fy-community-content-layout .fy-post-tags span {
  flex: none;
}

.fy-community-content-layout .fy-post-copy > footer {
  gap: 7px;
  margin-top: 9px;
}

.fy-community-content-layout .fy-post-copy > footer a {
  font-size: 0;
}

.fy-community-content-layout .fy-post-copy > footer a::after {
  content: "查看 →";
  font-size: 8px;
}

.fy-community-content-layout .fy-unified-question-card {
  display: flex;
  flex-direction: column;
  padding: 14px;
  border-radius: 12px;
  box-shadow: 0 7px 20px #18343b0d;
}

.fy-community-content-layout .fy-unified-question-card > header {
  gap: 8px;
}

.fy-community-content-layout .fy-unified-question-card > header span {
  font-size: 8px;
}

.fy-community-content-layout .fy-unified-question-card > header b {
  padding: 5px 6px;
  font-size: 7px;
}

.fy-community-content-layout .fy-unified-question-card h3 {
  display: -webkit-box;
  margin: 12px 0 6px;
  overflow: hidden;
  font-size: 17px;
  line-height: 1.4;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.fy-community-content-layout .fy-unified-question-card > a > p {
  display: -webkit-box;
  overflow: hidden;
  font-size: 9px;
  line-height: 1.58;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.fy-community-content-layout .fy-unified-question-card blockquote {
  max-height: 92px;
  margin: 11px 0;
  padding: 10px;
  overflow: hidden;
}

.fy-community-content-layout .fy-unified-question-card blockquote p {
  display: -webkit-box;
  overflow: hidden;
  font-size: 9px;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.fy-community-content-layout .fy-unified-question-card footer {
  flex-wrap: wrap;
  gap: 7px;
  margin-top: auto;
  padding-top: 10px;
  font-size: 8px;
  border-top: 1px solid #e5ebe8;
}

.fy-community-content-layout .fy-unified-question-card footer a {
  width: 100%;
  margin: 2px 0 0;
}

.fy-cover-picker {
  padding: 14px;
  margin-top: 14px;
  background: #f1f6f3;
  border: 1px solid #ccd9d5;
  border-radius: 12px;
}

.fy-cover-picker > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.fy-cover-picker > header > span {
  display: grid;
  gap: 3px;
}

.fy-cover-picker > header b {
  font-size: 11px;
}

.fy-cover-picker > header small {
  color: #71807c;
  font-size: 8px;
  line-height: 1.5;
}

.fy-cover-picker > header > button {
  min-width: 82px;
  min-height: 34px;
  color: #536965;
  font-size: 8px;
  font-weight: 900;
  cursor: pointer;
  background: #fff;
  border: 1px solid #bfcfca;
  border-radius: 8px;
}

.fy-cover-picker > header > button.active {
  color: #fff;
  background: #1d6b63;
  border-color: #1d6b63;
}

.fy-cover-picker > div {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 7px;
  margin-top: 11px;
}

.fy-cover-picker > div > button {
  display: grid;
  grid-template-rows: 64px auto;
  gap: 5px;
  min-width: 0;
  min-height: 96px;
  padding: 7px;
  margin: 0 !important;
  overflow: hidden;
  color: #526965;
  font-size: 7px;
  font-weight: 850;
  cursor: pointer;
  background: #fff;
  border: 1px solid #d3ddda;
  border-radius: 9px;
}

.fy-cover-picker > div > button img {
  width: 100%;
  height: 64px;
  object-fit: cover;
  border-radius: 6px;
}

.fy-cover-picker > div > button.active {
  border-color: #1d6b63;
  box-shadow: inset 0 0 0 2px #1d6b63;
}

.fy-cover-picker > div > button.fy-cover-upload {
  grid-template: auto auto auto / 1fr;
  place-content: center;
  place-items: center;
  gap: 3px;
}

.fy-cover-upload i {
  display: grid;
  place-items: center;
  width: 24px;
  height: 24px;
  color: #fff;
  font-style: normal;
  background: #1d6b63;
  border-radius: 7px;
}

.fy-cover-upload b {
  font-size: 8px;
}

.fy-cover-upload small {
  color: #83908d;
  font-size: 6px;
  line-height: 1.35;
}

.fy-publish-preview-cover {
  width: 100%;
  max-height: 220px;
  margin-bottom: 14px;
  object-fit: cover;
  border-radius: 9px;
}

.fy-publish-preview dl {
  grid-template-columns: repeat(4, 1fr);
}

/* Current Sites compact desktop pass. */
.fy-community .fy-community-hero {
  grid-template:
    "copy art actions"
    "search search actions" 42px /
    280px minmax(390px, 1fr) 190px !important;
  gap: 9px 16px !important;
  min-height: 0 !important;
  padding: 14px 18px !important;
}

.fy-community .fy-community-hero h1 {
  margin: 0;
  font-size: 38px;
}

.fy-community .fy-community-hero p {
  margin-top: 5px;
  font-size: 11px !important;
  line-height: 1.45;
}

.fy-community .fy-community-hero-art {
  justify-self: center;
  width: min(100%, 390px);
  height: auto !important;
  aspect-ratio: 3 / 1;
  border-radius: 12px;
  box-shadow: 0 7px 18px #071a1c26;
}

.fy-community .fy-community-hero-art img {
  object-fit: cover;
  object-position: center;
}

.fy-community .fy-community-search {
  height: 42px;
  min-height: 42px;
}

.fy-community .fy-community-hero-actions {
  gap: 6px;
}

.fy-community .fy-community-hero-actions button,
.fy-community .fy-community-hero-actions a {
  min-height: 42px;
  padding: 0 13px;
}

.fy-community-feature-zone {
  gap: 8px;
  margin-top: 9px;
  padding: 10px;
  border-radius: 13px;
}

.fy-community-entry-banners {
  gap: 7px;
}

.fy-community-entry-banners > a {
  grid-template-columns: 34px minmax(0, 1fr) auto;
  gap: 9px;
  min-height: 58px;
  padding: 7px 10px;
  border-radius: 10px;
}

.fy-community-entry-banners > a > i {
  width: 34px;
  height: 34px;
  font-size: 16px;
  border-radius: 9px;
}

.fy-community-entry-banners > a > span {
  gap: 1px;
}

.fy-community-entry-banners > a b {
  font-size: 14px;
}

.fy-community-entry-banners > a p,
.fy-community-entry-banners > a em {
  font-size: 8px;
}

.fy-community-channel-strip {
  gap: 5px;
  min-height: 50px;
  padding: 5px;
  border-radius: 11px;
}

.fy-community-channel-strip button {
  gap: 6px;
  padding: 0 8px;
  border-radius: 8px;
}

.fy-community-live-heading {
  min-height: 44px;
  margin-top: 5px;
  padding: 5px 0;
}

.fy-community-live-heading h2 {
  margin: 0;
  font-size: 21px;
}

.fy-community-live-heading > nav button {
  min-height: 32px;
  padding: 0 10px;
}

.fy-community-content-layout {
  margin-top: 5px;
}

.fy-side-text-button {
  color: #1b6b63;
  font: inherit;
  font-size: 9px;
  font-weight: 900;
  cursor: pointer;
  background: transparent;
  border: 0;
}

.fy-topic-manager {
  width: 560px;
  overflow: hidden;
  color: #294743;
  background: #f8fbf9;
  border: 1px solid #cad8d3;
  border-radius: 20px;
  box-shadow: 0 24px 80px #0a262347;
}

.fy-topic-manager > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 88px;
  padding: 18px 22px;
  border-bottom: 1px solid #d4dfdb;
}

.fy-topic-manager > header span {
  color: #967039;
  font-size: 9px;
  font-weight: 950;
  letter-spacing: 0.12em;
}

.fy-topic-manager > header h2 {
  margin: 4px 0 0;
  font-size: 27px;
}

.fy-topic-manager > header > button {
  width: 40px;
  height: 40px;
  color: #1b6b63;
  font-size: 22px;
  cursor: pointer;
  background: #fff;
  border: 1px solid #cbd8d3;
  border-radius: 50%;
}

.fy-topic-manager > p {
  margin: 0;
  padding: 18px 22px 6px;
  color: #72817d;
  font-size: 11px;
  line-height: 1.65;
}

.fy-topic-manager > div {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 9px;
  padding: 14px 22px 24px;
}

.fy-topic-manager > div > button {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 52px;
  padding: 0 13px;
  color: #315954;
  font-size: 11px;
  font-weight: 900;
  cursor: pointer;
  background: #fff;
  border: 1px solid #d3dfda;
  border-radius: 11px;
}

.fy-topic-manager > div > button b {
  color: #1b6b63;
  font-size: 9px;
}

.fy-topic-manager > div > button.active {
  color: #fff;
  background: #1b6b63;
  border-color: #1b6b63;
}

.fy-topic-manager > div > button.active b {
  color: #f1cc73;
}

/*
 * Community first-screen density pass.
 * Keep identity, entrances and all feed controls visible while giving the
 * live posts and questions the majority of the initial viewport.
 */
.fy-community .fy-community-hero {
  grid-template: "copy art search actions" 72px /
    220px 280px minmax(300px, 1fr) 154px !important;
  align-items: center !important;
  gap: 10px 13px !important;
  min-height: 0 !important;
  padding: 10px 14px !important;
}

.fy-community .fy-community-hero-copy {
  align-self: center;
}

.fy-community .fy-community-hero h1 {
  font-size: 29px;
  line-height: 1.05;
}

.fy-community .fy-community-hero p {
  max-width: 210px;
  margin-top: 4px;
  font-size: 9px !important;
  line-height: 1.4;
}

.fy-community .fy-community-hero-art {
  width: 280px;
  height: 72px !important;
  aspect-ratio: auto;
  border-radius: 10px;
  box-shadow: 0 5px 14px #071a1c1f;
}

.fy-community .fy-community-hero-art img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 44%;
}

.fy-community .fy-community-search {
  height: 40px;
  min-height: 40px;
}

.fy-community .fy-community-hero-actions {
  height: 72px;
  display: grid;
  grid-template-rows: repeat(2, minmax(0, 1fr));
  gap: 5px;
}

.fy-community .fy-community-hero-actions button,
.fy-community .fy-community-hero-actions a {
  min-height: 0;
  padding: 0 10px;
  font-size: 9px;
}

.fy-community .fy-community-feature-zone {
  margin-top: 7px;
  padding: 6px;
  border-radius: 11px;
}

.fy-community .fy-community-entry-banners {
  gap: 6px;
}

.fy-community .fy-community-entry-banners > a {
  grid-template-columns: 30px minmax(0, 1fr) auto;
  gap: 7px;
  height: 46px;
  min-height: 46px;
  max-height: 46px;
  padding: 5px 8px;
  border-radius: 8px;
}

.fy-community .fy-community-entry-banners > a > i {
  width: 30px;
  height: 30px;
  font-size: 14px;
  border-radius: 8px;
}

.fy-community .fy-community-entry-banners > a small {
  display: none;
}

.fy-community .fy-community-entry-banners > a b {
  flex: 0 0 auto;
  font-size: 12px;
  line-height: 1.1;
}

.fy-community .fy-community-entry-banners > a p,
.fy-community .fy-community-entry-banners > a em {
  font-size: 7px;
  line-height: 1.2;
}

.fy-community .fy-community-entry-banners > a > span {
  display: flex;
  align-items: center;
  gap: 7px;
}

.fy-community .fy-community-entry-banners > a p {
  flex: 1 1 auto;
}

.fy-community .fy-community-control-bar {
  box-sizing: border-box;
  height: 48px;
  min-height: 48px;
  max-height: 48px;
  margin-top: 6px;
  padding: 4px 0;
  display: grid;
  grid-template-columns: 100px minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  border-top: 1px solid #b9ccc6;
  border-bottom: 1px solid #cfdbd6;
}

.fy-community .fy-community-control-title {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-content: center;
  gap: 1px;
}

.fy-community .fy-community-control-bar h2 {
  grid-column: 1;
  grid-row: auto;
  margin: 0;
  font-size: 16px;
  line-height: 1.1;
  white-space: nowrap;
}

.fy-community .fy-community-control-bar .fy-community-channel-hint {
  display: none;
}

.fy-community .fy-community-control-bar .fy-community-channel-strip {
  min-width: 0;
  min-height: 38px;
  padding: 3px;
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 3px;
  border: 1px solid #d4dfda;
  border-radius: 9px;
  background: #edf3f0;
}

.fy-community .fy-community-control-bar .fy-community-channel-strip button {
  min-width: 0;
  min-height: 30px;
  padding: 0 6px;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 4px;
  border-radius: 6px;
}

.fy-community
  .fy-community-control-bar
  .fy-community-channel-strip
  button
  i {
  font-size: 6px;
}

.fy-community
  .fy-community-control-bar
  .fy-community-channel-strip
  button
  b {
  overflow: hidden;
  font-size: 9px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.fy-community
  .fy-community-control-bar
  .fy-community-channel-strip
  button
  em {
  display: none;
}

.fy-community .fy-community-sort-strip {
  padding-left: 7px;
  display: flex;
  gap: 3px;
  border-left: 1px solid #d2ddd8;
}

.fy-community .fy-community-sort-strip button {
  min-height: 32px;
  padding: 0 8px;
  border-radius: 7px;
  font-size: 8px;
  white-space: nowrap;
}

.fy-community .fy-community-sort-strip button.active {
  color: #2b4c47;
  background: #efd98f;
  border-color: #d1b965;
}

.fy-community > .fy-hot-ribbon {
  margin-top: 6px;
}

/* v2026.07.31: stronger compose controls and label-only channel buttons. */
.fy-community .fy-community-hero-actions button,
.fy-community .fy-community-hero-actions a {
  box-sizing: border-box;
  border: 1.5px solid #1d675f !important;
  border-radius: 8px !important;
  box-shadow: 0 3px 0 #123f3a, 0 7px 15px #163d381c;
  font-size: 10px;
  font-weight: 950;
}

.fy-community .fy-community-hero-actions button {
  color: #fff;
  background: #1d675f;
}

.fy-community .fy-community-hero-actions a {
  color: #4b3714;
  border-color: #bd963c !important;
  background: #f3d275;
  box-shadow: 0 3px 0 #a67d24, 0 7px 15px #5d46151c;
}

.fy-community .fy-community-hero-actions {
  width: calc(100% - 7px) !important;
  margin-right: 7px !important;
  justify-self: start !important;
}

.fy-community .fy-community-hero-actions button,
.fy-community .fy-community-hero-actions a {
  width: 100% !important;
  overflow: hidden;
  border-style: solid !important;
  border-right-width: 1.5px !important;
  border-radius: 9px !important;
}

.fy-community-content-layout .fy-post-copy > a:first-of-type {
  min-height: 82px;
}

.fy-community-content-layout .fy-post-author {
  min-height: 39px;
}

.fy-community-content-layout .fy-post-tags {
  min-height: 27px;
  align-items: center;
}

.fy-community-content-layout .fy-post-copy > footer {
  min-height: 34px;
  margin-top: 0;
  padding-top: 8px;
  align-items: center;
  border-top: 1px solid #e2e9e6;
}

/* Content-sized community masonry: column count follows the available width. */
.fy-community .fy-community-content-layout .fy-community-main .fy-community-feed {
  display: block !important;
  column-count: auto !important;
  column-width: 245px !important;
  column-gap: 12px !important;
}

.fy-community .fy-community-content-layout .fy-community-main .fy-community-feed > article,
.fy-community .fy-community-content-layout .fy-community-main .fy-community-feed > .fy-post-card,
.fy-community .fy-community-content-layout .fy-community-main .fy-community-feed .fy-post-card:nth-child(5n + 1),
.fy-community .fy-community-content-layout .fy-community-main .fy-community-feed .fy-unified-question-card {
  display: inline-flex !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 0 12px !important;
  break-inside: avoid-column;
  page-break-inside: avoid;
  -webkit-column-break-inside: avoid;
  vertical-align: top;
}

.fy-community-content-layout .fy-post-copy > a:first-of-type,
.fy-community-content-layout .fy-post-author,
.fy-community-content-layout .fy-post-tags,
.fy-community-content-layout .fy-post-copy > footer {
  min-height: 0;
}

/* Let short posts stay short instead of stretching their copy to match nearby
   cards.  The masonry columns then use the real amount of content. */
.fy-community-content-layout .fy-community-feed .fy-post-copy {
  flex: 0 0 auto !important;
  height: auto !important;
}

.fy-community-content-layout .fy-post-author {
  margin-top: 12px;
}

/* One-screen composer: post/question first, then write and publish. */
.fy-compose-modal.fy-compose-modal-single {
  position: relative;
  width: min(760px, calc(100% - 28px)) !important;
  max-height: min(88vh, 820px) !important;
  overflow: auto !important;
  border-radius: 18px !important;
}

.fy-compose-modal-single > header {
  min-height: 68px !important;
  padding: 14px 20px !important;
}

.fy-compose-modal-single > header h2 {
  margin: 2px 0 0 !important;
  font-size: 25px !important;
}

.fy-compose-modal-single > header .fy-compose-close {
  display: grid !important;
  place-items: center;
  flex: 0 0 44px;
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  min-height: 44px !important;
  padding: 0 !important;
  border: 1px solid #cad5d1 !important;
  border-radius: 50% !important;
  color: #234f47 !important;
  background: #fff !important;
  font-size: 0 !important;
  cursor: pointer;
  box-shadow: 0 4px 14px #163d3520;
}

.fy-compose-modal-single > header .fy-compose-close span {
  font-size: 30px;
  font-weight: 400;
  line-height: 1;
  transform: translateY(-1px);
}

.fy-compose-auth-layer {
  z-index: 20;
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 18px;
  border-radius: inherit;
  background: #102c2a9e;
  backdrop-filter: blur(4px);
}

.fy-compose-auth-dialog {
  width: min(440px, 100%);
  padding: 28px;
  border: 1px solid #d8e1dd;
  border-radius: 18px;
  color: #193f38;
  background: #fff;
  text-align: center;
  box-shadow: 0 24px 70px #071d1a4d;
}

.fy-compose-auth-dialog > span {
  display: grid;
  place-items: center;
  width: 52px;
  height: 52px;
  margin: 0 auto 12px;
  border-radius: 50%;
  color: #fff;
  background: #26756a;
  font-size: 27px;
}

.fy-compose-auth-dialog > small {
  color: #92713d;
  letter-spacing: .13em;
  font-size: 10px;
  font-weight: 900;
}

.fy-compose-auth-dialog h3 {
  margin: 8px 0;
  font-size: 22px;
}

.fy-compose-auth-dialog p {
  margin: 0;
  color: #647670;
  font-size: 13px;
  line-height: 1.7;
}

.fy-compose-auth-dialog > div {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 9px;
  margin-top: 22px;
}

.fy-compose-auth-dialog button {
  min-height: 44px;
  border: 1px solid #bfcfc9;
  border-radius: 10px;
  background: #fff;
  font-size: 13px;
  font-weight: 850;
  cursor: pointer;
}

.fy-compose-auth-dialog button.primary {
  border-color: #21685e;
  color: #fff;
  background: #26756a;
}

.fy-community-compose-toast {
  z-index: 120;
  position: fixed;
  right: 22px;
  bottom: 22px;
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 4px 10px;
  width: min(360px, calc(100% - 28px));
  padding: 14px 16px;
  border: 1px solid #bfd2ca;
  border-radius: 13px;
  color: #244e46;
  background: #f8fffc;
  box-shadow: 0 18px 42px #163d3530;
}

.fy-community-compose-toast b {
  color: #1e7567;
  font-size: 12px;
}

.fy-community-compose-toast span {
  font-size: 12px;
}

.fy-compose-kind-switch {
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  gap: 7px;
  padding: 10px 20px 0;
}

.fy-compose-kind-switch button {
  display: grid;
  gap: 2px;
  min-height: 54px;
  padding: 8px 12px;
  border: 1px solid #d6dfdb;
  border-radius: 11px;
  color: #526963;
  background: #f6f8f7;
  text-align: left;
  cursor: pointer;
}

.fy-compose-kind-switch button b {
  font-size: 14px;
}

.fy-compose-kind-switch button small {
  font-size: 10px;
}

.fy-compose-kind-switch button.active {
  border-color: #21695f;
  color: #fff;
  background: linear-gradient(135deg, #28786d, #1b6057);
  box-shadow: 0 3px 0 #134c45;
}

.fy-publish-form.fy-publish-form-single {
  display: grid !important;
  gap: 10px !important;
  padding: 14px 20px 18px !important;
}

.fy-publish-form-single > label,
.fy-compose-meta-grid > label,
.fy-publish-form-single .fy-editor-inline-field {
  display: grid;
  gap: 5px;
  color: #49625c;
  font-size: 11px;
  font-weight: 900;
}

.fy-publish-form-single input,
.fy-publish-form-single select,
.fy-publish-form-single textarea {
  width: 100%;
  min-width: 0;
  min-height: 42px !important;
  padding: 9px 11px !important;
  border: 1px solid #d2dcd8 !important;
  border-radius: 9px !important;
  background: #fff !important;
  font-size: 13px !important;
}

.fy-publish-form-single [aria-invalid="true"] {
  border-color: #b5473f !important;
  background: #fff9f8 !important;
  box-shadow: 0 0 0 3px #b5473f16;
}

.fy-compose-field-error {
  display: flex;
  align-items: center;
  gap: 5px;
  color: #a13f38;
  font-size: 11px;
  font-weight: 850;
  line-height: 1.45;
}

.fy-compose-field-error::before {
  content: "!";
  display: grid;
  place-items: center;
  flex: 0 0 17px;
  width: 17px;
  height: 17px;
  border-radius: 50%;
  color: #fff;
  background: #b5473f;
  font-size: 10px;
}

.fy-publish-form-single textarea {
  min-height: 132px !important;
  resize: none;
  line-height: 1.65;
}

.fy-compose-single-tools {
  display: flex !important;
  align-items: center;
  gap: 6px !important;
  padding: 0 !important;
}

.fy-compose-single-tools button {
  min-height: 34px !important;
  padding: 0 10px !important;
  border-radius: 8px !important;
  font-size: 10px !important;
}

.fy-compose-single-tools small {
  margin-left: auto;
  color: #73827d;
  font-size: 9px;
}

.fy-compose-meta-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 9px;
}

.fy-compose-meta-grid.is-category-only {
  grid-template-columns: minmax(0, 1fr);
}

.fy-compose-media-panel {
  display: grid;
  gap: 10px;
  padding: 13px;
  border: 1px solid #b9d1c9;
  border-radius: 14px;
  background:
    linear-gradient(135deg, #f4faf7 0%, #fbfcfb 58%, #f7f3e9 100%);
  box-shadow: inset 0 0 0 1px #ffffffb8;
}

.fy-compose-media-panel > header {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 14px;
  min-height: 0;
  padding: 0 2px;
  border: 0;
}

.fy-compose-media-panel > header > div {
  display: grid;
  gap: 2px;
}

.fy-compose-media-panel > header span {
  color: #8f6a31;
  font-size: 9px;
  font-weight: 950;
  letter-spacing: .12em;
}

.fy-compose-media-panel > header b {
  color: #214f48;
  font-size: 15px;
}

.fy-compose-media-panel > header small {
  color: #6f817b;
  font-size: 9px;
  text-align: right;
}

.fy-compose-image-dropzone {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr) auto;
  align-items: center;
  gap: 13px;
  min-height: 118px;
  padding: 18px 20px;
  color: #285b53;
  cursor: pointer;
  background: #fffdf9;
  border: 2px dashed #7daaa0;
  border-radius: 12px;
  transition:
    border-color .16s ease,
    background .16s ease,
    box-shadow .16s ease,
    transform .16s ease;
}

.fy-compose-image-dropzone:hover,
.fy-compose-image-dropzone:focus-visible,
.fy-compose-image-dropzone.is-dragging {
  outline: 0;
  background: #eef8f4;
  border-color: #176c60;
  box-shadow: 0 0 0 4px #2b80721c;
  transform: translateY(-1px);
}

.fy-compose-image-dropzone.is-uploading {
  cursor: progress;
  opacity: .72;
}

.fy-compose-image-dropzone > i {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  color: #fff;
  background: linear-gradient(145deg, #2e8175, #175d54);
  border-radius: 14px;
  box-shadow: 0 7px 16px #155a5030;
  font-size: 27px;
  font-style: normal;
  font-weight: 350;
}

.fy-compose-image-dropzone > span {
  display: grid;
  gap: 5px;
  min-width: 0;
}

.fy-compose-image-dropzone strong {
  color: #244f49;
  font-size: 14px;
}

.fy-compose-image-dropzone small {
  color: #6f817b;
  font-size: 9px;
  line-height: 1.45;
}

.fy-compose-image-dropzone > b {
  min-width: 82px;
  padding: 9px 12px;
  color: #fff;
  background: #216c62;
  border-radius: 8px;
  font-size: 10px;
  text-align: center;
}

.fy-compose-image-previews {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.fy-compose-image-previews > figure {
  display: grid;
  grid-template-columns: 100px minmax(0, 1fr);
  gap: 7px 9px;
  min-width: 0;
  margin: 0;
  padding: 7px;
  background: #fff;
  border: 1px solid #d4dfdb;
  border-radius: 10px;
}

.fy-compose-image-previews > figure.is-cover {
  border-color: #2a786d;
  box-shadow: inset 0 0 0 1px #2a786d;
}

.fy-compose-image-previews > figure > div {
  position: relative;
  grid-row: 1 / span 2;
  overflow: hidden;
  width: 100px;
  height: 76px;
  background: #e8efec;
  border-radius: 7px;
}

.fy-compose-image-previews img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.fy-compose-image-previews > figure > div > b,
.fy-compose-image-previews > figure > div > span {
  position: absolute;
  top: 5px;
  left: 5px;
  padding: 3px 6px;
  color: #fff;
  background: #155e55e8;
  border-radius: 99px;
  font-size: 8px;
  font-weight: 900;
}

.fy-compose-image-previews figcaption {
  align-self: end;
  display: grid;
  min-width: 0;
}

.fy-compose-image-previews figcaption strong {
  overflow: hidden;
  color: #365c56;
  font-size: 10px;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.fy-compose-image-previews figcaption small {
  color: #7a8985;
  font-size: 8px;
}

.fy-compose-image-previews nav {
  align-self: start;
  display: flex;
  align-items: center;
  gap: 4px;
  min-width: 0;
}

.fy-compose-image-previews nav button {
  min-width: 25px;
  min-height: 25px;
  padding: 0 6px;
  color: #3e625c;
  cursor: pointer;
  background: #f5f8f7;
  border: 1px solid #d4dfdb;
  border-radius: 6px;
  font-size: 8px;
}

.fy-compose-image-previews nav button:disabled {
  cursor: default;
  opacity: .32;
}

.fy-compose-image-previews nav button.remove {
  margin-left: auto;
  color: #a4433d;
  background: #fff7f5;
  border-color: #edd1cd;
}

/* Once images exist, keep attachments as a compact horizontal filmstrip so
   the editor and publish action remain within the first viewport. */
.fy-compose-media-panel.has-images {
  gap: 7px;
  padding: 10px;
}

.fy-compose-media-panel.has-images .fy-compose-image-dropzone {
  grid-template-columns: 34px minmax(0, 1fr) auto;
  gap: 9px;
  min-height: 48px;
  padding: 6px 9px;
}

.fy-compose-media-panel.has-images .fy-compose-image-dropzone > i {
  width: 34px;
  height: 34px;
  border-radius: 9px;
  font-size: 20px;
}

.fy-compose-media-panel.has-images .fy-compose-image-dropzone > span {
  gap: 0;
}

.fy-compose-media-panel.has-images .fy-compose-image-dropzone strong {
  font-size: 11px;
}

.fy-compose-media-panel.has-images .fy-compose-image-dropzone small {
  display: none;
}

.fy-compose-media-panel.has-images .fy-compose-image-dropzone > b {
  min-width: 72px;
  padding: 7px 9px;
}

.fy-compose-media-panel.has-images .fy-compose-image-previews {
  display: flex;
  gap: 7px;
  max-height: 94px;
  padding: 1px 1px 5px;
  overflow-x: auto;
  overflow-y: hidden;
  overscroll-behavior-inline: contain;
  scroll-snap-type: x proximity;
  scrollbar-width: thin;
}

.fy-compose-media-panel.has-images .fy-compose-image-previews > figure {
  position: relative;
  display: block;
  flex: 0 0 130px;
  width: 130px;
  height: 86px;
  padding: 4px;
  scroll-snap-align: start;
}

.fy-compose-media-panel.has-images .fy-compose-image-previews > figure > div {
  width: 120px;
  height: 76px;
}

.fy-compose-media-panel.has-images .fy-compose-image-previews figcaption {
  display: none;
}

.fy-compose-media-panel.has-images .fy-compose-image-previews nav {
  position: absolute;
  right: 7px;
  bottom: 7px;
  left: 7px;
  justify-content: flex-end;
  gap: 3px;
}

.fy-compose-media-panel.has-images .fy-compose-image-previews nav button {
  min-width: 23px;
  min-height: 23px;
  padding: 0 5px;
  border-color: #ffffffb8;
  color: #fff;
  background: #153f3bd9;
  backdrop-filter: blur(4px);
}

.fy-compose-media-panel.has-images .fy-compose-image-previews nav button.remove {
  margin-left: 0;
  color: #fff;
  border-color: #ffffffa8;
  background: #923c37e8;
  font-size: 15px;
}

.fy-compose-cover-preview {
  position: relative;
  display: grid;
  grid-template-columns: 92px minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  margin: 0;
  padding: 7px;
  border: 1px solid #d8e1dd;
  border-radius: 10px;
  background: #f7f9f8;
}

.fy-compose-cover-preview img {
  width: 92px;
  height: 58px;
  object-fit: cover;
  border-radius: 7px;
}

.fy-compose-cover-preview figcaption {
  overflow: hidden;
  font-size: 11px;
  font-weight: 850;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.fy-compose-cover-preview > button {
  width: 30px;
  height: 30px;
  border: 1px solid #d6dfdb;
  border-radius: 50%;
  background: #fff;
}

.fy-question-preferences {
  display: grid;
  gap: 7px;
  padding: 10px 12px;
  border: 1px solid #d9e2de;
  border-radius: 10px;
  background: #f4f8f6;
}

.fy-question-preferences > b {
  font-size: 11px;
}

.fy-question-preferences > div {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.fy-question-preferences button {
  min-height: 31px;
  padding: 0 9px;
  border: 1px solid #cdd9d4;
  border-radius: 99px;
  color: #526b65;
  background: #fff;
  font-size: 10px;
}

.fy-question-preferences button.active {
  border-color: #216c61;
  color: #fff;
  background: #26756a;
}

.fy-question-preferences > small {
  color: #71817c;
  font-size: 9px;
  line-height: 1.5;
}

.fy-compose-message {
  margin: 0 !important;
  padding: 8px 10px;
  border-radius: 8px;
  color: #315d55;
  background: #e9f3ef;
  font-size: 11px;
}

.fy-publish-form-single > footer.fy-compose-single-actions {
  display: grid !important;
  grid-template-columns: minmax(120px, .45fr) minmax(180px, 1fr);
  gap: 8px;
  margin: 2px 0 0 !important;
  padding: 10px 0 0 !important;
  border-top: 1px solid #dce3e0;
}

.fy-compose-single-actions button {
  min-height: 42px !important;
  border-radius: 9px !important;
}

@media (max-width: 620px) {
  .fy-compose-modal.fy-compose-modal-single {
    width: calc(100% - 14px) !important;
    max-height: calc(100svh - 14px) !important;
  }

  .fy-compose-modal-single > header,
  .fy-publish-form.fy-publish-form-single {
    padding-inline: 14px !important;
  }

  .fy-compose-kind-switch {
    padding-inline: 14px;
  }

  .fy-compose-kind-switch button small,
  .fy-compose-single-tools small {
    display: none;
  }

  .fy-publish-form.fy-publish-form-single {
    gap: 7px !important;
    padding-top: 10px !important;
    padding-bottom: 12px !important;
  }

  .fy-publish-form-single textarea {
    min-height: 88px !important;
  }

  .fy-compose-media-panel {
    gap: 6px;
    padding: 8px;
  }

  .fy-compose-media-panel > header b {
    font-size: 12px;
  }

  .fy-compose-media-panel > header small {
    display: none;
  }

  .fy-compose-image-dropzone {
    grid-template-columns: 36px minmax(0, 1fr) auto;
    gap: 8px;
    min-height: 66px;
    padding: 8px 9px;
  }

  .fy-compose-image-dropzone > i {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    font-size: 21px;
  }

  .fy-compose-image-dropzone strong {
    font-size: 11px;
  }

  .fy-compose-image-dropzone small {
    display: none;
  }

  .fy-compose-image-dropzone > b {
    min-width: 64px;
    padding: 7px 8px;
  }

  .fy-question-preferences {
    gap: 5px;
    padding: 7px 9px;
  }

  .fy-question-preferences button {
    min-height: 27px;
  }

  .fy-question-preferences > small {
    display: none;
  }

  .fy-compose-meta-grid {
    grid-template-columns: 1fr;
  }

  .fy-compose-auth-layer {
    padding: 10px;
  }

  .fy-compose-auth-dialog {
    padding: 22px 18px;
  }

  .fy-compose-auth-dialog > div {
    grid-template-columns: 1fr;
  }

  .fy-community-compose-toast {
    right: 14px;
    bottom: 14px;
  }

  .fy-compose-media-panel.has-images .fy-compose-image-previews {
    max-height: 82px;
  }

  .fy-compose-media-panel.has-images .fy-compose-image-previews > figure {
    flex-basis: 112px;
    width: 112px;
    height: 74px;
  }

  .fy-compose-media-panel.has-images .fy-compose-image-previews > figure > div {
    width: 102px;
    height: 64px;
  }

  .fy-compose-media-panel.has-images .fy-compose-image-dropzone > span {
    display: none;
  }

  .fy-compose-media-panel.has-images .fy-compose-image-dropzone {
    grid-template-columns: 34px minmax(0, 1fr);
  }

  .fy-compose-media-panel.has-images .fy-compose-image-dropzone > b {
    justify-self: stretch;
  }
}

@media (max-width: 980px) {
  .fy-community .fy-community-content-layout .fy-community-main .fy-community-feed {
    column-count: auto !important;
    column-width: 220px !important;
  }
}

@media (max-width: 700px) {
  .fy-community .fy-community-content-layout .fy-community-main .fy-community-feed {
    column-count: auto !important;
    column-width: 190px !important;
  }
}

@media (max-width: 460px) {
  .fy-community .fy-community-content-layout .fy-community-main .fy-community-feed {
    column-count: 1 !important;
    column-width: auto !important;
  }
}

/* Real phones keep two independently flowing columns, irrespective of viewport
   breakpoints used by narrow desktop windows. The extra specificity also keeps
   the late-loaded mobile system stylesheet from restoring a row-based grid. */
html[data-finyue-device="mobile"]
  body
  .community-page
  .fy-community
  .fy-community-content-layout
  .fy-community-main
  .fy-community-feed {
  display: block !important;
  column-count: 2 !important;
  column-width: auto !important;
  column-gap: 8px !important;
}

html[data-finyue-device="mobile"]
  body
  .community-page
  .fy-community
  .fy-community-content-layout
  .fy-community-main
  .fy-community-feed
  > :is(.fy-post-card, .fy-unified-question-card) {
  display: inline-flex !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 0 8px !important;
  break-inside: avoid-column !important;
  page-break-inside: avoid !important;
  -webkit-column-break-inside: avoid !important;
  vertical-align: top;
}

.fy-community
  .fy-community-control-bar
  .fy-community-channel-strip
  button {
  grid-template-columns: minmax(0, 1fr);
  justify-items: center;
  padding: 0 8px;
}

.fy-community
  .fy-community-control-bar
  .fy-community-channel-strip
  button
  b {
  font-size: 11px;
  line-height: 1;
}

/* FINYUE_BANK_GUIDE_V2 */
.bank-guide-page {
  width:min(1180px,calc(100% - 32px));
  margin:20px auto 80px;
  color:#18332f;
}
.bank-guide-hero {
  display:grid;
  grid-template-columns:minmax(0,1fr) 190px;
  gap:20px;
  min-height:0;
  padding:26px 28px;
  color:#fff;
  border-radius:24px;
  background:radial-gradient(circle at 84% 12%,#f0cb7052,transparent 25%),linear-gradient(125deg,#153e38,#276a5d 67%,#193f4d);
  box-shadow:0 20px 52px #163e3821;
}
.bank-guide-heading > span { color:#f1d282; font-size:10px; font-weight:900; letter-spacing:.13em; }
.bank-guide-heading h1 { max-width:820px; margin:9px 0 8px; font:700 clamp(32px,3.2vw,44px)/1.12 "Noto Serif TC","Songti TC",serif; letter-spacing:-.035em; }
.bank-guide-heading > p { max-width:820px; margin:0; color:#d6e7e2; font-size:13px; line-height:1.75; }
.bank-guide-heading ul { display:flex; flex-wrap:wrap; gap:7px; margin:13px 0 0; padding:0; list-style:none; }
.bank-guide-heading li { padding:7px 10px; color:#e9f2ef; font-size:9px; border:1px solid #ffffff2e; border-radius:999px; background:#ffffff0d; }
.bank-guide-cover { align-self:center; min-height:0; margin:0; padding:7px; border:1px solid #ffffff2d; border-radius:15px; background:#ffffff12; }
.bank-guide-cover img { width:100%; height:104px; object-fit:cover; border-radius:10px; }
.bank-guide-cover figcaption { padding:6px 3px 1px; color:#bfd3cd; font-size:7px; line-height:1.45; }
.bank-guide-layout { display:grid; grid-template-columns:minmax(0,1fr) 280px; align-items:start; gap:20px; margin-top:20px; }
.bank-guide-main { display:grid; gap:16px; min-width:0; }
.bank-guide-verdict,.bank-guide-section {
  padding:28px 30px;
  border:1px solid #dbe4e0;
  border-radius:20px;
  background:#fff;
  box-shadow:0 12px 34px #193d370c;
}
.bank-guide-verdict { border-color:#e7d49b; background:linear-gradient(135deg,#fffaf0,#fff); }
.bank-guide-verdict > span,.bank-guide-section header > span { color:#9a7231; font-size:9px; font-weight:950; letter-spacing:.13em; }
.bank-guide-verdict h2,.bank-guide-section h2 { margin:8px 0 18px; font:700 26px/1.24 "Noto Serif TC","Songti TC",serif; letter-spacing:-.02em; }
.bank-guide-verdict > div { display:grid; grid-template-columns:1fr 1fr; gap:9px; }
.bank-guide-verdict article { min-height:104px; padding:15px; border:1px solid #e7ddc1; border-radius:13px; background:#fff; }
.bank-guide-verdict article b { font-size:12px; }
.bank-guide-verdict article p { margin:7px 0 0; color:#6d6d65; font-size:10px; line-height:1.65; }
.bank-checklist-table { border-top:1px solid #cedbd6; }
.bank-checklist-table > div { position:relative; display:grid; grid-template-columns:112px minmax(0,1.25fr) minmax(0,.8fr) 20px; gap:14px; align-items:center; min-height:82px; border-bottom:1px solid #dfe6e3; }
.bank-checklist-table strong { font-size:12px; }
.bank-checklist-table p,.bank-checklist-table small { margin:0; line-height:1.55; }
.bank-checklist-table p { color:#3f4f4b; font-size:10px; }
.bank-checklist-table small { color:#7b7c74; font-size:9px; }
.bank-checklist-table i { display:grid; place-items:center; width:20px; height:20px; color:#947035; font-style:normal; border:1px solid #d9c68c; border-radius:5px; }
.bank-guide-note { margin:16px 0 0; padding:12px 14px; color:#675c43; font-size:9px; line-height:1.7; border-radius:10px; background:#f7f1df; }
.bank-route-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.bank-route-grid article { min-height:180px; padding:17px; border:1px solid #dbe4e0; border-radius:14px; background:#f8fbf9; }
.bank-route-grid article > b { color:#987235; font-size:9px; letter-spacing:.09em; }
.bank-route-grid strong { display:block; margin:8px 0; font-size:14px; }
.bank-route-grid p { margin:0; color:#65736f; font-size:10px; line-height:1.65; }
.bank-route-grid a { display:inline-block; margin-top:13px; color:#22685e; font-size:9px; font-weight:900; }
.bank-steps { display:grid; gap:7px; margin:0; padding:0; list-style:none; }
.bank-steps li { display:grid; grid-template-columns:42px minmax(0,1fr); gap:13px; align-items:center; min-height:70px; padding:10px 13px; border:1px solid #dce5e1; border-radius:12px; }
.bank-steps li > b { color:#a47a35; font:700 15px/1 Georgia,serif; }
.bank-steps strong,.bank-steps small { display:block; }
.bank-steps strong { font-size:12px; }
.bank-steps small { margin-top:4px; color:#69726f; font-size:9px; line-height:1.55; }
.bank-failure-grid { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.bank-failure-grid article { padding:14px; border-left:3px solid #d49a65; border-radius:4px 10px 10px 4px; background:#fff8f1; }
.bank-failure-grid strong { font-size:11px; }
.bank-failure-grid p { margin:6px 0 0; color:#71675d; font-size:9px; line-height:1.6; }
.bank-cantonese-list { display:grid; gap:7px; }
.bank-cantonese-list article { display:grid; grid-template-columns:34px minmax(0,1fr) minmax(180px,.7fr); gap:11px; align-items:center; min-height:58px; padding:9px 12px; border:1px solid #dbe4e0; border-radius:11px; }
.bank-cantonese-list b { color:#a27934; font:700 12px/1 Georgia,serif; }
.bank-cantonese-list strong { font-size:12px; }
.bank-cantonese-list small { color:#6e7774; font-size:9px; }
.bank-course-link { display:flex; align-items:center; justify-content:space-between; min-height:48px; margin-top:13px; padding:0 15px; color:#fff; font-size:10px; font-weight:900; border-radius:11px; background:#23685e; }
.bank-guide-aside { position:sticky; top:18px; display:grid; gap:12px; }
.bank-guide-aside section,.bank-guide-aside > p { margin:0; padding:18px; border:1px solid #dbe4e0; border-radius:16px; background:#fff; }
.bank-guide-aside section > span { display:block; margin-bottom:10px; color:#8e703b; font-size:9px; font-weight:950; letter-spacing:.1em; }
.bank-guide-aside nav { display:grid; gap:5px; }
.bank-guide-aside nav a { min-height:34px; padding:8px 10px; color:#315b54; font-size:9px; font-weight:850; border-radius:8px; background:#f0f6f3; }
.bank-guide-aside section > a { display:block; padding:10px 0; border-top:1px solid #e3e9e6; }
.bank-guide-aside section > a:first-of-type { border-top:0; }
.bank-guide-aside a b,.bank-guide-aside a small { display:block; }
.bank-guide-aside a b { color:#245f57; font-size:10px; }
.bank-guide-aside a small { margin-top:3px; color:#7b807d; font-size:8px; line-height:1.5; }
.bank-guide-actions { display:grid; grid-template-columns:repeat(3,1fr); gap:7px; }
.bank-guide-actions > span { grid-column:1/-1; }
.bank-guide-actions > b { text-align:center; font-size:10px; }
.bank-guide-actions > a { grid-column:1/-1; padding:10px !important; color:#fff !important; text-align:center; border:0 !important; border-radius:9px; background:#246b61; }
.bank-guide-actions > a small { color:inherit; }
.bank-guide-aside > p { color:#766f63; font-size:8px; line-height:1.7; background:#fffaf0; border-color:#ead8a6; }

.fy-qa-hero form > button {
  min-width: 96px;
  white-space: nowrap;
}

@media (max-width:900px) {
  .bank-guide-hero { grid-template-columns:1fr 190px; }
  .bank-guide-layout { grid-template-columns:1fr; }
  .bank-guide-aside { position:static; grid-template-columns:1fr 1fr; }
  .bank-guide-aside > p { grid-column:1/-1; }
}
@media (max-width:620px) {
  .bank-guide-page { width:calc(100% - 18px); margin-top:9px; }
  .bank-guide-hero { grid-template-columns:1fr; padding:23px 20px; border-radius:18px; }
  .bank-guide-heading h1 { font-size:34px; }
  .bank-guide-cover { min-height:0; display:grid; grid-template-columns:110px 1fr; align-items:center; }
  .bank-guide-cover img { height:74px; }
  .bank-guide-verdict,.bank-guide-section { padding:20px 17px; border-radius:16px; }
  .bank-guide-verdict > div,.bank-route-grid,.bank-failure-grid { grid-template-columns:1fr; }
  .bank-checklist-table > div { grid-template-columns:86px 1fr 20px; gap:8px; padding:10px 0; }
  .bank-checklist-table small { grid-column:2; }
  .bank-checklist-table i { grid-column:3; grid-row:1/3; }
  .bank-cantonese-list article { grid-template-columns:28px 1fr; }
  .bank-cantonese-list small { grid-column:2; }
  .bank-guide-aside { grid-template-columns:1fr; }
  .bank-guide-aside > p { grid-column:auto; }
}

/* Founding-member identity inside community surfaces.  Keep this compact
   enough for author rows while making the first 100 real accounts unmistakable. */
:is(.fy-community, .fy-thread, .fy-qdetail, .community-detail) .seed-vip-badge {
  --seed-vip-gold: #f1c957;
  --seed-vip-mint: #82ead6;
  position: relative;
  isolation: isolate;
  overflow: hidden;
  color: #fff;
  border-color: #e5bc50;
  background:
    radial-gradient(circle at 17% 4%, #8af1dc45, transparent 35%),
    linear-gradient(132deg, #174956 0%, #121c38 55%, #432054 100%);
  box-shadow:
    0 4px 12px #111b3533,
    0 0 0 1px #fff0ad1c inset,
    0 0 12px #e5bd4730;
}

:is(.fy-community, .fy-thread, .fy-qdetail, .community-detail) .seed-vip-badge::before {
  position: absolute;
  z-index: -1;
  inset: 1px;
  content: "";
  border-radius: inherit;
  background: linear-gradient(105deg, #ffffff0d, transparent 43%, #f7d87514);
}

:is(.fy-community, .fy-thread, .fy-qdetail, .community-detail) .seed-vip-badge::after {
  z-index: 0;
  width: 32%;
  background: linear-gradient(90deg, transparent, #fff8c99c, transparent);
  animation: community-seed-vip-sheen 4.6s ease-in-out infinite;
}

:is(.fy-community, .fy-thread, .fy-qdetail, .community-detail) .seed-vip-badge .seed-vip-crest,
:is(.fy-community, .fy-thread, .fy-qdetail, .community-detail) .seed-vip-badge .seed-vip-copy {
  position: relative;
  z-index: 2;
}

:is(.fy-community, .fy-thread, .fy-qdetail, .community-detail) .seed-vip-badge .seed-vip-crest {
  filter:
    drop-shadow(0 2px 3px #060b1d70)
    drop-shadow(0 0 4px #f0cb665e);
}

:is(.fy-community, .fy-thread, .fy-qdetail, .community-detail) .seed-vip-badge .seed-vip-copy b {
  color: #ffeaa0 !important;
  text-shadow: 0 1px 4px #080e24;
}

:is(.fy-community, .fy-thread, .fy-qdetail, .community-detail) .seed-vip-badge .seed-vip-copy small {
  color: #bff5e9 !important;
}

:is(.fy-community, .fy-thread, .fy-qdetail, .community-detail) .seed-vip-badge.is-compact {
  gap: 3px;
  min-height: 24px;
  padding: 2px 6px 2px 2px;
  border-radius: 8px;
  box-shadow:
    0 3px 9px #111b3530,
    0 0 0 1px #fff0ad18 inset,
    0 0 9px #e5bd4730;
}

:is(.fy-community, .fy-thread, .fy-qdetail, .community-detail) .seed-vip-badge.is-compact .seed-vip-crest {
  width: 19px;
  height: 19px;
}

:is(.fy-community, .fy-thread, .fy-qdetail, .community-detail) .seed-vip-badge.is-compact .seed-vip-copy {
  display: grid;
  grid-template-columns: auto;
  gap: 1px;
  align-content: center;
}

:is(.fy-community, .fy-thread, .fy-qdetail, .community-detail) .seed-vip-badge.is-compact .seed-vip-copy b {
  font-size: 8px !important;
  line-height: 1 !important;
  letter-spacing: .11em;
}

:is(.fy-community, .fy-thread, .fy-qdetail, .community-detail) .seed-vip-badge.is-compact .seed-vip-copy small {
  display: block;
  margin-top: 0;
  font-size: 5.5px !important;
  line-height: 1 !important;
  letter-spacing: .07em;
}

.seed-vip-sparkles {
  position: absolute;
  z-index: 3;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
}

.seed-vip-sparkles i {
  position: absolute;
  width: 3px;
  height: 3px;
  opacity: 0;
  border-radius: 1px;
  background: #fff8ca;
  box-shadow: 0 0 5px #ffe789;
  transform: rotate(45deg) scale(.35);
  animation: community-seed-vip-sparkle 3.8s ease-in-out infinite;
}

.seed-vip-sparkles i:nth-child(1) { top: 4px; right: 8px; }
.seed-vip-sparkles i:nth-child(2) { bottom: 4px; left: 25px; animation-delay: 1.15s; }
.seed-vip-sparkles i:nth-child(3) { top: 7px; left: 4px; animation-delay: 2.3s; }

@keyframes community-seed-vip-sheen {
  0%, 60% { left: -42%; opacity: 0; }
  70% { opacity: .9; }
  86%, 100% { left: 120%; opacity: 0; }
}

@keyframes community-seed-vip-sparkle {
  0%, 72%, 100% { opacity: 0; transform: rotate(45deg) scale(.35); }
  78% { opacity: 1; transform: rotate(45deg) scale(1.2); }
  85% { opacity: .25; transform: rotate(45deg) scale(.7); }
}

@media (prefers-reduced-motion: reduce) {
  :is(.fy-community, .fy-thread, .fy-qdetail, .community-detail) .seed-vip-badge::after,
  .seed-vip-sparkles i {
    animation: none;
  }

  .seed-vip-sparkles i:first-child {
    opacity: .65;
    transform: rotate(45deg) scale(.8);
  }
}

.fy-community-real-empty {
  box-sizing: border-box;
  width: 100%;
  min-height: 176px;
  padding: 28px;
  border: 1px solid #d7e1dc;
  border-radius: 18px;
  background: #fffdf8;
  box-shadow: 0 10px 28px rgba(33, 73, 66, 0.08);
  display: grid;
  place-items: center;
  align-content: center;
  gap: 7px;
  text-align: center;
}

.fy-community-real-empty > i {
  width: 38px;
  height: 38px;
  border-radius: 12px;
  color: #fff;
  background: #397d72;
  display: grid;
  place-items: center;
  font-size: 20px;
  font-style: normal;
}

.fy-community-real-empty h2,
.fy-community-real-empty p {
  margin: 0;
}

.fy-community-real-empty nav {
  margin-top: 5px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
}

.fy-community-real-empty nav :is(a, button) {
  box-sizing: border-box;
  min-width: 118px;
  min-height: 42px;
  padding: 0 18px;
  border: 1px solid #b9cec7;
  border-bottom: 3px solid #8baaa1;
  border-radius: 10px;
  color: #285e56;
  background: #f4f9f7;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: inherit;
  font-size: 13px;
  font-weight: 900;
  line-height: 1;
  white-space: nowrap;
  text-decoration: none;
  appearance: none;
  cursor: pointer;
  transition: transform 0.16s ease, box-shadow 0.16s ease,
    background 0.16s ease;
}

.fy-community-real-empty nav :is(a, button):hover {
  transform: translateY(-1px);
  box-shadow: 0 6px 14px rgba(33, 73, 66, 0.13);
}

.fy-community-real-empty nav :is(a, button):focus-visible {
  outline: 3px solid rgba(57, 125, 114, 0.28);
  outline-offset: 2px;
}

.fy-community-real-empty nav :is(a, button):first-child {
  border-color: #397d72;
  border-bottom-color: #205b52;
  color: #fff;
  background: #397d72;
}

@media (max-width: 620px) {
  .fy-community-real-empty nav :is(a, button) {
    min-width: 108px;
    min-height: 38px;
    padding: 0 14px;
    font-size: 12px;
  }
}

/* Community post reader
   Keep real posts focused on the author's words and media rather than admin-like
   attachment fields. This scope is intentionally isolated from the composer. */
.community-post-reader {
  box-sizing: border-box;
  width: min(920px, calc(100% - 32px)) !important;
  max-width: 920px !important;
  margin-inline: auto;
  padding: 24px 0 64px !important;
}

.community-post-reader-back {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 36px;
  padding: 0 11px;
  border: 1px solid #d5dfdb;
  border-radius: 999px;
  color: #4f6862 !important;
  background: #ffffffb8;
  font-size: 12px !important;
  font-weight: 800;
  text-decoration: none;
  transition: border-color .16s ease, color .16s ease, transform .16s ease;
}

.community-post-reader-back:hover {
  border-color: #88aaa1;
  color: #23675d !important;
  transform: translateX(-2px);
}

.community-post-reader .community-post-reader-card {
  margin-top: 14px;
  padding: 32px 42px 38px;
  border: 1px solid #d5dfda;
  border-radius: 24px;
  background:
    linear-gradient(90deg, #397b70 0 78px, #d8b767 78px 116px, transparent 116px) top left / 116px 3px no-repeat,
    radial-gradient(circle at 94% 0, #f3dfaa20 0 90px, transparent 91px),
    #fffefa;
  box-shadow: 0 24px 64px #173c3516;
}

.community-post-reader-card > .community-post-reader-kicker {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
  gap: 7px;
  color: #57716b;
  letter-spacing: 0;
  font-size: 11px;
}

.community-post-reader-kicker > span,
.community-post-reader-kicker > b {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 0 9px;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 900;
}

.community-post-reader-kicker > i {
  color: #9ca8a4;
  font-size: 14px;
  font-style: normal;
  font-weight: 700;
}

.community-post-reader-kicker.is-question > span,
.community-post-reader-kicker.is-question > b {
  min-height: 24px;
  padding: 0;
  color: #56706a;
  background: transparent;
  font-size: 11px;
}

.community-post-reader-kicker.is-question > span {
  color: #2c7469;
}

.community-post-reader-kicker > span {
  color: #fff;
  background: #397b70;
}

.community-post-reader-kicker > b {
  color: #8a6630;
  background: #fbf2dd;
}

.community-post-reader-kicker > small {
  margin-left: auto;
  color: #71807c;
  font-size: 11px;
  font-weight: 750;
  letter-spacing: 0;
}

.community-post-reader-card > h1 {
  max-width: 760px;
  margin: 17px 0 16px;
  color: #153c36;
  font-family: "Noto Serif TC", "Songti TC", STSong, serif;
  font-size: clamp(31px, 4vw, 44px);
  font-weight: 650;
  line-height: 1.25;
  letter-spacing: -.035em;
}

.community-post-reader-author {
  display: flex;
  align-items: center;
  gap: 11px;
  min-width: 0;
  padding: 12px 0 18px;
  border-bottom: 1px solid #e2e8e5;
}

.community-post-reader-avatar {
  display: grid;
  place-items: center;
  flex: 0 0 44px;
  width: 44px;
  height: 44px;
  overflow: hidden;
  border: 2px solid #fff;
  border-radius: 14px;
  color: #fff;
  background: linear-gradient(145deg, #3f8176, #244f49);
  box-shadow: 0 0 0 1px #cbd9d4, 0 6px 14px #285e551c;
  font-size: 18px;
  font-weight: 900;
}

.community-post-reader-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.community-post-reader-identity {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.community-post-reader-identity strong {
  color: #254a43;
  font-size: 14px;
  font-weight: 900;
}

.community-post-reader-identity small {
  color: #7b8884;
  font-size: 10px;
  line-height: 1.4;
}

.community-post-reader-author > .seed-vip-badge {
  flex: 0 0 auto;
  margin-left: auto;
}

/* The reader badge is intentionally matte and jewel-like, not a loud game tag. */
.community-post-reader-author > .seed-vip-badge.is-compact {
  min-height: 30px;
  padding: 3px 9px 3px 3px;
  border: 1px solid #b99442;
  border-radius: 10px;
  background: linear-gradient(135deg, #173e46, #171d32 66%, #322139);
  box-shadow: 0 7px 17px #142e3924, 0 0 0 1px #fff3b317 inset;
}

.community-post-reader-author > .seed-vip-badge.is-compact::after,
.community-post-reader-author > .seed-vip-badge .seed-vip-sparkles {
  display: none;
}

.community-post-reader-author > .seed-vip-badge.is-compact .seed-vip-crest {
  width: 23px;
  height: 23px;
}

.community-post-reader-author > .seed-vip-badge.is-compact .seed-vip-copy b {
  font-size: 9px !important;
  letter-spacing: .13em;
}

.community-post-reader-author > .seed-vip-badge.is-compact .seed-vip-copy small {
  color: #d8c88f !important;
  font-size: 6px !important;
}

.community-post-reader-card > .community-post-body {
  margin: 0;
  padding: 27px 0 25px;
  border: 0;
  color: #263d38;
  white-space: pre-wrap;
  font-size: 16px;
  line-height: 1.9;
  overflow-wrap: anywhere;
}

.community-post-reader-question-detail {
  margin: 24px 0 22px;
  padding: 18px 20px;
  border: 1px solid #dde6e2;
  border-left: 3px solid #397b70;
  border-radius: 4px 14px 14px 4px;
  background: #f8faf9;
}

.community-post-reader-question-detail > small {
  display: block;
  margin-bottom: 8px;
  color: #75827e;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .08em;
}

.community-post-reader-question-detail > .community-post-body {
  margin: 0;
  color: #304742;
  white-space: pre-wrap;
  font-size: 15px;
  line-height: 1.85;
}

.community-post-reader-card > .community-post-reader-media {
  margin: 0 0 24px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.community-post-reader-media > div {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.community-post-reader-media > div > .community-post-reader-image,
.community-post-reader-audio {
  min-width: 0;
  overflow: hidden;
  border: 1px solid #d8e2de;
  border-radius: 16px;
  background: #f3f7f5;
}

.community-post-reader-media > div.is-single > .community-post-reader-image,
.community-post-reader-audio:only-child {
  grid-column: 1 / -1;
}

.community-post-reader-image {
  position: relative;
  display: block;
  width: 100%;
  padding: 0;
  cursor: zoom-in;
}

.community-post-reader-media > div.is-single > .community-post-reader-image {
  width: min(100%, 700px);
  margin-inline: auto;
  background: #f6f7f5;
}

.community-post-reader-image > span {
  position: absolute;
  right: 11px;
  bottom: 11px;
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border: 1px solid #ffffff8f;
  border-radius: 50%;
  color: #fff;
  background: #142b278f;
  opacity: 0;
  backdrop-filter: blur(8px);
  transition: opacity .16s ease, transform .16s ease;
}

.community-post-reader-image:hover > span,
.community-post-reader-image:focus-visible > span {
  opacity: 1;
  transform: translateY(-1px);
}

.community-post-reader-media img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 760px;
  border: 0;
  border-radius: 0;
  object-fit: contain;
  background: transparent;
}

.community-post-reader-media > div:not(.is-single) .community-post-reader-image img {
  height: auto;
  min-height: 0;
  object-fit: contain;
}

.community-post-reader-media > div.is-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.community-post-reader-media > div.is-grid .community-post-reader-image img {
  height: auto;
}

.community-post-reader-audio {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  align-items: center;
  gap: 9px;
  min-height: 64px;
  padding: 9px 12px;
}

.community-post-reader-audio > span {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  color: #fff;
  background: #397b70;
}

.community-post-reader-audio audio {
  width: 100%;
  border: 0;
  background: transparent;
}

.community-post-reader-card > .community-post-related-link {
  min-height: 44px;
  margin: -7px 0 20px;
  border-color: #d7e3de;
  border-radius: 11px;
  color: #28685e;
  background: #f3f8f5;
}

.community-post-reader-card > .community-post-reader-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  margin: 3px 0 0;
  padding: 14px 0;
  border-top: 1px solid #e1e7e4;
  border-bottom: 1px solid #e1e7e4;
}

.community-post-reader-actions button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 39px;
  padding: 0 14px;
  border: 1px solid #d4dfdb;
  border-radius: 999px;
  color: #45615b;
  background: #fff;
  font-size: 12px;
  font-weight: 850;
  cursor: pointer;
  transition: transform .16s ease, color .16s ease, border-color .16s ease, background .16s ease;
}

.community-post-reader-actions button:hover {
  transform: translateY(-1px);
  border-color: #91b0a8;
  color: #23675d;
}

.community-post-reader-actions button.is-active {
  border-color: #397b70;
  color: #fff;
  background: #397b70;
}

.community-post-reader-actions button.is-primary {
  border-color: #397b70;
  color: #fff;
  background: #397b70;
  box-shadow: 0 7px 16px #245f5626;
}

.community-post-reader-actions button.community-post-reader-edit {
  margin-left: auto;
  border-color: #d8e2de;
  color: #315f56;
  background: #f5f9f7;
}

.community-post-reader-actions button > span {
  font-size: 17px;
  line-height: 1;
}

.community-post-reader-actions .community-post-reader-minor {
  margin-left: 0;
  padding-inline: 9px;
  border-color: transparent;
  color: #8a9491;
  background: transparent;
  font-size: 10px;
  font-weight: 700;
}

.community-post-reader-actions .community-post-reader-edit + .community-post-reader-minor,
.community-post-reader-actions > .community-post-reader-minor:first-of-type {
  margin-left: 0;
}

.community-post-reader-actions > .community-post-reader-minor:last-child:not(.danger) {
  margin-left: auto;
}

.community-post-reader-actions .danger.community-post-reader-minor {
  color: #a17470;
  border-color: transparent;
}

.community-post-reader-card > .community-post-reader-discussion {
  margin: 0;
  padding: 28px 0 0;
  border: 0;
  background: transparent;
}

.community-post-reader-discussion > header {
  display: grid;
  grid-template-columns: auto minmax(240px, 1fr);
  align-items: end;
  gap: 20px;
}

.community-post-reader-discussion > header > div {
  display: grid;
  gap: 4px;
}

.community-post-reader-discussion > header small {
  color: #9a7438;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .12em;
}

.community-post-reader-discussion > header h2 {
  margin: 0;
  color: #21463f;
  font-family: "Noto Serif TC", "Songti TC", STSong, serif;
  font-size: 25px;
  font-weight: 650;
}

.community-post-reader-discussion > header p {
  justify-self: end;
  max-width: 430px;
  margin: 0;
  color: #7a8884;
  text-align: right;
  font-size: 11px;
  line-height: 1.55;
}

.community-post-reader-card .community-post-reader-reply {
  display: grid;
  gap: 8px;
  margin: 17px 0 10px;
  padding: 13px;
  border: 1px solid #d8e2de;
  border-radius: 14px;
  background: #f8fbf9;
}

.community-post-reader-reply > label {
  color: #48655f;
  font-size: 11px;
  font-weight: 900;
}

.community-post-reader-card .community-post-reader-reply textarea {
  width: 100%;
  min-height: 88px;
  padding: 11px 12px;
  border: 1px solid #d6e0dc;
  border-radius: 10px;
  color: #27453f;
  background: #fff;
  font-size: 14px;
  line-height: 1.65;
  resize: vertical;
}

.community-post-reader-reply > footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
}

.community-post-reader-reply > footer small {
  color: #8a9692;
  font-size: 10px;
}

.community-post-reader-card .community-post-reader-reply > footer button {
  justify-self: auto;
  min-height: 38px;
  padding: 0 16px;
  border-radius: 9px;
  background: #397b70;
  font-size: 12px;
}

.community-post-reader-comments {
  display: grid;
  gap: 0;
  margin-top: 8px;
}

.community-post-reader-comments > article {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 10px;
  padding: 15px 2px;
  border-bottom: 1px solid #e5eae8;
}

.community-post-reader-comments > article > span {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 11px;
  color: #fff;
  background: #648b83;
  font-size: 12px;
  font-weight: 900;
}

.community-post-reader-comments article > div {
  min-width: 0;
}

.community-post-reader-comments article > div > header {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
}

.community-post-reader-comments article > div > header strong {
  color: #31534c;
  font-size: 12px;
}

.community-post-reader-comments article > div > header small {
  margin-left: auto;
  color: #919b98;
  font-size: 9px;
}

.community-post-reader-comments article p {
  margin: 6px 0 0;
  color: #4d625d;
  white-space: pre-wrap;
  font-size: 13px;
  line-height: 1.7;
}

.community-post-reader-empty {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 82px;
  padding: 14px;
  border: 1px dashed #ccd9d4;
  border-radius: 13px;
  color: #56716a;
  background: #fafcfb;
}

.community-post-reader-empty > span {
  display: grid;
  place-items: center;
  flex: 0 0 36px;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  color: #397b70;
  background: #e5f1ed;
  font-size: 20px;
}

.community-post-reader-empty p,
.community-post-reader-empty strong,
.community-post-reader-empty small {
  display: block;
  margin: 0;
}

.community-post-reader-empty strong {
  color: #405e57;
  font-size: 12px;
}

.community-post-reader-empty small {
  margin-top: 3px;
  color: #82908c;
  font-size: 10px;
}

.community-post-reader > .experience-message {
  margin: 12px 0 0;
  border-radius: 10px;
  color: #315f56;
  background: #edf6f2;
  font-size: 12px;
}

.community-post-reader-modal,
.community-post-reader-lightbox {
  position: fixed;
  z-index: 180;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 22px;
  background: #10231f9e;
  backdrop-filter: blur(8px);
}

.community-post-reader-editor {
  display: grid;
  gap: 15px;
  width: min(660px, 100%);
  max-height: min(760px, calc(100dvh - 36px));
  overflow: auto;
  padding: 24px;
  border: 1px solid #d2ddd9;
  border-radius: 22px;
  background: #fffefa;
  box-shadow: 0 30px 90px #07120f4f;
}

.community-post-reader-editor > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}

.community-post-reader-editor > header small {
  color: #a17a36;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .14em;
}

.community-post-reader-editor > header h2 {
  margin: 3px 0 0;
  color: #173f38;
  font-family: "Noto Serif TC", "Songti TC", STSong, serif;
  font-size: 25px;
}

.community-post-reader-editor > header button {
  flex: 0 0 42px;
  width: 42px;
  height: 42px;
  border: 1px solid #d7e1dd;
  border-radius: 50%;
  color: #45615b;
  background: #f7faf8;
  font-size: 24px;
  cursor: pointer;
}

.community-post-reader-editor > label,
.community-post-reader-editor-meta > label {
  display: grid;
  gap: 7px;
  color: #506a64;
  font-size: 11px;
  font-weight: 900;
}

.community-post-reader-editor input,
.community-post-reader-editor textarea,
.community-post-reader-editor select {
  width: 100%;
  min-height: 44px;
  padding: 10px 12px;
  border: 1px solid #d4dfdb;
  border-radius: 11px;
  color: #263f39;
  background: #fff;
  font: inherit;
  font-size: 14px;
  font-weight: 500;
}

.community-post-reader-editor textarea {
  min-height: 190px;
  line-height: 1.7;
  resize: none;
}

.community-post-reader-editor-meta {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.community-post-reader-editor > p {
  margin: -5px 0 0;
  color: #7d8a86;
  font-size: 10px;
}

.community-post-reader-editor > footer {
  display: flex;
  justify-content: flex-end;
  gap: 9px;
  padding-top: 4px;
}

.community-post-reader-editor > footer button {
  min-width: 102px;
  min-height: 42px;
  border: 1px solid #d3dfda;
  border-radius: 11px;
  color: #4f6862;
  background: #fff;
  font-size: 12px;
  font-weight: 900;
  cursor: pointer;
}

.community-post-reader-editor > footer button[type="submit"] {
  border-color: #397b70;
  color: #fff;
  background: #397b70;
}

.community-post-reader-lightbox {
  z-index: 190;
  grid-template-columns: 52px minmax(0, 1fr) 52px;
  grid-template-rows: minmax(0, 1fr) auto;
  gap: 14px;
  background: #07100ee8;
}

.community-post-reader-lightbox > img {
  grid-column: 2;
  grid-row: 1;
  display: block;
  max-width: min(1180px, 100%);
  max-height: calc(100dvh - 90px);
  margin: auto;
  border-radius: 12px;
  object-fit: contain;
  box-shadow: 0 24px 70px #0009;
}

.community-post-reader-lightbox > button {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  border: 1px solid #ffffff47;
  border-radius: 50%;
  color: #fff;
  background: #ffffff16;
  font-size: 20px;
  cursor: pointer;
  backdrop-filter: blur(8px);
}

.community-post-reader-lightbox-close {
  position: absolute;
  top: 20px;
  right: 22px;
  z-index: 2;
  font-size: 27px !important;
}

.community-post-reader-lightbox-prev {
  grid-column: 1;
  grid-row: 1;
  align-self: center;
}

.community-post-reader-lightbox-next {
  grid-column: 3;
  grid-row: 1;
  align-self: center;
}

.community-post-reader-lightbox > small {
  grid-column: 1 / -1;
  grid-row: 2;
  justify-self: center;
  color: #fff;
  font-size: 11px;
  font-weight: 800;
}

@media (max-width: 680px) {
  .community-post-reader {
    width: 100% !important;
    padding: 10px 12px 38px !important;
  }

  .community-post-reader-back {
    min-height: 34px;
    padding-inline: 9px;
  }

  .community-post-reader .community-post-reader-card {
    margin-top: 9px;
    padding: 21px 17px 25px !important;
    border-radius: 18px;
  }

  .community-post-reader-kicker > small {
    width: 100%;
    margin-left: 0;
  }

  .community-post-reader-card > h1 {
    margin: 14px 0 13px;
    font-size: clamp(27px, 8.2vw, 35px);
  }

  .community-post-reader-author {
    align-items: flex-start;
    gap: 9px;
    padding-bottom: 15px;
  }

  .community-post-reader-avatar {
    flex-basis: 40px;
    width: 40px;
    height: 40px;
    border-radius: 12px;
  }

  .community-post-reader-author > .seed-vip-badge {
    margin-left: 0;
  }

  .community-post-reader-author > .seed-vip-badge.is-compact {
    min-height: 28px;
  }

  .community-post-reader-card > .community-post-body {
    padding: 22px 0 20px;
    font-size: 15px;
    line-height: 1.85;
  }

  .community-post-reader-media > div {
    grid-template-columns: 1fr;
  }

  .community-post-reader-media > div > .community-post-reader-image,
  .community-post-reader-audio {
    grid-column: 1;
  }

  .community-post-reader-media img,
  .community-post-reader-media > div:not(.is-single) .community-post-reader-image img,
  .community-post-reader-media > div.is-grid .community-post-reader-image img {
    width: 100%;
    height: auto;
    max-height: 68vh;
    min-height: 0;
    object-fit: contain;
  }

  .community-post-reader-card > .community-post-reader-actions {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 6px;
    padding: 11px 0;
  }

  .community-post-reader-actions button {
    min-height: 42px !important;
    padding: 0 8px;
  }

  .community-post-reader-actions .community-post-reader-minor {
    grid-column: 1 / -1;
    justify-self: end;
    min-height: 26px !important;
    margin-left: 0;
  }

  .community-post-reader-actions button.community-post-reader-edit {
    margin-left: 0;
  }

  .community-post-reader-actions button.is-primary {
    grid-column: span 2;
  }

  .community-post-reader-discussion > header {
    grid-template-columns: 1fr;
    gap: 7px;
  }

  .community-post-reader-discussion > header p {
    justify-self: start;
    text-align: left;
  }

  .community-post-reader-card .community-post-reader-reply {
    margin-top: 13px;
    padding: 10px;
  }

  .community-post-reader-card .community-post-reader-reply textarea {
    min-height: 96px !important;
    font-size: 16px;
  }

  .community-post-reader-question-detail {
    margin: 20px 0 18px;
    padding: 15px;
  }

  .community-post-reader-modal {
    align-items: end;
    padding: 0;
  }

  .community-post-reader-editor {
    width: 100%;
    max-height: calc(100dvh - 22px);
    padding: 20px 16px max(18px, env(safe-area-inset-bottom));
    border-radius: 22px 22px 0 0;
  }

  .community-post-reader-editor textarea {
    min-height: 150px;
    font-size: 16px;
  }

  .community-post-reader-editor-meta {
    grid-template-columns: 1fr;
  }

  .community-post-reader-lightbox {
    grid-template-columns: 44px minmax(0, 1fr) 44px;
    gap: 5px;
    padding: 12px;
  }

  .community-post-reader-lightbox > button {
    width: 42px;
    height: 42px;
  }

  .community-post-reader-lightbox-close {
    top: max(12px, env(safe-area-inset-top));
    right: 12px;
  }

  .community-post-reader-image > span {
    display: none;
  }
}

/* Composer finishing pass: validation is unmistakable, while an uploaded
   image remains a compact visual strip rather than turning back into a file
   manager. */
.fy-compose-label-row {
  display: flex;
  align-items: center;
  gap: 7px;
}

.fy-compose-label-row > em,
.fy-compose-label-row > b {
  padding: 2px 6px;
  border-radius: 999px;
  font-size: 8px;
  font-style: normal;
  font-weight: 900;
  letter-spacing: .06em;
}

.fy-compose-label-row > em {
  color: #5c746e;
  background: #edf3f0;
}

.fy-compose-label-row > b {
  color: #9b493f;
  background: #fff0ed;
}

.fy-compose-message.is-error {
  border: 1px solid #e5b7b0;
  color: #913a34;
  background: #fff4f2;
  box-shadow: 0 6px 18px #933e3512;
}

.fy-compose-media-panel.has-images .fy-compose-image-previews > figure {
  box-shadow: 0 7px 18px #173f3717;
}

.fy-compose-media-panel.has-images .fy-compose-image-previews > figure > div {
  grid-row: auto;
}

/* Post and question readers deliberately use different information
   architectures. Posts are media-led and warm; questions are compact,
   answer-led and closer to a knowledge page. */
.community-post-reader {
  width: min(1080px, calc(100% - 32px)) !important;
  max-width: 1080px !important;
}

.community-post-reader-card.is-question {
  width: min(900px, 100%);
  margin-inline: auto;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 16px 44px #183c3512;
}

.community-post-reader-card.is-question > h1 {
  max-width: 820px;
  margin-bottom: 12px;
  font-family: inherit;
  font-size: clamp(28px, 3.3vw, 38px);
  font-weight: 850;
  line-height: 1.3;
  letter-spacing: -.025em;
}

.community-post-reader-card.is-question .community-post-reader-question-detail {
  margin: 10px 0 14px;
  padding: 14px 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.community-question-reader-summary {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin: 0 0 12px;
}

.community-question-reader-summary > span {
  display: inline-flex;
  align-items: baseline;
  gap: 4px;
  min-height: 31px;
  padding: 6px 10px;
  border: 1px solid #dce5e1;
  border-radius: 8px;
  color: #74827e;
  background: #f7faf8;
  font-size: 10px;
}

.community-question-reader-summary b {
  color: #2d665d;
  font-size: 12px;
}

.community-question-reader-asker {
  display: grid;
  gap: 0;
  margin: 0 0 3px;
  padding: 12px 14px;
  border: 1px solid #e0e7e4;
  border-radius: 11px;
  background: #fbfcfb;
}

.community-question-reader-asker > small {
  color: #8c743f;
  font-size: 8px;
  font-weight: 950;
  letter-spacing: .13em;
}

.community-question-reader-asker .community-post-reader-author {
  padding: 7px 0 0;
  border-bottom: 0;
}

.community-post-reader-card.is-question > .community-post-reader-actions {
  margin-top: 15px;
  border-top-color: #dce5e1;
  background: linear-gradient(90deg, #f6faf8, transparent);
}

.community-post-reader-card.is-question > .community-post-reader-discussion {
  margin-top: 8px;
  padding-top: 24px;
  border-top: 4px solid #edf1ef;
}

.community-post-reader-author > .seed-vip-badge.is-compact::after,
.community-post-reader-author > .seed-vip-badge .seed-vip-sparkles {
  display: block;
}

@media (min-width: 860px) {
  .community-post-reader-card.is-post.has-media {
    display: grid;
    grid-template-columns: minmax(330px, .92fr) minmax(0, 1.08fr);
    grid-auto-rows: min-content;
    column-gap: 30px;
    align-items: start;
    padding: 28px 32px 34px;
  }

  .community-post-reader-card.is-post.has-media > .community-post-reader-kicker,
  .community-post-reader-card.is-post.has-media > h1,
  .community-post-reader-card.is-post.has-media > .community-post-reader-author,
  .community-post-reader-card.is-post.has-media > .community-post-body,
  .community-post-reader-card.is-post.has-media > .community-post-related-link,
  .community-post-reader-card.is-post.has-media > .community-post-reader-actions {
    grid-column: 2;
  }

  .community-post-reader-card.is-post.has-media > .community-post-reader-media {
    grid-column: 1;
    grid-row: 1 / span 6;
    position: sticky;
    top: 20px;
    margin: 0;
  }

  .community-post-reader-card.is-post.has-media > .community-post-reader-media img {
    width: 100%;
    max-height: 620px;
    object-fit: contain;
  }

  .community-post-reader-card.is-post.has-media > h1 {
    margin-top: 14px;
    font-size: clamp(28px, 3vw, 38px);
  }

  .community-post-reader-card.is-post.has-media > .community-post-body {
    padding: 22px 0 18px;
  }

  .community-post-reader-card.is-post.has-media > .community-post-reader-discussion {
    grid-column: 1 / -1;
    margin-top: 28px;
    padding-top: 25px;
    border-top: 1px solid #dfe7e3;
  }
}

@media (max-width: 680px) {
  .community-post-reader {
    width: 100% !important;
  }

  .community-question-reader-summary {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(90px, 1fr));
  }

  .community-question-reader-summary > span {
    display: grid;
    gap: 1px;
    padding-inline: 7px;
  }

  .community-post-reader-card.is-question > .community-post-reader-actions {
    background: transparent;
  }
}

/* Community feedback completion: two closed, unmistakable creation paths. */
.fy-community .fy-community-hero-actions .is-publish-post {
  color: #fff !important;
  border-color: #1d675f !important;
  background: linear-gradient(145deg, #2b776d, #185b53) !important;
  box-shadow: 0 3px 0 #123f3a, 0 7px 15px #163d381c !important;
}

.fy-community .fy-community-hero-actions .is-ask-question {
  color: #3d3218 !important;
  border-color: #bd963c !important;
  background: linear-gradient(145deg, #f7df92, #e7bd53) !important;
  box-shadow: 0 3px 0 #a67d24, 0 7px 15px #5d46151c !important;
}

.fy-compose-kind-switch button.is-question.active {
  color: #3d3218;
  border-color: #bd963c;
  background: linear-gradient(145deg, #f7df92, #e7bd53);
  box-shadow: 0 3px 0 #9f7724;
}

.fy-compose-single-actions .is-post-submit {
  border-color: #1d675f !important;
  color: #fff !important;
  background: #1d675f !important;
}

.fy-compose-single-actions .is-question-submit {
  border-color: #b78f35 !important;
  color: #3d3218 !important;
  background: #efd071 !important;
}

.fy-compose-image-dropzone[data-auth-hint],
.fy-compose-single-tools button[data-auth-hint] {
  position: relative;
}

.fy-compose-image-dropzone[data-auth-hint]::after,
.fy-compose-single-tools button[data-auth-hint]::after {
  position: absolute;
  z-index: 8;
  right: 10px;
  bottom: calc(100% + 8px);
  width: max-content;
  max-width: min(280px, 75vw);
  padding: 7px 9px;
  border: 1px solid #d7c27f;
  border-radius: 8px;
  content: attr(data-auth-hint);
  color: #55441e;
  background: #fff8df;
  box-shadow: 0 8px 22px #3e32162b;
  font-size: 10px;
  font-style: normal;
  font-weight: 800;
  line-height: 1.4;
  opacity: 0;
  pointer-events: none;
  transform: translateY(3px);
  transition: opacity .14s ease, transform .14s ease;
}

.fy-compose-image-dropzone[data-auth-hint]:is(:hover, :focus-visible)::after,
.fy-compose-single-tools button[data-auth-hint]:is(:hover, :focus-visible)::after {
  opacity: 1;
  transform: translateY(0);
}

/* Founding member marks stay jewel-like without animated glitter competing
   with the author's content. */
:is(.fy-community, .fy-thread, .fy-qdetail, .community-detail)
  .seed-vip-badge::after,
:is(.fy-community, .fy-thread, .fy-qdetail, .community-detail)
  .seed-vip-sparkles {
  display: none !important;
  animation: none !important;
}

/* Posts use numbered floors; questions use standalone answer entities. */
.community-post-floor-list > .community-post-floor {
  grid-template-columns: 46px minmax(0, 1fr);
  padding-block: 18px;
}

.community-post-floor-list > .community-post-floor > span {
  width: 42px;
  height: 28px;
  border: 1px solid #d8c489;
  border-radius: 999px;
  color: #725826;
  background: #fff8df;
  font-family: Georgia, serif;
  font-size: 10px;
}

.community-post-floor-list article header em {
  padding: 2px 6px;
  border-radius: 999px;
  color: #28675e;
  background: #e8f3ef;
  font-size: 8px;
  font-style: normal;
  font-weight: 900;
}

.community-post-floor-list article header time,
.community-question-answer-entities article header time {
  margin-left: auto;
  color: #7f8c88;
  font-size: 9px;
}

.community-question-reader {
  width: min(980px, calc(100% - 32px)) !important;
}

.community-question-reader .community-post-reader-card.is-question {
  padding: 30px 38px 38px;
  border-top: 4px solid #2f756b;
  background: #fff;
}

.community-question-reader .community-question-answers {
  margin-top: 24px;
  padding-top: 26px;
  border-top: 8px solid #f0f3f2;
}

.community-question-answer-entities {
  gap: 14px;
  margin-top: 14px;
}

.community-question-answer-entities > .community-question-answer-entity {
  grid-template-columns: 42px minmax(0, 1fr);
  padding: 20px;
  border: 1px solid #dce5e1;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 9px 26px #173c3510;
}

.community-question-answer-entities
    > .community-question-answer-entity
    > span {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: linear-gradient(145deg, #397b70, #24564f);
}

.community-question-answer-entity > div > p {
  margin-top: 13px;
  color: #2d4540;
  font-size: 15px;
  line-height: 1.85;
}

.community-question-answer-entity > div > footer {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 15px;
  padding-top: 11px;
  border-top: 1px solid #edf1ef;
}

.community-question-answer-entity > div > footer span {
  color: #687b76;
  font-size: 10px;
  font-weight: 850;
}

.community-question-answer-entity > div > footer button {
  margin-left: auto;
  padding: 5px 9px;
  border: 0;
  color: #317066;
  background: transparent;
  font-size: 10px;
  font-weight: 850;
  cursor: pointer;
}

@media (max-width: 680px) {
  .fy-compose-image-dropzone[data-auth-hint]::after {
    right: 0;
  }

  .community-question-reader {
    width: 100% !important;
  }

  .community-question-reader .community-post-reader-card.is-question {
    padding: 20px 16px 25px;
    border-radius: 14px;
  }

  .community-question-answer-entities > .community-question-answer-entity {
    grid-template-columns: 36px minmax(0, 1fr);
    padding: 15px 12px;
  }

  .community-question-answer-entities
    > .community-question-answer-entity
    > span {
    width: 36px;
    height: 36px;
  }

  .community-post-floor-list > .community-post-floor {
    grid-template-columns: 38px minmax(0, 1fr);
  }

  .community-post-floor-list > .community-post-floor > span {
    width: 36px;
  }
}

/* Feed readability: masonry can stay compact without shrinking stories,
   questions and actions below comfortable reading size. */
.fy-community .fy-community-hero p,
.fy-community .fy-community-search input,
.fy-community-content-layout .fy-post-copy > a > p,
.fy-community-content-layout .fy-unified-question-card > p {
  font-size: 15px !important;
  line-height: 1.65 !important;
}

.fy-community-content-layout .fy-post-copy h3,
.fy-community-content-layout .fy-post-card.is-featured h3,
.fy-community-content-layout .fy-post-card.is-discussion h3,
.fy-community-content-layout .fy-unified-question-card h3 {
  font-size: 19px !important;
  line-height: 1.4 !important;
}

.fy-community-content-layout
  :is(
    .fy-post-author small,
    .fy-post-author em,
    .fy-post-tags span,
    .fy-unified-question-card small,
    .fy-unified-question-card span
  ) {
  font-size: 13px !important;
  line-height: 1.45 !important;
}

.fy-community
  :is(
    .fy-community-hero-actions button,
    .fy-community-hero-actions a,
    .fy-community-control-bar button,
    .fy-community-fixed-publish button,
    .fy-community-fixed-publish a
  ) {
  min-height: 44px !important;
  font-size: 15px !important;
  font-weight: 850 !important;
}

.fy-community-content-layout .fy-post-copy > footer a {
  font-size: 14px !important;
}

.fy-community-content-layout .fy-post-copy > footer a::after {
  content: none !important;
}

@media (max-width: 680px) {
  .fy-community .fy-community-hero p,
  .fy-community .fy-community-search input,
  .fy-community-content-layout .fy-post-copy > a > p,
  .fy-community-content-layout .fy-unified-question-card > p {
    font-size: 15px !important;
  }

  .fy-community
    :is(
      .fy-community-hero-actions button,
      .fy-community-hero-actions a,
      .fy-community-control-bar button,
      .fy-community-fixed-publish button,
      .fy-community-fixed-publish a
    ) {
    font-size: 15px !important;
  }
}

/* Final readability floor: community content is meant for sustained reading,
   so metadata and controls must not fall back to the old compact 11–13px
   treatment on either desktop or mobile. */
.community-post-reader-card
  :is(
    .community-post-reader-meta,
    .community-post-reader-author,
    .community-post-reader-discussion,
    .community-post-reader-reply,
    .community-post-reader-comments
  )
  :is(small, time, label) {
  font-size: 15px !important;
  line-height: 1.5 !important;
}

.community-post-reader-card
  :is(
    .community-post-reader-actions button,
    .community-post-reader-reply button,
    .community-post-reader-empty strong
  ) {
  font-size: 16px !important;
}

.community-post-reader-discussion > header p,
.community-post-reader-empty small {
  font-size: 15px !important;
  line-height: 1.65 !important;
}

/* Post detail finishing pass: readable like a real article, compact like a
   conversation, and explicit about every interactive control. */
.community-post-reader-card .community-post-reader-kicker {
  font-size: 12px;
}

.community-post-reader-card > h1 {
  font-size: clamp(34px, 4vw, 46px);
  line-height: 1.22;
}

.community-post-reader-identity strong {
  font-size: 15px;
}

.community-post-reader-identity small,
.community-post-reader-kicker > small {
  font-size: 11px;
}

.community-post-reader-card > .community-post-body,
.community-post-reader-question-detail > .community-post-body {
  font-size: 17px;
  line-height: 1.84;
}

.community-post-reader-media > div > .community-post-reader-image {
  isolation: isolate;
  border-color: #cfddd8;
  background: linear-gradient(145deg, #edf4f1, #faf7ee);
  box-shadow: 0 13px 32px #193e3718;
}

.community-post-reader-image img {
  transition: transform .22s ease, filter .22s ease;
}

.community-post-reader-image:hover img,
.community-post-reader-image:focus-visible img {
  filter: saturate(1.03) contrast(1.015);
  transform: scale(1.012);
}

.community-post-reader-image > .community-post-reader-image-overlay {
  position: absolute;
  z-index: 2;
  right: 12px;
  bottom: 12px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  width: auto;
  height: 38px;
  padding: 0 11px;
  border: 1px solid #ffffff91;
  border-radius: 11px;
  color: #fff;
  background: #173b35d9;
  box-shadow: 0 6px 16px #10292335;
  opacity: .94;
  backdrop-filter: blur(9px);
  transform: none;
}

.community-post-reader-image > .community-post-reader-image-overlay i {
  font-size: 18px;
  font-style: normal;
  line-height: 1;
}

.community-post-reader-image > .community-post-reader-image-overlay b {
  font-size: 12px;
  font-weight: 900;
}

.community-post-reader-image > .community-post-reader-image-overlay small {
  padding-left: 7px;
  border-left: 1px solid #ffffff4f;
  color: #e3eeea;
  font-size: 10px;
  font-weight: 750;
}

.community-post-reader-card > .community-post-reader-actions {
  gap: 9px;
  padding-block: 15px;
}

.community-post-reader-actions button,
.community-post-reader-actions .community-post-reader-minor {
  min-height: 44px;
  padding: 0 15px;
  border: 1px solid #cbdad5;
  border-radius: 12px;
  color: #365d56;
  background: linear-gradient(180deg, #fff, #f7faf8);
  box-shadow: 0 3px 0 #d6e1dd, 0 7px 17px #173e3710;
  font-size: 13px;
  font-weight: 900;
}

.community-post-reader-actions button:hover,
.community-post-reader-actions button:focus-visible {
  border-color: #699b91;
  color: #1d6258;
  background: #f1f8f5;
  box-shadow: 0 3px 0 #a9c3bc, 0 9px 20px #173e3718;
}

.community-post-reader-actions button:active {
  transform: translateY(2px);
  box-shadow: 0 1px 0 #a9c3bc, 0 4px 10px #173e3712;
}

.community-post-reader-actions button.is-active,
.community-post-reader-actions button.is-primary {
  border-color: #2f7166;
  color: #fff;
  background: linear-gradient(145deg, #43877b, #2f6c62);
  box-shadow: 0 3px 0 #1f514a, 0 9px 20px #245f5629;
}

.community-post-reader-actions button.community-post-reader-edit {
  border-color: #b7cfc8;
  background: #eef6f3;
}

.community-post-reader-actions .community-post-reader-minor {
  color: #647873;
}

.community-post-reader-actions .danger.community-post-reader-minor {
  border-color: #e2c8c4;
  color: #8e4d47;
  background: #fff8f7;
}

.community-post-reader-card > .community-post-reader-discussion {
  padding-top: 26px;
}

.community-post-reader-discussion > header small {
  font-size: 11px;
}

.community-post-reader-discussion > header h2 {
  font-size: 28px;
  line-height: 1.2;
}

.community-post-reader-discussion > header p {
  font-size: 13px;
  line-height: 1.65;
}

.community-post-reader-card .community-post-reader-reply {
  gap: 10px;
  margin-top: 18px;
  padding: 15px;
  border-color: #cfddd8;
  background: linear-gradient(145deg, #f8fbf9, #f5f8f6);
  box-shadow: 0 8px 22px #183e3710;
}

.community-post-reader-reply > label {
  font-size: 13px;
}

.community-post-reader-card .community-post-reader-reply textarea {
  field-sizing: content;
  min-height: 104px;
  max-height: 280px;
  padding: 13px 14px;
  border-color: #cbdad5;
  font-size: 16px;
  line-height: 1.65;
  overflow-y: auto;
  resize: none;
}

.community-post-reader-card .community-post-reader-reply textarea:focus {
  border-color: #4b8b80;
  outline: 3px solid #b7d8d047;
}

.community-post-reader-reply > footer small {
  font-size: 11px;
}

.community-post-reader-card .community-post-reader-reply > footer button {
  min-height: 43px;
  padding-inline: 18px;
  font-size: 13px;
}

.community-post-reader-comments > article {
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 13px;
  padding: 19px 3px;
}

.community-post-reader-comments > article > span {
  width: 42px;
  height: 42px;
  font-size: 13px;
}

.community-post-reader-comments article > div > header strong {
  font-size: 14px;
}

.community-post-reader-comments article > div > header time,
.community-post-reader-comments article > div > header small {
  font-size: 11px;
}

.community-post-reader-comments article p,
.community-question-answer-entity > div > p {
  margin-top: 8px;
  font-size: 15px;
  line-height: 1.78;
}

.community-post-reader-empty {
  min-height: 88px;
  padding: 16px;
}

.community-post-reader-empty strong {
  font-size: 14px;
}

.community-post-reader-empty small {
  font-size: 12px;
  line-height: 1.5;
}

@media (max-width: 680px) {
  .community-post-reader-card > h1,
  .community-post-reader-card.is-question > h1 {
    font-size: clamp(28px, 8.2vw, 34px);
  }

  .community-post-reader-card > .community-post-body,
  .community-post-reader-question-detail > .community-post-body {
    font-size: 16px;
    line-height: 1.8;
  }

  .community-post-reader-image > .community-post-reader-image-overlay {
    right: 9px;
    bottom: 9px;
    display: inline-flex;
    height: 36px;
    padding-inline: 10px;
    opacity: 1;
  }

  .community-post-reader-card > .community-post-reader-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px;
    padding-block: 13px;
  }

  .community-post-reader-actions button,
  .community-post-reader-actions .community-post-reader-minor {
    min-height: 44px !important;
    padding-inline: 9px;
    font-size: 12px;
  }

  .community-post-reader-actions button.is-primary {
    grid-column: auto;
  }

  .community-post-reader-actions .community-post-reader-minor {
    min-height: 40px !important;
  }

  .community-post-reader-discussion > header h2 {
    font-size: 25px;
  }

  .community-post-reader-discussion > header p {
    font-size: 12px;
  }

  .community-post-reader-card .community-post-reader-reply {
    padding: 12px;
  }

  .community-post-reader-card .community-post-reader-reply textarea {
    min-height: 104px !important;
    max-height: 220px;
    font-size: 16px;
  }

  .community-post-reader-comments > article,
  .community-question-answer-entities > .community-question-answer-entity {
    grid-template-columns: 38px minmax(0, 1fr);
    gap: 10px;
    padding: 16px 3px;
  }

  .community-post-reader-comments > article > span,
  .community-question-answer-entities
    > .community-question-answer-entity
    > span {
    width: 38px;
    height: 38px;
  }

  .community-post-reader-comments article p,
  .community-question-answer-entity > div > p {
    font-size: 15px;
  }
}

/* Final human-reading scale.  Community pages are read as articles and
   conversations, not as dense admin tables; keep metadata secondary without
   shrinking it below a comfortable real-device size. */
.community-post-reader-card .community-post-reader-kicker,
.community-question-reader-asker > small,
.community-post-reader-discussion > header small {
  font-size: 14px !important;
  line-height: 1.45 !important;
}

.community-post-reader-identity strong,
.community-post-reader-comments article > div > header strong {
  font-size: 17px !important;
}

.community-post-reader-identity small,
.community-post-reader-kicker > small,
.community-post-reader-comments article > div > header time,
.community-post-reader-comments article > div > header small,
.community-post-reader-reply > footer small {
  font-size: 14px !important;
  line-height: 1.5 !important;
}

.community-question-reader-summary > span {
  min-height: 38px;
  padding: 8px 12px;
  font-size: 14px !important;
}

.community-question-reader-summary b {
  font-size: 16px !important;
}

.community-post-reader-discussion > header p,
.community-post-reader-reply > label {
  font-size: 16px !important;
}

.community-post-reader-comments article p,
.community-question-answer-entity > div > p {
  font-size: 17px !important;
  line-height: 1.75 !important;
}

.community-post-floor-list > .community-post-floor > span {
  font-size: 13px !important;
}

/* Reader controls must read as real actions rather than tiny metadata. */
.community-post-reader-actions button,
.community-post-reader-actions .community-post-reader-minor,
.community-post-reader-card .community-post-reader-reply > footer button {
  font-size: 16px !important;
  font-weight: 850 !important;
}

.community-post-reader-actions button,
.community-post-reader-actions .community-post-reader-minor {
  min-height: 48px !important;
  border-radius: 13px !important;
}

.community-post-reader-empty strong,
.community-post-reader-comments article > div > header strong {
  font-size: 17px !important;
}

.community-post-reader-empty small {
  font-size: 15px !important;
  line-height: 1.65 !important;
}

@media (max-width: 680px) {
  .community-post-reader-actions button,
  .community-post-reader-actions .community-post-reader-minor {
    min-height: 48px !important;
    font-size: 15px !important;
  }

  .community-post-reader-discussion > header p,
  .community-post-reader-reply > label {
    font-size: 16px !important;
  }
}
