:root {
    --bg: #f4f6f2;
    --paper: #fffdf8;
    --paper-soft: #f8fbf8;
    --ink: #171b21;
    --muted: #657080;
    --soft: #8792a2;
    --line: rgba(23, 27, 33, .12);
    --line-strong: rgba(23, 27, 33, .2);
    --coral: #e85d4f;
    --teal: #147b7e;
    --gold: #c48d20;
    --violet: #6264a7;
    --shadow: 0 22px 60px rgba(28, 35, 42, .16);
    --soft-shadow: 0 12px 34px rgba(28, 35, 42, .1);
    --radius: 8px;
    --max: 1160px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
    margin: 0;
    min-width: 320px;
    overflow-x: hidden;
    color: var(--ink);
    background:
        linear-gradient(180deg, rgba(244,246,242,.72), rgba(244,246,242,1) 460px),
        repeating-linear-gradient(90deg, rgba(23,27,33,.025) 0, rgba(23,27,33,.025) 1px, transparent 1px, transparent 36px),
        var(--bg);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", "Microsoft YaHei", sans-serif;
    letter-spacing: 0;
    overflow-wrap: anywhere;
}
a { color: inherit; text-decoration: none; }
img, video { max-width: 100%; height: auto; }

.site-header {
    position: sticky;
    top: 0;
    z-index: 40;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    min-height: 72px;
    padding: 14px clamp(18px, 5vw, 72px);
    background: rgba(255, 253, 248, .82);
    border-bottom: 1px solid rgba(23,27,33,.1);
    backdrop-filter: blur(18px) saturate(130%);
}
.site-header.compact { position: relative; }
.brand { display: inline-flex; align-items: center; gap: 12px; min-width: 0; }
.brand-mark {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border-radius: var(--radius);
    color: #fff;
    background: linear-gradient(135deg, var(--coral), var(--teal));
    box-shadow: 0 10px 24px rgba(20, 123, 126, .22);
    font-weight: 900;
}
.brand strong, .brand small { display: block; }
.brand strong { font-size: 17px; line-height: 1; }
.brand small { margin-top: 5px; color: var(--muted); font-size: 12px; }
.nav-links { display: flex; align-items: center; gap: 4px; flex-wrap: wrap; justify-content: flex-end; }
.nav-links a {
    padding: 9px 12px;
    border-radius: var(--radius);
    color: #4e5968;
    font-size: 14px;
    transition: background .18s ease, color .18s ease, transform .18s ease;
}
.nav-links a:hover { color: var(--ink); background: rgba(20,123,126,.09); transform: translateY(-1px); }

.hero-carousel {
    position: relative;
    min-height: min(760px, calc(100vh - 72px));
    overflow: hidden;
    background: #171b21;
    isolation: isolate;
}
.slides, .hero-slide { position: absolute; inset: 0; }
.hero-slide {
    display: flex;
    align-items: flex-end;
    padding: clamp(68px, 8vw, 108px) clamp(22px, 6vw, 96px) clamp(96px, 9vw, 132px);
    color: #fff;
    background-image: var(--hero-image), url('https://hbt.superpai.site/wp-json/sakura/v1/image/cover');
    background-position: center;
    background-size: cover;
    opacity: 0;
    transform: scale(1.035);
    transition: opacity .65s ease, transform 1.5s ease;
}
.hero-slide.active { opacity: 1; transform: scale(1); z-index: 1; }
.hero-shade {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(11,15,22,.92) 0%, rgba(20,26,35,.72) 43%, rgba(20,26,35,.12) 100%),
        linear-gradient(0deg, rgba(11,15,22,.74), transparent 44%);
}
.hero-content, .article-title-wrap { position: relative; z-index: 2; max-width: 820px; }
.eyebrow {
    margin: 0 0 12px;
    color: var(--gold);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}
.hero-content h1, .article-title-wrap h1, .gala-hero h1 {
    margin: 0;
    max-width: 920px;
    font-size: clamp(40px, 7vw, 86px);
    line-height: 1.02;
    letter-spacing: 0;
    text-wrap: balance;
    overflow-wrap: anywhere;
    text-shadow: 0 16px 40px rgba(0,0,0,.38);
}
.hero-content p, .article-title-wrap p {
    max-width: 680px;
    margin: 20px 0 0;
    color: rgba(255,255,255,.86);
    font-size: clamp(15px, 1.8vw, 19px);
    line-height: 1.85;
}
.hero-actions { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 30px; }
.button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 0 18px;
    border-radius: var(--radius);
    border: 1px solid rgba(255,255,255,.34);
    font-weight: 800;
    transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.button:hover { transform: translateY(-2px); }
.button.primary { background: #fffdf8; color: var(--ink); border-color: #fffdf8; box-shadow: 0 14px 34px rgba(0,0,0,.18); }
.button.ghost { color: #fff; background: rgba(255,255,255,.13); backdrop-filter: blur(12px); }
.carousel-controls {
    position: absolute;
    left: clamp(22px, 6vw, 96px);
    right: clamp(22px, 6vw, 96px);
    bottom: 30px;
    z-index: 5;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
}
.icon-button {
    width: 42px;
    height: 42px;
    border: 1px solid rgba(255,255,255,.4);
    border-radius: var(--radius);
    background: rgba(255,255,255,.16);
    color: #fff;
    font-size: 18px;
    cursor: pointer;
    backdrop-filter: blur(12px);
}
.icon-button:hover { background: rgba(255,255,255,.25); }
.carousel-dots { display: flex; align-items: center; justify-content: center; gap: 8px; flex: 1; }
.dot {
    width: 34px;
    height: 4px;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: rgba(255,255,255,.38);
    cursor: pointer;
}
.dot.active { background: #fffdf8; }

.quick-panels {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    max-width: var(--max);
    margin: -48px auto 0;
    padding: 0 20px;
    position: relative;
    z-index: 8;
}
.quick-panel {
    min-height: 136px;
    padding: 22px;
    border: 1px solid rgba(255,255,255,.76);
    border-radius: var(--radius);
    background: rgba(255,253,248,.88);
    box-shadow: var(--shadow);
    backdrop-filter: blur(18px);
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.quick-panel:hover { transform: translateY(-4px); box-shadow: 0 26px 70px rgba(28,35,42,.18); border-color: rgba(20,123,126,.24); }
.quick-panel span { color: var(--teal); font-size: 12px; font-weight: 900; text-transform: uppercase; }
.quick-panel strong { display: block; margin-top: 10px; font-size: 25px; line-height: 1.2; }
.quick-panel small { display: block; margin-top: 10px; color: var(--muted); line-height: 1.65; }

.content-band { max-width: var(--max); margin: 76px auto 104px; padding: 0 20px; }
.section-head { display: flex; justify-content: space-between; gap: 22px; align-items: flex-end; margin-bottom: 28px; }
.section-head h2 { margin: 0; font-size: clamp(30px, 4vw, 48px); line-height: 1.1; }
.search-box {
    display: flex;
    align-items: center;
    gap: 10px;
    width: min(100%, 330px);
    min-height: 46px;
    padding: 10px 14px;
    background: rgba(255,253,248,.9);
    border: 1px solid var(--line);
    border-radius: var(--radius);
    box-shadow: 0 10px 24px rgba(28,35,42,.06);
}
.search-box span { color: var(--teal); font-size: 13px; font-weight: 850; }
.search-box input { width: 100%; min-width: 0; border: 0; outline: 0; font: inherit; background: transparent; }
.post-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.post-card {
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(23,27,33,.1);
    border-radius: var(--radius);
    background: rgba(255,253,248,.92);
    box-shadow: var(--soft-shadow);
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.post-card:hover { transform: translateY(-5px); box-shadow: var(--shadow); border-color: rgba(20,123,126,.24); }
.post-card[hidden] { display: none; }
.thumb {
    display: block;
    aspect-ratio: 16 / 10;
    background-color: #dfe7e0;
    background-size: cover;
    background-position: center;
    filter: saturate(1.06) contrast(1.02);
}
.post-card-body { padding: 18px 18px 20px; }
time { color: var(--gold); font-size: 13px; font-weight: 900; }
.post-card h3 { margin: 9px 0 10px; font-size: 21px; line-height: 1.35; }
.post-card h3 a:hover { color: var(--teal); }
.post-card p { margin: 0; color: var(--muted); line-height: 1.78; font-size: 14px; }
.pager { display: flex; justify-content: center; align-items: center; gap: 12px; margin-top: 38px; color: var(--muted); }
.pager a { padding: 10px 14px; background: rgba(255,253,248,.9); border: 1px solid var(--line); border-radius: var(--radius); }
.pager a:hover { color: var(--teal); border-color: rgba(20,123,126,.34); }

.article-shell { background: var(--paper); }
.article-hero {
    position: relative;
    min-height: 590px;
    display: flex;
    align-items: flex-end;
    padding: clamp(58px, 7vw, 104px) clamp(22px, 6vw, 96px);
    color: #fff;
    overflow: hidden;
    background-image: var(--hero-image), url('https://hbt.superpai.site/wp-json/sakura/v1/image/cover');
    background-position: center;
    background-size: cover;
}
.article-hero::after { content: ""; position: absolute; inset: auto 0 0; height: 34%; background: linear-gradient(180deg, transparent, var(--paper)); }
.article-title-wrap time { display: inline-block; margin-bottom: 10px; color: var(--gold); }
.back-link { display: inline-block; margin-bottom: 18px; color: rgba(255,255,255,.88); font-weight: 750; }
.back-link:hover { color: #fff; }
.article-content {
    width: min(calc(100% - 40px), 840px);
    margin: 0 auto;
    padding: 60px 0 100px;
    font-size: 18px;
    line-height: 1.96;
}
.article-content p { margin: 0 0 1.35em; }
.article-content a { color: var(--teal); border-bottom: 1px solid rgba(20,123,126,.32); }
.article-content figure { margin: 38px 0; }
.article-content img, .article-content video { border-radius: var(--radius); box-shadow: 0 18px 48px rgba(28,35,42,.16); }
.article-content blockquote {
    margin: 38px 0;
    padding: 24px 26px;
    border-left: 4px solid var(--coral);
    background: #eff7f5;
    border-radius: 0 var(--radius) var(--radius) 0;
}
.article-content blockquote p { margin: 0; }
.article-content h2, .article-content h3 { line-height: 1.35; margin-top: 2.1em; }
.article-content * { max-width: 100%; }
.empty-state { max-width: 720px; margin: 90px auto; padding: 0 20px; }
.mobile-title-break { display: none; }

.gala-hero {
    position: relative;
    min-height: 500px;
    display: flex;
    align-items: flex-end;
    padding: clamp(68px, 8vw, 110px) clamp(22px, 6vw, 96px);
    color: #fff;
    overflow: hidden;
    background: linear-gradient(90deg, rgba(14,20,28,.92), rgba(17,28,34,.5) 52%, rgba(17,28,34,.16)), url('https://hbt.superpai.site/wp-json/sakura/v1/image/cover') center/cover;
}
.gala-hero > div { max-width: 780px; position: relative; z-index: 1; }
.gala-hero p:not(.eyebrow) { max-width: 660px; margin: 20px 0 0; color: rgba(255,255,255,.88); line-height: 1.82; font-size: 18px; }
.gala-band { margin-top: 54px; }
.gala-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.gala-card {
    overflow: hidden;
    border-radius: var(--radius);
    border: 1px solid rgba(23,27,33,.1);
    background: rgba(255,253,248,.94);
    box-shadow: var(--soft-shadow);
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.gala-card a { display: block; }
.gala-image { display: block; aspect-ratio: 16 / 9; background-color: #dfe7e0; background-size: cover; background-position: center; transition: transform .5s ease; }
.gala-title { display: block; padding: 20px 22px; font-size: 23px; line-height: 1.25; font-weight: 900; }
.gala-card:hover { transform: translateY(-5px); box-shadow: var(--shadow); border-color: rgba(232,93,79,.24); }
.gala-card:hover .gala-image { transform: scale(1.035); }

.site-footer {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
    padding: 30px clamp(20px, 5vw, 72px);
    color: var(--muted);
    border-top: 1px solid var(--line);
    background: rgba(255,253,248,.62);
}

@media (max-width: 980px) {
    .post-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .quick-panels { grid-template-columns: 1fr; margin-top: 20px; }
}
@media (max-width: 760px) {
    .site-header { align-items: flex-start; flex-direction: column; }
    .nav-links { justify-content: flex-start; }
    .section-head { align-items: stretch; flex-direction: column; }
    .gala-grid { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
    .site-header { min-height: 118px; padding: 12px 20px; }
    .nav-links a { padding: 7px 9px; }
    .hero-carousel { min-height: 650px; }
    .hero-slide { padding: 210px 24px 92px; align-items: flex-end; }
    .hero-shade { background: linear-gradient(180deg, rgba(11,15,22,.5), rgba(11,15,22,.84)); }
    .hero-content h1, .gala-hero h1 { font-size: 36px; line-height: 1.08; }
    .hero-content p, .gala-hero p:not(.eyebrow), .article-title-wrap p { font-size: 15px; line-height: 1.75; }
    .carousel-controls { left: 24px; right: 24px; bottom: 22px; }
    .quick-panel { min-height: 118px; }
    .post-grid { grid-template-columns: 1fr; }
    .content-band { margin: 56px auto 78px; }
    .article-hero { display: block; min-height: 560px; padding: 300px 28px 78px; }
    .article-title-wrap { width: calc(100vw - 56px); max-width: calc(100vw - 56px); }
    .article-title-wrap h1 { font-size: 28px; line-height: 1.2; max-width: 100%; word-break: break-word; }
    .article-page .mobile-title-break { display: block; height: 0; }
    .article-content { width: calc(100% - 36px); padding: 52px 0 82px; font-size: 16px; line-height: 1.9; }
    .article-content p, .article-content blockquote p, .article-content strong { letter-spacing: 0 !important; overflow-wrap: anywhere !important; word-break: break-word !important; white-space: normal !important; }
    .article-content blockquote { padding: 22px 20px; }
    .article-content blockquote p { font-size: 20px !important; line-height: 1.52 !important; }
    .gala-hero { min-height: 420px; padding: 170px 24px 72px; }
    .gala-title { font-size: 20px; }
}
/* v21 visual pass */
body:not(.article-page):not(.gala-page) .site-header {
    position: fixed;
    top: 16px;
    left: 50%;
    width: min(calc(100% - 36px), 1280px);
    min-height: 58px;
    padding: 8px 12px;
    transform: translateX(-50%);
    border: 1px solid rgba(255,255,255,.34);
    border-radius: 8px;
    background: rgba(255,253,248,.72);
    box-shadow: 0 18px 48px rgba(11,15,22,.14);
}
body:not(.article-page):not(.gala-page) .hero-carousel { min-height: min(820px, 100vh); }
body:not(.article-page):not(.gala-page) .hero-content { padding-top: 80px; }

.quick-panel { position: relative; overflow: hidden; }
.quick-panel::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    height: 4px;
    background: linear-gradient(90deg, var(--coral), var(--teal), var(--gold));
}

@media (min-width: 981px) {
    .post-card:first-child {
        grid-column: span 2;
        display: grid;
        grid-template-columns: minmax(0, 1.18fr) minmax(280px, .82fr);
        min-height: 326px;
    }
    .post-card:first-child .thumb { aspect-ratio: auto; height: 100%; }
    .post-card:first-child .post-card-body { display: flex; flex-direction: column; justify-content: center; padding: 30px; }
    .post-card:first-child h3 { font-size: 30px; line-height: 1.22; }
    .gala-card:first-child {
        grid-column: span 2;
        display: grid;
        grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr);
        min-height: 360px;
    }
    .gala-card:first-child a { display: grid; grid-template-columns: inherit; }
    .gala-card:first-child .gala-image { aspect-ratio: auto; height: 100%; }
    .gala-card:first-child .gala-title { display: flex; align-items: center; font-size: 32px; padding: 34px; }
}

.article-page .article-content,
.article-page .article-content * {
    overflow-wrap: anywhere;
}
@media (max-width: 640px) {
    body:not(.article-page):not(.gala-page) .site-header {
        position: absolute;
        top: 12px;
        width: calc(100% - 28px);
    }
    body:not(.article-page):not(.gala-page) .hero-carousel { min-height: 690px; }
    body:not(.article-page):not(.gala-page) .hero-content { padding-top: 0; }
    .article-page .article-content {
        width: calc(100vw - 36px) !important;
        max-width: calc(100vw - 36px) !important;
        margin-left: 18px !important;
        margin-right: 18px !important;
        overflow-x: hidden !important;
    }
    .article-page .article-content p,
    .article-page .article-content blockquote,
    .article-page .article-content blockquote *,
    .article-page .article-content strong,
    .article-page .article-content em {
        max-width: 100% !important;
        white-space: normal !important;
        word-break: break-all !important;
        overflow-wrap: anywhere !important;
        line-break: anywhere !important;
        letter-spacing: 0 !important;
    }
    .article-page .article-content blockquote {
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding: 20px 18px !important;
    }
}
/* v22 polish */
.gala-card:first-child {
    grid-column: auto !important;
    display: block !important;
    min-height: 0 !important;
}
.gala-card:first-child a { display: block !important; }
.gala-card:first-child .gala-image { aspect-ratio: 16 / 9 !important; height: auto !important; }
.gala-card:first-child .gala-title { display: block !important; font-size: 23px !important; padding: 20px 22px !important; }

.article-content .wp-block-pullquote {
    width: 100%;
    margin: 0;
    padding: 0;
    border: 0;
}
.article-content .wp-block-pullquote blockquote {
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
}
.article-content cite {
    display: block;
    max-width: 100%;
    color: var(--ink);
    font-style: italic;
    line-height: 1.62;
    overflow-wrap: anywhere;
    word-break: break-word;
}
@media (max-width: 640px) {
    .article-content .wp-block-pullquote,
    .article-content .wp-block-pullquote blockquote,
    .article-content cite,
    .article-content cite * {
        width: 100% !important;
        max-width: 100% !important;
        white-space: normal !important;
        word-break: break-all !important;
        overflow-wrap: anywhere !important;
        line-break: anywhere !important;
        letter-spacing: 0 !important;
    }
    .article-content cite { font-size: 16px !important; }
}
/* v23 mobile pullquote hard limit */
@media (max-width: 640px) {
    .article-page .article-content .wp-block-pullquote,
    .article-page .article-content .wp-block-pullquote blockquote,
    .article-page .article-content .wp-block-pullquote p,
    .article-page .article-content .wp-block-pullquote cite,
    .article-page .article-content .wp-block-pullquote strong {
        display: block !important;
        min-width: 0 !important;
        width: min(100%, calc(100vw - 110px)) !important;
        max-width: calc(100vw - 110px) !important;
        overflow: visible !important;
        white-space: normal !important;
        word-break: break-all !important;
        overflow-wrap: anywhere !important;
        line-break: anywhere !important;
    }
}
/* v24 WordPress block cleanup */
.article-content .preview-pullquote {
    max-width: 100%;
    margin: 38px 0;
    padding: 24px 26px;
    border-left: 4px solid var(--coral);
    background: #eff7f5;
    border-radius: 0 var(--radius) var(--radius) 0;
}
.article-content .preview-pullquote p,
.article-content .preview-pullquote cite,
.article-content .preview-pullquote strong {
    max-width: 100%;
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: break-word;
    letter-spacing: 0 !important;
}
.article-content .is-wrapped { flex-wrap: wrap !important; }
@media (max-width: 640px) {
    .article-content .preview-pullquote { padding: 20px 18px; }
    .article-content .preview-pullquote cite,
    .article-content .preview-pullquote strong {
        display: inline !important;
        width: auto !important;
        max-width: 100% !important;
        font-size: 16px !important;
        line-height: 1.6 !important;
        word-break: break-all !important;
        overflow-wrap: anywhere !important;
    }
}
/* v27 mobile WordPress layout clamp */
@media (max-width: 640px) {
    .article-page .article-content .wp-block-group,
    .article-page .article-content .wp-block-columns,
    .article-page .article-content .wp-block-column,
    .article-page .article-content [class*="is-layout-flex"],
    .article-page .article-content [class*="wp-container"] {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        overflow-x: hidden !important;
    }
    .article-page .article-content p {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        white-space: normal !important;
        word-break: break-all !important;
        overflow-wrap: anywhere !important;
        line-break: anywhere !important;
    }
}
/* v28 hard mobile readable measure */
@media (max-width: 640px) {
    .article-page .article-content,
    .article-page .article-content .wp-block-group,
    .article-page .article-content .wp-block-columns,
    .article-page .article-content .wp-block-column,
    .article-page .article-content p,
    .article-page .article-content blockquote,
    .article-page .article-content figure {
        width: min(calc(100vw - 36px), 330px) !important;
        max-width: min(calc(100vw - 36px), 330px) !important;
        min-width: 0 !important;
    }
    .article-page .article-content {
        margin-left: 18px !important;
        margin-right: 18px !important;
    }
}
/* v31 Sakura-inspired interaction and embedded archive */
body::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background:
        linear-gradient(rgba(23,27,33,.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(23,27,33,.035) 1px, transparent 1px);
    background-size: 42px 42px;
    mask-image: linear-gradient(180deg, transparent, #000 18%, #000 82%, transparent);
}
.site-header, main, .site-footer { position: relative; z-index: 2; }
.content-band {
    max-width: 1180px;
}
.post-grid {
    position: relative;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
    padding: 14px;
    border: 1px solid rgba(23,27,33,.16);
    border-radius: 8px;
    background:
        linear-gradient(90deg, rgba(23,27,33,.08) 1px, transparent 1px),
        linear-gradient(rgba(23,27,33,.08) 1px, transparent 1px),
        rgba(255,253,248,.7);
    background-size: calc(33.333% - 1px) 100%, 100% 334px, auto;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.68), 0 28px 80px rgba(28,35,42,.12);
    backdrop-filter: blur(10px);
}
.post-card {
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    padding: 14px;
    min-height: 320px;
    transform: none;
}
.post-card:hover { transform: none; box-shadow: none; }
.post-card::before {
    content: "";
    position: absolute;
    inset: 14px;
    border-radius: 8px;
    border: 1px solid rgba(23,27,33,.08);
    background: rgba(255,253,248,.76);
    box-shadow: inset 0 0 26px rgba(28,35,42,.06);
    transition: border-color .18s ease, background .18s ease;
}
.post-card:hover::before { border-color: rgba(254,150,0,.48); background: rgba(255,253,248,.92); }
.post-card .thumb,
.post-card .post-card-body { position: relative; z-index: 1; }
.thumb {
    border-radius: 8px 8px 0 0;
    border: 1px solid rgba(23,27,33,.1);
    box-shadow: inset 0 0 0 4px rgba(255,255,255,.38);
}
.post-card-body {
    min-height: 150px;
    margin: 0;
    border: 1px solid rgba(23,27,33,.1);
    border-top: 0;
    border-radius: 0 0 8px 8px;
    background: rgba(255,253,248,.62);
}
@media (min-width: 981px) {
    .post-card:first-child {
        grid-column: span 2;
        display: grid;
        grid-template-columns: minmax(0, .95fr) minmax(280px, 1.05fr);
        min-height: 348px;
    }
    .post-card:first-child::before { inset: 14px; }
    .post-card:first-child .thumb { height: 100%; border-radius: 8px 0 0 8px; }
    .post-card:first-child .post-card-body {
        min-height: 100%;
        border-top: 1px solid rgba(23,27,33,.1);
        border-left: 0;
        border-radius: 0 8px 8px 0;
    }
}
.gala-grid {
    padding: 14px;
    gap: 0;
    border: 1px solid rgba(23,27,33,.16);
    border-radius: 8px;
    background: rgba(255,253,248,.7);
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.68), 0 28px 80px rgba(28,35,42,.12);
}
.gala-card {
    padding: 14px;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}
.gala-card:hover { transform: none; box-shadow: none; }
.gala-card a {
    overflow: hidden;
    border: 1px solid rgba(23,27,33,.1);
    border-radius: 8px;
    background: rgba(255,253,248,.84);
    box-shadow: inset 0 0 26px rgba(28,35,42,.06);
}
.gala-card:hover a { border-color: rgba(254,150,0,.5); }

.waifu {
    position: fixed;
    left: 18px;
    bottom: 18px;
    z-index: 30;
    width: 280px;
    max-width: 34vw;
    pointer-events: auto;
}
.waifu-tips {
    min-height: 32px;
    margin: 0 0 6px;
    padding: 8px 10px;
    border: 1px solid rgba(23,27,33,.12);
    border-radius: 8px;
    color: var(--ink);
    background: rgba(255,253,248,.82);
    box-shadow: 0 10px 24px rgba(28,35,42,.12);
    font-size: 12px;
}
.waifu .live2d { display: block; max-width: 100%; height: auto; }
.hide-button, .switch-button {
    min-height: 28px;
    margin-right: 6px;
    padding: 0 9px;
    border: 1px solid rgba(23,27,33,.16);
    border-radius: 8px;
    color: var(--ink);
    background: rgba(255,253,248,.82);
    cursor: pointer;
}
.waifu.is-hidden canvas,
.waifu.is-hidden .switch-button,
.waifu.is-hidden .waifu-tips { display: none; }
.click-word {
    position: absolute;
    z-index: 9999;
    pointer-events: none;
    color: #ff6651;
    font-weight: 900;
    text-shadow: 0 2px 8px rgba(255,255,255,.86);
    animation: clickWord 1.35s ease forwards;
}
@keyframes clickWord {
    from { transform: translate3d(0, 0, 0) scale(1); opacity: 1; }
    to { transform: translate3d(0, -118px, 0) scale(1.08); opacity: 0; }
}
#aplayer-float, .aplayer.aplayer-fixed { z-index: 60 !important; }
canvas[id^="c_n"] { pointer-events: none; }
@media (max-width: 980px) {
    .post-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); background-size: calc(50% - 1px) 100%, 100% 330px, auto; }
}
@media (max-width: 640px) {
    .post-grid, .gala-grid { grid-template-columns: 1fr; padding: 10px; background-size: 100% 320px; }
    .post-card, .gala-card { padding: 10px; }
    .waifu { display: none; }
}
/* v32 live2d positioning */
.waifu {
    left: auto !important;
    right: 18px;
    bottom: 18px;
    z-index: 45;
}
@media (min-width: 981px) {
    .quick-panels { padding-left: 240px; }
}
#landlord.waifu {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: fixed !important;
    right: 14px !important;
    left: auto !important;
    bottom: 14px !important;
    z-index: 10000 !important;
    width: 252px !important;
    height: 260px !important;
    max-width: 252px !important;
    pointer-events: auto !important;
}
#landlord #live2d {
    display: block !important;
    width: 252px !important;
    height: 224px !important;
}
#landlord .hide-button,
#landlord .switch-button {
    display: inline-block !important;
    position: relative !important;
    top: auto !important;
    right: auto !important;
}
#landlord .message { display: block !important; }
@media (max-width: 860px) {
    #landlord.waifu { display: none !important; }
}
.click-word {
    position: absolute;
    z-index: 9999;
    pointer-events: none;
    color: #ff6651;
    font-weight: 900;
    text-shadow: 0 2px 8px rgba(255,255,255,.86);
    animation: clickWord 1.35s ease forwards;
}
@keyframes clickWord {
    from { transform: translate3d(0, 0, 0) scale(1); opacity: 1; }
    to { transform: translate3d(0, -118px, 0) scale(1.08); opacity: 0; }
}
#aplayer-float, .aplayer.aplayer-fixed { z-index: 60 !important; }
canvas[id^="c_n"] { pointer-events: none; }