body[data-mc-theme="comic-plaza"] {
    --plaza-green: #2f851c;
    --plaza-orange: #f77649;
    --plaza-link: #1790e6;
    --plaza-line: #e6e6e6;
    --plaza-surface: #fff;
    --cl-wood: #205a1e;
    --cl-wood-light: #327b25;
    --cl-paper: #f5f6f4;
    --cl-paper-light: #fff;
    --cl-ink: #303330;
    --cl-muted: #697068;
    --cl-line: #e6e6e6;
    --cl-brass: #2f851c;
    --cl-wine: #2f851c;
    --cl-gold: #cbe2c3;
    --cl-serif: 'Microsoft YaHei','PingFang SC',system-ui,sans-serif;
    background: #fff !important;
    color: #303330;
}
body[data-mc-theme="comic-plaza"].plaza-home {
    background: #fff url('../images/plaza-garden.svg') center top / max(1500px,100%) auto no-repeat !important;
}
body[data-mc-theme="comic-plaza"] .cl-shell, .plaza-shell {
    width: min(1200px, calc(100% - 40px));
    margin-inline: auto;
}
.plaza-header.in-header { position: relative; inset: auto; width: 100%; height: auto; padding: 0; border: 0; background: transparent; z-index: 10; }
.plaza-topbar { background: #e9f3e5e8; border-bottom: 1px solid #dce9d8; }
.plaza-top-inner { display: flex; justify-content: space-between; gap: 16px; min-height: 42px; align-items: center; }
.plaza-top-inner nav { display: flex; align-items: center; gap: 20px; font-size: 12px; }
.plaza-masthead { display: grid; grid-template-columns: 1fr minmax(300px,440px) 1fr; min-height: 144px; align-items: center; gap: 26px; }
.plaza-brand { display: inline-flex; align-items: center; gap: 8px; justify-self: start; color: #214b25; white-space: nowrap; }
.plaza-brand strong { font-size: clamp(21px,2.2vw,30px); font-weight: 800; letter-spacing: .02em; }
.plaza-search { display: grid; grid-template-columns: minmax(0,1fr) 68px; height: 45px; border: 2px solid var(--plaza-green); background: #fff; }
.plaza-search input { width: 100%; min-width: 0; height: 100%; border: 0; border-radius: 0; padding: 0 12px; background: #fff; }
.plaza-search button { border: 0; color: #fff; background: var(--plaza-green); font-size: 14px; }
.plaza-header .j-header-avatar { justify-self: end; float: none; margin: 0 10px 0 0; }
.plaza-header .j-user-avatar { width: 36px; height: 36px; border-radius: 50%; object-fit: cover; }
.plaza-nav { display: flex; align-items: center; min-height: 48px; padding: 4px 14px; background: var(--plaza-green); color: #fff; }
.plaza-nav a { display: block; padding: 7px 16px; white-space: nowrap; font-size: 15px; line-height: 26px; }
.plaza-nav a:hover, .plaza-nav a[aria-current="page"], .plaza-home .plaza-nav a:first-child { background: #ffdacd; color: #9d3a1e; }
.plaza-nav .plaza-author { margin-left: auto; background: #ffdf90; color: #582e13; font-weight: 700; }
.plaza-home main { padding: 10px 10px 40px; background: #fff; }
.plaza-hero-row { display: grid; grid-template-columns: minmax(0,880px) minmax(240px,298px); gap: 12px; align-items: start; }
.plaza-feature { position: relative; width: min(880px,100%); height: 376px; }
.plaza-feature [hidden], .plaza-rank [hidden] { display: none !important; }
.plaza-feature-mosaic, .plaza-feature-triptych { display: grid; gap: 3px; height: 100%; }
.plaza-feature-mosaic { grid-template-columns: 37.5% 26% 10.5% minmax(0,1fr); grid-template-rows: repeat(2,minmax(0,1fr)); }
.plaza-feature-mosaic .plaza-feature-card:first-child { grid-row: 1 / span 2; }
.plaza-feature-mosaic .plaza-feature-card:nth-child(3) { grid-column: 3 / span 2; }
.plaza-feature-mosaic .plaza-feature-card:nth-child(4) { grid-column: 2 / span 2; }
.plaza-feature-triptych { grid-template-columns: repeat(3,minmax(0,1fr)); }
.plaza-feature-card { display: block; position: relative; min-width: 0; min-height: 0; overflow: hidden; background: #eef2ed; }
.plaza-feature-card img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center 30%; transition: transform .25s ease; }
.plaza-feature-card:hover img { transform: scale(1.025); }
.plaza-feature-card span { position: absolute; inset: auto 0 0; padding: 27px 12px 8px; color: #fff; background: linear-gradient(transparent,#000b); font-size: 16px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.plaza-prev, .plaza-next { position: absolute; top: 50%; translate: 0 -50%; border: 0; width: 32px; height: 62px; color: #fff; background: #1119; font-size: 33px; }
.plaza-prev { left: 0; }
.plaza-next { right: 0; }
.plaza-dots { position: absolute; right: 14px; bottom: 10px; display: flex; gap: 4px; }
.plaza-dots button { border: 3px solid transparent; background: #fff9; background-clip: padding-box; border-radius: 50%; width: 17px; height: 17px; }
.plaza-dots button[aria-pressed="true"] { background-color: #ffcd8b; }
.plaza-columns { display: grid; grid-template-columns: minmax(0,880px) minmax(240px,298px); gap: 20px; align-items: start; margin-top: 34px; }
.plaza-section + .plaza-section { margin-top: 30px; }
.plaza-section-head { display: flex; align-items: baseline; gap: 11px; border-bottom: 1px solid var(--plaza-line); padding-bottom: 7px; }
.plaza-section-head h2, .plaza-rank h2, .plaza-topics h2 { margin: 0; color: #303330; font-size: 24px; line-height: 1.3; font-weight: 500; }
.plaza-section-head h2 em { color: var(--plaza-green); font-style: normal; }
.plaza-section-head > span { color: #707970; font: 13px Arial,sans-serif; }
.plaza-section-head > a { margin-left: auto; color: #1379bc; font-size: 13px; white-space: nowrap; }
.plaza-cards { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 15px; padding-top: 16px; }
.plaza-card { min-width: 0; }
.plaza-card h3, .plaza-card p { margin: 6px 0 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.plaza-card h3 { font-size: 14px; font-weight: 500; }
.plaza-card p { color: #727871; font-size: 12px; margin-top: 1px; }
.plaza-cover { position: relative; aspect-ratio: 133/178; border: 1px solid var(--plaza-line); background: #eef2ed; }
.plaza-cover > a, .plaza-cover img { display: block; width: 100%; height: 100%; object-fit: cover; }
.plaza-chapter { position: absolute; inset: auto 0 0; color: white; background: #000a; }
.plaza-chapter a { display: block; color: #fff; font-size: 12px; padding: 3px 6px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.plaza-rank { border: 1px solid var(--plaza-line); padding: 12px 16px; background: #fff; }
.plaza-rank-heading { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.plaza-rank h2, .plaza-topics h2 { font-size: 19px; }
.plaza-rank-tabs { display: flex; gap: 3px; }
.plaza-rank-tabs button { width: 36px; height: 26px; border: 1px solid var(--plaza-line); background: #f5f7f9; color: #333; }
.plaza-rank-tabs button[aria-pressed="true"] { background: #237db9; border-color: #237db9; color: #fff; }
.plaza-rank ol { list-style: none; padding: 0; margin: 11px 0 0; }
.plaza-rank li a { display: flex; align-items: center; gap: 8px; min-height: 32px; border-bottom: 1px solid #f0f0f0; }
.plaza-rank-number { display: inline-grid; place-items: center; width: 23px; height: 21px; flex: none; color: #646964; border: 1px solid var(--plaza-line); font-size: 12px; }
.plaza-rank li:nth-child(-n+3) .plaza-rank-number { background: #f7803c; color: #1d1711; border-color: #f7803c; }
.plaza-rank-name { flex: 1; min-width: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.plaza-rank-count { color: #666; font-size: 12px; }
.plaza-rank li img, .plaza-rank li small { display: none; }
.plaza-rank li:first-child a { min-height: 94px; padding: 7px; background: #edf2ee; }
.plaza-rank li:first-child img { display: block; width: 55px; height: 74px; object-fit: cover; }
.plaza-rank li:first-child small { display: block; color: #697068; overflow: hidden; text-overflow: ellipsis; }
.plaza-rank-more { display: block; margin-top: 10px; color: #1379bc; font-size: 13px; }
.plaza-hero-row .plaza-rank { min-height: 376px; }
.plaza-hero-row .plaza-rank h2 { color: #1379bc; }
.plaza-hero-row .plaza-rank li a { min-height: 23px; }
.plaza-hero-row .plaza-rank li:first-child a { min-height: 90px; }
.plaza-lower .plaza-cards { grid-template-columns: minmax(0,2.65fr) repeat(4,minmax(0,1fr)); gap: 12px; }
.plaza-lower .plaza-card:first-child { grid-row: span 2; }
.plaza-lower .plaza-card:first-child .plaza-cover { aspect-ratio: 343/336; }
.plaza-topics { margin-top: 18px; border: 1px solid var(--plaza-line); padding: 16px; }
.plaza-topics div { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; margin-top: 12px; }
.plaza-topics a { padding: 5px; text-align: center; background: #f1f6ef; color: #285922; }
.plaza-footer { margin-top: 40px; padding: 28px 0; background: #0c609c; color: #fff; font-size: 13px; text-align: center; }
.plaza-footer a:hover { color: #fff; text-decoration: underline; }
.plaza-footer nav { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 20px; }
.plaza-footer p { margin: 12px 0 0; }
.plaza-footer p a { margin-left: 8px; }
.plaza-top { position: fixed; right: 14px; bottom: 16px; width: 38px; height: 38px; background: #fff; border: 1px solid #d5dfd2; color: #286620; z-index: 12; }
@media (max-width: 920px) {
    .plaza-hero-row { grid-template-columns: minmax(0,1fr) 250px; }
    .plaza-columns { grid-template-columns: minmax(0,1fr) 250px; gap: 14px; }
    .plaza-cards, .plaza-lower .plaza-cards { grid-template-columns: repeat(4,minmax(0,1fr)); }
    .plaza-lower .plaza-card:first-child { grid-row: auto; }
    .plaza-lower .plaza-card:first-child .plaza-cover { aspect-ratio: 133/178; }
    .plaza-nav { overflow-x: auto; }
    .plaza-nav a { padding-inline: 12px; }
}
@media (max-width: 680px) {
    body[data-mc-theme="comic-plaza"] .cl-shell, .plaza-shell { width: calc(100% - 24px); }
    .plaza-top-inner nav { gap: 9px; }
    .plaza-top-inner nav:first-child a:first-child { display: none; }
    .plaza-masthead { grid-template-columns: minmax(0,1fr) auto; gap: 8px; padding: 9px 0; min-height: 0; }
    .plaza-brand img { width: 40px; height: 40px; }
    .plaza-search { grid-column: 1 / -1; grid-row: 2; height: 40px; }
    .plaza-header .j-header-avatar { grid-column: 2; grid-row: 1; }
    .plaza-nav a { padding-inline: 9px; font-size: 13px; }
    .plaza-feature { height: clamp(180px,54vw,300px); }
    .plaza-feature-card span { font-size: 12px; padding: 20px 5px 5px; }
    .plaza-hero-row, .plaza-columns { grid-template-columns: minmax(0,1fr); gap: 20px; }
    .plaza-columns { margin-top: 24px; }
    .plaza-cards, .plaza-lower .plaza-cards { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 9px; }
    .plaza-section-head h2 { font-size: 19px; }
    .plaza-section-head > span { font-size: 10px; }
}
@media (prefers-reduced-motion: reduce) { .plaza-feature-card img { transition: none; } }
