:root {
    --bg: #f6f2eb;
    --paper: #fbf8f3;
    --ink: #151617;
    --muted: #7a746c;
    --line: rgba(20, 22, 24, 0.14);
    --dark: #0b1220;
    --dark-2: #131b2b;
    --accent: #9d2735;
    --shell: min(1180px, calc(100vw - 48px));
    --reader: min(760px, calc(100vw - 40px));
    --serif: Georgia, 'Times New Roman', 'Noto Serif KR', 'Batang', serif;
    --sans: Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Noto Sans KR', 'Malgun Gothic', sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
    margin: 0;
    background: var(--paper);
    color: var(--ink);
    font-family: var(--sans);
    line-height: 1.7;
    -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; height: auto; }
a { color: inherit; }
button, input, textarea, select { font: inherit; }
body.menu-open { overflow: hidden; }
.screen-reader-text {
    position: absolute !important;
    width: 1px; height: 1px; padding: 0; margin: -1px;
    overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}
.screen-reader-text:focus {
    clip: auto !important; height: auto; width: auto; top: 10px; left: 10px;
    padding: 10px 14px; background: #fff; color: #000; z-index: 9999;
}
.site-shell { width: var(--shell); margin-inline: auto; }
.site-shell--reader { width: var(--reader); margin-inline: auto; }
.site-shell--wide-media { width: min(980px, calc(100vw - 40px)); margin-inline: auto; }
.site-shell--gallery { width: min(980px, calc(100vw - 40px)); margin-inline: auto; }
.site-main { min-height: 55vh; }
.page-section { padding: 84px 0; }
.page-section--muted { background: var(--bg); }
.content-shell { max-width: 900px; }

.site-header {
    position: relative;
    z-index: 100;
    background: rgba(10, 17, 29, 0.97);
    color: #fff;
    border-bottom: 1px solid rgba(255,255,255,.1);
}
.home .site-header,
.single-manyassi_work .site-header {
    position: absolute;
    inset: 0 0 auto;
    background: linear-gradient(180deg, rgba(5,10,18,.78), rgba(5,10,18,.22), transparent);
    border-bottom-color: rgba(255,255,255,.08);
}
.site-header__inner {
    min-height: 72px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
}
.brand-mark {
    display: inline-flex;
    align-items: center;
    gap: 13px;
    color: inherit;
    text-decoration: none;
}
.brand-star { font-size: 28px; line-height: 1; transform: translateY(-1px); }
.brand-name {
    font-family: var(--serif);
    letter-spacing: .12em;
    font-size: 18px;
    white-space: nowrap;
}
.primary-navigation .menu,
.footer-navigation .menu {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    align-items: center;
    gap: 30px;
}
.primary-navigation a,
.footer-navigation a {
    text-decoration: none;
    font-family: var(--serif);
    font-size: 13px;
    letter-spacing: .06em;
}
.primary-navigation a { color: rgba(255,255,255,.9); }
.primary-navigation a:hover,
.primary-navigation .current-menu-item > a { color: #fff; }
.menu-toggle { display: none; }

.home-hero,
.work-hero {
    position: relative;
    min-height: 610px;
    color: #fff;
    background: linear-gradient(135deg, #101928, #18243a);
    isolation: isolate;
}
.home-hero.has-image,
.work-hero.has-image {
    background-image: var(--hero-image);
    background-position: center;
    background-size: cover;
}
.home-hero__veil,
.work-hero__veil {
    position: absolute;
    inset: 0;
    z-index: -1;
    background:
        linear-gradient(90deg, rgba(8,13,23,.92) 0%, rgba(8,13,23,.72) 38%, rgba(8,13,23,.18) 72%, rgba(8,13,23,.24) 100%),
        linear-gradient(180deg, rgba(8,13,23,.25), rgba(8,13,23,.1) 55%, rgba(8,13,23,.5));
}
.home-hero__inner,
.work-hero__inner {
    min-height: 610px;
    display: flex;
    align-items: center;
    padding-top: 76px;
}
.home-hero__copy,
.work-hero__copy { max-width: 520px; }
.eyebrow {
    margin: 0 0 14px;
    color: currentColor;
    font-family: var(--serif);
    font-size: 12px;
    letter-spacing: .24em;
    text-transform: uppercase;
    opacity: .72;
}
.home-hero h1,
.work-hero h1 {
    margin: 0;
    font-family: var(--serif);
    font-weight: 400;
    font-size: clamp(46px, 5.5vw, 78px);
    line-height: 1.15;
    letter-spacing: -.035em;
    word-break: keep-all;
}
.home-hero__english,
.work-hero__english {
    margin: 20px 0 0;
    font-family: var(--serif);
    letter-spacing: .16em;
    font-size: 14px;
    text-transform: uppercase;
}
.home-hero__meta,
.work-hero__meta {
    margin: 14px 0 0;
    font-family: var(--serif);
    letter-spacing: .05em;
    opacity: .88;
}
.home-hero__excerpt,
.work-hero__excerpt {
    max-width: 440px;
    margin: 24px 0 0;
    color: rgba(255,255,255,.82);
    font-size: 15px;
}
.button-row { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.button {
    min-height: 44px;
    padding: 0 22px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 22px;
    text-decoration: none;
    border: 1px solid transparent;
    font-family: var(--serif);
    font-size: 14px;
    transition: transform .18s ease, background .18s ease, color .18s ease;
}
.button:hover { transform: translateY(-1px); }
.button--light { background: #f4f0e9; color: #151617; border-color: #f4f0e9; }
.button--ghost { color: #fff; border-color: rgba(255,255,255,.5); background: rgba(0,0,0,.12); }
.button--dark { background: var(--dark); color: #fff; border-color: var(--dark); }

.home-section { padding: 46px 0; }
.home-updates { background: var(--paper); }
.home-works { background: #f8f5ef; border-top: 1px solid rgba(0,0,0,.04); }
.home-bottom { background: var(--paper); padding-bottom: 72px; }
.section-heading {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 24px;
}
.section-heading > div { display: flex; align-items: baseline; flex-wrap: wrap; gap: 22px; }
.section-heading__title {
    font-family: var(--serif);
    font-size: 27px;
    line-height: 1.2;
    letter-spacing: .02em;
}
.section-heading__desc { color: var(--muted); font-size: 13px; }
.section-heading > a { color: #4d4b48; font-family: var(--serif); font-size: 12px; text-decoration: none; white-space: nowrap; }
.section-heading--compact { margin-bottom: 18px; }
.section-heading--compact .section-heading__title { font-size: 24px; }

.latest-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 20px;
}
.latest-grid--archive { gap: 26px; }
.episode-card {
    display: grid;
    grid-template-columns: 44% 1fr;
    min-height: 230px;
    border: 1px solid var(--line);
    background: rgba(255,255,255,.35);
}
.episode-card__image { display: block; min-height: 220px; overflow: hidden; background: #e8e2da; }
.episode-card__image img,
.image-placeholder { width: 100%; height: 100%; min-height: inherit; object-fit: cover; display: block; background: linear-gradient(135deg, #e9e1d6, #d9d3cb); }
.episode-card__body { padding: 24px 26px; display: flex; flex-direction: column; align-items: flex-start; }
.episode-card__work { color: #414047; text-decoration: none; font-family: var(--serif); font-size: 18px; line-height: 1.45; }
.episode-card h3 { margin: 8px 0 6px; font-size: 17px; font-weight: 500; }
.episode-card h3 a { text-decoration: none; }
.episode-card__meta { font-family: var(--serif); color: var(--muted); font-size: 12px; }
.text-link { margin-top: auto; padding-top: 22px; text-decoration: none; font-family: var(--serif); font-size: 12px; letter-spacing: .04em; border-bottom: 1px solid currentColor; }

.works-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 16px; }
.works-grid--archive { gap: 24px; }
.work-card { min-width: 0; }
.work-card__image {
    position: relative;
    display: block;
    min-height: 350px;
    overflow: hidden;
    background: var(--dark);
    color: #fff;
    text-decoration: none;
}
.work-card__image > img,
.work-card__image > .work-card__picture,
.work-card__image > .image-placeholder {
    position: absolute;
    inset: 0;
    width: 100%; height: 100%; object-fit: cover;
    transition: transform .35s ease;
}
.work-card__picture { position:absolute; inset:0; display:block; }
.work-card__picture img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .35s ease; }
.work-card__image:hover > img,
.work-card__image:hover .work-card__picture img { transform: scale(1.025); }
.work-card__shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(5,10,16,.84), rgba(5,10,16,.18) 70%); }
.work-card__content {
    position: relative;
    min-height: 350px;
    width: min(72%, 430px);
    padding: 38px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}
.work-card__title { font-family: var(--serif); font-size: clamp(28px, 3vw, 40px); line-height: 1.22; word-break: keep-all; }
.work-card__english { margin-top: 9px; font-family: var(--serif); font-size: 11px; letter-spacing: .15em; text-transform: uppercase; }
.work-card__meta { margin-top: 10px; font-family: var(--serif); font-size: 12px; opacity: .86; }
.work-card__excerpt { margin-top: 28px; font-size: 13px; line-height: 1.65; color: rgba(255,255,255,.8); }
.work-card__button { margin-top: auto; padding: 9px 0; font-family: var(--serif); font-size: 12px; border-bottom: 1px solid rgba(255,255,255,.6); }

.home-bottom__grid { display: grid; grid-template-columns: 1.75fr 1fr; gap: 44px; }
.home-gallery__grid { display: grid; grid-template-columns: repeat(4, 1fr); grid-auto-rows: 125px; gap: 4px; }
.home-gallery__item { display: block; overflow: hidden; background: #ece6dd; }
.home-gallery__item:first-child { grid-column: span 2; grid-row: span 2; }
.home-gallery__item img { width: 100%; height: 100%; object-fit: cover; transition: transform .28s ease; }
.home-gallery__item:hover img { transform: scale(1.03); }
.home-news__list { border-top: 1px solid var(--line); }
.home-news__item {
    min-height: 43px;
    display: grid;
    grid-template-columns: 82px 78px 1fr 18px;
    align-items: center;
    gap: 10px;
    border-bottom: 1px solid var(--line);
    text-decoration: none;
    font-size: 12px;
}
.home-news__item time { color: var(--muted); font-family: var(--serif); }
.home-news__category { color: var(--accent); }
.home-news__item strong { font-weight: 500; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }

.page-heading { margin-bottom: 44px; }
.page-heading--center { text-align: center; max-width: 720px; margin: 0 auto 54px; }
.page-heading h1 {
    margin: 0;
    font-family: var(--serif);
    font-size: clamp(42px, 6vw, 72px);
    font-weight: 400;
    line-height: 1.1;
}
.page-heading p:not(.eyebrow) { margin: 18px 0 0; color: var(--muted); }

.work-detail-grid { display: grid; grid-template-columns: minmax(0, 1fr) 280px; gap: 72px; align-items: start; }
.work-facts { border-top: 1px solid var(--ink); }
.work-facts dl { margin: 0; }
.work-facts dl > div { padding: 18px 0; border-bottom: 1px solid var(--line); }
.work-facts dt { font-family: var(--serif); font-size: 11px; letter-spacing: .12em; color: var(--muted); }
.work-facts dd { margin: 6px 0 0; }
.content-date { margin-bottom: 30px; color: var(--muted); font-family: var(--serif); font-size: 13px; }
.prose { font-size: 16px; }
.prose > *:first-child { margin-top: 0; }
.prose p { margin: 0 0 1.3em; }
.prose h2, .prose h3, .prose h4 { font-family: var(--serif); font-weight: 500; line-height: 1.35; margin: 2.2em 0 .8em; }
.prose blockquote { margin: 2em 0; padding-left: 1.4em; border-left: 2px solid var(--ink); color: #444; }
.prose img { display: block; margin: 2.4em auto; }

.episode-list { border-top: 1px solid var(--ink); }
.episode-list__item {
    display: grid;
    grid-template-columns: 90px 1fr 120px 20px;
    gap: 18px;
    align-items: center;
    min-height: 64px;
    border-bottom: 1px solid var(--line);
    text-decoration: none;
}
.episode-list__number, .episode-list time { color: var(--muted); font-family: var(--serif); font-size: 12px; }
.episode-list__item strong { font-weight: 500; }
.episode-list__item:hover strong { text-decoration: underline; text-underline-offset: 4px; }

.episode-viewer { background: #fbfaf7; }
.episode-article { padding: 106px 0 72px; }
.episode-header { text-align: center; padding-bottom: 46px; }
.episode-header__work { display: inline-block; margin-bottom: 18px; text-decoration: none; font-family: var(--serif); font-size: 15px; color: #4d4a45; }
.episode-header h1 { margin: 8px 0 14px; font-family: var(--serif); font-size: clamp(34px, 5vw, 54px); font-weight: 400; line-height: 1.25; word-break: keep-all; }
.episode-header time { color: var(--muted); font-family: var(--serif); font-size: 13px; }
.episode-illustration { margin-bottom: 64px; }
.episode-illustration img { display: block; width: 100%; max-height: 82vh; object-fit: contain; margin: 0 auto; }
.prose--novel {
    font-family: 'Noto Serif KR', 'Batang', Georgia, serif;
    font-size: 17px;
    line-height: 2.08;
    letter-spacing: .005em;
    word-break: keep-all;
}
.prose--novel p { margin-bottom: 1.55em; }
.prose--novel img { max-width: min(100%, 920px); }
.episode-navigation {
    margin-top: 78px;
    padding: 26px 0;
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
    display: grid;
    grid-template-columns: 1fr 100px 1fr;
    gap: 20px;
    align-items: center;
}
.episode-nav-link { display: flex; flex-direction: column; gap: 6px; text-decoration: none; }
.episode-nav-link span { color: var(--muted); font-size: 12px; }
.episode-nav-link strong { font-family: var(--serif); font-weight: 400; }
.episode-nav-link--next { text-align: right; }
.episode-navigation__center { text-align: center; }
.episode-navigation__center a { text-decoration: none; font-size: 12px; border-bottom: 1px solid currentColor; }
.episode-actions { padding: 28px 0 8px; }
.episode-actions .manyassi-like-wrap,
.gallery-actions .manyassi-like-wrap { margin-top: 0; }
.episode-actions .manyassi-share-wrap,
.gallery-actions .manyassi-share-wrap { margin-bottom: 0; }
.episode-comments { margin-top: 48px; padding-top: 38px; border-top: 1px solid var(--line); }

.comments-title, .comment-reply-title { font-family: var(--serif); font-size: 24px; font-weight: 400; }
.comment-list { list-style: none; padding: 0; margin: 28px 0 44px; }
.comment-list .comment { padding: 24px 0; border-top: 1px solid var(--line); }
.comment-list .children { list-style: none; padding-left: 36px; }
.comment-meta { font-size: 13px; color: var(--muted); }
.comment-content { margin-top: 12px; }
.comment-form p { margin: 0 0 16px; }
.comment-form label { display: block; margin-bottom: 6px; font-size: 13px; }
.comment-form input[type='text'],
.comment-form input[type='email'],
.comment-form input[type='url'],
.comment-form textarea {
    width: 100%;
    padding: 12px 14px;
    border: 1px solid var(--line);
    background: #fff;
    color: var(--ink);
}
.comment-form input[type='submit'] {
    appearance: none;
    padding: 11px 20px;
    border: 1px solid var(--dark);
    background: var(--dark);
    color: #fff;
    cursor: pointer;
}
.comment-notes { color: var(--muted); font-size: 13px; }

.filter-nav {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 8px;
    margin: -20px 0 38px;
}
.filter-nav a {
    padding: 8px 16px;
    border: 1px solid var(--line);
    border-radius: 999px;
    text-decoration: none;
    font-family: var(--serif);
    font-size: 12px;
}
.filter-nav a.is-active { background: var(--dark); color: #fff; border-color: var(--dark); }
.gallery-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 14px; }
.gallery-grid--compact { grid-template-columns: repeat(6, minmax(0,1fr)); gap: 8px; }
.gallery-card { min-width: 0; }
.gallery-card__link { position: relative; display: block; overflow: hidden; aspect-ratio: 3 / 4; background: #ebe5dc; text-decoration: none; }
.gallery-card__image, .gallery-card__image img { display: block; width: 100%; height: 100%; object-fit: cover; }
.gallery-card__image img { transition: transform .3s ease; }
.gallery-card__overlay {
    position: absolute;
    inset: auto 0 0;
    display: flex;
    flex-direction: column;
    padding: 42px 18px 18px;
    color: #fff;
    background: linear-gradient(transparent, rgba(5,9,15,.78));
    opacity: 0;
    transform: translateY(4px);
    transition: opacity .25s ease, transform .25s ease;
}
.gallery-card__overlay strong { font-family: var(--serif); font-weight: 400; }
.gallery-card__overlay span { margin-top: 3px; font-size: 11px; opacity: .8; }
.gallery-card__link:hover .gallery-card__overlay,
.gallery-card__link:focus-visible .gallery-card__overlay { opacity: 1; transform: translateY(0); }
.gallery-card__link:hover img { transform: scale(1.025); }
.gallery-single__header { text-align: center; margin-bottom: 48px; }
.gallery-single__header h1 { margin: 8px 0 14px; font-family: var(--serif); font-size: clamp(38px, 5vw, 58px); font-weight: 400; }
.gallery-single__meta { display: flex; justify-content: center; flex-wrap: wrap; gap: 18px; color: var(--muted); font-family: var(--serif); font-size: 13px; }
.gallery-single__meta a { text-decoration: none; border-bottom: 1px solid currentColor; }
.prose--gallery { max-width: 920px; margin-inline: auto; text-align: center; }
.prose--gallery p { text-align: left; }
.prose--gallery img { width: auto; max-width: 100%; max-height: 92vh; object-fit: contain; margin: 0 auto 34px; }
.gallery-actions { max-width: 760px; margin: 30px auto 0; padding-top: 18px; border-top: 1px solid var(--line); }
.related-gallery { margin-top: 58px; }
.gallery-single .manyassi-gallery-image-list { margin-top: 0; }
.gallery-single .manyassi-gallery-image-grid { grid-template-columns: repeat(4, minmax(0,1fr)); }

.news-archive-list { border-top: 1px solid var(--ink); }
.news-row {
    display: grid;
    grid-template-columns: 110px 1fr 28px;
    gap: 24px;
    padding: 28px 0;
    border-bottom: 1px solid var(--line);
    align-items: start;
}
.news-row > time { color: var(--muted); font-family: var(--serif); font-size: 12px; }
.news-row__category { color: var(--accent); font-size: 12px; margin-bottom: 5px; }
.news-row h2 { margin: 0; font-family: var(--serif); font-size: 24px; font-weight: 400; }
.news-row h2 a { text-decoration: none; }
.news-row p { margin: 8px 0 0; color: var(--muted); font-size: 14px; }
.news-row__arrow { text-decoration: none; text-align: right; }
.standard-single__header { text-align: center; margin-bottom: 46px; }
.standard-single__header h1 { margin: 8px 0 12px; font-family: var(--serif); font-weight: 400; font-size: clamp(38px, 5vw, 56px); line-height: 1.25; }
.standard-single__header time { color: var(--muted); font-family: var(--serif); font-size: 13px; }
.standard-single__image { margin: 0 0 48px; }
.standard-single__image img { display: block; width: 100%; }

.post-list { border-top: 1px solid var(--ink); }
.post-list__item { padding: 28px 0; border-bottom: 1px solid var(--line); }
.post-list__item time { color: var(--muted); font-family: var(--serif); font-size: 12px; }
.post-list__item h2 { margin: 5px 0 8px; font-family: var(--serif); font-weight: 400; }
.post-list__item h2 a { text-decoration: none; }
.post-list__item p { margin: 0; color: var(--muted); }
.empty-state { padding: 38px; border: 1px dashed var(--line); color: var(--muted); text-align: center; }
.pagination { margin-top: 44px; }
.pagination .page-numbers { list-style: none; padding: 0; margin: 0; display: flex; justify-content: center; gap: 8px; }
.pagination a, .pagination span { min-width: 38px; height: 38px; display: inline-flex; align-items: center; justify-content: center; text-decoration: none; border: 1px solid var(--line); }
.pagination .current { background: var(--dark); color: #fff; border-color: var(--dark); }
.error-page { display: flex; align-items: center; }
.error-page .button { margin-top: 28px; }

.site-footer { background: #0a111d; color: rgba(255,255,255,.88); padding: 42px 0 28px; }
.site-footer__inner { display: grid; gap: 28px; }
.site-footer__top { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 32px 44px; align-items: center; }
.site-footer__brand { min-width: 0; }
.site-footer__brand .brand-mark { color: #fff; }
.site-footer__brand .custom-logo-link { display: inline-flex; align-items: center; max-width: 100%; }
.site-footer__brand .custom-logo { display: block; width: auto; max-width: 260px; max-height: 42px; object-fit: contain; }
.footer-navigation .menu { justify-content: flex-end; flex-wrap: wrap; gap: 22px; }
.footer-navigation a { color: rgba(255,255,255,.72); }
.site-footer__bottom { padding-top: 20px; border-top: 1px solid rgba(255,255,255,.1); display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 18px 32px; }
.site-footer__descriptor,
.site-footer__copyright { margin: 0; }
.site-footer__descriptor { color: rgba(255,255,255,.58); font-size: 11px; line-height: 1.6; letter-spacing: .035em; }
.site-footer__copyright { color: rgba(255,255,255,.48); font-family: var(--serif); font-size: 11px; text-align: right; white-space: nowrap; }

/* Core UI integration */
.manyassi-like-button,
.manyassi-share-button { border-color: rgba(20,22,24,.28) !important; border-radius: 0 !important; }
.manyassi-like-button:hover,
.manyassi-share-button:hover { background: rgba(20,22,24,.04); }
.manyassi-share-heading { font-family: var(--serif); letter-spacing: .06em; }

@media (max-width: 1024px) {
    :root { --shell: min(100% - 36px, 1000px); }
    .home-bottom__grid { grid-template-columns: 1fr; gap: 52px; }
    .gallery-grid--compact { grid-template-columns: repeat(3, 1fr); }
    .work-detail-grid { grid-template-columns: 1fr 240px; gap: 42px; }
}

@media (max-width: 860px) {
    .site-header__inner { min-height: 64px; }
    .menu-toggle {
        display: inline-flex;
        width: 42px; height: 42px;
        padding: 0;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 5px;
        border: 0;
        background: transparent;
        color: #fff;
        cursor: pointer;
    }
    .menu-toggle > span:not(.screen-reader-text) { width: 20px; height: 1px; background: currentColor; }
    .primary-navigation {
        position: fixed;
        inset: 64px 0 0;
        padding: 34px 24px;
        background: rgba(8,14,24,.985);
        opacity: 0;
        visibility: hidden;
        transform: translateY(-8px);
        transition: .2s ease;
    }
    .primary-navigation.is-open { opacity: 1; visibility: visible; transform: none; }
    .primary-navigation .menu { flex-direction: column; align-items: flex-start; gap: 8px; }
    .primary-navigation .menu > li { width: 100%; }
    .primary-navigation a { display: block; padding: 12px 0; font-size: 22px; }
    .home-hero, .work-hero, .home-hero__inner, .work-hero__inner { min-height: 570px; }
    .home-hero__copy, .work-hero__copy { max-width: 75%; }
    .latest-grid { grid-template-columns: 1fr; }
    .works-grid { grid-template-columns: 1fr; }
    .gallery-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .work-detail-grid { grid-template-columns: 1fr; gap: 42px; }
    .episode-list__item { grid-template-columns: 78px 1fr 90px 18px; }
}

@media (max-width: 640px) {
    :root { --shell: calc(100vw - 28px); --reader: calc(100vw - 32px); }
    .page-section { padding: 58px 0; }
    .brand-name { font-size: 15px; letter-spacing: .1em; }
    .brand-star { font-size: 24px; }
    .home-hero, .work-hero, .home-hero__inner, .work-hero__inner { min-height: 640px; }
    .home-hero.has-image, .work-hero.has-image { background-position: 58% center; }
    .home-hero__veil, .work-hero__veil {
        background: linear-gradient(180deg, rgba(7,12,21,.28), rgba(7,12,21,.72) 48%, rgba(7,12,21,.94));
    }
    .home-hero__inner, .work-hero__inner { align-items: flex-end; padding-bottom: 56px; }
    .home-hero__copy, .work-hero__copy { max-width: 100%; }
    .home-hero h1, .work-hero h1 { font-size: 43px; }
    .button-row { gap: 8px; }
    .button { min-height: 42px; padding: 0 16px; gap: 14px; }
    .home-section { padding: 36px 0; }
    .section-heading { align-items: flex-end; margin-bottom: 18px; }
    .section-heading > div { gap: 8px; }
    .section-heading__title { font-size: 23px; }
    .section-heading__desc { width: 100%; }
    .episode-card { grid-template-columns: 40% 1fr; min-height: 180px; }
    .episode-card__image { min-height: 180px; }
    .episode-card__body { padding: 18px; }
    .episode-card__work { font-size: 15px; }
    .episode-card h3 { font-size: 14px; }
    .text-link { padding-top: 12px; }
    .work-card__image, .work-card__content { min-height: 330px; }
    .work-card__content { width: 86%; padding: 26px; }
    .work-card__title { font-size: 30px; }
    .home-gallery__grid { grid-auto-rows: 90px; }
    .home-news__item { grid-template-columns: 75px 1fr 16px; min-height: 48px; }
    .home-news__category { display: none; }
    .page-heading--center { margin-bottom: 38px; }
    .gallery-grid { gap: 8px; }
    .gallery-card__overlay { opacity: 1; transform: none; padding: 32px 12px 12px; }
    .gallery-grid--compact { grid-template-columns: repeat(2, 1fr); }
    .episode-article { padding-top: 78px; }
    .episode-header { padding-bottom: 34px; }
    .episode-illustration { width: 100%; margin-bottom: 42px; }
    .episode-illustration img { max-height: none; }
    .prose--novel { font-size: 16px; line-height: 2; }
    .episode-navigation { grid-template-columns: 1fr 1fr; }
    .episode-navigation__center { grid-column: 1 / -1; grid-row: 1; padding-bottom: 8px; }
    .episode-nav-link strong { display: none; }
    .episode-list__item { grid-template-columns: 65px 1fr 16px; gap: 12px; }
    .episode-list time { display: none; }
    .news-row { grid-template-columns: 82px 1fr 20px; gap: 14px; }
    .news-row h2 { font-size: 19px; }
    .news-row p { display: none; }
    .site-footer { padding: 36px 0 26px; }
    .site-footer__top { grid-template-columns: 1fr; gap: 24px; align-items: start; }
    .site-footer__brand .custom-logo { max-width: 210px; max-height: 36px; }
    .footer-navigation .menu { justify-content: flex-start; gap: 14px 20px; }
    .site-footer__bottom { grid-template-columns: 1fr; gap: 8px; padding-top: 18px; }
    .site-footer__copyright { text-align: left; white-space: normal; }
    .gallery-single .manyassi-gallery-image-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}

.site-branding .custom-logo-link { display: inline-flex; align-items: center; }
.site-branding .custom-logo { display: block; width: auto; max-width: 260px; max-height: 42px; }
@media (max-width: 640px) {
    .site-branding .custom-logo { max-width: 210px; max-height: 36px; }
}

/* =========================================================
   v0.2 HOME — rotating hero + external studio links
   ========================================================= */
.home-hero-slider,
.home-hero-static {
    position: relative;
    min-height: 640px;
    overflow: hidden;
    background: linear-gradient(135deg, #101928, #18243a);
    color: #fff;
    isolation: isolate;
}

.home-hero-slider__track {
    position: absolute;
    inset: 0;
}

.home-hero-slide {
    position: absolute;
    inset: 0;
    z-index: 1;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity .78s ease, visibility 0s linear .78s;
}

.home-hero-slide.is-active {
    z-index: 2;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transition-delay: 0s;
}

.home-hero-slide__background {
    position: absolute;
    inset: 0;
    z-index: -3;
    background: linear-gradient(135deg, #101928, #18243a);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    transform: scale(1.035);
    transition: transform 7s ease-out;
}

.home-hero-slide.has-image .home-hero-slide__background {
    background-image: var(--hero-image);
}

.home-hero-slide.is-active .home-hero-slide__background {
    transform: scale(1);
}

.home-hero-slide__veil {
    position: absolute;
    inset: 0;
    z-index: -2;
    background:
        linear-gradient(90deg, rgba(7,12,22,.94) 0%, rgba(7,12,22,.79) 34%, rgba(7,12,22,.34) 62%, rgba(7,12,22,.16) 82%, rgba(7,12,22,.28) 100%),
        linear-gradient(180deg, rgba(7,12,22,.18), rgba(7,12,22,.06) 53%, rgba(7,12,22,.58));
}

.home-hero-slide__inner,
.home-hero-static__inner {
    min-height: 640px;
    display: flex;
    align-items: center;
    padding-top: 78px;
    padding-bottom: 94px;
}

.home-hero-slider .home-hero__copy,
.home-hero-static .home-hero__copy {
    max-width: 540px;
}

.home-hero-slider h1,
.home-hero-static h1 {
    margin: 0;
    font-family: var(--serif);
    font-weight: 400;
    font-size: clamp(46px, 5.3vw, 76px);
    line-height: 1.14;
    letter-spacing: -.035em;
    word-break: keep-all;
    text-wrap: balance;
}

.home-hero-slider .home-hero__english,
.home-hero-static .home-hero__english {
    margin-top: 18px;
}

.home-hero-slider .home-hero__meta,
.home-hero-static .home-hero__meta {
    font-size: 14px;
}

.home-hero-slider .home-hero__excerpt,
.home-hero-static .home-hero__excerpt {
    max-width: 460px;
    text-wrap: pretty;
}

.home-hero-slider__controls {
    position: absolute;
    left: 50%;
    bottom: 18px;
    z-index: 8;
    transform: translateX(-50%);
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 28px;
    color: rgba(255,255,255,.82);
}

.home-hero-slider__indexes,
.home-hero-slider__actions {
    display: flex;
    align-items: center;
}

.home-hero-slider__indexes {
    gap: 7px;
}

.home-hero-slider__index {
    width: 56px;
    padding: 5px 0 8px;
    border: 0;
    background: transparent;
    color: rgba(255,255,255,.56);
    text-align: left;
    cursor: pointer;
}

.home-hero-slider__index span {
    display: block;
    margin-bottom: 7px;
    font-family: var(--serif);
    font-size: 11px;
    line-height: 1;
}

.home-hero-slider__index i {
    position: relative;
    display: block;
    width: 100%;
    height: 1px;
    overflow: hidden;
    background: rgba(255,255,255,.28);
}

.home-hero-slider__index i::after {
    content: '';
    position: absolute;
    inset: 0;
    background: #fff;
    transform: scaleX(0);
    transform-origin: left center;
}

.home-hero-slider__index.is-active {
    color: #fff;
}

.home-hero-slider__index.is-active i::after {
    transform: scaleX(1);
}

.home-hero-slider__actions {
    gap: 2px;
    padding-bottom: 2px;
}

.home-hero-slider__arrow,
.home-hero-slider__toggle {
    width: 34px;
    height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid rgba(255,255,255,.24);
    background: rgba(3,8,16,.2);
    color: rgba(255,255,255,.84);
    cursor: pointer;
    transition: border-color .18s ease, background .18s ease, color .18s ease;
}

.home-hero-slider__arrow:hover,
.home-hero-slider__toggle:hover,
.home-hero-slider__arrow:focus-visible,
.home-hero-slider__toggle:focus-visible,
.home-hero-slider__index:focus-visible {
    color: #fff;
    border-color: rgba(255,255,255,.58);
    outline: none;
}

.home-hero-slider__toggle span {
    font-size: 10px;
    letter-spacing: -.12em;
}

.home-hero-slider + .home-section {
    border-top: 0;
}

.home-updates,
.home-works,
.home-bottom {
    position: relative;
}

.home-updates::before,
.home-bottom::before {
    content: '';
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: .035;
    background-image:
        radial-gradient(circle at 8% 18%, #7c684d 0 1px, transparent 1.5px),
        radial-gradient(circle at 92% 72%, #7c684d 0 1px, transparent 1.5px);
    background-size: 28px 28px, 34px 34px;
}

.home-updates > .site-shell,
.home-bottom > .site-shell {
    position: relative;
    z-index: 1;
}

.site-external-links {
    position: relative;
    z-index: 2;
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
    background: #fbf8f3;
    color: #69635c;
}

.site-external-links__inner {
    min-height: 42px;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px 14px;
    padding-block: 9px;
    font-size: 12px;
}

.site-external-links a {
    text-decoration: none;
    transition: color .18s ease;
}

.site-external-links a:hover,
.site-external-links a:focus-visible {
    color: var(--accent);
}

.site-external-links__separator {
    color: #b4ada5;
    user-select: none;
}

@media (max-width: 860px) {
    .home-hero-slider,
    .home-hero-static,
    .home-hero-slide__inner,
    .home-hero-static__inner {
        min-height: 610px;
    }

    .home-hero-slider .home-hero__copy,
    .home-hero-static .home-hero__copy {
        max-width: 74%;
    }

    .home-hero-slider__controls {
        bottom: 16px;
    }
}

@media (max-width: 640px) {
    .home-hero-slider,
    .home-hero-static,
    .home-hero-slide__inner,
    .home-hero-static__inner {
        min-height: 670px;
    }

    .home-hero-slide__background {
        background-position: 60% center;
    }

    .home-hero-slide__veil {
        background:
            linear-gradient(180deg, rgba(7,12,22,.24), rgba(7,12,22,.48) 38%, rgba(7,12,22,.93) 76%, rgba(7,12,22,.98));
    }

    .home-hero-slide__inner,
    .home-hero-static__inner {
        align-items: flex-end;
        padding-top: 86px;
        padding-bottom: 112px;
    }

    .home-hero-slider .home-hero__copy,
    .home-hero-static .home-hero__copy {
        max-width: 100%;
    }

    .home-hero-slider h1,
    .home-hero-static h1 {
        font-size: 42px;
        line-height: 1.16;
    }

    .home-hero-slider .home-hero__english,
    .home-hero-static .home-hero__english {
        margin-top: 14px;
        font-size: 11px;
        letter-spacing: .13em;
    }

    .home-hero-slider .home-hero__meta,
    .home-hero-static .home-hero__meta {
        margin-top: 10px;
        font-size: 12px;
    }

    .home-hero-slider .home-hero__excerpt,
    .home-hero-static .home-hero__excerpt {
        margin-top: 16px;
        font-size: 13px;
        line-height: 1.7;
    }

    .home-hero-slider .button-row,
    .home-hero-static .button-row {
        margin-top: 20px;
    }

    .home-hero-slider__controls {
        bottom: 12px;
        align-items: center;
    }

    .home-hero-slider__indexes {
        gap: 5px;
    }

    .home-hero-slider__index {
        width: 42px;
    }

    .home-hero-slider__index span {
        margin-bottom: 5px;
        font-size: 10px;
    }

    .home-hero-slider__actions {
        gap: 0;
    }

    .home-hero-slider__arrow,
    .home-hero-slider__toggle {
        width: 30px;
        height: 30px;
    }

    .site-external-links__inner {
        align-items: flex-start;
        gap: 5px 9px;
        padding-block: 12px;
        line-height: 1.55;
        font-size: 11px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .home-hero-slide,
    .home-hero-slide__background {
        transition: none;
    }
}


/* =========================================================
   v0.2.1 HOME — mobile polish / header / hero / update cards
   ========================================================= */

/* Keep the transparent HOME header visible while testing logged-in. */
.admin-bar.home .site-header,
.admin-bar.single-manyassi_work .site-header {
    top: 32px;
}

@media (max-width: 782px) {
    .admin-bar.home .site-header,
    .admin-bar.single-manyassi_work .site-header {
        top: 46px;
    }
}

@media (max-width: 860px) {
    /* A real mobile header: compact, readable over image-heavy heroes. */
    .home .site-header,
    .single-manyassi_work .site-header {
        background: linear-gradient(180deg, rgba(5,10,18,.96) 0%, rgba(5,10,18,.83) 76%, rgba(5,10,18,.42) 100%);
        border-bottom-color: rgba(255,255,255,.12);
        -webkit-backdrop-filter: blur(8px);
        backdrop-filter: blur(8px);
    }

    .site-header__inner {
        min-height: 62px;
        gap: 14px;
    }

    .brand-mark {
        gap: 9px;
        min-width: 0;
    }

    .brand-name {
        font-size: 14px;
        letter-spacing: .11em;
    }

    .brand-star {
        font-size: 22px;
    }

    .menu-toggle {
        width: 40px;
        height: 40px;
        flex: 0 0 40px;
        border: 1px solid rgba(255,255,255,.16);
        background: rgba(5,10,18,.16);
    }

    .menu-toggle > span:not(.screen-reader-text) {
        width: 18px;
    }

    .primary-navigation {
        inset: 62px 0 0;
        padding: 28px max(24px, calc((100vw - var(--shell)) / 2));
    }

    .admin-bar .primary-navigation {
        top: 108px;
    }

    /* Let the image breathe above; place text in the darkened lower zone. */
    .home-hero-slider,
    .home-hero-static,
    .home-hero-slide__inner,
    .home-hero-static__inner {
        min-height: 650px;
    }

    .home-hero-slide__background {
        background-position: center 28%;
    }

    .home-hero-slide__veil {
        background:
            linear-gradient(180deg,
                rgba(7,12,22,.10) 0%,
                rgba(7,12,22,.16) 30%,
                rgba(7,12,22,.58) 50%,
                rgba(7,12,22,.92) 68%,
                rgba(7,12,22,.985) 100%);
    }

    .home-hero-slide__inner,
    .home-hero-static__inner {
        align-items: flex-end;
        padding-top: 92px;
        padding-bottom: 104px;
    }

    .home-hero-slider .home-hero__copy,
    .home-hero-static .home-hero__copy {
        width: min(100%, 520px);
        max-width: 100%;
    }

    .home-hero-slider h1,
    .home-hero-static h1 {
        max-width: 12em;
        font-size: clamp(32px, 7.8vw, 42px);
        line-height: 1.18;
        letter-spacing: -.025em;
    }

    .home-hero-slider .home-hero__excerpt,
    .home-hero-static .home-hero__excerpt {
        max-width: 38em;
    }
}

@media (max-width: 640px) {
    /* HOME hero: reduce visual duplication when featured images already contain typography. */
    .home-hero-slider,
    .home-hero-static,
    .home-hero-slide__inner,
    .home-hero-static__inner {
        min-height: 640px;
    }

    .home-hero-slide__background {
        background-position: center 18%;
    }

    .home-hero-slide__veil {
        background:
            linear-gradient(180deg,
                rgba(7,12,22,.08) 0%,
                rgba(7,12,22,.14) 29%,
                rgba(7,12,22,.48) 43%,
                rgba(7,12,22,.91) 61%,
                rgba(7,12,22,.99) 100%);
    }

    .home-hero-slide__inner,
    .home-hero-static__inner {
        padding-top: 82px;
        padding-bottom: 96px;
    }

    .home-hero-slider .eyebrow,
    .home-hero-static .eyebrow {
        margin-bottom: 8px;
        font-size: 9px;
        letter-spacing: .2em;
    }

    .home-hero-slider h1,
    .home-hero-static h1 {
        max-width: 11.5em;
        font-size: clamp(29px, 8.2vw, 35px);
        line-height: 1.2;
    }

    .home-hero-slider .home-hero__english,
    .home-hero-static .home-hero__english {
        margin-top: 10px;
        font-size: 9px;
        line-height: 1.45;
        letter-spacing: .11em;
    }

    .home-hero-slider .home-hero__meta,
    .home-hero-static .home-hero__meta {
        margin-top: 7px;
        font-size: 11px;
    }

    .home-hero-slider .home-hero__excerpt,
    .home-hero-static .home-hero__excerpt {
        display: -webkit-box;
        max-width: 34em;
        margin-top: 11px;
        overflow: hidden;
        font-size: 12px;
        line-height: 1.62;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 3;
    }

    .home-hero-slider .button-row,
    .home-hero-static .button-row {
        margin-top: 15px;
        gap: 7px;
    }

    .home-hero-slider .button,
    .home-hero-static .button {
        min-height: 38px;
        padding-inline: 13px;
        gap: 10px;
        font-size: 11px;
    }

    .home-hero-slider__controls {
        bottom: 10px;
    }

    .home-hero-slider__index {
        width: 34px;
    }

    .home-hero-slider__index span {
        font-size: 9px;
    }

    .home-hero-slider__arrow,
    .home-hero-slider__toggle {
        width: 28px;
        height: 28px;
        font-size: 11px;
    }

    /* Latest Update becomes a clean vertical card on narrow screens. */
    .latest-grid {
        gap: 14px;
    }

    .episode-card {
        grid-template-columns: 1fr;
        min-height: 0;
    }

    .episode-card__image {
        min-height: 0;
        aspect-ratio: 16 / 9;
    }

    .episode-card__image img,
    .episode-card__image .image-placeholder {
        min-height: 0;
        aspect-ratio: 16 / 9;
        object-fit: cover;
    }

    .episode-card__body {
        min-height: 176px;
        padding: 17px 18px 16px;
    }

    .episode-card__work {
        font-size: 16px;
        line-height: 1.4;
    }

    .episode-card h3 {
        margin-top: 6px;
        font-size: 15px;
        line-height: 1.45;
    }

    .episode-card__meta {
        margin-top: 2px;
        font-size: 11px;
    }

    .episode-card .text-link {
        padding-top: 14px;
    }

    /* More deliberate mobile section rhythm. */
    .home-section {
        padding-block: 34px;
    }

    .section-heading {
        gap: 12px;
    }

    .section-heading__title {
        font-size: 22px;
    }

    .section-heading__desc {
        font-size: 11px;
        line-height: 1.55;
    }

    .section-heading > a {
        font-size: 10px;
    }

    .site-external-links__inner {
        display: grid;
        grid-template-columns: 1fr;
        gap: 5px;
        padding-block: 12px;
    }

    .site-external-links__separator {
        display: none;
    }

    .site-external-links a {
        width: fit-content;
    }
}

@media (max-width: 360px) {
    .brand-name {
        font-size: 12px;
        letter-spacing: .08em;
    }

    .home-hero-slider h1,
    .home-hero-static h1 {
        font-size: 28px;
    }

    .home-hero-slider .home-hero__excerpt,
    .home-hero-static .home-hero__excerpt {
        -webkit-line-clamp: 2;
    }
}

/* =========================================================
   v0.2.2 HOME — mobile menu overlay + admin-managed hero
   ========================================================= */
.menu-backdrop {
    display: none;
}

@media (max-width: 860px) {
    /* The menu itself stays clean; a separate opaque layer suppresses the
       image-heavy hero underneath it. */
    .menu-backdrop {
        position: fixed;
        top: 62px;
        right: 0;
        bottom: 0;
        left: 0;
        z-index: 99;
        display: block;
        background: rgba(4, 8, 15, .94);
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transition: opacity .2s ease, visibility 0s linear .2s;
        -webkit-backdrop-filter: blur(3px);
        backdrop-filter: blur(3px);
    }

    .menu-backdrop.is-open {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transition-delay: 0s;
    }

    .primary-navigation {
        top: 62px;
        right: 0;
        bottom: auto;
        left: 0;
        z-index: 101;
        max-height: calc(100dvh - 62px);
        overflow-y: auto;
        padding: 28px max(24px, calc((100vw - var(--shell)) / 2)) 34px;
        background: transparent;
        box-shadow: none;
    }

    .primary-navigation .menu {
        position: relative;
        z-index: 1;
    }

    .primary-navigation a {
        color: #fff;
        text-shadow: 0 1px 10px rgba(0,0,0,.3);
    }

    .menu-toggle[aria-expanded="true"] > span:not(.screen-reader-text):nth-of-type(2) {
        transform: translateY(6px) rotate(45deg);
    }

    .menu-toggle[aria-expanded="true"] > span:not(.screen-reader-text):nth-of-type(3) {
        opacity: 0;
    }

    .menu-toggle[aria-expanded="true"] > span:not(.screen-reader-text):nth-of-type(4) {
        transform: translateY(-6px) rotate(-45deg);
    }

    .menu-toggle > span:not(.screen-reader-text) {
        transition: transform .18s ease, opacity .18s ease;
    }

    .admin-bar .menu-backdrop,
    .admin-bar .primary-navigation {
        top: 108px;
    }
}

@media (max-width: 782px) {
    .admin-bar .menu-backdrop,
    .admin-bar .primary-navigation {
        top: 108px;
    }
}

/* =========================================================
   v0.2.3 — manual hero slots + editable menu locations
   ========================================================= */
.home-main--no-hero {
    padding-top: 72px;
}

.section-heading__title--link {
    color: inherit;
    text-decoration: none;
}
.section-heading__title--link:hover,
.section-heading__title--link:focus-visible {
    color: var(--accent);
}

.site-external-links__inner > .menu,
.external-links-menu {
    width: 100%;
    min-height: inherit;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0;
    margin: 0;
    padding: 0;
    list-style: none;
}

.external-links-menu .menu-item {
    display: inline-flex;
    align-items: center;
    margin: 0;
}

.external-links-menu .menu-item + .menu-item::before {
    content: '·';
    margin: 0 14px;
    color: #b4ada5;
    user-select: none;
}

@media (max-width: 860px) {
    .home-main--no-hero {
        padding-top: 62px;
    }
}

@media (max-width: 640px) {
    .site-external-links__inner > .menu,
    .external-links-menu {
        display: grid;
        gap: 5px;
        align-items: start;
    }

    .external-links-menu .menu-item {
        display: block;
    }

    .external-links-menu .menu-item + .menu-item::before {
        content: none;
    }
}

/* =========================================================
   v0.2.4 NOVEL / GALLERY refinements
   ========================================================= */

/* Work detail: image-only hero */
.work-visual-hero {
    min-height: clamp(420px, 46vw, 720px);
    background-image: var(--hero-image);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    background-color: var(--dark);
}
.work-title-fallback { padding-top: 132px; }
.work-title-fallback h1 {
    margin: 0;
    font-family: var(--serif);
    font-size: clamp(42px, 6vw, 72px);
    font-weight: 400;
}
.work-status-text { font-weight: 600; }

/* NOVEL archive status visibility */
.novel-status-filter {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 10px;
    margin: -22px 0 42px;
}
.novel-status-filter a {
    min-width: 102px;
    padding: 10px 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    border: 1px solid var(--line);
    background: rgba(255,255,255,.26);
    text-decoration: none;
    font-family: var(--serif);
    font-size: 12px;
}
.novel-status-filter a b {
    min-width: 20px;
    height: 20px;
    padding: 0 6px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: rgba(20,22,24,.08);
    font-family: var(--sans);
    font-size: 10px;
    font-weight: 500;
}
.novel-status-filter a.is-active {
    background: var(--dark);
    color: #fff;
    border-color: var(--dark);
}
.novel-status-filter a.is-active b { background: rgba(255,255,255,.14); }
.work-card__status {
    position: absolute;
    z-index: 3;
    top: 18px;
    right: 18px;
    padding: 6px 10px;
    border: 1px solid rgba(255,255,255,.42);
    background: rgba(5,10,16,.64);
    color: #fff;
    font-family: var(--serif);
    font-size: 11px;
    letter-spacing: .04em;
    backdrop-filter: blur(5px);
}

/* Work-related setting book */
.page-section--lore { border-top: 1px solid rgba(20,22,24,.05); }
.work-lore-list { border-top: 1px solid var(--ink); }
.work-lore-item {
    min-height: 76px;
    display: grid;
    grid-template-columns: 180px 1fr 20px;
    gap: 24px;
    align-items: center;
    border-bottom: 1px solid var(--line);
    text-decoration: none;
}
.work-lore-item__meta {
    display: flex;
    flex-direction: column;
    gap: 3px;
    color: var(--muted);
    font-family: var(--serif);
    font-size: 11px;
}
.work-lore-item__meta span { color: var(--accent); }
.work-lore-item strong { font-weight: 500; }
.work-lore-item:hover strong { text-decoration: underline; text-underline-offset: 4px; }

/* GALLERY: work filter and category filter are intentionally separate. */
.gallery-filter-panel {
    margin: -18px 0 42px;
    padding: 18px 0;
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
}
.gallery-filter-row {
    display: grid;
    grid-template-columns: 76px 1fr;
    gap: 18px;
    align-items: start;
}
.gallery-filter-row + .gallery-filter-row {
    margin-top: 14px;
    padding-top: 14px;
    border-top: 1px solid rgba(20,22,24,.07);
}
.gallery-filter-row__label {
    padding-top: 7px;
    color: var(--muted);
    font-family: var(--serif);
    font-size: 11px;
    letter-spacing: .12em;
}
.filter-nav--row {
    justify-content: flex-start;
    margin: 0;
}
.filter-nav--row a {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

@media (max-width: 860px) {
    .work-visual-hero { min-height: 500px; }
    .gallery-filter-row { grid-template-columns: 64px 1fr; gap: 12px; }
}

@media (max-width: 640px) {
    .work-visual-hero {
        min-height: 360px;
        background-position: center;
    }
    .work-title-fallback { padding-top: 100px; }
    .novel-status-filter {
        justify-content: flex-start;
        flex-wrap: nowrap;
        overflow-x: auto;
        margin: -10px -14px 30px;
        padding: 0 14px 6px;
        scrollbar-width: none;
    }
    .novel-status-filter::-webkit-scrollbar { display: none; }
    .novel-status-filter a { flex: 0 0 auto; min-width: 94px; }
    .work-card__status { top: 14px; right: 14px; }
    .work-lore-item {
        min-height: 72px;
        grid-template-columns: 1fr 18px;
        gap: 12px;
        padding: 14px 0;
    }
    .work-lore-item__meta { grid-column: 1; flex-direction: row; gap: 10px; }
    .work-lore-item strong { grid-column: 1; }
    .work-lore-item > span:last-child { grid-column: 2; grid-row: 1 / span 2; align-self: center; }
    .gallery-filter-panel { margin-top: -8px; }
    .gallery-filter-row {
        display: block;
    }
    .gallery-filter-row__label {
        display: block;
        margin-bottom: 9px;
        padding: 0;
    }
    .filter-nav--row {
        flex-wrap: nowrap;
        overflow-x: auto;
        justify-content: flex-start;
        padding-bottom: 4px;
        scrollbar-width: none;
    }
    .filter-nav--row::-webkit-scrollbar { display: none; }
    .filter-nav--row a { flex: 0 0 auto; }
}

/* =========================================================
   v0.2.5 header / work status / gallery polish
   ========================================================= */

/* Keep the navigation readable on every image/background.
   HOME and work detail no longer place the hero underneath the menu bar. */
.site-header,
.home .site-header,
.single-manyassi_work .site-header {
    position: relative;
    inset: auto;
    top: auto;
    background: #0b1220;
    border-bottom: 1px solid rgba(255,255,255,.10);
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
}
.admin-bar.home .site-header,
.admin-bar.single-manyassi_work .site-header {
    top: auto;
}

/* Work detail hero: exactly 300px from the bottom of the menu bar. */
.work-visual-hero {
    width: 100%;
    height: 300px;
    min-height: 300px;
    background-position: center;
    background-size: cover;
}

/* Semantic work-status palette shared by NOVEL archive and work detail. */
.work-status--serializing,
.work-status-filter--serializing {
    --work-status-color: #a52a3a;
    --work-status-soft: rgba(165, 42, 58, .09);
}
.work-status--completed,
.work-status-filter--completed {
    --work-status-color: #17191d;
    --work-status-soft: rgba(23, 25, 29, .08);
}
.work-status--hiatus,
.work-status-filter--hiatus {
    --work-status-color: #35679b;
    --work-status-soft: rgba(53, 103, 155, .10);
}
.work-status--preparing,
.work-status-filter--preparing {
    --work-status-color: #3f7758;
    --work-status-soft: rgba(63, 119, 88, .10);
}

.novel-status-filter a[class*="work-status-filter--"] {
    color: var(--work-status-color);
    border-color: var(--work-status-color);
    background: var(--work-status-soft);
}
.novel-status-filter a[class*="work-status-filter--"] b {
    color: var(--work-status-color);
    background: var(--work-status-soft);
}
.novel-status-filter a[class*="work-status-filter--"].is-active {
    color: #fff;
    border-color: var(--work-status-color);
    background: var(--work-status-color);
}
.novel-status-filter a[class*="work-status-filter--"].is-active b {
    color: #fff;
    background: rgba(255,255,255,.16);
}

.work-card__status[class*="work-status--"] {
    border-color: rgba(255,255,255,.45);
    background: var(--work-status-color);
    color: #fff;
}

.work-status-pill {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 4px 10px;
    border: 1px solid var(--work-status-color, var(--line));
    background: var(--work-status-color, var(--dark));
    color: #fff;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.2;
}

@media (max-width: 860px) {
    .home .site-header,
    .single-manyassi_work .site-header {
        background: #0b1220;
        -webkit-backdrop-filter: none;
        backdrop-filter: none;
    }

    .work-visual-hero {
        height: 300px;
        min-height: 300px;
    }
}

@media (max-width: 640px) {
    .work-visual-hero {
        height: 300px;
        min-height: 300px;
    }
}

/* Header is now in normal document flow, so an empty HOME hero needs no spacer. */
.home-main--no-hero {
    padding-top: 0;
}

/* =========================================================
   v0.2.6 HOME position + work detail editorial polish
   ========================================================= */

/* HOME hero always begins after the solid navigation bar.
   The header remains in normal document flow on every breakpoint. */
.home .site-header {
    position: relative;
    inset: auto;
    top: auto;
}
.home .home-main,
.home .home-hero-slider,
.home .home-hero-static {
    margin-top: 0;
}

/* Work detail hero: 400px on desktop/tablet, directly below the header. */
.single-manyassi_work .site-header {
    position: relative;
    inset: auto;
    top: auto;
}
.work-visual-hero {
    height: 400px;
    min-height: 400px;
    background-position: center;
    background-size: cover;
}

/* --- Work overview / story --- */
.work-overview-section {
    padding: 76px 0 82px;
    background: var(--paper);
}
.work-overview-section .work-detail-grid {
    grid-template-columns: minmax(0, 1fr) 310px;
    gap: clamp(56px, 7vw, 104px);
}
.work-intro {
    max-width: 760px;
}
.work-panel-label {
    display: flex;
    align-items: center;
    gap: 14px;
    margin: 0 0 24px;
    color: var(--accent);
    font-family: var(--serif);
    font-size: 10px;
    line-height: 1;
    letter-spacing: .22em;
}
.work-panel-label::after {
    content: '';
    width: 48px;
    height: 1px;
    background: currentColor;
    opacity: .45;
}
.work-panel-label--facts {
    margin-bottom: 8px;
    color: var(--muted);
}
.work-intro__content {
    max-width: 700px;
    font-size: 16px;
    line-height: 2;
    word-break: keep-all;
}
.work-intro__content > p {
    margin: 0 0 1.45em;
}
.work-intro__content > p:first-child {
    font-size: 17px;
    font-weight: 500;
    line-height: 1.9;
}
.work-intro__content a {
    text-decoration-color: rgba(157,39,53,.45);
    text-underline-offset: 4px;
}
.work-intro__content a:hover,
.work-intro__content a:focus-visible {
    color: var(--accent);
}

.work-facts {
    padding: 24px 28px 8px;
    border: 1px solid var(--line);
    border-top: 2px solid var(--ink);
    background: rgba(255,255,255,.42);
}
.work-facts dl > div {
    padding: 18px 0 20px;
}
.work-facts dt {
    font-size: 10px;
    letter-spacing: .16em;
}
.work-facts dd {
    margin-top: 8px;
    font-size: 15px;
    line-height: 1.55;
}

/* --- Episodes: editorial list with stronger hierarchy --- */
.work-episodes-section {
    padding: 72px 0 78px;
    border-top: 1px solid rgba(20,22,24,.045);
    border-bottom: 1px solid rgba(20,22,24,.055);
    background: #f3eee6;
}
.work-episodes-section .section-heading,
.page-section--lore .section-heading {
    margin-bottom: 28px;
    padding-bottom: 15px;
    border-bottom: 1px solid rgba(20,22,24,.28);
}
.work-episodes-section .section-heading__title,
.page-section--lore .section-heading__title {
    letter-spacing: .035em;
}
.work-episodes-section .episode-list {
    overflow: hidden;
    border: 1px solid var(--line);
    border-top: 1px solid var(--line);
    background: rgba(251,248,243,.74);
}
.work-episodes-section .episode-list__item {
    position: relative;
    min-height: 82px;
    padding: 0 24px;
    grid-template-columns: 92px minmax(0,1fr) 112px 20px;
    gap: 20px;
    border-bottom: 1px solid rgba(20,22,24,.10);
    transition: background .18s ease, padding-left .18s ease;
}
.work-episodes-section .episode-list__item:last-child {
    border-bottom: 0;
}
.work-episodes-section .episode-list__item::before {
    content: '';
    position: absolute;
    inset: 14px auto 14px 0;
    width: 3px;
    background: var(--accent);
    transform: scaleY(0);
    transform-origin: center;
    transition: transform .18s ease;
}
.work-episodes-section .episode-list__item:hover,
.work-episodes-section .episode-list__item:focus-visible {
    padding-left: 28px;
    background: rgba(255,255,255,.78);
    outline: none;
}
.work-episodes-section .episode-list__item:hover::before,
.work-episodes-section .episode-list__item:focus-visible::before {
    transform: scaleY(1);
}
.work-episodes-section .episode-list__number {
    color: var(--accent);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .10em;
}
.work-episodes-section .episode-list__item strong {
    font-family: var(--serif);
    font-size: 16px;
    font-weight: 500;
    line-height: 1.45;
}
.work-episodes-section .episode-list__item:hover strong,
.work-episodes-section .episode-list__item:focus-visible strong {
    text-decoration: none;
}
.work-episodes-section .episode-list time {
    text-align: right;
    font-size: 11px;
    letter-spacing: .03em;
}
.work-episodes-section .episode-list__item > span:last-child {
    color: var(--muted);
    transition: color .18s ease, transform .18s ease;
}
.work-episodes-section .episode-list__item:hover > span:last-child,
.work-episodes-section .episode-list__item:focus-visible > span:last-child {
    color: var(--accent);
    transform: translateX(3px);
}

/* --- Setting Book: archive-like cards while keeping the page restrained --- */
.page-section--lore {
    padding: 76px 0 84px;
    border-top: 1px solid rgba(20,22,24,.06);
    background:
        linear-gradient(180deg, rgba(157,39,53,.025), transparent 140px),
        var(--paper);
}
.page-section--lore .work-lore-list {
    display: grid;
    gap: 10px;
    border-top: 0;
}
.page-section--lore .work-lore-item {
    position: relative;
    min-height: 88px;
    grid-template-columns: 156px minmax(0,1fr) 22px;
    gap: 24px;
    padding: 18px 22px;
    border: 1px solid var(--line);
    background: rgba(255,255,255,.42);
    transition: border-color .18s ease, background .18s ease, transform .18s ease;
}
.page-section--lore .work-lore-item:hover,
.page-section--lore .work-lore-item:focus-visible {
    border-color: rgba(157,39,53,.34);
    background: rgba(255,255,255,.8);
    transform: translateY(-1px);
    outline: none;
}
.page-section--lore .work-lore-item__meta {
    gap: 6px;
    line-height: 1.35;
}
.page-section--lore .work-lore-item__meta time {
    color: var(--muted);
    letter-spacing: .04em;
}
.page-section--lore .work-lore-item__meta span {
    width: fit-content;
    padding: 3px 7px;
    border: 1px solid rgba(157,39,53,.22);
    background: rgba(157,39,53,.045);
    color: var(--accent);
    font-family: var(--sans);
    font-size: 10px;
    line-height: 1.35;
}
.page-section--lore .work-lore-item strong {
    font-family: var(--serif);
    font-size: 16px;
    font-weight: 500;
    line-height: 1.5;
}
.page-section--lore .work-lore-item:hover strong,
.page-section--lore .work-lore-item:focus-visible strong {
    color: var(--accent);
    text-decoration: none;
}
.page-section--lore .work-lore-item > span:last-child {
    color: var(--muted);
    transition: color .18s ease, transform .18s ease;
}
.page-section--lore .work-lore-item:hover > span:last-child,
.page-section--lore .work-lore-item:focus-visible > span:last-child {
    color: var(--accent);
    transform: translateX(3px);
}

@media (max-width: 860px) {
    .work-visual-hero {
        height: 360px;
        min-height: 360px;
    }
    .work-overview-section .work-detail-grid {
        grid-template-columns: minmax(0,1fr) 260px;
        gap: 42px;
    }
    .work-facts {
        padding-inline: 22px;
    }
}

@media (max-width: 640px) {
    .work-visual-hero {
        height: 300px;
        min-height: 300px;
    }
    .work-overview-section {
        padding: 48px 0 54px;
    }
    .work-overview-section .work-detail-grid {
        grid-template-columns: 1fr;
        gap: 38px;
    }
    .work-panel-label {
        margin-bottom: 18px;
    }
    .work-intro__content {
        font-size: 15px;
        line-height: 1.9;
    }
    .work-intro__content > p:first-child {
        font-size: 16px;
    }
    .work-facts {
        padding: 20px 20px 4px;
    }
    .work-episodes-section,
    .page-section--lore {
        padding: 48px 0 54px;
    }
    .work-episodes-section .section-heading,
    .page-section--lore .section-heading {
        margin-bottom: 20px;
        padding-bottom: 12px;
    }
    .work-episodes-section .episode-list__item {
        min-height: 72px;
        padding: 12px 16px;
        grid-template-columns: 64px minmax(0,1fr) 16px;
        gap: 12px;
    }
    .work-episodes-section .episode-list time {
        display: none;
    }
    .work-episodes-section .episode-list__item:hover,
    .work-episodes-section .episode-list__item:focus-visible {
        padding-left: 20px;
    }
    .work-episodes-section .episode-list__item strong {
        font-size: 14px;
    }
    .page-section--lore .work-lore-item {
        min-height: 0;
        grid-template-columns: minmax(0,1fr) 16px;
        gap: 8px 12px;
        padding: 16px;
    }
    .page-section--lore .work-lore-item__meta {
        grid-column: 1;
        flex-direction: row;
        flex-wrap: wrap;
        align-items: center;
        gap: 7px;
    }
    .page-section--lore .work-lore-item strong {
        grid-column: 1;
        font-size: 14px;
    }
    .page-section--lore .work-lore-item > span:last-child {
        grid-column: 2;
        grid-row: 1 / span 2;
        align-self: center;
    }
}

/* =========================================================
   v0.3.1 Episode Viewer
   ========================================================= */

.single-manyassi_episode .site-header {
    position: relative;
    inset: auto;
    top: auto;
    background: #0b1220;
}

.episode-viewer {
    background: #fbf8f3;
}

.episode-article {
    padding: 0;
}

.episode-header {
    padding-top: 82px;
    padding-bottom: 48px;
    text-align: center;
}

.episode-header__work {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 27px;
    color: #766e64;
    font-family: var(--sans);
    font-size: 12px;
    letter-spacing: .04em;
    text-decoration: none;
    transition: color .18s ease;
}

.episode-header__work:hover,
.episode-header__work:focus-visible {
    color: var(--accent);
}

.episode-header__number {
    margin: 0 0 12px;
    color: var(--accent);
    font-family: var(--serif);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .16em;
}

.episode-header h1 {
    max-width: 720px;
    margin: 0 auto 18px;
    font-family: var(--serif);
    font-size: clamp(34px, 4.2vw, 50px);
    font-weight: 400;
    line-height: 1.25;
    letter-spacing: -.025em;
    word-break: keep-all;
}

.episode-header__meta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0;
    color: #8b837a;
    font-family: var(--sans);
    font-size: 11px;
    letter-spacing: .055em;
}

.episode-header__meta > * + *::before {
    content: '';
    display: inline-block;
    width: 1px;
    height: 10px;
    margin: 0 11px;
    vertical-align: -1px;
    background: rgba(20,22,24,.22);
}

.episode-illustration {
    width: min(760px, calc(100vw - 40px));
    margin-bottom: 54px;
}

.episode-illustration img {
    display: block;
    width: auto;
    max-width: 100%;
    max-height: 760px;
    margin: 0 auto;
    object-fit: contain;
    box-shadow: 0 16px 42px rgba(25, 21, 18, .035);
}

.episode-reading-rule {
    display: flex;
    align-items: center;
    justify-content: center;
    width: min(760px, calc(100vw - 40px));
    margin: 0 auto 56px;
    color: #a6998b;
    font-size: 9px;
}

.episode-reading-rule::before,
.episode-reading-rule::after {
    content: '';
    width: 64px;
    height: 1px;
    margin: 0 16px;
    background: rgba(20,22,24,.14);
}

.prose--novel {
    width: min(720px, calc(100vw - 40px));
    color: #232221;
    font-family: var(--sans);
    font-size: 18px;
    font-weight: 400;
    line-height: 2.08;
    letter-spacing: -.006em;
    word-break: keep-all;
    overflow-wrap: break-word;
}

.prose--novel > :first-child {
    margin-top: 0;
}

.prose--novel p {
    margin-top: 0;
    margin-bottom: 1.72em;
}

.prose--novel p:empty {
    min-height: .7em;
    margin-bottom: .7em;
}

.prose--novel blockquote {
    margin: 2.2em 0;
    padding: 4px 0 4px 22px;
    border-left: 2px solid rgba(157,39,53,.45);
    color: #554f49;
}

.prose--novel hr {
    width: 56px;
    height: 1px;
    margin: 3.5em auto;
    border: 0;
    background: rgba(20,22,24,.20);
}

.prose--novel img {
    display: block;
    max-width: min(100%, 900px);
    height: auto;
    margin: 2.8em auto;
}

.prose--novel figure,
.prose--novel .wp-block-image {
    margin: 2.8em auto;
}

.prose--novel figure img,
.prose--novel .wp-block-image img {
    margin: 0 auto;
}

.prose--novel p:has(> img:only-child) {
    margin: 2.8em 0;
}

.prose--novel p:has(> img:only-child) > img {
    margin: 0 auto;
}

.prose--novel figcaption,
.prose--novel .wp-element-caption {
    margin-top: 10px;
    color: #8b837a;
    font-size: 12px;
    line-height: 1.6;
    text-align: center;
}

.episode-reader-footer {
    width: min(860px, calc(100vw - 40px));
    margin-top: 92px;
}

.episode-reader-end {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 30px;
    color: #948a80;
    font-family: var(--serif);
    font-size: 10px;
    letter-spacing: .22em;
}

.episode-reader-end::before,
.episode-reader-end::after {
    content: '';
    width: 32px;
    height: 1px;
    margin: 0 12px;
    background: rgba(20,22,24,.18);
}

.episode-navigation {
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: minmax(0,1fr) 132px minmax(0,1fr);
    gap: 12px;
    border: 1px solid rgba(20,22,24,.14);
    background: rgba(255,255,255,.42);
}

.episode-navigation__side {
    min-width: 0;
}

.episode-nav-link {
    min-height: 96px;
    padding: 20px 22px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 6px;
    text-decoration: none;
    transition: background .18s ease, color .18s ease;
}

.episode-nav-link:not(.episode-nav-link--empty):hover,
.episode-nav-link:not(.episode-nav-link--empty):focus-visible {
    background: #fff;
    color: var(--accent);
    outline: none;
}

.episode-nav-link__label {
    display: flex;
    align-items: baseline;
    gap: 8px;
    color: #857d74;
    font-size: 11px;
    letter-spacing: .03em;
}

.episode-nav-link--next .episode-nav-link__label {
    justify-content: flex-end;
}

.episode-nav-link__number {
    color: var(--accent);
    font-family: var(--serif);
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0;
}

.episode-nav-link strong {
    overflow: hidden;
    color: var(--ink);
    font-family: var(--serif);
    font-size: 15px;
    font-weight: 500;
    line-height: 1.45;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.episode-nav-link--next {
    text-align: right;
}

.episode-nav-link--empty {
    opacity: .55;
}

.episode-navigation__center {
    display: flex;
    align-items: stretch;
    justify-content: center;
    border-left: 1px solid rgba(20,22,24,.12);
    border-right: 1px solid rgba(20,22,24,.12);
}

.episode-navigation__center a {
    width: 100%;
    min-height: 96px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    border: 0;
    color: #4e4943;
    font-size: 11px;
    letter-spacing: .04em;
    text-decoration: none;
    transition: background .18s ease, color .18s ease;
}

.episode-navigation__center a:hover,
.episode-navigation__center a:focus-visible {
    background: #fff;
    color: var(--accent);
    outline: none;
}

.episode-navigation__list-icon {
    font-size: 14px;
    letter-spacing: 0;
}

.episode-related {
    margin-top: 88px;
    padding: 68px 0 78px;
    border-top: 1px solid rgba(20,22,24,.06);
    border-bottom: 1px solid rgba(20,22,24,.06);
    background: #f3eee6;
}

.episode-section-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 27px;
}

.episode-section-heading .eyebrow {
    margin: 0 0 4px;
    color: #9b9187;
    font-size: 9px;
    letter-spacing: .17em;
}

.episode-section-heading h2 {
    margin: 0;
    font-family: var(--serif);
    font-size: 27px;
    font-weight: 400;
    letter-spacing: .035em;
}

.episode-section-heading .text-link {
    flex: 0 0 auto;
    margin-bottom: 4px;
    font-size: 11px;
    text-decoration: none;
}

.episode-related__grid {
    display: grid;
    gap: 14px;
    justify-content: start;
}

.episode-related__grid--count-1 {
    grid-template-columns: minmax(240px, 320px);
}

.episode-related__grid--count-2 {
    grid-template-columns: repeat(2, minmax(240px, 320px));
}

.episode-related__grid--count-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    max-width: 900px;
}

.episode-related__grid--count-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.episode-related-card {
    min-width: 0;
    border: 1px solid rgba(20,22,24,.11);
    background: rgba(251,248,243,.82);
    transition: transform .18s ease, border-color .18s ease, background .18s ease;
}

.episode-related-card:hover {
    transform: translateY(-2px);
    border-color: rgba(157,39,53,.25);
    background: #fff;
}

.episode-related-card__media {
    position: relative;
    display: block;
    overflow: hidden;
    aspect-ratio: 4 / 3;
    background: #e9e3da;
}

.episode-related-card__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .35s ease;
}

.episode-related-card:hover .episode-related-card__media img {
    transform: scale(1.025);
}

.episode-related-card__placeholder {
    width: 100%;
    height: 100%;
    display: grid;
    place-items: center;
    color: #b1a69b;
    font-family: var(--serif);
    font-size: 34px;
}

.episode-related-card__body {
    min-height: 92px;
    padding: 16px 17px 18px;
}

.episode-related-card__number {
    margin: 0 0 5px;
    color: var(--accent);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: .06em;
}

.episode-related-card h3 {
    margin: 0;
    font-family: var(--serif);
    font-size: 15px;
    font-weight: 500;
    line-height: 1.45;
    word-break: keep-all;
}

.episode-related-card h3 a {
    text-decoration: none;
}

.episode-community {
    padding: 70px 0 84px;
    background: var(--paper);
}

.episode-section-heading--compact {
    margin-bottom: 22px;
    padding-bottom: 17px;
    border-bottom: 1px solid rgba(20,22,24,.16);
}

.episode-section-heading--compact h2 {
    font-size: 22px;
    letter-spacing: 0;
}

.episode-actions {
    padding: 0;
    display: grid;
    gap: 18px;
}

.episode-actions .manyassi-like-wrap,
.episode-actions .manyassi-share-wrap {
    margin: 0;
}

.episode-actions .manyassi-share-wrap {
    padding-top: 18px;
    border-top: 1px solid rgba(20,22,24,.10);
}

.episode-comments {
    margin-top: 54px;
    padding-top: 40px;
    border-top: 1px solid rgba(20,22,24,.16);
}

.episode-comments .comments-title,
.episode-comments .comment-reply-title {
    margin-top: 0;
    font-size: 24px;
}

.episode-comments .comment-notes {
    color: var(--muted);
    font-size: 12px;
}

.episode-comments .comment-form input[type='text'],
.episode-comments .comment-form input[type='email'],
.episode-comments .comment-form input[type='url'],
.episode-comments .comment-form textarea {
    background: rgba(255,255,255,.65);
}

@media (max-width: 860px) {
    .episode-header {
        padding-top: 66px;
    }
    .prose--novel {
        font-size: 17px;
        line-height: 2.06;
    }
    .episode-related__grid--count-3,
    .episode-related__grid--count-4 {
        grid-template-columns: repeat(2, minmax(0,1fr));
        max-width: none;
    }
}

@media (max-width: 640px) {
    .episode-header {
        padding-top: 48px;
        padding-bottom: 34px;
    }
    .episode-header__work {
        margin-bottom: 20px;
        font-size: 11px;
    }
    .episode-header__number {
        margin-bottom: 8px;
        font-size: 10px;
    }
    .episode-header h1 {
        margin-bottom: 13px;
        font-size: clamp(29px, 9vw, 38px);
    }
    .episode-header__meta {
        font-size: 10px;
    }
    .episode-illustration {
        width: min(100% - 28px, 680px);
        margin-bottom: 38px;
    }
    .episode-illustration img {
        max-height: none;
        box-shadow: none;
    }
    .episode-reading-rule {
        width: calc(100% - 40px);
        margin-bottom: 38px;
    }
    .prose--novel {
        width: min(100% - 38px, 720px);
        font-size: 16px;
        line-height: 2.10;
        letter-spacing: -.012em;
        word-break: normal;
    }
    .prose--novel p {
        margin-bottom: 1.66em;
    }
    .prose--novel img,
    .prose--novel figure,
    .prose--novel .wp-block-image,
    .prose--novel p:has(> img:only-child) {
        margin-top: 2.55em;
        margin-bottom: 2.55em;
    }
    .episode-reader-footer {
        width: calc(100% - 28px);
        margin-top: 64px;
    }
    .episode-navigation {
        grid-template-columns: 1fr 86px 1fr;
        gap: 0;
    }
    .episode-nav-link,
    .episode-navigation__center a {
        min-height: 82px;
        padding: 14px 12px;
    }
    .episode-nav-link__label {
        gap: 5px;
        font-size: 10px;
    }
    .episode-nav-link__number {
        font-size: 13px;
    }
    .episode-nav-link strong {
        display: none;
    }
    .episode-navigation__center a {
        padding-inline: 6px;
        font-size: 10px;
    }
    .episode-related {
        margin-top: 62px;
        padding: 48px 0 52px;
    }
    .episode-section-heading {
        align-items: flex-end;
        margin-bottom: 19px;
    }
    .episode-section-heading h2 {
        font-size: 22px;
    }
    .episode-section-heading .text-link {
        font-size: 10px;
    }
    .episode-related__grid {
        display: flex;
        gap: 10px;
        overflow-x: auto;
        padding-bottom: 6px;
        scroll-snap-type: x proximity;
        scrollbar-width: none;
    }
    .episode-related__grid::-webkit-scrollbar {
        display: none;
    }
    .episode-related-card {
        flex: 0 0 min(72vw, 280px);
        scroll-snap-align: start;
    }

    .episode-related__grid--count-1 .episode-related-card {
        flex-basis: min(84vw, 330px);
    }
    .episode-related__grid--count-2 .episode-related-card {
        flex-basis: min(76vw, 300px);
    }
    .episode-community {
        padding: 48px 0 60px;
    }
    .episode-section-heading--compact h2 {
        font-size: 19px;
    }
    .episode-comments {
        margin-top: 42px;
        padding-top: 32px;
    }
}

/* =========================================================
   v0.3.2 Work Hub + Book Spread Reader
   ========================================================= */

/* ---------------------------------------------------------
   Work detail: compact two-column hub
   --------------------------------------------------------- */
.single-manyassi_work .site-header {
    position: relative;
    inset: auto;
    top: auto;
    background: #0b1220;
    border-bottom-color: rgba(255,255,255,.10);
}

.work-hub {
    padding: 20px 0 42px;
    background:
        radial-gradient(circle at 8% 12%, rgba(157,39,53,.028), transparent 28%),
        #fbfaf7;
}

.work-hub__frame {
    display: grid;
    grid-template-columns: minmax(288px, 340px) minmax(0, 1fr);
    align-items: stretch;
    overflow: hidden;
    border: 1px solid rgba(20,22,24,.075);
    border-radius: 12px;
    background: rgba(255,255,255,.46);
    box-shadow: 0 18px 50px rgba(42,37,31,.025);
}

.work-hub__profile {
    min-width: 0;
    border-right: 1px solid rgba(20,22,24,.075);
    background: linear-gradient(180deg, rgba(247,244,239,.88), rgba(251,249,245,.76));
}

.work-profile-card {
    position: sticky;
    top: 18px;
    padding: 22px 20px 0;
}

.work-profile-card__cover {
    position: relative;
    overflow: hidden;
    aspect-ratio: 3 / 2;
    border-radius: 5px;
    background: #e8e2da;
    box-shadow: 0 8px 22px rgba(22,18,14,.08);
}

.work-profile-card__cover img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.work-profile-card__cover-placeholder {
    width: 100%;
    height: 100%;
    display: grid;
    place-content: center;
    gap: 8px;
    text-align: center;
    background:
        radial-gradient(circle at 50% 35%, rgba(255,255,255,.7), transparent 34%),
        linear-gradient(150deg, #efe9df, #dcd4ca);
    color: #948a80;
    font-family: var(--serif);
    letter-spacing: .16em;
}

.work-profile-card__cover-placeholder span { font-size: 9px; }
.work-profile-card__cover-placeholder strong { font-size: 18px; font-weight: 400; }

.work-profile-card__body {
    padding: 18px 2px 0;
}

.work-profile-card__body .work-status-pill {
    display: inline-flex;
    align-items: center;
    min-height: 26px;
    padding: 3px 12px;
    border: 0;
    border-radius: 999px;
    background: rgba(157,39,53,.10);
    font-size: 11px;
    line-height: 1;
}

.work-profile-card__body h1 {
    margin: 12px 0 6px;
    font-family: var(--serif);
    font-size: clamp(22px, 2.35vw, 29px);
    font-weight: 500;
    line-height: 1.42;
    letter-spacing: -.02em;
    word-break: keep-all;
}

.work-profile-card__meta {
    margin: 0;
    color: #8b837a;
    font-size: 12px;
    line-height: 1.5;
}

.work-profile-card__synopsis {
    margin-top: 20px;
    color: #57514b;
    font-size: 13px;
    line-height: 1.85;
    word-break: keep-all;
}

.work-profile-card__actions {
    display: grid;
    grid-template-columns: minmax(0,1fr) minmax(0,.78fr);
    gap: 9px;
    margin-top: 22px;
}

.work-profile-action {
    min-height: 40px;
    padding: 0 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border: 1px solid rgba(20,22,24,.16);
    border-radius: 999px;
    background: rgba(255,255,255,.48);
    color: #34312e;
    font-size: 12px;
    text-decoration: none;
    transition: border-color .18s ease, background .18s ease, color .18s ease;
}

.work-profile-action:hover,
.work-profile-action:focus-visible {
    border-color: rgba(157,39,53,.28);
    background: #fff;
    color: var(--accent);
    outline: none;
}

.work-profile-action--primary {
    border-color: rgba(157,39,53,.18);
    background: rgba(157,39,53,.07);
    color: var(--accent);
}

.work-profile-card__facts {
    margin: 18px 0 0;
    padding: 12px 0 0;
    border-top: 1px solid rgba(20,22,24,.09);
}

.work-profile-card__facts > div {
    display: grid;
    grid-template-columns: 88px minmax(0,1fr);
    gap: 12px;
    padding: 8px 0;
}

.work-profile-card__facts dt {
    color: #9a9188;
    font-family: var(--serif);
    font-size: 8px;
    line-height: 1.5;
    letter-spacing: .12em;
}

.work-profile-card__facts dd {
    margin: 0;
    color: #514c47;
    font-size: 11px;
    line-height: 1.5;
    word-break: keep-all;
}

.work-profile-card__ornament {
    min-height: 210px;
    margin: 22px -20px 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 16px;
    border-top: 1px solid rgba(20,22,24,.06);
    background:
        radial-gradient(circle at 50% 46%, rgba(212,194,174,.23), transparent 8%),
        linear-gradient(130deg, transparent 0 32%, rgba(202,188,171,.10) 32.3% 32.7%, transparent 33% 66%, rgba(202,188,171,.10) 66.3% 66.7%, transparent 67%),
        rgba(249,246,241,.54);
    color: #c1afa1;
}

.work-profile-card__moon {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: #eee7dc;
    box-shadow: 15px 0 0 0 rgba(249,246,241,.92) inset;
}

.work-profile-card__ornament small {
    font-family: var(--serif);
    font-size: 8px;
    letter-spacing: .35em;
}

.work-profile-card__star { font-size: 16px; }

.work-hub__content {
    min-width: 0;
    padding: 22px 28px 34px;
    background: rgba(255,255,255,.58);
}

.work-hub-section + .work-hub-section {
    margin-top: 38px;
}

.work-hub-heading {
    min-height: 38px;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 10px;
    border-bottom: 1px solid rgba(20,22,24,.14);
}

.work-hub-heading > div {
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.work-hub-heading h2 {
    margin: 0 0 7px;
    font-family: var(--serif);
    font-size: 25px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: .09em;
}

.work-hub-heading__line {
    width: 112px;
    height: 2px;
    margin-bottom: -1px;
    background: #152033;
}

.work-hub-heading__more {
    margin-bottom: 8px;
    color: #625c56;
    font-family: var(--serif);
    font-size: 11px;
    text-decoration: none;
    white-space: nowrap;
}

.work-hub-heading__more:hover,
.work-hub-heading__more:focus-visible {
    color: var(--accent);
}

.work-hub-heading--episodes {
    align-items: center;
}

.work-episode-sort {
    margin-bottom: 7px;
}

.work-episode-sort select {
    padding: 4px 28px 4px 8px;
    border: 0;
    background: transparent;
    color: #6f6861;
    font-family: var(--serif);
    font-size: 11px;
    cursor: pointer;
}

.work-episode-total {
    margin: 16px 0 12px;
    color: #25292e;
    font-family: var(--serif);
    font-size: 13px;
    font-weight: 600;
}

.work-episode-list {
    border-top: 1px solid rgba(20,22,24,.06);
}

/* v0.4.23 — episode list progressive reveal must win over card display rules. */
.work-episode-row[hidden],
.work-episode-row.is-collapsed,
.work-episode-part-divider[hidden],
.work-episode-more[hidden] {
    display: none !important;
}

.work-episode-row {
    min-height: 65px;
    display: grid;
    grid-template-columns: 54px minmax(0,1fr) 66px 14px;
    gap: 14px;
    align-items: center;
    padding: 8px 4px 8px 2px;
    border-bottom: 1px solid rgba(20,22,24,.075);
    text-decoration: none;
    transition: background .15s ease, color .15s ease;
}

.work-episode-row:hover,
.work-episode-row:focus-visible {
    background: rgba(246,242,235,.65);
    color: var(--accent);
    outline: none;
}

.work-episode-row__number {
    color: #29303a;
    font-family: var(--serif);
    font-size: 13px;
    font-weight: 600;
    white-space: nowrap;
}

.work-episode-row__copy {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.work-episode-row__copy strong {
    min-width: 0;
    display: block;
    overflow: hidden;
    color: #292b2f;
    font-family: var(--serif);
    font-size: 14px;
    font-weight: 500;
    line-height: 1.45;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.work-episode-row__copy time {
    color: #9a928a;
    font-family: var(--serif);
    font-size: 9px;
    line-height: 1.35;
}

.work-episode-row__up {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 17px;
    margin-left: 6px;
    padding: 1px 5px 0;
    border: 1px solid rgba(214,61,73,.60);
    border-radius: 999px;
    color: #d63d49;
    font-family: var(--sans);
    font-size: 8px;
    font-style: normal;
    font-weight: 600;
    line-height: 1;
    vertical-align: 2px;
}

.work-episode-row__comments {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 5px;
    color: #8f8881;
    font-size: 10px;
    white-space: nowrap;
}

.work-episode-row__comments > span {
    font-size: 12px;
}

.work-episode-row__arrow {
    color: #8d8781;
    font-family: var(--serif);
    font-size: 24px;
    font-weight: 300;
    line-height: 1;
}

.work-episode-more {
    width: 100%;
    min-height: 42px;
    margin-top: 13px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    border: 0;
    border-radius: 8px;
    background: #e9e4de;
    color: #363431;
    font-family: var(--serif);
    font-size: 12px;
    cursor: pointer;
    transition: background .18s ease, color .18s ease;
}

.work-episode-more:hover,
.work-episode-more:focus-visible {
    background: #ded7cf;
    color: var(--accent);
    outline: none;
}

.work-hub-empty {
    margin: 24px 0 10px;
    color: var(--muted);
    font-size: 13px;
}

.work-gallery-strip {
    display: grid;
    grid-template-columns: repeat(3, minmax(0,1fr));
    gap: 8px;
}

.work-gallery-tile {
    position: relative;
    display: block;
    overflow: hidden;
    aspect-ratio: 1 / 1;
    background: #ece6de;
    text-decoration: none;
}

.work-gallery-tile img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .28s ease;
}

.work-gallery-tile:hover img,
.work-gallery-tile:focus-visible img {
    transform: scale(1.025);
}

.work-gallery-tile__placeholder {
    width: 100%;
    height: 100%;
    display: grid;
    place-items: center;
    color: #b9ada0;
    font-family: var(--serif);
    font-size: 28px;
}

.work-lore-compact {
    border-top: 1px solid rgba(20,22,24,.07);
}

.work-lore-compact__item {
    min-height: 42px;
    display: grid;
    grid-template-columns: 50px minmax(0,1fr) 86px 12px;
    gap: 10px;
    align-items: center;
    padding: 6px 2px;
    border-bottom: 1px solid rgba(20,22,24,.075);
    text-decoration: none;
}

.work-lore-compact__item:hover strong,
.work-lore-compact__item:focus-visible strong {
    color: var(--accent);
}

.work-lore-compact__badge {
    width: fit-content;
    padding: 2px 5px;
    border: 1px solid rgba(157,39,53,.20);
    color: #a64c57;
    font-size: 8px;
    line-height: 1.3;
}

.work-lore-compact__item strong {
    overflow: hidden;
    color: #3a3836;
    font-family: var(--serif);
    font-size: 11px;
    font-weight: 500;
    text-overflow: ellipsis;
    white-space: nowrap;
    transition: color .15s ease;
}

.work-lore-compact__item time {
    color: #9c948c;
    font-family: var(--serif);
    font-size: 9px;
    text-align: right;
    white-space: nowrap;
}

.work-lore-compact__item > span:last-child {
    color: #888079;
    font-family: var(--serif);
    font-size: 19px;
}

/* ---------------------------------------------------------
   Episode viewer: toolbar + book spread
   --------------------------------------------------------- */
.single-manyassi_episode .site-header {
    position: relative;
    inset: auto;
    top: auto;
    background: #0b1220;
}

.episode-reader--spread,
.episode-reader--spread .episode-article {
    background: #fbfaf7;
}

.episode-reader-toolbar {
    position: sticky;
    top: 0;
    z-index: 85;
    border-bottom: 1px solid rgba(20,22,24,.12);
    background: rgba(255,255,255,.96);
    box-shadow: 0 2px 12px rgba(30,26,21,.025);
    backdrop-filter: blur(12px);
}

.episode-reader-toolbar__inner {
    min-height: 58px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
}

.episode-reader-toolbar__identity,
.episode-reader-toolbar__actions {
    min-width: 0;
    display: flex;
    align-items: center;
}

.episode-reader-toolbar__identity {
    gap: 14px;
}

.episode-reader-toolbar__home {
    width: 24px;
    height: 24px;
    display: grid;
    place-items: center;
    color: #1b2431;
    text-decoration: none;
}

.episode-reader-toolbar__home svg {
    width: 20px;
    height: 20px;
}

.episode-reader-toolbar__divider {
    width: 1px;
    height: 22px;
    background: rgba(20,22,24,.16);
}

.episode-reader-toolbar__work {
    min-width: 0;
    display: flex;
    align-items: baseline;
    gap: 7px;
    color: #3d3b39;
    font-family: var(--serif);
    font-size: 12px;
    text-decoration: none;
}

.episode-reader-toolbar__work span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.episode-reader-toolbar__work b {
    flex: 0 0 auto;
    font-weight: 500;
}

.episode-reader-toolbar__actions {
    gap: 14px;
    color: #34373b;
    font-size: 11px;
}

.episode-toolbar-comment,
.episode-toolbar-nav {
    min-height: 34px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: inherit;
    text-decoration: none;
    white-space: nowrap;
}

.episode-toolbar-comment__icon { font-size: 15px; }

.episode-toolbar-comment b {
    min-width: 20px;
    padding: 1px 5px;
    border-radius: 4px;
    background: #111827;
    color: #fff;
    font-size: 9px;
    font-weight: 500;
    text-align: center;
}

.episode-toolbar-like .manyassi-like-wrap {
    gap: 0;
    margin: 0;
}

.episode-toolbar-like .manyassi-like-button {
    min-height: 34px;
    padding: 0;
    gap: 6px;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: #3c3d40;
    font-size: 11px;
}

.episode-toolbar-like .manyassi-like-icon {
    color: #c64855;
    font-size: 19px;
}

.episode-toolbar-like .manyassi-like-count,
.episode-toolbar-like .manyassi-like-message {
    display: none;
}

.episode-reader-toolbar__divider--actions {
    margin-inline: 1px;
}

.episode-toolbar-nav:not(.episode-toolbar-nav--next) > span:first-child,
.episode-toolbar-nav--next > span:last-child {
    font-family: var(--serif);
    font-size: 24px;
    font-weight: 300;
    line-height: 1;
}

.episode-toolbar-nav.is-disabled {
    opacity: .30;
}

.episode-toolbar-comment:hover,
.episode-toolbar-comment:focus-visible,
.episode-toolbar-nav:hover,
.episode-toolbar-nav:focus-visible,
.episode-reader-toolbar__work:hover,
.episode-reader-toolbar__work:focus-visible,
.episode-reader-toolbar__home:hover,
.episode-reader-toolbar__home:focus-visible {
    color: var(--accent);
    outline: none;
}

.episode-spread-wrap {
    position: relative;
    padding: 84px 0 98px;
    overflow: hidden;
    background:
        radial-gradient(ellipse at left center, rgba(216,207,196,.18), transparent 28%),
        radial-gradient(ellipse at right center, rgba(216,207,196,.16), transparent 28%),
        #fffdfa;
}

.episode-spread-wrap::before,
.episode-spread-wrap::after {
    content: '';
    position: absolute;
    top: 9%;
    bottom: 9%;
    width: 70px;
    pointer-events: none;
    opacity: .52;
    filter: blur(8px);
}

.episode-spread-wrap::before {
    left: -38px;
    background: radial-gradient(ellipse at center, rgba(168,158,145,.18), transparent 70%);
}

.episode-spread-wrap::after {
    right: -38px;
    background: radial-gradient(ellipse at center, rgba(168,158,145,.16), transparent 70%);
}

.episode-spread {
    position: relative;
    width: min(1180px, calc(100vw - 140px));
    margin-inline: auto;
}

.episode-spread__ornament {
    position: absolute;
    top: -46px;
    left: 50%;
    z-index: 2;
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(156,143,128,.28);
    border-radius: 50%;
    background: #fffdfa;
    color: #b7a796;
    font-size: 11px;
    transform: translateX(-50%);
}

.episode-spread__ornament::before,
.episode-spread__ornament::after {
    content: '';
    position: absolute;
    top: 50%;
    width: 150px;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(156,143,128,.26));
}

.episode-spread__ornament::before {
    right: calc(100% + 1px);
}

.episode-spread__ornament::after {
    left: calc(100% + 1px);
    transform: scaleX(-1);
}

.episode-spread__illustration {
    width: min(820px, 80%);
    margin: 0 auto 58px;
}

.episode-spread__illustration img {
    display: block;
    max-width: 100%;
    max-height: 760px;
    margin: 0 auto;
    object-fit: contain;
}

.episode-spread__copy.prose--novel {
    width: 100%;
    max-width: none;
    margin: 0;
    color: #292726;
    font-family: var(--serif);
    font-size: 17px;
    font-weight: 400;
    line-height: 2.08;
    letter-spacing: -.008em;
    word-break: keep-all;
    overflow-wrap: break-word;
}

.episode-spread__number {
    margin: 0 0 1.55em !important;
    color: #aaa094;
    font-family: var(--serif);
    font-size: 34px;
    line-height: 1.2;
    letter-spacing: -.02em;
    break-after: avoid;
}

.episode-spread__copy.prose--novel p {
    margin: 0 0 1.45em;
}

.episode-spread__copy.prose--novel blockquote,
.episode-spread__copy.prose--novel figure,
.episode-spread__copy.prose--novel .wp-block-image,
.episode-spread__copy.prose--novel img,
.episode-spread__copy.prose--novel hr {
    break-inside: avoid;
}

.episode-spread__copy.prose--novel img {
    max-width: 100%;
}

.episode-edge-nav {
    position: fixed;
    top: 53%;
    z-index: 60;
    width: 46px;
    height: 82px;
    display: grid;
    place-items: center;
    color: #17202d;
    font-family: var(--serif);
    font-size: 62px;
    font-weight: 200;
    line-height: 1;
    text-decoration: none;
    opacity: .82;
    transform: translateY(-50%);
    transition: opacity .18s ease, color .18s ease, transform .18s ease;
}

.episode-edge-nav--prev { left: 24px; }
.episode-edge-nav--next { right: 24px; }

.episode-edge-nav:hover,
.episode-edge-nav:focus-visible {
    color: var(--accent);
    opacity: 1;
    outline: none;
}

.episode-edge-nav--prev:hover { transform: translate(-3px,-50%); }
.episode-edge-nav--next:hover { transform: translate(3px,-50%); }

.episode-reader--spread .episode-reader-footer {
    margin-top: 76px;
    margin-bottom: 86px;
}

@media (min-width: 1000px) {
    .episode-spread__copy.prose--novel {
        column-count: 2;
        column-gap: clamp(72px, 7vw, 108px);
        column-rule: 1px solid rgba(171,157,142,.20);
        column-fill: balance;
    }

    .episode-spread__number {
        break-inside: avoid;
    }
}

@media (max-width: 1180px) {
    .work-hub__frame {
        grid-template-columns: minmax(270px, 310px) minmax(0,1fr);
    }

    .work-hub__content {
        padding-inline: 22px;
    }

    .episode-edge-nav {
        width: 34px;
        font-size: 48px;
    }

    .episode-edge-nav--prev { left: 4px; }
    .episode-edge-nav--next { right: 4px; }
}

@media (max-width: 999px) {
    .episode-spread {
        width: min(760px, calc(100vw - 64px));
    }

    .episode-spread__copy.prose--novel {
        column-count: 1;
        font-size: 17px;
        line-height: 2.12;
    }

    .episode-edge-nav {
        display: none;
    }

    .episode-spread__ornament::before,
    .episode-spread__ornament::after {
        width: 90px;
    }
}

@media (max-width: 860px) {
    .work-hub {
        padding-top: 14px;
    }

    .work-hub__frame {
        grid-template-columns: 270px minmax(0,1fr);
    }

    .work-profile-card {
        padding-inline: 16px;
    }

    .work-profile-card__ornament {
        margin-inline: -16px;
    }

    .work-profile-card__facts > div {
        grid-template-columns: 78px minmax(0,1fr);
    }

    .work-hub__content {
        padding-inline: 18px;
    }

    .work-episode-row {
        grid-template-columns: 48px minmax(0,1fr) 14px;
        gap: 10px;
    }

    .work-episode-row__comments {
        display: none;
    }

    .episode-reader-toolbar__inner {
        gap: 16px;
    }

    .episode-reader-toolbar__actions {
        gap: 10px;
    }

    .episode-reader-toolbar__work span {
        max-width: 250px;
    }
}

@media (max-width: 760px) {
    .work-hub {
        padding: 0 0 30px;
        background: #fbfaf7;
    }

    .work-hub__frame {
        width: 100%;
        display: block;
        overflow: visible;
        border: 0;
        border-radius: 0;
        box-shadow: none;
    }

    .work-hub__profile {
        border-right: 0;
        border-bottom: 1px solid rgba(20,22,24,.08);
    }

    .work-profile-card {
        position: static;
        padding: 22px 20px 26px;
        display: grid;
        grid-template-columns: minmax(118px, 34vw) minmax(0,1fr);
        gap: 18px;
    }

    .work-profile-card__cover {
        grid-column: 1;
        grid-row: 1;
    }

    .work-profile-card__body {
        grid-column: 2;
        grid-row: 1;
        padding: 0;
    }

    .work-profile-card__body h1 {
        margin-top: 9px;
        font-size: 21px;
    }

    .work-profile-card__synopsis {
        display: -webkit-box;
        overflow: hidden;
        margin-top: 14px;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 5;
        font-size: 12px;
        line-height: 1.72;
    }

    .work-profile-card__actions {
        grid-template-columns: 1fr;
        gap: 7px;
        margin-top: 14px;
    }

    .work-profile-action {
        min-height: 36px;
        font-size: 11px;
    }

    .work-profile-card__facts,
    .work-profile-card__ornament {
        display: none;
    }

    .work-hub__content {
        padding: 24px 20px 34px;
    }

    .work-hub-section + .work-hub-section {
        margin-top: 34px;
    }

    .work-hub-heading h2 {
        font-size: 22px;
    }

    .work-hub-heading__line {
        width: 86px;
    }

    .work-episode-row {
        min-height: 62px;
        grid-template-columns: 46px minmax(0,1fr) 12px;
    }

    .work-gallery-strip {
        gap: 6px;
    }

    .work-lore-compact__item {
        grid-template-columns: 46px minmax(0,1fr) 12px;
    }

    .work-lore-compact__item time {
        display: none;
    }

    .episode-reader-toolbar__inner {
        min-height: 54px;
    }

    .episode-reader-toolbar__identity {
        gap: 9px;
    }

    .episode-reader-toolbar__work span {
        max-width: 34vw;
    }

    .episode-reader-toolbar__actions {
        gap: 8px;
    }

    .episode-reader-toolbar__divider--actions,
    .episode-toolbar-comment > span:not(.episode-toolbar-comment__icon),
    .episode-toolbar-comment b,
    .episode-toolbar-like .manyassi-like-label,
    .episode-toolbar-nav:not(.episode-toolbar-nav--next) > span:last-child,
    .episode-toolbar-nav--next > span:first-child {
        display: none;
    }

    .episode-toolbar-comment,
    .episode-toolbar-nav,
    .episode-toolbar-like .manyassi-like-button {
        min-width: 28px;
        justify-content: center;
    }

    .episode-spread-wrap {
        padding: 66px 0 74px;
    }

    .episode-spread {
        width: min(100% - 38px, 720px);
    }

    .episode-spread__copy.prose--novel {
        font-size: 16px;
        line-height: 2.08;
    }

    .episode-spread__number {
        font-size: 29px;
    }

    .episode-spread__illustration {
        width: 100%;
        margin-bottom: 44px;
    }

    .episode-spread__ornament {
        top: -39px;
        width: 34px;
        height: 34px;
    }

    .episode-spread__ornament::before,
    .episode-spread__ornament::after {
        width: 62px;
    }

    .episode-reader--spread .episode-reader-footer {
        margin-top: 58px;
        margin-bottom: 60px;
    }
}

@media (max-width: 520px) {
    .work-profile-card {
        grid-template-columns: 112px minmax(0,1fr);
        gap: 15px;
        padding-inline: 16px;
    }

    .work-profile-card__synopsis {
        -webkit-line-clamp: 4;
    }

    .work-profile-card__meta {
        font-size: 10px;
    }

    .work-hub__content {
        padding-inline: 16px;
    }

    .work-hub-heading {
        gap: 10px;
    }

    .work-episode-sort select {
        max-width: 94px;
        padding-right: 18px;
        font-size: 10px;
    }

    .work-episode-row__copy strong {
        font-size: 13px;
    }

    .work-episode-row__number {
        font-size: 12px;
    }

    .work-gallery-strip {
        overflow-x: auto;
        grid-template-columns: repeat(3, minmax(138px, 58vw));
        padding-bottom: 4px;
        scrollbar-width: none;
    }

    .work-gallery-strip::-webkit-scrollbar { display: none; }

    .episode-reader-toolbar__inner {
        width: calc(100vw - 24px);
        gap: 8px;
    }

    .episode-reader-toolbar__home {
        width: 20px;
    }

    .episode-reader-toolbar__divider {
        height: 18px;
    }

    .episode-reader-toolbar__work {
        gap: 4px;
        font-size: 10px;
    }

    .episode-reader-toolbar__work span {
        max-width: 27vw;
    }

    .episode-reader-toolbar__actions {
        gap: 5px;
    }

    .episode-toolbar-comment__icon {
        font-size: 14px;
    }

    .episode-toolbar-like .manyassi-like-icon {
        font-size: 17px;
    }

    .episode-toolbar-nav:not(.episode-toolbar-nav--next) > span:first-child,
    .episode-toolbar-nav--next > span:last-child {
        font-size: 22px;
    }

    .episode-spread-wrap {
        padding-top: 58px;
    }

    .episode-spread {
        width: calc(100% - 30px);
    }

    .episode-spread__copy.prose--novel {
        font-size: 15px;
        line-height: 2.05;
    }
}

/* WordPress admin bar offset while previewing the sticky reader toolbar. */
.admin-bar .episode-reader-toolbar { top: 32px; }
@media (max-width: 782px) {
    .admin-bar .episode-reader-toolbar { top: 46px; }
}

/* =========================================================
   v0.3.3 Paged Episode Reader
   - fixed-height page turns while reading
   - no featured thumbnail in the reader
   - share / related episodes / comments appear after the last page
   ========================================================= */
.single-manyassi_episode .site-header,
.single-manyassi_episode .menu-backdrop,
.single-manyassi_episode .site-external-links,
.single-manyassi_episode .site-footer {
    display: none !important;
}

.single-manyassi_episode {
    background: #fffdfa;
}

.episode-reader--paged,
.episode-reader--paged .episode-article {
    min-height: 100svh;
    background: #fffdfa;
}

body.reader-pagination-active {
    overflow: hidden;
}

.episode-reader--paged .episode-reader-toolbar {
    position: sticky;
    top: 0;
    z-index: 120;
    background: rgba(255,255,255,.975);
    box-shadow: none;
}

.episode-reader--paged .episode-reader-toolbar__inner {
    width: min(1120px, calc(100vw - 52px));
}

.episode-reader--paged .episode-toolbar-comment {
    padding: 0;
    border: 0;
    background: transparent;
    font: inherit;
    cursor: pointer;
}

.episode-reader-progress {
    position: absolute;
    right: 0;
    bottom: -1px;
    left: 0;
    height: 2px;
    overflow: hidden;
    background: rgba(20,22,24,.08);
}

.episode-reader-progress > span {
    display: block;
    width: 0;
    height: 100%;
    background: #1b1d21;
    transform-origin: left center;
    transition: width .24s ease;
}

.episode-pager {
    position: relative;
    min-height: calc(100svh - 59px);
    padding: 34px 88px 42px;
    display: grid;
    place-items: center;
    overflow: hidden;
    background:
        radial-gradient(ellipse at 0 48%, rgba(209,201,191,.15), transparent 25%),
        radial-gradient(ellipse at 100% 48%, rgba(209,201,191,.13), transparent 25%),
        #fffdfa;
}

.episode-pager[hidden],
.episode-reader-completion[hidden] {
    display: none !important;
}

.episode-page-stage {
    position: relative;
    width: min(1180px, calc(100vw - 220px));
    height: clamp(500px, calc(100svh - 154px), 760px);
    overflow: hidden;
}

.episode-page-flow.prose--novel {
    width: 100%;
    max-width: none;
    height: 100%;
    margin: 0;
    color: #292726;
    font-family: var(--serif);
    font-size: 17px;
    font-weight: 400;
    line-height: 2.08;
    letter-spacing: -.008em;
    word-break: keep-all;
    overflow: visible;
    overflow-wrap: break-word;
    column-fill: auto;
    column-rule: 0;
    transform: translate3d(0,0,0);
    transition: transform .28s cubic-bezier(.24,.72,.34,1);
    will-change: transform;
}

.episode-page-flow.prose--novel > :first-child {
    margin-top: 0;
}

.episode-page-flow.prose--novel p {
    margin: 0 0 1.42em;
}

.episode-page-flow.prose--novel p:empty {
    min-height: .55em;
    margin-bottom: .55em;
}

.episode-page-flow.prose--novel blockquote,
.episode-page-flow.prose--novel figure,
.episode-page-flow.prose--novel .wp-block-image,
.episode-page-flow.prose--novel img,
.episode-page-flow.prose--novel hr {
    break-inside: avoid;
}

.episode-page-flow.prose--novel img {
    max-width: 100%;
    max-height: 70%;
    object-fit: contain;
}

.episode-page-number {
    margin: 0 0 1.7em !important;
    color: #aca296;
    font-family: var(--serif);
    font-size: 34px;
    font-weight: 400;
    line-height: 1.15;
    letter-spacing: -.02em;
    break-after: avoid;
    break-inside: avoid;
}

.episode-page-gutter {
    position: absolute;
    top: 2%;
    bottom: 2%;
    left: 50%;
    width: 1px;
    pointer-events: none;
    background: linear-gradient(180deg, transparent, rgba(169,156,141,.24) 8%, rgba(169,156,141,.24) 92%, transparent);
    transform: translateX(-50%);
}

.episode-page-gutter::before,
.episode-page-gutter::after {
    content: '◇';
    position: absolute;
    left: 50%;
    color: #cabdad;
    font-family: var(--serif);
    font-size: 9px;
    transform: translateX(-50%);
}

.episode-page-gutter::before { top: 3%; }
.episode-page-gutter::after { bottom: 3%; }

.episode-page-nav {
    position: absolute;
    top: 50%;
    z-index: 8;
    width: 54px;
    height: 86px;
    padding: 0;
    display: grid;
    place-items: center;
    border: 0;
    background: transparent;
    color: #17202d;
    font-family: var(--serif);
    font-size: 58px;
    font-weight: 200;
    line-height: 1;
    opacity: .82;
    cursor: pointer;
    transform: translateY(-50%);
    transition: opacity .18s ease, color .18s ease, transform .18s ease;
}

.episode-page-nav--prev { left: 22px; }
.episode-page-nav--next { right: 22px; }

.episode-page-nav:hover,
.episode-page-nav:focus-visible {
    color: var(--accent);
    opacity: 1;
    outline: none;
}

.episode-page-nav--prev:hover { transform: translate(-3px,-50%); }
.episode-page-nav--next:hover { transform: translate(3px,-50%); }

.episode-page-nav:disabled {
    opacity: .18;
    cursor: default;
    transform: translateY(-50%);
}

.episode-page-status {
    position: absolute;
    bottom: 17px;
    left: 50%;
    display: flex;
    align-items: center;
    gap: 6px;
    color: #a69c91;
    font-family: var(--serif);
    font-size: 10px;
    letter-spacing: .08em;
    transform: translateX(-50%);
}

.episode-reader-completion {
    min-height: calc(100svh - 59px);
    padding: 66px 0 92px;
    background:
        radial-gradient(circle at 50% 0, rgba(157,39,53,.035), transparent 32%),
        #fbfaf7;
}

.episode-reader-completion__inner {
    width: min(900px, calc(100vw - 48px));
}

.episode-complete-heading {
    padding: 12px 0 48px;
    text-align: center;
}

.episode-complete-heading__mark {
    width: 42px;
    height: 42px;
    margin: 0 auto 16px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(157,39,53,.16);
    border-radius: 50%;
    color: #b7a496;
    font-size: 12px;
}

.episode-complete-heading p {
    margin: 0 0 12px;
    color: #a0968c;
    font-size: 9px;
    letter-spacing: .18em;
}

.episode-complete-heading h2 {
    margin: 0;
    color: #aaa095;
    font-family: var(--serif);
    font-size: 18px;
    font-weight: 400;
}

.episode-complete-heading strong {
    display: block;
    margin-top: 8px;
    color: var(--ink);
    font-family: var(--serif);
    font-size: clamp(22px, 3vw, 30px);
    font-weight: 500;
    line-height: 1.45;
}

.episode-complete-back {
    margin-top: 21px;
    padding: 8px 13px;
    border: 1px solid rgba(20,22,24,.13);
    border-radius: 999px;
    background: transparent;
    color: #716a63;
    font-size: 10px;
    cursor: pointer;
}

.episode-complete-back:hover,
.episode-complete-back:focus-visible {
    border-color: rgba(157,39,53,.32);
    color: var(--accent);
    outline: none;
}

.episode-navigation--completion {
    margin-bottom: 54px;
    background: rgba(255,255,255,.55);
}

.episode-completion-grid {
    display: grid;
    grid-template-columns: minmax(0,.74fr) minmax(0,1.26fr);
    gap: 42px;
    padding-top: 4px;
}

.episode-completion-share,
.episode-completion-related {
    min-width: 0;
}

.episode-completion-share .eyebrow,
.episode-completion-related .eyebrow {
    margin: 0 0 5px;
    color: #9b9187;
    font-size: 9px;
    letter-spacing: .17em;
}

.episode-completion-share h3,
.episode-completion-related h3 {
    margin: 0;
    font-family: var(--serif);
    font-size: 22px;
    font-weight: 400;
}

.episode-completion-share .episode-actions {
    margin-top: 22px;
}

.episode-completion-related__heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px;
    padding-bottom: 13px;
    border-bottom: 1px solid rgba(20,22,24,.14);
}

.episode-completion-related__heading > a {
    flex: 0 0 auto;
    margin-bottom: 2px;
    font-size: 10px;
    text-decoration: none;
}

.episode-completion-list__item {
    min-height: 52px;
    display: grid;
    grid-template-columns: 44px minmax(0,1fr) auto 14px;
    align-items: center;
    gap: 10px;
    border-bottom: 1px solid rgba(20,22,24,.09);
    color: inherit;
    text-decoration: none;
}

.episode-completion-list__item > span {
    color: var(--accent);
    font-size: 10px;
    font-weight: 600;
}

.episode-completion-list__item strong {
    overflow: hidden;
    font-family: var(--serif);
    font-size: 13px;
    font-weight: 500;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.episode-completion-list__item time {
    color: #9a9188;
    font-size: 9px;
}

.episode-completion-list__item > b {
    color: #aaa198;
    font-family: var(--serif);
    font-size: 20px;
    font-weight: 300;
}

.episode-completion-list__item:hover,
.episode-completion-list__item:focus-visible {
    color: var(--accent);
    outline: none;
}

.episode-comments--completion {
    margin-top: 66px;
    padding-top: 48px;
}

@media (max-width: 1180px) {
    .episode-pager {
        padding-inline: 62px;
    }

    .episode-page-stage {
        width: min(1040px, calc(100vw - 156px));
    }

    .episode-page-nav--prev { left: 8px; }
    .episode-page-nav--next { right: 8px; }
}

@media (max-width: 899px) {
    .episode-pager {
        min-height: calc(100svh - 55px);
        padding: 26px 42px 38px;
    }

    .episode-page-stage {
        width: min(720px, calc(100vw - 84px));
        height: clamp(480px, calc(100svh - 132px), 820px);
    }

    .episode-page-flow.prose--novel {
        font-size: 16px;
        line-height: 2.08;
        word-break: normal;
    }

    .episode-page-number {
        font-size: 29px;
    }

    .episode-page-gutter {
        display: none;
    }

    .episode-page-nav {
        width: 38px;
        height: 70px;
        font-size: 44px;
    }

    .episode-page-nav--prev { left: 1px; }
    .episode-page-nav--next { right: 1px; }

    .episode-completion-grid {
        grid-template-columns: 1fr;
        gap: 50px;
    }
}

@media (max-width: 640px) {
    .episode-reader--paged .episode-reader-toolbar__inner {
        width: calc(100vw - 24px);
    }

    .episode-pager {
        padding: 22px 28px 34px;
    }

    .episode-page-stage {
        width: calc(100vw - 56px);
        height: calc(100svh - 122px);
        min-height: 430px;
        max-height: none;
    }

    .episode-page-flow.prose--novel {
        font-size: 15.5px;
        line-height: 2.06;
    }

    .episode-page-flow.prose--novel p {
        margin-bottom: 1.38em;
    }

    .episode-page-number {
        margin-bottom: 1.5em !important;
        font-size: 27px;
    }

    .episode-page-nav {
        width: 26px;
        font-size: 36px;
    }

    .episode-page-status {
        bottom: 11px;
        font-size: 9px;
    }

    .episode-reader-completion {
        padding: 46px 0 68px;
    }

    .episode-reader-completion__inner {
        width: calc(100vw - 28px);
    }

    .episode-complete-heading {
        padding-bottom: 36px;
    }

    .episode-navigation--completion {
        margin-bottom: 44px;
    }

    .episode-completion-list__item {
        grid-template-columns: 38px minmax(0,1fr) 12px;
    }

    .episode-completion-list__item time {
        display: none;
    }

    .episode-comments--completion {
        margin-top: 52px;
        padding-top: 38px;
    }
}

/* Keep the reader within the visible area while the WordPress admin bar is open. */
.admin-bar .episode-reader--paged .episode-pager {
    min-height: calc(100svh - 91px);
}

.admin-bar .episode-reader--paged .episode-page-stage {
    height: clamp(470px, calc(100svh - 186px), 728px);
}

@media (max-width: 782px) {
    .admin-bar .episode-reader--paged .episode-pager {
        min-height: calc(100svh - 101px);
    }

    .admin-bar .episode-reader--paged .episode-page-stage {
        height: calc(100svh - 168px);
        min-height: 410px;
        max-height: none;
    }
}

/* =========================================================
   v0.3.4 Reader title + comment ownership / empathy polish
   ========================================================= */
.episode-page-heading {
    margin: 0 0 2.05em;
    break-inside: avoid;
    break-after: avoid;
}

.episode-page-heading .episode-page-number {
    margin: 0 0 .42em !important;
}

.episode-page-title {
    margin: 0;
    color: #4a4642;
    font-family: var(--serif);
    font-size: 23px;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: -.018em;
    word-break: keep-all;
}

.episode-page-flow.prose--novel figure,
.episode-page-flow.prose--novel .wp-block-image {
    max-width: 100%;
    margin: 1.15em auto 1.65em;
    text-align: center;
}

.episode-page-flow.prose--novel figure img,
.episode-page-flow.prose--novel .wp-block-image img,
.episode-page-flow.prose--novel > img {
    display: block;
    width: auto;
    max-width: 100%;
    max-height: min(58svh, 520px);
    height: auto;
    margin-inline: auto;
    object-fit: contain;
}

.comments-area {
    --comment-soft: rgba(20,22,24,.08);
}

.comments-heading {
    margin-bottom: 26px;
}

.comments-heading .comments-title {
    margin: 0;
}

.comments-heading .comments-title span {
    margin-left: 5px;
    color: var(--accent);
    font-size: .72em;
}

.comments-heading > p {
    margin: 8px 0 0;
    color: var(--muted);
    font-size: 12px;
}

.comment-list {
    margin-top: 0;
}

.comment-list .comment {
    padding: 0;
    border-top: 0;
}

.comment-list > .comment:first-child > .manyassi-comment {
    border-top: 1px solid var(--comment-soft);
}

.manyassi-comment {
    padding: 24px 0 22px;
    border-bottom: 1px solid var(--comment-soft);
}

.comment-list .children {
    padding-left: 46px;
}

.manyassi-comment__header {
    display: flex;
    align-items: center;
    gap: 11px;
}

.manyassi-comment__avatar,
.manyassi-comment__avatar img {
    width: 40px;
    height: 40px;
    flex: 0 0 40px;
    border-radius: 50%;
}

.manyassi-comment__avatar img {
    display: block;
}

.manyassi-comment__meta {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.manyassi-comment__author {
    color: var(--ink);
    font-size: 13px;
    font-weight: 600;
}

.manyassi-comment__date {
    color: var(--muted);
    font-size: 10px;
    text-decoration: none;
}

.manyassi-comment__content {
    margin: 15px 0 0;
    color: #383431;
    font-size: 14px;
    line-height: 1.85;
}

.manyassi-comment__content p:last-child {
    margin-bottom: 0;
}

.manyassi-comment__awaiting {
    margin: 12px 0 0;
    color: var(--accent);
    font-size: 11px;
}

.manyassi-comment__footer {
    margin-top: 14px;
}

.manyassi-comment__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 7px;
}

.manyassi-comment-reaction-button,
.manyassi-comment-owner-action,
.manyassi-comment__actions .comment-reply-link {
    min-height: 29px;
    padding: 5px 9px;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    border: 1px solid rgba(20,22,24,.11);
    border-radius: 999px;
    background: transparent;
    color: #756e68;
    font-family: inherit;
    font-size: 10px;
    line-height: 1;
    text-decoration: none;
    cursor: pointer;
}

.manyassi-comment-reaction-button:hover,
.manyassi-comment-reaction-button:focus-visible,
.manyassi-comment-owner-action:hover,
.manyassi-comment-owner-action:focus-visible,
.manyassi-comment__actions .comment-reply-link:hover,
.manyassi-comment__actions .comment-reply-link:focus-visible {
    border-color: rgba(157,39,53,.28);
    color: var(--accent);
    outline: none;
}

.manyassi-comment-reaction-button.is-reacted {
    border-color: rgba(157,39,53,.24);
    background: rgba(157,39,53,.045);
    color: var(--accent);
}

.manyassi-comment-reaction-icon {
    font-size: 13px;
}

.manyassi-comment-owner-action--delete {
    color: #9b8f86;
}

.manyassi-comment-message {
    min-height: 1.2em;
    margin-top: 8px;
    display: block;
    color: #6f7869;
    font-size: 10px;
}

.manyassi-comment-editor {
    margin-top: 14px;
}

.manyassi-comment-editor__textarea {
    width: 100%;
    min-height: 126px;
    padding: 12px 14px;
    border: 1px solid rgba(20,22,24,.16);
    background: rgba(255,255,255,.82);
    color: var(--ink);
    font: inherit;
    line-height: 1.75;
    resize: vertical;
}

.manyassi-comment-editor__actions {
    margin-top: 8px;
    display: flex;
    gap: 7px;
}

.manyassi-comment-editor__actions button {
    padding: 7px 13px;
    border: 1px solid rgba(20,22,24,.15);
    background: #fff;
    color: var(--ink);
    font-size: 11px;
    cursor: pointer;
}

.manyassi-comment-editor__actions .manyassi-comment-editor__save {
    border-color: var(--dark);
    background: var(--dark);
    color: #fff;
}

.comment-form {
    margin-top: 28px;
}

.comment-form .comment-notes {
    margin-bottom: 20px;
    line-height: 1.7;
}

.comment-form-author,
.comment-form-email,
.comment-form-password {
    width: calc(33.333% - 10px);
    display: inline-block;
    vertical-align: top;
}

.comment-form-author,
.comment-form-email {
    margin-right: 11px !important;
}

.comment-form input[type='password'] {
    width: 100%;
    padding: 12px 14px;
    border: 1px solid var(--line);
    background: rgba(255,255,255,.65);
    color: var(--ink);
}

.comment-form .required {
    color: var(--accent);
}

@media (max-width: 899px) {
    .episode-page-title {
        font-size: 21px;
    }
}

@media (max-width: 640px) {
    .episode-page-heading {
        margin-bottom: 1.75em;
    }

    .episode-page-title {
        font-size: 19px;
        line-height: 1.55;
    }

    .episode-page-flow.prose--novel figure img,
    .episode-page-flow.prose--novel .wp-block-image img,
    .episode-page-flow.prose--novel > img {
        max-height: min(51svh, 480px);
    }

    .comment-list .children {
        padding-left: 20px;
    }

    .manyassi-comment {
        padding-block: 21px;
    }

    .comment-form-author,
    .comment-form-email,
    .comment-form-password {
        width: 100%;
        display: block;
        margin-right: 0 !important;
    }
}

/* --------------------------------------------------------------------------
   v0.3.5 — traffic counters + episode views
   -------------------------------------------------------------------------- */

.work-episode-row {
    grid-template-columns: 54px minmax(0,1fr) 180px 14px;
}

.work-episode-row__metrics {
    min-width: 0;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 13px;
    color: #8f8881;
    font-family: var(--serif);
    font-size: 10px;
    white-space: nowrap;
}

.work-episode-metric {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 4px;
}

.work-episode-metric svg {
    width: 13px;
    height: 13px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.45;
    stroke-linecap: round;
    stroke-linejoin: round;
    opacity: .88;
}

.home-traffic {
    position: relative;
    border-top: 1px solid var(--line);
    background: #f8f5ef;
}

.home-traffic__inner {
    min-height: 108px;
    display: grid;
    grid-template-columns: minmax(220px,1fr) auto;
    gap: 54px;
    align-items: center;
    padding-block: 24px;
}

.home-traffic__heading {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.home-traffic__heading > span {
    color: #23262c;
    font-family: var(--serif);
    font-size: 17px;
    letter-spacing: .08em;
}

.home-traffic__heading small {
    color: #8d867e;
    font-size: 11px;
    font-weight: 400;
}

.home-traffic__stats {
    margin: 0;
    display: grid;
    grid-template-columns: repeat(3, minmax(112px,1fr));
}

.home-traffic__stats > div {
    min-width: 128px;
    padding: 2px 28px;
    border-left: 1px solid rgba(20,22,24,.09);
}

.home-traffic__stats dt {
    color: #aaa198;
    font-family: var(--serif);
    font-size: 8px;
    letter-spacing: .14em;
}

.home-traffic__stats dd {
    margin: 3px 0 0;
    color: #20242a;
    font-family: var(--serif);
    font-size: 22px;
    line-height: 1.1;
}

.home-traffic__stats span {
    display: block;
    margin-top: 4px;
    color: #8f8881;
    font-size: 9px;
}

@media (max-width: 1120px) {
    .work-episode-row {
        grid-template-columns: 48px minmax(0,1fr) 150px 14px;
        gap: 10px;
    }

    .work-episode-row__metrics {
        gap: 8px;
    }

    .home-traffic__inner {
        gap: 24px;
    }

    .home-traffic__stats > div {
        min-width: 110px;
        padding-inline: 18px;
    }
}

@media (max-width: 760px) {
    .work-episode-row {
        grid-template-columns: 46px minmax(0,1fr) 12px;
    }

    .work-episode-row__metrics {
        display: none;
    }

    .home-traffic__inner {
        min-height: 0;
        grid-template-columns: 1fr;
        gap: 18px;
        padding-block: 26px 30px;
    }

    .home-traffic__heading {
        text-align: center;
    }

    .home-traffic__stats {
        width: 100%;
    }

    .home-traffic__stats > div {
        min-width: 0;
        padding: 0 10px;
        text-align: center;
    }

    .home-traffic__stats > div:first-child {
        border-left: 0;
    }

    .home-traffic__stats dd {
        font-size: 19px;
    }
}

/* --------------------------------------------------------------------------
   v0.3.6 — work detail + reader final visual polish
   -------------------------------------------------------------------------- */

/* Work status uses the same semantic palette everywhere (archive/detail). */
.work-profile-card__body .work-status-pill[class*="work-status--"] {
    border: 1px solid color-mix(in srgb, var(--work-status-color) 88%, #000 12%);
    background: var(--work-status-color);
    color: #fff;
    box-shadow: 0 3px 10px color-mix(in srgb, var(--work-status-color) 14%, transparent);
    font-weight: 700;
    letter-spacing: .01em;
}

/* Slightly clearer information hierarchy on the work hub. */
.work-profile-card__meta {
    color: #777068;
}

.work-profile-card__synopsis {
    color: #4f4a45;
}

.work-hub-heading h2 {
    color: #171d29;
}

.work-episode-row__metrics {
    font-size: 10.5px;
}

.work-episode-metric svg {
    width: 14px;
    height: 14px;
}

/* Setting Book was visually too small compared with the episode list. */
.work-lore-compact__item {
    min-height: 50px;
    grid-template-columns: 58px minmax(0,1fr) 94px 14px;
    gap: 12px;
    padding: 8px 3px;
}

.work-lore-compact__badge {
    padding: 3px 6px;
    font-size: 9.5px;
    line-height: 1.25;
}

.work-lore-compact__item strong {
    font-size: 13px;
    line-height: 1.45;
}

.work-lore-compact__item time {
    font-size: 10px;
}

.work-lore-compact__item > span:last-child {
    font-size: 21px;
}

/* Reader: preserve current pagination measurements while refining hierarchy. */
.episode-page-heading {
    margin-bottom: 2.15em;
}

.episode-page-heading .episode-page-number {
    color: #a99f94;
}

.episode-page-title {
    color: #302e2c;
    font-size: 24px;
    font-weight: 500;
    letter-spacing: -.022em;
}

.episode-reader-toolbar {
    box-shadow: 0 2px 14px rgba(30,26,21,.035);
}

.episode-reader-toolbar__work {
    color: #34312e;
}

.episode-page-nav {
    opacity: .74;
}

.episode-page-nav:hover,
.episode-page-nav:focus-visible {
    opacity: 1;
}

.episode-complete-heading strong {
    letter-spacing: -.02em;
}

.episode-navigation--completion {
    border-color: rgba(20,22,24,.11);
}

.episode-completion-share h3,
.episode-completion-related h3,
.episode-comments--completion .comment-reply-title,
.episode-comments--completion .comments-title {
    letter-spacing: -.015em;
}

@media (max-width: 899px) {
    .work-lore-compact__item {
        min-height: 48px;
        grid-template-columns: 54px minmax(0,1fr) 12px;
        gap: 10px;
    }

    .work-lore-compact__item strong {
        font-size: 12.5px;
    }

    .episode-page-title {
        font-size: 21px;
    }
}

@media (max-width: 640px) {
    .work-profile-card__body .work-status-pill[class*="work-status--"] {
        min-height: 24px;
        padding-inline: 10px;
        font-size: 10px;
    }

    .work-lore-compact__badge {
        font-size: 9px;
    }

    .work-lore-compact__item strong {
        font-size: 12px;
    }

    .episode-page-heading {
        margin-bottom: 1.82em;
    }

    .episode-page-title {
        font-size: 19px;
    }
}

/* =========================================================
   v0.3.7 GALLERY — archive + single polish
   ========================================================= */
.gallery-archive {
    padding-top: 72px;
    padding-bottom: 96px;
}
.gallery-archive__heading {
    margin-bottom: 42px;
}
.gallery-archive__heading h1 {
    font-size: clamp(50px, 5.4vw, 70px);
    letter-spacing: .015em;
}
.gallery-archive__heading p:not(.eyebrow) {
    margin-top: 14px;
    font-size: 14px;
}
.gallery-archive .gallery-filter-panel {
    margin: 0 0 26px;
    padding: 16px 0;
}
.gallery-archive .gallery-filter-row {
    grid-template-columns: 66px 1fr;
    gap: 16px;
    align-items: center;
}
.gallery-archive .gallery-filter-row + .gallery-filter-row {
    margin-top: 12px;
    padding-top: 12px;
}
.gallery-archive .gallery-filter-row__label {
    padding-top: 0;
    font-family: var(--sans);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: .14em;
}
.gallery-archive .filter-nav--row {
    gap: 7px;
}
.gallery-archive .filter-nav--row a {
    min-height: 32px;
    display: inline-flex;
    align-items: center;
    padding: 6px 13px;
    background: rgba(255,255,255,.42);
    font-family: var(--sans);
    font-size: 11px;
    line-height: 1.2;
    transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}
.gallery-archive .filter-nav--row a:hover {
    border-color: rgba(20,22,24,.32);
    background: rgba(255,255,255,.78);
}
.gallery-archive .filter-nav--row a.is-active {
    background: var(--dark);
    color: #fff;
    border-color: var(--dark);
}
.gallery-archive__bar {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 12px;
    color: rgba(21,22,23,.48);
    font-family: var(--serif);
    font-size: 9px;
    letter-spacing: .14em;
}
.gallery-archive .gallery-grid {
    grid-template-columns: repeat(4, minmax(0,1fr));
    gap: 24px 14px;
}
.gallery-card__link {
    display: block;
    overflow: visible;
    aspect-ratio: auto;
    background: transparent;
    text-decoration: none;
}
.gallery-card__image {
    position: relative;
    display: block;
    overflow: hidden;
    width: 100%;
    aspect-ratio: 3 / 4;
    background: #ebe5dc;
}
.gallery-card__image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition: transform .36s ease, filter .36s ease;
}
.gallery-card__hover {
    position: absolute;
    right: 12px;
    bottom: 12px;
    display: inline-flex;
    align-items: center;
    min-height: 27px;
    padding: 0 9px;
    border: 1px solid rgba(255,255,255,.68);
    background: rgba(9,15,25,.56);
    color: #fff;
    font-family: var(--serif);
    font-size: 9px;
    letter-spacing: .16em;
    opacity: 0;
    transform: translateY(4px);
    transition: opacity .24s ease, transform .24s ease;
    backdrop-filter: blur(5px);
}
.gallery-card__caption {
    display: block;
    padding-top: 10px;
}
.gallery-card__caption strong {
    display: block;
    overflow: hidden;
    color: var(--ink);
    font-family: var(--serif);
    font-size: 14px;
    font-weight: 400;
    line-height: 1.45;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.gallery-card__caption > span {
    display: block;
    overflow: hidden;
    margin-top: 3px;
    color: var(--muted);
    font-size: 10px;
    line-height: 1.45;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.gallery-card__overlay { display: none; }
.gallery-card__link:hover .gallery-card__image img,
.gallery-card__link:focus-visible .gallery-card__image img {
    transform: scale(1.022);
    filter: brightness(.96);
}
.gallery-card__link:hover .gallery-card__hover,
.gallery-card__link:focus-visible .gallery-card__hover {
    opacity: 1;
    transform: none;
}
.gallery-card__link:hover .gallery-card__caption strong {
    text-decoration: underline;
    text-underline-offset: 4px;
}
.gallery-card__link:focus-visible {
    outline: 1px solid var(--ink);
    outline-offset: 5px;
}

.gallery-single {
    padding-top: 76px;
    padding-bottom: 96px;
}
.gallery-single .site-shell--gallery {
    width: min(1060px, calc(100vw - 40px));
}
.gallery-single__header {
    max-width: 760px;
    margin: 0 auto 42px;
}
.gallery-single__eyebrow a {
    text-decoration: none;
}
.gallery-single__eyebrow a:hover {
    text-decoration: underline;
    text-underline-offset: 4px;
}
.gallery-single__header h1 {
    margin: 10px 0 13px;
    font-size: clamp(42px, 4.3vw, 56px);
    line-height: 1.15;
    word-break: keep-all;
}
.gallery-single__meta {
    gap: 10px;
    font-size: 12px;
}
.gallery-single__meta > span[aria-hidden='true'] {
    color: rgba(20,22,24,.28);
}
.prose--gallery {
    max-width: 820px;
}
.prose--gallery img {
    max-height: 88vh;
    margin-bottom: 28px;
    border: 1px solid rgba(20,22,24,.08);
    background: #fff;
    box-shadow: 0 20px 55px rgba(47,39,31,.055);
}
.prose--gallery p:not(:has(img)) {
    max-width: 720px;
    margin-left: auto;
    margin-right: auto;
    color: #4d4943;
    font-size: 14px;
    line-height: 1.9;
}
.gallery-actions {
    max-width: 820px;
    margin: 28px auto 0;
    padding: 20px 0;
    display: grid;
    grid-template-columns: 150px 1fr;
    gap: 34px;
    align-items: start;
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
}
.gallery-actions__label {
    display: block;
    margin-bottom: 8px;
    color: rgba(21,22,23,.48);
    font-family: var(--serif);
    font-size: 9px;
    letter-spacing: .16em;
}
.gallery-actions .manyassi-like-wrap,
.gallery-actions .manyassi-share-wrap {
    margin: 0;
}
.gallery-actions .manyassi-like-button {
    min-height: 38px;
    padding: 8px 13px;
    border-radius: 0 !important;
    font-size: 12px;
}
.gallery-actions .manyassi-share-heading {
    display: none;
}
.gallery-actions .manyassi-share-actions {
    gap: 6px;
}
.gallery-actions .manyassi-share-button {
    min-height: 38px;
    padding: 8px 11px;
    font-size: 11px;
}
.gallery-actions .manyassi-share-message {
    min-height: 0;
    margin-top: 5px;
}
.related-gallery {
    margin-top: 62px;
}
.related-gallery__heading {
    margin-bottom: 16px;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--line);
}
.related-gallery__heading .text-link {
    padding-top: 0;
    font-size: 11px;
}
.gallery-single .manyassi-gallery-image-list {
    margin: 0;
    padding: 0;
    border-top: 0;
}
.gallery-single .manyassi-gallery-image-grid {
    grid-template-columns: repeat(4, minmax(0,1fr));
    gap: 10px;
}
.gallery-single .manyassi-gallery-image-item {
    aspect-ratio: 3 / 4;
    background: #ebe5dc;
}
.gallery-single .manyassi-gallery-image-item img {
    object-position: center;
}

@media (max-width: 1100px) {
    .gallery-archive .gallery-grid {
        grid-template-columns: repeat(3, minmax(0,1fr));
    }
}

@media (max-width: 760px) {
    .gallery-archive {
        padding-top: 56px;
        padding-bottom: 72px;
    }
    .gallery-archive__heading {
        margin-bottom: 32px;
    }
    .gallery-archive__heading h1 {
        font-size: 48px;
    }
    .gallery-archive .gallery-filter-panel {
        margin-bottom: 22px;
    }
    .gallery-archive .gallery-filter-row {
        display: block;
    }
    .gallery-archive .gallery-filter-row__label {
        margin-bottom: 8px;
    }
    .gallery-archive .filter-nav--row {
        margin-right: -14px;
        padding-right: 14px;
    }
    .gallery-archive .gallery-grid {
        grid-template-columns: repeat(2, minmax(0,1fr));
        gap: 20px 8px;
    }
    .gallery-card__caption {
        padding-top: 8px;
    }
    .gallery-card__caption strong {
        font-size: 13px;
    }
    .gallery-card__caption > span {
        font-size: 9px;
    }
    .gallery-card__hover {
        display: none;
    }

    .gallery-single {
        padding-top: 58px;
        padding-bottom: 72px;
    }
    .gallery-single .site-shell--gallery {
        width: calc(100vw - 28px);
    }
    .gallery-single__header {
        margin-bottom: 32px;
    }
    .gallery-single__header h1 {
        font-size: 40px;
    }
    .prose--gallery img {
        width: 100%;
        max-height: none;
        margin-bottom: 22px;
        box-shadow: none;
    }
    .gallery-actions {
        grid-template-columns: 1fr;
        gap: 20px;
        padding: 18px 0;
    }
    .gallery-actions__share {
        padding-top: 18px;
        border-top: 1px solid rgba(20,22,24,.08);
    }
    .related-gallery {
        margin-top: 48px;
    }
    .related-gallery__heading .section-heading__desc {
        display: none;
    }
    .gallery-single .manyassi-gallery-image-grid {
        grid-template-columns: repeat(2, minmax(0,1fr));
        gap: 8px;
    }
}


/* =========================================================
   v0.3.8 GALLERY — 12-item pagination + adjacent navigation
   ========================================================= */
.gallery-archive .pagination {
    margin-top: 52px;
}
.gallery-archive .pagination .page-numbers {
    gap: 6px;
}
.gallery-archive .pagination a,
.gallery-archive .pagination span {
    min-width: 36px;
    height: 36px;
    border-color: rgba(20,22,24,.15);
    background: rgba(255,255,255,.35);
    font-family: var(--serif);
    font-size: 11px;
}
.gallery-archive .pagination a:hover {
    border-color: rgba(20,22,24,.38);
    background: rgba(255,255,255,.78);
}
.gallery-archive .pagination .current {
    background: var(--dark);
    color: #fff;
    border-color: var(--dark);
}

.gallery-actions {
    grid-template-columns: minmax(150px, 1fr) minmax(0, 1.7fr);
}
.gallery-actions__share {
    justify-self: end;
    min-width: 0;
    text-align: right;
}
.gallery-actions__share .gallery-actions__label {
    text-align: right;
}
.gallery-actions__share .manyassi-share-actions {
    justify-content: flex-end;
}
.gallery-actions__share .manyassi-share-message {
    text-align: right;
}

.gallery-adjacent-nav {
    max-width: 820px;
    margin: 42px auto 0;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    border: 1px solid var(--line);
    background: rgba(255,255,255,.28);
}
.gallery-adjacent-nav__item {
    position: relative;
    min-height: 128px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 10px;
    padding: 24px 28px;
    color: var(--ink);
    text-decoration: none;
    transition: background-color .2s ease, color .2s ease;
}
.gallery-adjacent-nav__item + .gallery-adjacent-nav__item {
    border-left: 1px solid var(--line);
}
.gallery-adjacent-nav__direction {
    color: var(--muted);
    font-family: var(--sans);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: .08em;
}
.gallery-adjacent-nav__item strong {
    display: block;
    overflow: hidden;
    font-family: var(--serif);
    font-size: 20px;
    font-weight: 400;
    line-height: 1.45;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.gallery-adjacent-nav__item--next {
    align-items: flex-end;
    text-align: right;
}
.gallery-adjacent-nav__item:not(.is-disabled):hover,
.gallery-adjacent-nav__item:not(.is-disabled):focus-visible {
    background: var(--dark);
    color: #fff;
}
.gallery-adjacent-nav__item:not(.is-disabled):hover .gallery-adjacent-nav__direction,
.gallery-adjacent-nav__item:not(.is-disabled):focus-visible .gallery-adjacent-nav__direction {
    color: rgba(255,255,255,.7);
}
.gallery-adjacent-nav__item:focus-visible {
    outline: 2px solid var(--ink);
    outline-offset: 3px;
}
.gallery-adjacent-nav__item.is-disabled {
    color: rgba(20,22,24,.28);
    background: rgba(20,22,24,.018);
}
.gallery-adjacent-nav__item.is-disabled .gallery-adjacent-nav__direction {
    color: rgba(20,22,24,.22);
}

@media (max-width: 760px) {
    .gallery-archive .pagination {
        margin-top: 38px;
    }
    .gallery-actions__share {
        justify-self: stretch;
        text-align: right;
    }
    .gallery-actions__share .manyassi-share-actions {
        justify-content: flex-end;
    }
    .gallery-adjacent-nav {
        margin-top: 34px;
        grid-template-columns: 1fr;
    }
    .gallery-adjacent-nav__item {
        min-height: 98px;
        padding: 20px;
    }
    .gallery-adjacent-nav__item + .gallery-adjacent-nav__item {
        border-left: 0;
        border-top: 1px solid var(--line);
    }
    .gallery-adjacent-nav__item strong {
        font-size: 17px;
    }
}

/* =========================================================
   v0.3.9 GALLERY — artwork-first single viewer
   ========================================================= */
.gallery-single {
    padding-top: 68px;
    padding-bottom: 92px;
    overflow-x: clip;
}
.gallery-single .site-shell--gallery {
    width: min(1180px, calc(100vw - 40px));
}
.gallery-single__header {
    max-width: 860px;
    margin: 0 auto 36px;
}
.gallery-single__header h1 {
    margin: 9px 0 12px;
    font-size: clamp(40px, 4.1vw, 54px);
    line-height: 1.12;
}
.gallery-single__meta {
    font-size: 11px;
    letter-spacing: .015em;
}

.gallery-stage {
    position: relative;
    width: min(760px, 100%);
    margin: 0 auto;
}
.gallery-stage .prose--gallery {
    width: 100%;
    max-width: none;
    margin: 0;
}
.gallery-stage .prose--gallery > *:first-child {
    margin-top: 0;
}
.gallery-stage .prose--gallery img {
    display: block;
    width: auto;
    max-width: 100%;
    max-height: 78vh;
    margin: 0 auto 18px;
    border: 0;
    background: transparent;
    box-shadow: 0 18px 48px rgba(42, 35, 28, .045);
    object-fit: contain;
}
.gallery-stage .prose--gallery p:has(img) {
    margin: 0;
    text-align: center;
}
.gallery-stage .prose--gallery p:not(:has(img)) {
    max-width: 680px;
    margin: 18px auto 0;
    font-size: 13px;
    line-height: 1.9;
}

.gallery-edge-nav {
    position: absolute;
    top: 50%;
    z-index: 8;
    width: 58px;
    height: 58px;
    display: grid;
    place-items: center;
    border: 2px solid rgba(12, 24, 39, .68);
    border-radius: 50%;
    background: rgba(250, 247, 241, .82);
    color: rgba(12, 24, 39, .76);
    text-decoration: none;
    transform: translateY(-50%);
    transition: color .2s ease, border-color .2s ease, background-color .2s ease, transform .2s ease;
    backdrop-filter: blur(6px);
}
.gallery-edge-nav--previous {
    left: calc(50% - 50vw + 24px);
}
.gallery-edge-nav--next {
    right: calc(50% - 50vw + 24px);
}
.gallery-edge-nav span {
    display: block;
    margin-top: -3px;
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 44px;
    font-weight: 300;
    line-height: 1;
}
.gallery-edge-nav:hover,
.gallery-edge-nav:focus-visible {
    border-color: var(--dark);
    background: var(--dark);
    color: #fff;
}
.gallery-edge-nav--previous:hover,
.gallery-edge-nav--previous:focus-visible {
    transform: translateY(-50%) translateX(-3px);
}
.gallery-edge-nav--next:hover,
.gallery-edge-nav--next:focus-visible {
    transform: translateY(-50%) translateX(3px);
}
.gallery-edge-nav:focus-visible {
    outline: 2px solid var(--ink);
    outline-offset: 4px;
}

.gallery-actions {
    width: min(760px, 100%);
    max-width: none;
    margin: 14px auto 0;
    padding: 17px 0;
    grid-template-columns: minmax(120px, 1fr) minmax(0, 2fr);
    gap: 28px;
}
.gallery-actions__label {
    margin-bottom: 7px;
    font-size: 8px;
    letter-spacing: .18em;
}
.gallery-actions__share {
    justify-self: end;
    text-align: right;
}
.gallery-actions__share .manyassi-share-actions {
    justify-content: flex-end;
}
.gallery-actions .manyassi-like-button,
.gallery-actions .manyassi-share-button {
    min-height: 34px;
    padding-top: 7px;
    padding-bottom: 7px;
}

/* The old boxed previous/next navigation is intentionally removed in v0.3.9. */
.gallery-adjacent-nav {
    display: none !important;
}

.related-gallery {
    width: min(920px, 100%);
    margin: 52px auto 0;
}
.related-gallery__heading {
    margin-bottom: 15px;
    padding-bottom: 10px;
}
.related-gallery__heading .section-heading__title {
    font-size: 24px;
}
.gallery-single .manyassi-gallery-image-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}
.gallery-single .manyassi-gallery-image-item {
    aspect-ratio: 3 / 4;
}
.gallery-single .manyassi-gallery-image-item img {
    transition: transform .28s ease, filter .28s ease;
}
.gallery-single .manyassi-gallery-image-item:hover img {
    transform: scale(1.018);
    filter: brightness(.97);
}

@media (max-width: 1080px) {
    .gallery-edge-nav--previous {
        left: calc(50% - 50vw + 14px);
    }
    .gallery-edge-nav--next {
        right: calc(50% - 50vw + 14px);
    }
    .gallery-edge-nav {
        width: 50px;
        height: 50px;
        background: rgba(250, 247, 241, .9);
    }
    .gallery-edge-nav span {
        font-size: 38px;
    }
}

@media (max-width: 760px) {
    .gallery-single {
        padding-top: 46px;
        padding-bottom: 66px;
    }
    .gallery-single .site-shell--gallery {
        width: calc(100vw - 24px);
    }
    .gallery-single__header {
        margin-bottom: 26px;
    }
    .gallery-single__header h1 {
        font-size: 37px;
    }
    .gallery-stage {
        width: 100%;
    }
    .gallery-stage .prose--gallery img {
        width: 100%;
        max-height: none;
        margin-bottom: 14px;
        box-shadow: none;
    }
    .gallery-edge-nav {
        position: absolute;
        top: 50%;
        width: 42px;
        height: 42px;
        border-width: 1px;
        background: rgba(250, 247, 241, .86);
    }
    .gallery-edge-nav--previous {
        left: -5px;
    }
    .gallery-edge-nav--next {
        right: -5px;
    }
    .gallery-edge-nav span {
        font-size: 32px;
    }
    .gallery-actions {
        width: 100%;
        grid-template-columns: 1fr;
        gap: 15px;
        padding: 15px 0;
    }
    .gallery-actions__share {
        justify-self: stretch;
        padding-top: 14px;
        text-align: right;
    }
    .related-gallery {
        width: 100%;
        margin-top: 42px;
    }
    .related-gallery__heading .section-heading__title {
        font-size: 21px;
    }
    .gallery-single .manyassi-gallery-image-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 7px;
    }
}

@media (max-width: 430px) {
    .gallery-single .manyassi-gallery-image-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* =========================================================
   v0.4.0 NEWS / SETTING BOOK — editorial detail refinement
   ========================================================= */
.category-board .content-shell { max-width: 980px; }
.category-board__heading { max-width: 760px; margin-bottom: 58px; }
.category-board__heading h1 { letter-spacing: -.025em; }
.category-board__heading > p:not(.eyebrow) { max-width: 560px; margin-inline: auto; line-height: 1.8; }
.news-row { grid-template-columns: 112px minmax(0,1fr) 28px; padding: 31px 0; }
.news-row__category { display: flex; flex-wrap: wrap; gap: 5px; align-items: center; letter-spacing: .04em; }
.news-row__work { color: var(--muted); letter-spacing: 0; }
.news-row h2 { font-size: 25px; line-height: 1.4; }
.news-row p { max-width: 720px; line-height: 1.75; }
.news-row__arrow { padding-top: 22px; font-family: var(--serif); font-size: 18px; transition: transform .2s ease; }
.news-row:hover .news-row__arrow { transform: translateX(3px); }

.standard-single { padding-top: 88px; }
.standard-single__article { max-width: 1040px; }
.standard-single__header {
    max-width: 900px;
    margin: 0 auto 50px;
    text-align: center;
}
.standard-single__eyebrow { margin-bottom: 16px; }
.standard-single__eyebrow a { text-decoration: none; }
.standard-single__eyebrow a:hover { opacity: .72; }
.standard-single__header h1 {
    max-width: 880px;
    margin: 0 auto 18px;
    font-size: clamp(40px, 4.6vw, 62px);
    line-height: 1.24;
    letter-spacing: -.035em;
    word-break: keep-all;
}
.standard-single__meta {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 9px;
    color: var(--muted);
    font-family: var(--serif);
    font-size: 13px;
}
.standard-single__meta a { text-decoration: none; border-bottom: 1px solid rgba(20,22,24,.28); }
.standard-single__work { color: #5f5a54; }
.standard-single__image {
    width: min(980px, 100%);
    margin: 0 auto 54px;
    text-align: center;
}
.standard-single__image img {
    display: block;
    width: auto;
    max-width: 100%;
    max-height: 76vh;
    margin: 0 auto;
    object-fit: contain;
}
.standard-single__content {
    width: min(760px, 100%);
    margin-inline: auto;
    font-size: 16.5px;
    line-height: 1.92;
    letter-spacing: -.006em;
}
.standard-single--setting .standard-single__content { width: min(820px, 100%); }
.standard-single__content p { margin-bottom: 1.55em; }
.standard-single__content h2 { font-size: 30px; }
.standard-single__content h3 { font-size: 24px; }
.standard-single__content h4 { font-size: 20px; }
.standard-single__content figure,
.standard-single__content .wp-block-image { margin-top: 2.8em; margin-bottom: 2.8em; }
.standard-single__content img { max-height: none; }
.standard-single__content figcaption {
    margin-top: 10px;
    color: var(--muted);
    font-family: var(--serif);
    font-size: 12px;
    line-height: 1.6;
    text-align: center;
}
.standard-single__content .alignwide {
    width: min(980px, calc(100vw - 40px));
    max-width: none;
    margin-left: 50%;
    transform: translateX(-50%);
}
.standard-single--setting .standard-single__image {
    margin-bottom: 46px;
}
.standard-single--setting .standard-single__header h1 { max-width: 820px; }
.standard-single--setting .standard-single__content blockquote {
    border-left-color: rgba(157,39,53,.48);
    color: #514c46;
}
.standard-single--setting .standard-single__content h2,
.standard-single--setting .standard-single__content h3 { letter-spacing: -.025em; }

.standard-post-navigation {
    width: min(980px, 100%);
    margin: 72px auto 0;
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
    display: grid;
    grid-template-columns: minmax(0,1fr) 132px minmax(0,1fr);
    align-items: stretch;
}
.standard-post-navigation__slot { min-height: 112px; display: flex; align-items: center; }
.standard-post-navigation__slot > a {
    width: 100%;
    padding: 24px 26px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    text-decoration: none;
}
.standard-post-navigation__slot--next { text-align: right; }
.standard-post-navigation__label {
    color: var(--muted);
    font-family: var(--serif);
    font-size: 11px;
    letter-spacing: .08em;
}
.standard-post-navigation__slot strong {
    display: block;
    overflow: hidden;
    font-family: var(--serif);
    font-size: 15px;
    font-weight: 400;
    line-height: 1.5;
    white-space: nowrap;
    text-overflow: ellipsis;
}
.standard-post-navigation__empty { padding: 24px 26px; color: #aaa39a; font-size: 12px; }
.standard-post-navigation__center {
    border-left: 1px solid var(--line);
    border-right: 1px solid var(--line);
}
.standard-post-navigation__center a {
    height: 100%;
    min-height: 112px;
    padding: 18px 12px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 7px;
    text-decoration: none;
    font-family: var(--serif);
    font-size: 11px;
}
.standard-post-navigation__center a span:first-child { font-family: var(--sans); font-size: 15px; }
.standard-post-navigation a:hover strong { text-decoration: underline; text-underline-offset: 4px; }
.standard-single__comments { width: min(760px, 100%); margin: 58px auto 0; }
.standard-single--setting .standard-single__comments { width: min(820px, 100%); }

@media (max-width: 860px) {
    .standard-single { padding-top: 70px; }
    .standard-single__header { margin-bottom: 40px; }
    .standard-single__header h1 { font-size: clamp(36px, 7vw, 52px); }
    .standard-single__image { margin-bottom: 42px; }
    .standard-single__content,
    .standard-single--setting .standard-single__content { width: min(720px, 100%); }
}

@media (max-width: 640px) {
    .category-board__heading { margin-bottom: 36px; }
    .news-row { grid-template-columns: 76px minmax(0,1fr) 18px; gap: 12px; padding: 24px 0; }
    .news-row h2 { font-size: 19px; }
    .news-row__category { font-size: 10px; }
    .news-row__work { display: none; }
    .news-row__arrow { padding-top: 18px; font-size: 16px; }

    .standard-single { padding-top: 56px; }
    .standard-single__article { width: calc(100vw - 28px); }
    .standard-single__header { margin-bottom: 34px; }
    .standard-single__eyebrow { margin-bottom: 12px; }
    .standard-single__header h1 {
        margin-bottom: 14px;
        font-size: 34px;
        line-height: 1.28;
    }
    .standard-single__meta { gap: 7px; font-size: 11px; }
    .standard-single__image { width: 100%; margin-bottom: 34px; }
    .standard-single__image img { max-height: none; }
    .standard-single__content,
    .standard-single--setting .standard-single__content {
        width: 100%;
        font-size: 16px;
        line-height: 1.88;
    }
    .standard-single__content .alignwide {
        width: 100%;
        margin-left: 0;
        transform: none;
    }
    .standard-single__content h2 { font-size: 26px; }
    .standard-single__content h3 { font-size: 22px; }
    .standard-post-navigation {
        margin-top: 54px;
        grid-template-columns: 1fr 1fr;
    }
    .standard-post-navigation__center {
        grid-column: 1 / -1;
        grid-row: 1;
        min-height: 62px;
        border-left: 0;
        border-right: 0;
        border-bottom: 1px solid var(--line);
    }
    .standard-post-navigation__center a {
        min-height: 62px;
        flex-direction: row;
    }
    .standard-post-navigation__slot { min-height: 92px; }
    .standard-post-navigation__slot > a { padding: 19px 16px; }
    .standard-post-navigation__slot--previous { border-right: 1px solid var(--line); }
    .standard-post-navigation__slot strong { font-size: 13px; }
    .standard-post-navigation__empty { padding: 19px 16px; font-size: 11px; }
    .standard-single__comments,
    .standard-single--setting .standard-single__comments { width: 100%; margin-top: 44px; }
}

/* =========================================================
   v0.4.1 SETTING BOOK taxonomy — user-managed child categories
   ========================================================= */
.setting-type-filter {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 9px;
    margin: -22px auto 42px;
    padding-bottom: 28px;
    border-bottom: 1px solid rgba(20,22,24,.10);
}
.setting-type-filter__item {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    padding: 7px 14px;
    border: 1px solid rgba(20,22,24,.14);
    border-radius: 999px;
    color: #5b5853;
    background: rgba(255,255,255,.24);
    font-size: 12px;
    line-height: 1;
    text-decoration: none;
    transition: color .18s ease, border-color .18s ease, background .18s ease;
}
.setting-type-filter__item:hover,
.setting-type-filter__item:focus-visible {
    color: #0b1424;
    border-color: rgba(11,20,36,.34);
}
.setting-type-filter__item.is-active {
    color: #fff;
    border-color: #0b1424;
    background: #0b1424;
}
.setting-type-badge {
    display: inline-flex;
    align-items: center;
    min-height: 22px;
    padding: 3px 7px;
    border: 1px solid rgba(157,39,53,.22);
    color: #a64c57;
    background: rgba(157,39,53,.035);
    font-size: 10px;
    line-height: 1;
    letter-spacing: .02em;
    text-decoration: none;
}
.setting-type-badge:hover,
.setting-type-badge:focus-visible {
    border-color: rgba(157,39,53,.42);
    background: rgba(157,39,53,.07);
}
.setting-type-badge--muted { color: var(--muted); border-color: rgba(20,22,24,.12); background: transparent; }
.standard-single__type { color: #9d2735; }
.standard-single__meta .standard-single__type { border-bottom-color: rgba(157,39,53,.24); }

@media (max-width: 700px) {
    .setting-type-filter {
        justify-content: flex-start;
        flex-wrap: nowrap;
        overflow-x: auto;
        margin-top: -10px;
        margin-bottom: 30px;
        padding: 0 2px 20px;
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
    }
    .setting-type-filter::-webkit-scrollbar { display: none; }
    .setting-type-filter__item { flex: 0 0 auto; min-height: 32px; padding: 7px 12px; font-size: 11px; }
    .setting-type-badge { min-height: 20px; padding: 3px 6px; font-size: 9px; }
}

/* =========================================================
   v0.4.2 NEWS / SETTING BOOK archive — compact paging polish
   ========================================================= */
.category-board .news-row {
    grid-template-columns: 112px minmax(0, 1fr) 42px;
    gap: 24px;
    padding: 28px 0;
}
.category-board .news-row p {
    display: -webkit-box;
    max-width: 720px;
    margin-top: 8px;
    overflow: hidden;
    color: var(--muted);
    line-height: 1.72;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}
.category-board .news-row__arrow {
    width: 38px;
    height: 38px;
    padding: 0;
    align-self: center;
    justify-self: end;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(11,20,36,.24);
    border-radius: 999px;
    background: rgba(255,255,255,.22);
    color: #0b1424;
    font-family: var(--sans);
    font-size: 16px;
    line-height: 1;
    text-align: center;
    transition: background .18s ease, border-color .18s ease, color .18s ease, transform .18s ease;
}
.category-board .news-row__arrow span {
    display: block;
    transform: translateX(0);
    transition: transform .18s ease;
}
.category-board .news-row:hover .news-row__arrow,
.category-board .news-row__arrow:hover,
.category-board .news-row__arrow:focus-visible {
    transform: none;
    border-color: #0b1424;
    background: #0b1424;
    color: #fff;
}
.category-board .news-row:hover .news-row__arrow span,
.category-board .news-row__arrow:hover span,
.category-board .news-row__arrow:focus-visible span {
    transform: translateX(2px);
}
.category-board .news-row h2 a:hover,
.category-board .news-row h2 a:focus-visible {
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 5px;
}
.category-board .pagination {
    margin-top: 38px;
}
.category-board .pagination .page-numbers {
    gap: 9px;
}
.category-board .pagination a,
.category-board .pagination span {
    width: 38px;
    min-width: 38px;
    height: 38px;
    border-color: rgba(11,20,36,.16);
    border-radius: 999px;
    background: transparent;
    font-family: var(--serif);
    font-size: 12px;
    transition: background .18s ease, border-color .18s ease, color .18s ease;
}
.category-board .pagination a:hover,
.category-board .pagination a:focus-visible {
    border-color: #0b1424;
    background: rgba(11,20,36,.05);
}
.category-board .pagination .current {
    border-color: #0b1424;
    background: #0b1424;
    color: #fff;
}
.category-board .pagination .dots {
    border-color: transparent;
    background: transparent;
}

@media (max-width: 640px) {
    .category-board .news-row {
        grid-template-columns: 72px minmax(0, 1fr) 34px;
        gap: 11px;
        padding: 22px 0;
    }
    .category-board .news-row__arrow {
        width: 32px;
        height: 32px;
        padding: 0;
        font-size: 14px;
    }
    .category-board .pagination {
        margin-top: 30px;
    }
    .category-board .pagination .page-numbers {
        gap: 6px;
    }
    .category-board .pagination a,
    .category-board .pagination span {
        width: 34px;
        min-width: 34px;
        height: 34px;
        font-size: 11px;
    }
}


/* =========================================================
   EPISODES ARCHIVE — v0.4.3 compact library grid
   ========================================================= */
.episode-archive .site-shell {
    max-width: 1180px;
}

.episode-archive-filter {
    display: flex;
    align-items: center;
    gap: 22px;
    margin: -6px 0 34px;
    padding: 15px 0;
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
}

.episode-archive-filter__label {
    flex: 0 0 auto;
    color: var(--muted);
    font-family: var(--serif);
    font-size: 11px;
    letter-spacing: .08em;
}

.episode-archive-filter__buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.episode-filter-chip {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    padding: 0 15px;
    border: 1px solid var(--line);
    border-radius: 999px;
    background: transparent;
    color: #4a4844;
    font-size: 11px;
    line-height: 1;
    text-decoration: none;
    transition: background-color .2s ease, border-color .2s ease, color .2s ease;
}

.episode-filter-chip:hover,
.episode-filter-chip:focus-visible,
.episode-filter-chip.is-active {
    border-color: var(--dark);
    background: var(--dark);
    color: #fff;
}

.episode-archive-grid.latest-grid--archive {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}

.episode-archive .episode-card {
    display: flex;
    min-width: 0;
    min-height: 0;
    flex-direction: column;
    border: 1px solid var(--line);
    background: rgba(255,255,255,.32);
    transition: transform .2s ease, border-color .2s ease, background-color .2s ease, box-shadow .2s ease;
}

.episode-archive .episode-card:hover,
.episode-archive .episode-card:focus-within {
    transform: translateY(-2px);
    border-color: #b7afa5;
    background: #f2ede6;
    box-shadow: 0 12px 30px rgba(25,22,18,.06);
}

.episode-archive .episode-card__image {
    min-height: 0;
    aspect-ratio: 16 / 9;
    background: #f2ede6;
}

.episode-archive .episode-card__image img,
.episode-archive .episode-card__image .image-placeholder {
    width: 100%;
    height: 100%;
    min-height: 0;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    transition: transform .28s ease, opacity .2s ease;
}

.episode-archive .episode-card:hover .episode-card__image img,
.episode-archive .episode-card:focus-within .episode-card__image img {
    transform: scale(1.018);
}

.episode-archive .episode-card__body {
    min-height: 138px;
    padding: 16px 17px 15px;
}

.episode-archive .episode-card__work {
    max-width: 100%;
    overflow: hidden;
    color: #55514c;
    font-size: 13px;
    line-height: 1.4;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.episode-archive .episode-card h3 {
    margin: 7px 0 5px;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.48;
}

.episode-archive .episode-card h3 a {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.episode-archive .episode-card__meta {
    font-size: 10px;
}

.episode-archive .episode-card .text-link {
    margin-top: auto;
    padding-top: 15px;
    font-size: 10px;
    letter-spacing: .06em;
}

.episode-archive .pagination {
    margin-top: 40px;
}

@media (max-width: 1120px) {
    .episode-archive-grid.latest-grid--archive {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 820px) {
    .episode-archive-filter {
        align-items: flex-start;
        gap: 12px;
        margin-bottom: 26px;
    }
    .episode-archive-filter__buttons {
        flex-wrap: nowrap;
        width: 100%;
        overflow-x: auto;
        padding-bottom: 3px;
        scrollbar-width: none;
    }
    .episode-archive-filter__buttons::-webkit-scrollbar { display: none; }
    .episode-filter-chip { flex: 0 0 auto; }
    .episode-archive-grid.latest-grid--archive {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 14px;
    }
    .episode-archive .episode-card__body {
        min-height: 142px;
        padding: 15px;
    }
}

@media (max-width: 540px) {
    .episode-archive-filter {
        display: block;
        margin-top: -12px;
        padding: 12px 0;
    }
    .episode-archive-filter__label {
        display: block;
        margin-bottom: 10px;
    }
    .episode-archive-grid.latest-grid--archive {
        grid-template-columns: 1fr;
        gap: 12px;
    }
    .episode-archive .episode-card {
        display: grid;
        grid-template-columns: 38% 1fr;
    }
    .episode-archive .episode-card__image,
    .episode-archive .episode-card__image img,
    .episode-archive .episode-card__image .image-placeholder {
        height: 100%;
        aspect-ratio: auto;
        min-height: 138px;
    }
    .episode-archive .episode-card__body {
        min-height: 138px;
        padding: 14px 15px;
    }
    .episode-archive .episode-card__work { font-size: 12px; }
    .episode-archive .episode-card h3 { font-size: 13px; }
    .episode-archive .episode-card .text-link { padding-top: 9px; }
}


/* =========================================================
   HOME LATEST UPDATE — v0.4.4 compact 4-up row
   Matches the EPISODES archive card language while keeping
   the homepage to a single latest-update row on desktop.
   ========================================================= */
.home-updates .latest-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}

.home-updates .episode-card {
    display: flex;
    min-width: 0;
    min-height: 0;
    flex-direction: column;
    border: 1px solid var(--line);
    background: rgba(255,255,255,.32);
    transition: transform .2s ease, border-color .2s ease, background-color .2s ease, box-shadow .2s ease;
}

.home-updates .episode-card:hover,
.home-updates .episode-card:focus-within {
    transform: translateY(-2px);
    border-color: #b7afa5;
    background: #f2ede6;
    box-shadow: 0 12px 30px rgba(25,22,18,.06);
}

.home-updates .episode-card__image {
    min-height: 0;
    aspect-ratio: 16 / 9;
    background: #f2ede6;
}

.home-updates .episode-card__image img,
.home-updates .episode-card__image .image-placeholder {
    width: 100%;
    height: 100%;
    min-height: 0;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    transition: transform .28s ease, opacity .2s ease;
}

.home-updates .episode-card:hover .episode-card__image img,
.home-updates .episode-card:focus-within .episode-card__image img {
    transform: scale(1.018);
}

.home-updates .episode-card__body {
    min-height: 138px;
    padding: 16px 17px 15px;
}

.home-updates .episode-card__work {
    max-width: 100%;
    overflow: hidden;
    color: #55514c;
    font-size: 13px;
    line-height: 1.4;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.home-updates .episode-card h3 {
    margin: 7px 0 5px;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.48;
}

.home-updates .episode-card h3 a {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.home-updates .episode-card__meta {
    font-size: 10px;
}

.home-updates .episode-card .text-link {
    margin-top: auto;
    padding-top: 15px;
    font-size: 10px;
    letter-spacing: .06em;
}

/* Work detail update schedule. */
.work-profile-card__schedule {
    display: flex;
    align-items: center;
    gap: 7px;
    margin: 8px 0 0;
    color: #9b3038;
    font-size: 12px;
    line-height: 1.5;
    font-weight: 600;
}

.work-profile-card__schedule > span {
    font-size: 12px;
    line-height: 1;
}

@media (max-width: 1120px) {
    .home-updates .latest-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 540px) {
    .home-updates .latest-grid {
        grid-template-columns: 1fr;
        gap: 12px;
    }
    .home-updates .episode-card {
        display: grid;
        grid-template-columns: 38% 1fr;
    }
    .home-updates .episode-card__image,
    .home-updates .episode-card__image img,
    .home-updates .episode-card__image .image-placeholder {
        height: 100%;
        min-height: 138px;
        aspect-ratio: auto;
    }
    .home-updates .episode-card__body {
        min-height: 138px;
        padding: 14px 15px;
    }
    .home-updates .episode-card__work { font-size: 12px; }
    .home-updates .episode-card h3 { font-size: 13px; }
    .home-updates .episode-card .text-link { padding-top: 9px; }
    .work-profile-card__schedule { font-size: 11px; }
}


/* =========================================================
   v0.4.5 QA polish — NEW/UP badges + full work description
   ========================================================= */
.content-update-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 30px;
    min-height: 17px;
    margin-left: 6px;
    padding: 1px 6px 0;
    border: 1px solid rgba(157,39,53,.48);
    border-radius: 999px;
    background: rgba(255,255,255,.76);
    color: #a02635;
    font-family: var(--sans);
    font-size: 8px;
    font-style: normal;
    font-weight: 700;
    line-height: 1;
    letter-spacing: .04em;
    vertical-align: .12em;
    white-space: nowrap;
}

.content-update-badge--new {
    border-color: rgba(157,39,53,.52);
    background: #9d2735;
    color: #fff;
}

.home-updates .episode-card h3 {
    display: flex;
    align-items: flex-start;
    gap: 4px;
}

.home-updates .episode-card h3 a {
    min-width: 0;
    flex: 1 1 auto;
}

.home-news__item strong {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 2px;
}

.home-news__title-text {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.home-news__item .content-update-badge {
    flex: 0 0 auto;
    margin-left: 5px;
}

.work-profile-card__synopsis {
    overflow: visible;
    max-height: none;
    -webkit-line-clamp: unset;
}

.work-profile-card__synopsis > * {
    max-width: 100%;
}

.work-profile-card__synopsis p {
    margin: 0 0 1em;
}

.work-profile-card__synopsis p:last-child {
    margin-bottom: 0;
}

.work-profile-card__synopsis ul,
.work-profile-card__synopsis ol {
    margin: 0 0 1em 1.2em;
    padding: 0;
}

.work-profile-card__synopsis img,
.work-profile-card__synopsis figure,
.work-profile-card__synopsis iframe {
    max-width: 100%;
    height: auto;
}

@media (max-width: 640px) {
    .content-update-badge {
        min-width: 28px;
        min-height: 16px;
        padding-inline: 5px;
        font-size: 7.5px;
    }
}


/* =========================================================
   v0.4.6 recent-content badges — compact HOME + archive NEW
   ========================================================= */
.content-update-badge--compact {
    min-width: 18px;
    min-height: 18px;
    margin-left: 4px;
    padding: 1px 5px 0;
    font-size: 8px;
    letter-spacing: 0;
}

.category-board .news-row h2 {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 7px;
}
.category-board .news-row h2 .content-update-badge {
    flex: 0 0 auto;
    margin-left: 0;
}

.gallery-card__new {
    position: absolute;
    z-index: 3;
    top: 10px;
    right: 10px;
    margin: 0;
    box-shadow: 0 2px 10px rgba(10,14,22,.12);
}

@media (max-width: 720px) {
    .category-board .news-row h2 { gap: 5px; }
    .gallery-card__new {
        top: 7px;
        right: 7px;
        min-width: 28px;
        min-height: 16px;
        padding-inline: 5px;
        font-size: 7px;
    }
}

/* =========================================================
   v0.4.7 — HOME split layout / external media / contact / age rating
   ========================================================= */

/* HOME: LATEST UPDATE + NEWS share one row. */
.home-primary {
    background: var(--paper);
}

.home-primary__grid,
.home-bottom__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 44px;
    align-items: start;
}

.home-panel {
    min-width: 0;
}

.home-primary .section-heading,
.home-bottom .section-heading {
    min-height: 34px;
}

.home-primary .section-heading > div,
.home-bottom .section-heading > div {
    gap: 12px;
}

.home-primary .section-heading__desc,
.home-bottom .section-heading__desc {
    font-size: 12px;
}

.home-primary .home-updates .latest-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.home-primary .home-updates .episode-card__body {
    min-height: 128px;
    padding: 14px 15px 13px;
}

.home-primary .home-updates .episode-card__work {
    font-size: 12px;
}

.home-primary .home-updates .episode-card h3 {
    font-size: 13px;
}

.home-primary .home-updates .episode-card .text-link {
    padding-top: 12px;
}

.home-primary .home-news__item {
    min-height: 49px;
    grid-template-columns: 80px 68px minmax(0, 1fr) 18px;
}

/* HOME: Gallery now balances a two-video media panel. */
.home-bottom__grid {
    gap: 44px;
}

.home-bottom .home-gallery__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-auto-rows: auto;
    gap: 8px;
}

.home-bottom .home-gallery__item,
.home-bottom .home-gallery__item:first-child {
    grid-column: auto;
    grid-row: auto;
    aspect-ratio: 1 / 1;
    border: 1px solid rgba(20,22,24,.06);
    background: #eee8df;
}

.home-bottom .home-gallery__item img,
.home-bottom .home-gallery__item .image-placeholder {
    width: 100%;
    height: 100%;
    min-height: 0;
    object-fit: cover;
}

.home-media__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.home-media-card {
    min-width: 0;
}

.home-media-card__frame {
    position: relative;
    overflow: hidden;
    aspect-ratio: 9 / 16;
    border: 1px solid rgba(20,22,24,.10);
    background: #0b0c0e;
    box-shadow: 0 10px 28px rgba(22,18,14,.045);
}

.home-media-card__frame iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
    background: #fff;
}

.home-media-card__fallback {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 24px;
    background:
        radial-gradient(circle at 80% 20%, rgba(157,39,53,.28), transparent 32%),
        linear-gradient(145deg, #151822, #080b12);
    color: #fff;
    text-align: center;
    text-decoration: none;
}

.home-media-card__fallback span {
    font-size: 9px;
    letter-spacing: .16em;
}

.home-media-card__fallback strong {
    font-family: var(--serif);
    font-size: 18px;
    font-weight: 400;
}

.home-media-card__meta {
    min-height: 36px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 8px 2px 0;
    font-family: var(--serif);
    font-size: 9px;
    letter-spacing: .08em;
}

.home-media-card__meta > span {
    color: #7e776f;
}

.home-media-card__meta a {
    color: #2d2c2a;
    text-decoration: none;
    border-bottom: 1px solid rgba(45,44,42,.35);
}

/* About contact: mailto keeps the site light and avoids form spam/SMTP issues. */
.about-contact {
    width: min(760px, 100%);
    margin: 74px auto 0;
    padding: 42px 0 8px;
    border-top: 1px solid var(--line);
    text-align: center;
}

.about-contact h2 {
    margin: 10px 0 14px;
    font-family: var(--serif);
    font-size: clamp(28px, 4vw, 40px);
    font-weight: 400;
}

.about-contact > p:not(.eyebrow) {
    margin: 0;
    color: var(--muted);
    line-height: 1.8;
}

.about-contact__actions {
    margin-top: 26px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 16px 22px;
}

.about-contact__email {
    color: #4f4a45;
    font-family: var(--serif);
    font-size: 13px;
    text-decoration: none;
    border-bottom: 1px solid rgba(79,74,69,.28);
}

/* Work age-rating foundation. 15+/19+ are visible labels; 19+ verification is separate. */
.work-card__age {
    position: absolute;
    z-index: 3;
    top: 18px;
    left: 18px;
    min-width: 34px;
    min-height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 4px 8px;
    border: 1px solid rgba(255,255,255,.5);
    border-radius: 999px;
    background: rgba(8,11,16,.72);
    color: #fff;
    font-family: var(--sans);
    font-size: 10px;
    font-weight: 700;
    line-height: 1;
}

.work-card__age.work-age--19,
.work-age-pill.work-age--19 {
    background: #8f1f2d;
    border-color: #8f1f2d;
}

.work-profile-card__badges {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 7px;
}

.work-age-pill {
    min-height: 26px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 3px 10px;
    border: 1px solid #7e766d;
    border-radius: 999px;
    background: #7e766d;
    color: #fff;
    font-size: 10px;
    font-weight: 700;
    line-height: 1;
}

.work-age-pill.work-age--15 {
    border-color: #a66d24;
    background: #a66d24;
}

@media (max-width: 1024px) {
    .home-primary__grid,
    .home-bottom__grid {
        grid-template-columns: 1fr;
        gap: 52px;
    }

    .home-media__grid {
        max-width: 680px;
    }
}

@media (max-width: 640px) {
    .home-primary .home-updates .latest-grid {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .home-primary .home-news__item {
        grid-template-columns: 74px minmax(0, 1fr) 18px;
    }

    .home-primary .home-news__category {
        display: none;
    }

    .home-bottom .home-gallery__grid {
        gap: 6px;
    }

    .home-media__grid {
        grid-template-columns: 1fr;
        gap: 14px;
        width: min(360px, 100%);
    }

    .home-media-card__meta {
        min-height: 32px;
        font-size: 8px;
    }

    .about-contact {
        margin-top: 52px;
        padding-top: 34px;
    }

    .about-contact__actions {
        flex-direction: column;
    }

    .work-card__age {
        top: 14px;
        left: 14px;
    }
}

@media (max-width: 420px) {
    .home-media__grid {
        width: 100%;
    }
}

/* =========================================================
   v0.4.12 — manuscript scene breaks / intentional blank lines
   ========================================================= */
.episode-page-flow.prose--novel .episode-scene-break {
    position: relative;
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: 14px;
    width: min(72%, 270px);
    min-height: 18px;
    margin: 70px auto !important;
    padding: 0 !important;
    color: #ad9c89;
    font-size: 10px;
    line-height: 1;
    text-align: center !important;
    letter-spacing: 0;
    white-space: nowrap;
    break-inside: avoid-column;
    page-break-inside: avoid;
}

.episode-page-flow.prose--novel .episode-scene-break::before,
.episode-page-flow.prose--novel .episode-scene-break::after {
    content: "";
    display: block;
    flex: 1 1 72px;
    max-width: 96px;
    height: 1px;
    background: linear-gradient(to right, transparent, rgba(154,141,126,.5));
}

.episode-page-flow.prose--novel .episode-scene-break::after {
    background: linear-gradient(to left, transparent, rgba(154,141,126,.5));
}

.episode-page-flow.prose--novel .episode-scene-break > span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 16px;
    height: 16px;
    color: #a89078;
    font-size: 9px;
    line-height: 1;
}

/* Preserve intentional empty manuscript lines pasted from Word/Gutenberg. */
.episode-page-flow.prose--novel .episode-manuscript-spacer {
    display: block;
    min-height: 1.05em;
    margin: 0 0 .82em !important;
    padding: 0 !important;
    break-inside: avoid-column;
}

/* Word may keep explicit paragraph margins as inline styles. Those remain authoritative. */
.episode-page-flow.prose--novel p[style*="margin"]:not(.episode-scene-break):not(.episode-manuscript-spacer) {
    /* Intentionally empty: keep the inline Word/Gutenberg margin. */
}

@media (max-width: 899px) {
    .episode-page-flow.prose--novel .episode-scene-break {
        width: min(68%, 210px);
        gap: 11px;
        margin-top: 70px !important;
        margin-bottom: 70px !important;
    }

    .episode-page-flow.prose--novel .episode-scene-break::before,
    .episode-page-flow.prose--novel .episode-scene-break::after {
        max-width: 72px;
    }

    .episode-page-flow.prose--novel .episode-manuscript-spacer {
        min-height: .9em;
        margin-bottom: .68em !important;
    }
}

/* =========================================================
   v0.4.13 — Instagram Reel: keep playback, crop unsafe footer UI
   Instagram's own action/footer area can route to recommended Reels.
   Keep the native header + video playable, but crop everything below
   the video. Our separate OPEN row is also omitted for Instagram cards.
   ========================================================= */
.home-media-card--instagram .home-media-card__frame {
    aspect-ratio: 9 / 12.3;
    overflow: hidden;
    isolation: isolate;
}

.home-media-card--instagram .home-media-card__frame iframe {
    top: 0;
    right: 0;
    bottom: auto;
    left: 0;
    width: 100%;
    height: auto;
    aspect-ratio: 9 / 16;
    pointer-events: auto;
}

/* v0.4.11 overlay is intentionally retired. */
.home-media-card__instagram-safe-footer {
    display: none !important;
}

@media (max-width: 760px) {
    .home-media-card--instagram .home-media-card__frame {
        aspect-ratio: 9 / 12.45;
    }
}


/* =========================================================
   v0.4.14 — HOME hero 500px + YouTube aspect-ratio handling
   ========================================================= */
@media (min-width: 861px) {
    .home-hero-slider,
    .home-hero-static,
    .home-hero-slide__inner,
    .home-hero-static__inner {
        min-height: 500px;
    }

    .home-hero-slide__inner,
    .home-hero-static__inner {
        padding-top: 58px;
        padding-bottom: 72px;
    }
}

/* Normal YouTube videos are landscape; Shorts stay portrait. */
.home-media-card--youtube-wide .home-media-card__frame {
    aspect-ratio: 16 / 9;
}

.home-media-card--youtube-short .home-media-card__frame {
    aspect-ratio: 9 / 16;
}


/* =========================================================
   v0.4.15 — MEDIA platform links + single-column mobile Reels
   ========================================================= */
.home-media-platform-links {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 8px 18px;
    margin-top: 15px;
    padding-top: 12px;
    border-top: 1px solid rgba(31,28,25,.12);
}

.home-media-platform-links a {
    color: #5d5750;
    font-family: var(--serif);
    font-size: 9px;
    line-height: 1.4;
    letter-spacing: .08em;
    text-decoration: none;
    border-bottom: 1px solid rgba(93,87,80,.28);
    transition: color .18s ease, border-color .18s ease;
}

.home-media-platform-links a:hover,
.home-media-platform-links a:focus-visible {
    color: #151515;
    border-bottom-color: #151515;
}

@media (max-width: 640px) {
    .home-media__grid {
        grid-template-columns: 1fr;
        width: 100%;
        gap: 16px;
    }

    .home-media-platform-links {
        align-items: flex-start;
        justify-content: flex-start;
        flex-direction: column;
        gap: 8px;
        margin-top: 14px;
    }

    .home-media-platform-links a {
        font-size: 9px;
    }
}


/* =========================================================
   v0.4.16 — final QA polish: About / work cards / reader
   ========================================================= */

/* About: one clear contact box. Clicking copies the address reliably,
   avoiding browser-specific mailto handler failures. */
.about-contact__actions,
.about-contact__email {
    display: none !important;
}

.about-contact__card {
    width: min(620px, 100%);
    margin: 28px auto 0;
    padding: 22px 26px;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 18px;
    border: 1px solid rgba(20,22,24,.16);
    border-radius: 0;
    background: rgba(255,255,255,.34);
    color: var(--ink);
    text-align: left;
    cursor: pointer;
    transition: background .18s ease, border-color .18s ease, transform .18s ease;
}

.about-contact__card:hover,
.about-contact__card:focus-visible {
    background: #f1ece4;
    border-color: rgba(20,22,24,.34);
    transform: translateY(-1px);
    outline: none;
}

.about-contact__card-label {
    color: #9a8e82;
    font-size: 9px;
    letter-spacing: .16em;
    white-space: nowrap;
}

.about-contact__card strong {
    min-width: 0;
    overflow: hidden;
    color: #36322f;
    font-family: var(--serif);
    font-size: 15px;
    font-weight: 400;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.about-contact__card-action {
    color: #6e665e;
    font-size: 11px;
    white-space: nowrap;
}

.about-contact__copy-status {
    display: block;
    min-height: 18px;
    margin-top: 10px;
    color: #8f303d;
    font-size: 11px;
}

/* HOME serial novel banners: keep both cards visually level regardless of copy length. */
.home-works .work-card__image {
    height: 360px;
    min-height: 360px;
}

.home-works .work-card__content {
    height: 100%;
    min-height: 0;
    box-sizing: border-box;
}

.home-works .work-card__title,
.home-works .work-card__excerpt {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.home-works .work-card__title {
    -webkit-line-clamp: 2;
}

.home-works .work-card__excerpt {
    -webkit-line-clamp: 4;
}

/* Reader opening hierarchy: episode number closer to title, title farther from prose. */
.episode-page-heading {
    margin-bottom: 3.35em;
}

.episode-page-heading .episode-page-number {
    margin-bottom: .12em !important;
}

/* Completion: SHARE / KEEP READING headings use the same baseline and divider. */
.episode-completion-share__heading,
.episode-completion-related__heading {
    min-height: 58px;
    box-sizing: border-box;
}

.episode-completion-share__heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px;
    padding-bottom: 13px;
    border-bottom: 1px solid rgba(20,22,24,.14);
}

.episode-completion-share .episode-actions {
    margin-top: 18px;
}

/* The completion section already says SHARE; the Core's small duplicate "공유" label is redundant. */
.episode-completion-share .manyassi-share-heading {
    display: none !important;
}

.episode-completion-share .episode-actions .manyassi-share-wrap {
    margin: 0;
    padding-top: 0;
    border-top: 0;
}

@media (max-width: 899px) {
    .home-works .work-card__image {
        height: 380px;
        min-height: 380px;
    }

    .episode-page-heading {
        margin-bottom: 2.9em;
    }
}

@media (max-width: 640px) {
    .about-contact__card {
        grid-template-columns: 1fr auto;
        gap: 8px 14px;
        padding: 18px 20px;
    }

    .about-contact__card-label {
        grid-column: 1 / -1;
    }

    .about-contact__card strong {
        font-size: 14px;
    }

    .about-contact__card-action {
        font-size: 10px;
    }

    .home-works .work-card__image {
        height: 360px;
        min-height: 360px;
    }

    .episode-page-heading {
        margin-bottom: 2.65em;
    }

    .episode-page-heading .episode-page-number {
        margin-bottom: .08em !important;
    }
}

/* =========================================================
   v0.4.17 — center external channel links
   ========================================================= */
.site-external-links__inner {
    justify-content: center;
    text-align: center;
}

.site-external-links__inner > .menu,
.external-links-menu {
    justify-content: center;
}

@media (max-width: 640px) {
    .site-external-links__inner > .menu,
    .external-links-menu {
        justify-items: center;
        text-align: center;
    }
}


/* =========================================================
   v0.4.18 — NOVEL archive banners: fixed equal card height
   ========================================================= */
.works-grid--archive .work-card__image {
    height: 360px;
    min-height: 360px;
}

.works-grid--archive .work-card__content {
    height: 100%;
    min-height: 0;
    box-sizing: border-box;
}

.works-grid--archive .work-card__title,
.works-grid--archive .work-card__excerpt {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.works-grid--archive .work-card__title {
    -webkit-line-clamp: 2;
}

.works-grid--archive .work-card__excerpt {
    -webkit-line-clamp: 4;
}

@media (max-width: 899px) {
    .works-grid--archive .work-card__image {
        height: 380px;
        min-height: 380px;
    }
}

@media (max-width: 640px) {
    .works-grid--archive .work-card__image {
        height: 360px;
        min-height: 360px;
    }
}


/* =========================================================
   v0.4.19 — episode part label + reader opening spacing
   ========================================================= */
.work-episode-row {
    grid-template-columns: 86px minmax(0,1fr) 66px 14px;
}

.work-episode-row__number {
    display: inline-flex;
    align-items: baseline;
    gap: 6px;
}

.work-episode-row__part {
    color: var(--accent);
    font-family: var(--sans);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .03em;
    white-space: nowrap;
}

.work-episode-row__number-value {
    white-space: nowrap;
}

/* Treat episode number + title as one compact heading block,
   then give the prose a clearly separated start. */
.episode-page-heading {
    margin-bottom: 72px;
}

.episode-page-heading .episode-page-number {
    margin-bottom: 2px !important;
}

.episode-page-title {
    margin-top: 0;
}

@media (max-width: 899px) {
    .episode-page-heading {
        margin-bottom: 62px;
    }
}

@media (max-width: 640px) {
    .work-episode-row {
        grid-template-columns: 72px minmax(0,1fr) 14px;
    }

    .work-episode-row__number {
        gap: 4px;
    }

    .work-episode-row__part {
        font-size: 8px;
    }

    .episode-page-heading {
        margin-bottom: 56px;
    }
}


/* =========================================================
   v0.4.20 — prominent episode part dividers
   ========================================================= */
.work-episode-part-divider {
    width: 100%;
    min-height: 58px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: center;
    gap: 18px;
    padding: 11px 6px 8px;
    color: #202329;
}

.work-episode-part-divider > span {
    height: 1px;
    background: rgba(20, 22, 24, .58);
}

.work-episode-part-divider > strong {
    min-width: 42px;
    color: #202329;
    font-family: var(--serif);
    font-size: 15px;
    font-weight: 700;
    line-height: 1;
    text-align: center;
    white-space: nowrap;
}

.work-episode-part-divider[hidden] {
    display: none !important;
}

/* Part is now a section heading, not a tiny prefix beside every episode. */
.work-episode-row {
    grid-template-columns: 66px minmax(0,1fr) 180px 14px;
}

.work-episode-row__number {
    display: block;
}

.work-episode-row__part {
    display: none !important;
}

@media (max-width: 899px) {
    .work-episode-part-divider {
        min-height: 54px;
        gap: 14px;
        padding-left: 2px;
        padding-right: 2px;
    }
}

@media (max-width: 640px) {
    .work-episode-part-divider {
        min-height: 48px;
        gap: 12px;
    }

    .work-episode-part-divider > strong {
        min-width: 36px;
        font-size: 14px;
    }

    .work-episode-row {
        grid-template-columns: 58px minmax(0,1fr) 14px;
    }
}


/* =========================================================
   v0.4.22 — EPISODES mobile archive repair
   Keep episode thumbnails compact and prevent tall intrinsic
   work images from stretching archive cards on narrow screens.
   ========================================================= */
@media (max-width: 640px) {
    .episode-archive .site-shell {
        width: 100%;
        max-width: none;
        padding-left: 16px;
        padding-right: 16px;
    }

    .episode-archive-grid.latest-grid--archive {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        width: 100%;
        gap: 10px;
    }

    .episode-archive .episode-card {
        display: grid;
        grid-template-columns: 112px minmax(0, 1fr);
        width: 100%;
        min-width: 0;
        min-height: 96px;
        overflow: hidden;
    }

    .episode-archive .episode-card__image {
        width: 112px;
        height: 96px;
        min-width: 112px;
        min-height: 96px;
        aspect-ratio: auto;
        overflow: hidden;
    }

    .episode-archive .episode-card__image img,
    .episode-archive .episode-card__image .image-placeholder {
        display: block;
        width: 100%;
        height: 100%;
        min-width: 0;
        min-height: 0;
        aspect-ratio: auto;
        object-fit: cover;
    }

    .episode-archive .episode-card__body {
        width: auto;
        min-width: 0;
        min-height: 96px;
        padding: 10px 12px 9px;
        overflow: hidden;
    }

    .episode-archive .episode-card__work {
        display: block;
        width: 100%;
        max-width: 100%;
        overflow: hidden;
        font-size: 11px;
        line-height: 1.35;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .episode-archive .episode-card h3 {
        width: 100%;
        margin: 5px 0 3px;
        font-size: 12px;
        line-height: 1.4;
    }

    .episode-archive .episode-card h3 a {
        -webkit-line-clamp: 2;
    }

    .episode-archive .episode-card__meta {
        font-size: 9px;
    }

    .episode-archive .episode-card .text-link {
        margin-top: auto;
        padding-top: 6px;
        font-size: 8px;
    }
}

@media (max-width: 380px) {
    .episode-archive .site-shell {
        padding-left: 12px;
        padding-right: 12px;
    }

    .episode-archive .episode-card {
        grid-template-columns: 96px minmax(0, 1fr);
        min-height: 90px;
    }

    .episode-archive .episode-card__image {
        width: 96px;
        min-width: 96px;
        height: 90px;
        min-height: 90px;
    }

    .episode-archive .episode-card__body {
        min-height: 90px;
        padding: 9px 10px 8px;
    }
}


/* v0.4.25 — Work detail cover uses a 600×400 (3:2) landscape frame. */
.work-profile-card__cover { aspect-ratio: 3 / 2; }


/* =========================================================
   v0.4.26 — HOME hero compact copy + listing-banner defaults
   ========================================================= */
/* Work-linked HERO slides intentionally omit the default STUDIO MANYASSI eyebrow.
   Keep the remaining copy tighter so the 500px desktop banner has room for CTA buttons. */
.home-hero-slider .home-hero__english,
.home-hero-static .home-hero__english {
    margin-top: 10px;
}

.home-hero__meta-row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 7px;
    margin-top: 6px;
}

.home-hero-slider .home-hero__meta-row .home-hero__meta,
.home-hero-static .home-hero__meta-row .home-hero__meta {
    margin: 0;
}

.home-hero__age {
    min-width: 28px;
    min-height: 22px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 3px 7px;
    border: 1px solid rgba(255,255,255,.55);
    border-radius: 999px;
    background: rgba(8,11,16,.62);
    color: #fff;
    font-family: var(--sans);
    font-size: 9px;
    font-weight: 700;
    line-height: 1;
}

.home-hero__age.work-age--19 {
    background: #8f1f2d;
    border-color: #8f1f2d;
}

.home-hero-slider .home-hero__excerpt,
.home-hero-static .home-hero__excerpt {
    margin-top: 14px;
}

.home-hero-slider .button-row,
.home-hero-static .button-row {
    margin-top: 17px;
}

@media (min-width: 861px) {
    .home-hero-slider .home-hero__copy,
    .home-hero-static .home-hero__copy {
        transform: translateY(-16px);
    }
}

/* Put the age badge beside the work status badge on SERIAL NOVELS / NOVEL cards. */
.work-card__age {
    left: auto;
    right: 78px;
}

@media (max-width: 640px) {
    .home-hero-slider .home-hero__english,
    .home-hero-static .home-hero__english {
        margin-top: 7px;
    }

    .home-hero__meta-row {
        margin-top: 5px;
        gap: 6px;
    }

    .home-hero-slider .home-hero__excerpt,
    .home-hero-static .home-hero__excerpt {
        margin-top: 10px;
    }

    .home-hero-slider .button-row,
    .home-hero-static .button-row {
        margin-top: 13px;
    }

    .work-card__age {
        left: auto;
        right: 72px;
    }
}


/* =========================================================
   v0.4.27 — independent mobile artwork for HERO / work cards
   ========================================================= */
@media (max-width: 640px) {
    .home-hero-slide.has-image .home-hero-slide__background {
        background-image: var(--hero-image-mobile, var(--hero-image));
    }
}


/* =========================================================
   v0.4.28 — desktop HERO title scale + mobile work detail stack
   ========================================================= */
/* Desktop HERO: preserve the current composition while easing the title scale. */
@media (min-width: 861px) {
    .home-hero-slider h1,
    .home-hero-static h1 {
        font-size: clamp(44px, 4.8vw, 68px);
    }
}

/* Mobile work detail: one full-width artwork row, then one full-width info row. */
@media (max-width: 640px) {
    .work-profile-card {
        display: block;
        padding: 18px 16px 28px;
    }

    .work-profile-card__cover {
        width: 100%;
        margin: 0;
        aspect-ratio: 3 / 2;
    }

    .work-profile-card__body {
        width: 100%;
        padding: 20px 2px 0;
    }

    .work-profile-card__badges {
        gap: 7px;
    }

    .work-profile-card__body .work-status-pill[class*="work-status--"],
    .work-profile-card__body .work-age-pill {
        min-height: 26px;
        padding-inline: 11px;
        font-size: 11px;
    }

    .work-profile-card__body h1 {
        margin: 11px 0 7px;
        font-size: 24px;
        line-height: 1.4;
    }

    .work-profile-card__meta {
        font-size: 12px;
        line-height: 1.55;
    }

    .work-profile-card__schedule {
        margin-top: 9px;
        font-size: 12px;
    }

    .work-profile-card__synopsis {
        display: block;
        overflow: visible;
        margin-top: 18px;
        font-size: 13px;
        line-height: 1.82;
        -webkit-box-orient: initial;
        -webkit-line-clamp: unset;
    }

    .work-profile-card__actions {
        grid-template-columns: 1fr;
        gap: 8px;
        margin-top: 20px;
    }

    .work-profile-action {
        min-height: 40px;
        font-size: 12px;
    }
}

/* =========================================================
   v0.4.29 — Episode viewer media-first page treatment
   ========================================================= */
.episode-page-flow.prose--novel {
    --reader-stage-height: 640px;
    --reader-column-width: 520px;
}

.episode-page-flow.prose--novel [data-reader-media="true"] {
    max-width: 100%;
    text-align: center;
}

.episode-page-flow.prose--novel [data-reader-media="true"] img,
.episode-page-flow.prose--novel > img {
    display: block;
    width: auto;
    max-width: 100%;
    height: auto;
    margin-inline: auto;
}

@media (min-width: 900px) {
    .episode-page-flow.prose--novel [data-reader-media="true"] {
        break-before: column;
        break-after: column;
        width: 100%;
        height: var(--reader-stage-height);
        min-height: var(--reader-stage-height);
        margin: 0 !important;
        padding: 0;
        display: grid;
        align-items: center;
        justify-items: center;
        align-content: center;
        grid-template-rows: minmax(0, 1fr);
    }

    .episode-page-flow.prose--novel figure[data-reader-media="true"]:has(figcaption) {
        grid-template-rows: minmax(0, 1fr) auto;
        row-gap: 12px;
    }

    .episode-page-flow.prose--novel p[data-reader-media="true"] {
        line-height: 1;
    }

    .episode-page-flow.prose--novel [data-reader-media="true"] img,
    .episode-page-flow.prose--novel > img {
        width: 100%;
        max-width: 100%;
        height: 100%;
        max-height: var(--reader-stage-height);
        object-fit: contain;
    }

    .episode-page-flow.prose--novel figure[data-reader-media="true"] figcaption {
        width: 100%;
        margin: 0;
        color: #8e857d;
        font-size: 12px;
        line-height: 1.55;
        text-align: center;
    }
}

@media (max-width: 899px) {
    .episode-page-flow.prose--novel [data-reader-media="true"] {
        margin: 1.2em auto 1.6em !important;
    }

    .episode-page-flow.prose--novel [data-reader-media="true"] img,
    .episode-page-flow.prose--novel > img {
        width: 100%;
        max-width: 100%;
        max-height: calc(var(--reader-stage-height) * .68);
        object-fit: contain;
    }
}

/* =========================================================
   v0.4.30 — media-aware desktop spreads + mobile completion nav
   ========================================================= */
@media (min-width: 900px) {
    .episode-page-flow.is-manual-media-layout {
        width: max-content;
        max-width: none;
        height: 100%;
        display: flex;
        align-items: stretch;
        gap: var(--reader-column-gap, 84px);
        column-width: auto !important;
        column-count: auto !important;
        column-gap: 0 !important;
        overflow: visible;
    }

    .episode-page-flow.is-manual-media-layout .episode-reader-page {
        flex: 0 0 var(--reader-column-width);
        width: var(--reader-column-width);
        height: var(--reader-stage-height);
        min-width: 0;
        overflow: hidden;
    }

    .episode-page-flow.is-manual-media-layout .episode-reader-page--text > :first-child {
        margin-top: 0;
    }

    .episode-page-flow.is-manual-media-layout .episode-reader-page--media {
        display: grid;
        place-items: center;
    }

    .episode-page-flow.is-manual-media-layout .episode-reader-page--media > [data-reader-media="true"] {
        width: 100%;
        height: 100%;
        min-height: 0;
        margin: 0 !important;
        padding: 0;
        display: grid;
        place-items: center;
        break-before: auto !important;
        break-after: auto !important;
    }

    .episode-page-flow.is-manual-media-layout .episode-reader-page--media figure[data-reader-media="true"]:has(figcaption) {
        grid-template-rows: minmax(0, 1fr) auto;
        row-gap: 10px;
    }

    .episode-page-flow.is-manual-media-layout .episode-reader-page--media [data-reader-media="true"] img,
    .episode-page-flow.is-manual-media-layout .episode-reader-page--media > img {
        display: block;
        width: 100%;
        max-width: 100%;
        height: 100%;
        max-height: 100%;
        margin: 0 auto;
        object-fit: contain;
    }
}

.episode-reader-measure {
    position: fixed !important;
    top: 0;
    left: -20000px;
    z-index: -1;
    visibility: hidden;
    pointer-events: none;
    overflow: visible !important;
}

@media (max-width: 640px) {
    .episode-navigation--completion {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
        gap: 0 !important;
    }

    .episode-navigation--completion .episode-navigation__center {
        grid-column: 1 / -1;
        grid-row: 1;
        padding: 0;
        border-right: 0;
        border-left: 0;
        border-bottom: 1px solid rgba(20,22,24,.12);
    }

    .episode-navigation--completion .episode-navigation__center a {
        min-height: 70px;
        padding: 11px 8px;
    }

    .episode-navigation--completion .episode-navigation__side--prev {
        grid-column: 1;
        grid-row: 2;
        border-right: 1px solid rgba(20,22,24,.10);
    }

    .episode-navigation--completion .episode-navigation__side--next {
        grid-column: 2;
        grid-row: 2;
    }

    .episode-navigation--completion .episode-nav-link {
        min-height: 74px;
        padding: 14px 14px;
    }

    .episode-navigation--completion .episode-navigation__side--prev .episode-nav-link {
        align-items: flex-start;
        text-align: left;
    }

    .episode-navigation--completion .episode-navigation__side--next .episode-nav-link {
        align-items: flex-end;
        text-align: right;
    }

    .episode-navigation--completion .episode-nav-link__label {
        flex-wrap: nowrap;
        gap: 5px;
        white-space: nowrap;
    }

    .episode-navigation--completion .episode-nav-link--next .episode-nav-link__label {
        justify-content: flex-end;
    }

    .episode-navigation--completion .episode-nav-link__number {
        flex: 0 0 auto;
    }
}

/* =========================================================
   v0.4.31 — lock PC reader to explicit two-page spreads
   ========================================================= */
@media (min-width: 900px) {
    .episode-page-flow.is-manual-media-layout {
        width: max-content;
        max-width: none;
        height: 100%;
        display: flex;
        align-items: stretch;
        gap: 0 !important;
        column-width: auto !important;
        column-count: auto !important;
        column-gap: 0 !important;
        overflow: visible;
    }

    .episode-page-flow.is-manual-media-layout .episode-reader-spread {
        flex: 0 0 var(--reader-stage-width);
        width: var(--reader-stage-width);
        height: var(--reader-stage-height);
        display: grid;
        grid-template-columns: var(--reader-column-width) var(--reader-column-width);
        column-gap: var(--reader-column-gap, 84px);
        align-items: stretch;
        overflow: hidden;
    }

    .episode-page-flow.is-manual-media-layout .episode-reader-page {
        width: var(--reader-column-width);
        height: var(--reader-stage-height);
        min-width: 0;
        overflow: hidden;
    }

    .episode-page-flow.is-manual-media-layout .episode-reader-page--blank {
        visibility: hidden;
        pointer-events: none;
    }
}

/* =========================================================
   v0.4.33 — mobile/tablet explicit page flow
   ========================================================= */
@media (max-width: 899px) {
    .episode-page-flow.is-manual-media-layout {
        width: max-content;
        max-width: none;
        height: 100%;
        display: flex;
        align-items: stretch;
        gap: 0 !important;
        column-width: auto !important;
        column-count: auto !important;
        column-gap: 0 !important;
        overflow: visible;
    }

    .episode-page-flow.is-manual-media-layout .episode-reader-spread {
        flex: 0 0 var(--reader-stage-width);
        width: var(--reader-stage-width);
        height: var(--reader-stage-height);
        display: grid;
        grid-template-columns: var(--reader-column-width);
        align-items: stretch;
        overflow: hidden;
    }

    .episode-page-flow.is-manual-media-layout .episode-reader-page {
        width: var(--reader-column-width);
        height: var(--reader-stage-height);
        min-width: 0;
        overflow: hidden;
    }

    .episode-page-flow.is-manual-media-layout .episode-reader-page--text > :first-child {
        margin-top: 0;
    }

    .episode-page-flow.is-manual-media-layout .episode-reader-page--media {
        display: grid;
        place-items: center;
    }

    .episode-page-flow.is-manual-media-layout .episode-reader-page--media > [data-reader-media="true"] {
        width: 100%;
        height: 100%;
        min-height: 0;
        margin: 0 !important;
        padding: 0;
        display: grid;
        place-items: center;
        break-before: auto !important;
        break-after: auto !important;
    }

    .episode-page-flow.is-manual-media-layout .episode-reader-page--media figure[data-reader-media="true"]:has(figcaption) {
        grid-template-rows: minmax(0, 1fr) auto;
        row-gap: 10px;
    }

    .episode-page-flow.is-manual-media-layout .episode-reader-page--media [data-reader-media="true"] img,
    .episode-page-flow.is-manual-media-layout .episode-reader-page--media > img {
        display: block;
        width: 100%;
        max-width: 100%;
        height: 100%;
        max-height: 100%;
        margin: 0 auto;
        object-fit: contain;
    }

    .episode-page-flow.is-manual-media-layout .episode-reader-page--blank {
        display: none;
    }
}

/* =========================================================
   v0.4.34 — Gallery episode relation
   ========================================================= */
.gallery-single__episode-link {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    color: var(--accent);
    font-weight: 600;
    text-decoration: none;
}

.gallery-single__episode-link:hover,
.gallery-single__episode-link:focus-visible {
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* =========================================================
   v0.4.35 — CHARACTER hub / detail / cross-content cards
   ========================================================= */
.home-characters {
    padding-top: 12px;
}

.home-characters__grid,
.work-character-strip {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 18px;
}

.character-card { min-width: 0; }
.character-card__link { display: block; color: inherit; text-decoration: none; }
.character-card__image {
    aspect-ratio: 1.18 / 1;
    overflow: hidden;
    background: #eeeae4;
}
.character-card__image img,
.character-card__image .image-placeholder {
    width: 100%; height: 100%; display: block; object-fit: cover;
    transition: transform .35s ease;
}
.character-card__link:hover .character-card__image img { transform: scale(1.025); }
.character-card__body { padding-top: 10px; }
.character-card__names { min-width: 0; }
.character-card__names strong { display:block; font-family:var(--serif); font-size:16px; font-weight:500; line-height:1.35; }
.character-card__names span { display:block; margin-top:3px; color:#9b9289; font-family:var(--serif); font-size:10px; line-height:1.2; }
.character-card__meta { margin-top:7px; display:grid; grid-template-columns:minmax(0,1fr) auto auto; align-items:center; gap:8px; }
.character-card__meta small { overflow:hidden; color:#978f87; font-size:9px; line-height:1.35; text-overflow:ellipsis; white-space:nowrap; }
.character-card__like { display:inline-flex; align-items:center; gap:3px; color:#8f3544; font-size:9px; }
.character-card__meta b { color:#716a64; font-family:var(--serif); font-size:18px; font-weight:300; }

.character-archive__heading { margin-bottom: 30px; }
.character-work-filter {
    margin: 0 auto 42px;
    padding: 11px 0;
    display:flex;
    align-items:center;
    justify-content:center;
    flex-wrap:wrap;
    gap:8px;
    border-top:1px solid rgba(20,22,24,.1);
    border-bottom:1px solid rgba(20,22,24,.1);
}
.character-work-filter a {
    min-height:34px;
    padding:0 15px;
    display:inline-flex;
    align-items:center;
    border:1px solid rgba(20,22,24,.12);
    border-radius:999px;
    color:#746d66;
    font-size:10px;
    text-decoration:none;
}
.character-work-filter a:hover,
.character-work-filter a.is-active { border-color:var(--accent); background:var(--accent); color:#fff; }
.character-archive-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:34px 22px; }
.character-archive-grid .character-card__image { aspect-ratio: .88 / 1; }
.character-archive-grid .character-card__names strong { font-size:20px; }

.character-single { background:#fbfaf7; }
.character-hero {
    position:relative;
    min-height:430px;
    overflow:hidden;
    background:#0d1220;
}
.character-hero.has-image {
    background-image:var(--character-hero);
    background-size:cover;
    background-position:center 35%;
}
.character-hero__veil {
    position:absolute; inset:0;
    background:linear-gradient(90deg, rgba(5,9,18,.94) 0%, rgba(5,9,18,.72) 31%, rgba(5,9,18,.18) 62%, rgba(5,9,18,.05) 100%);
}
.character-hero__inner { position:relative; z-index:1; min-height:430px; display:flex; align-items:center; }
.character-hero__copy { width:min(440px,46vw); padding:56px 0; color:#fff; }
.character-hero__copy .eyebrow { color:#d2c6ba; }
.character-hero__copy h1 { margin:12px 0 3px; font-family:var(--serif); font-size:clamp(52px,6vw,82px); font-weight:400; line-height:1.04; letter-spacing:-.045em; }
.character-hero__english { margin:0; font-family:var(--serif); font-size:23px; letter-spacing:.26em; }
.character-hero__copy blockquote { margin:25px 0 0; padding:0; border:0; font-family:var(--serif); font-size:20px; line-height:1.7; }
.character-hero__work { width:max-content; max-width:100%; margin-top:25px; padding:8px 10px; display:grid; grid-template-columns:58px minmax(0,1fr) 20px; align-items:center; gap:12px; background:rgba(5,8,15,.68); color:#fff; text-decoration:none; }
.character-hero__work img { width:58px; height:38px; object-fit:cover; }
.character-hero__work span { overflow:hidden; font-size:11px; text-overflow:ellipsis; white-space:nowrap; }
.character-hero__work b { font-weight:400; }

.character-single__body { padding-top:38px; padding-bottom:82px; }
.character-profile { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:68px; align-items:start; }
.character-profile__visual { min-height:520px; display:grid; place-items:center; overflow:hidden; background:#f1ede7; }
.character-profile__visual img { width:100%; height:auto; max-height:680px; display:block; object-fit:contain; }
.character-profile__heading { margin-bottom:20px; }
.character-profile__heading h2 { margin:4px 0 0; font-family:var(--serif); font-size:28px; font-weight:400; }
.character-profile__facts { margin:0 0 22px; border-top:1px solid rgba(20,22,24,.14); }
.character-profile__facts > div { min-height:40px; padding:8px 0; display:grid; grid-template-columns:92px minmax(0,1fr); gap:14px; border-bottom:1px solid rgba(20,22,24,.1); }
.character-profile__facts dt { color:#9a9188; font-size:10px; }
.character-profile__facts dd { margin:0; font-size:12px; line-height:1.55; }
.character-profile__lead { margin:0 0 16px; color:#4c4742; font-family:var(--serif); font-size:18px; font-weight:500; line-height:1.75; }
.character-profile__content { font-size:13px; line-height:1.9; }

.character-detail-section { margin-top:0; }
.character-showcase-pair { margin-top:58px; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:34px; align-items:start; }
.character-showcase-pair--single { grid-template-columns:minmax(0,1fr); }
.character-section-heading { margin-bottom:18px; padding-bottom:10px; display:flex; justify-content:space-between; align-items:flex-end; gap:20px; border-bottom:1px solid rgba(20,22,24,.13); }
.character-section-heading h2 { margin:0; font-family:var(--serif); font-size:27px; font-weight:400; letter-spacing:.03em; }
.character-section-heading p { margin:4px 0 0; color:#9a9188; font-size:10px; }
.character-section-heading a { font-size:10px; text-decoration:none; }
.character-gallery__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.character-gallery__item { aspect-ratio:1/1; display:block; overflow:hidden; background:#eeeae4; }
.character-gallery__item img,.character-gallery__item .image-placeholder { width:100%;height:100%;display:block;object-fit:cover;transition:transform .35s ease; }
.character-gallery__item:hover img { transform:scale(1.025); }
.character-media__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.character-media-card__frame { position:relative; aspect-ratio:9/16; overflow:hidden; background:#10131b; }
.character-media-card--wide .character-media-card__frame { aspect-ratio:16/9; }
.character-media-card__frame iframe { width:100%;height:100%;border:0;display:block; }
.character-media-card__frame > a { width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:#fff;text-decoration:none; }
.character-media-card__meta { padding:9px 2px 0; display:flex;justify-content:space-between;gap:12px;color:#918980;font-size:9px; }
.character-media-card__meta a { color:inherit;text-decoration:none; }
.character-social-actions { margin-top:42px; padding:20px 0; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,2fr); align-items:end; gap:30px; border-top:1px solid rgba(20,22,24,.13); border-bottom:1px solid rgba(20,22,24,.13); }
.character-social-actions > div:last-child { text-align:right; }
.character-social-actions__label { margin-bottom:7px; display:block; color:#a1968b; font-size:8px; letter-spacing:.18em; }
.character-social-actions .manyassi-share-wrap { justify-content:flex-end; }
.character-comments { margin-top:34px; }

.work-character-strip { grid-template-columns:repeat(5,minmax(0,1fr)); }
.work-hub-characters .character-card__image { aspect-ratio:1.08/1; }
.work-hub-characters .character-card__names strong { font-size:14px; }

@media (max-width: 1100px) {
    .home-characters__grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .work-character-strip { grid-template-columns:repeat(4,minmax(0,1fr)); }
    .character-profile { gap:38px; }
}

@media (max-width: 899px) {
    .character-archive-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .character-hero { min-height:390px; }
    .character-hero__inner { min-height:390px; }
    .character-hero__copy { width:min(520px,68vw); }
    .character-profile { grid-template-columns:1fr; gap:30px; }
    .character-showcase-pair { grid-template-columns:1fr; gap:46px; }
    .character-profile__visual { min-height:0; max-width:620px; width:100%; margin-inline:auto; }
    .character-social-actions { grid-template-columns:1fr; }
    .character-social-actions > div:last-child { text-align:left; }
    .character-social-actions .manyassi-share-wrap { justify-content:flex-start; }
}

@media (max-width: 640px) {
    .home-characters__grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px 10px; }
    .work-character-strip { grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px 10px; }
    .character-archive-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:26px 10px; }
    .character-work-filter { justify-content:flex-start; overflow-x:auto; flex-wrap:nowrap; padding-bottom:13px; }
    .character-work-filter a { flex:0 0 auto; }
    .character-hero { min-height:520px; background-position:62% center; }
    .character-hero__veil { background:linear-gradient(0deg, rgba(5,9,18,.96) 0%, rgba(5,9,18,.72) 40%, rgba(5,9,18,.12) 75%); }
    .character-hero__inner { min-height:520px; align-items:flex-end; }
    .character-hero__copy { width:100%; padding:40px 0 34px; }
    .character-hero__copy h1 { font-size:48px; }
    .character-hero__english { font-size:17px; }
    .character-hero__copy blockquote { margin-top:17px; font-size:16px; }
    .character-single__body { padding-top:24px; }
    .character-profile__heading h2 { font-size:23px; }
    .character-profile__facts > div { grid-template-columns:76px minmax(0,1fr); }
    .character-gallery__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .character-media__grid { grid-template-columns:1fr; }
    .character-section-heading { align-items:flex-start; }
    .character-card__meta small { display:none; }
}


/* =========================================================
   v0.4.36 — Compact character detail
   ========================================================= */
.character-single--compact .character-single__body {
    padding-top: 34px;
}

.character-single--compact .character-profile {
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
    gap: 52px;
    align-items: start;
}

.character-single--compact .character-profile__visual {
    min-height: 0;
    background: transparent;
}

.character-single--compact .character-profile__visual img {
    width: 100%;
    max-height: 650px;
    object-fit: contain;
}

.character-single--compact .character-profile__heading {
    margin-bottom: 22px;
}

.character-single--compact .character-profile__heading h1 {
    margin: 5px 0 1px;
    font-family: var(--serif);
    font-size: clamp(28px, 3vw, 38px);
    font-weight: 400;
    line-height: 1.25;
    letter-spacing: -.025em;
}

.character-profile__english {
    margin: 0;
    color: #5d5751;
    font-family: var(--serif);
    font-size: 17px;
    line-height: 1.5;
}

.character-profile__work {
    width: max-content;
    max-width: 100%;
    margin-top: 15px;
    padding: 7px 10px;
    display: grid;
    grid-template-columns: 54px minmax(0, 1fr) 18px;
    align-items: center;
    gap: 10px;
    overflow: hidden;
    background: #0d1220;
    color: #fff;
    text-decoration: none;
    transition: background-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.character-profile__work:hover,
.character-profile__work:focus-visible {
    background: var(--accent);
    box-shadow: 0 8px 22px rgba(20, 22, 24, .16);
    color: #fff;
    outline: none;
    transform: translateY(-2px);
}

.character-profile__work img {
    width: 54px;
    height: 34px;
    display: block;
    object-fit: cover;
    transition: transform .25s ease;
}

.character-profile__work:hover img,
.character-profile__work:focus-visible img {
    transform: scale(1.045);
}

.character-profile__work span {
    overflow: hidden;
    font-size: 10px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.character-profile__work b {
    font-weight: 400;
    transition: transform .2s ease;
}

.character-profile__work:hover b,
.character-profile__work:focus-visible b {
    transform: translateX(3px);
}

.character-single--compact .character-profile__facts {
    margin-bottom: 18px;
}

.character-single--compact .character-profile__lead {
    margin-bottom: 12px;
    font-size: 15px;
    line-height: 1.72;
}

.character-single--compact .character-profile__content {
    font-size: 12px;
    line-height: 1.82;
}

.character-single--compact .character-detail-section {
    margin-top: 50px;
}

.character-single--compact .character-gallery__grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
}

.character-single--compact .character-gallery__item {
    aspect-ratio: 1 / 1;
}

.character-single--compact .character-media__grid {
    display: flex;
    flex-wrap: nowrap;
    align-items: flex-start;
    gap: 12px;
    overflow-x: auto;
    padding-bottom: 2px;
}

.character-single--compact .character-media-card {
    flex: 0 0 min(280px, 34vw);
    min-width: 220px;
}

.character-single--compact .character-media-card--wide {
    flex-basis: min(460px, 52vw);
}

.character-single--compact .character-media-card__frame {
    aspect-ratio: 9 / 16;
}

.character-single--compact .character-media-card--wide .character-media-card__frame {
    aspect-ratio: 16 / 9;
}

.character-single--compact .character-social-actions {
    margin-top: 42px;
    padding: 19px 0 20px;
    display: grid;
    grid-template-columns: minmax(180px, .55fr) minmax(0, 1.45fr);
    align-items: start;
    gap: 32px;
}

.character-single--compact .character-social-actions__group {
    min-width: 0;
}

.character-single--compact .character-social-actions__group--share {
    justify-self: end;
}

.character-single--compact .character-social-actions__label {
    min-height: 12px;
    margin: 0 0 9px;
    line-height: 12px;
}

.character-single--compact .manyassi-like-wrap,
.character-single--compact .manyassi-share-wrap {
    margin: 0;
}

.character-single--compact .manyassi-share-heading {
    display: none;
}

.character-single--compact .manyassi-share-actions {
    justify-content: flex-end;
}

.character-single--compact .manyassi-share-message {
    min-height: 0;
    margin-top: 7px;
}

@media (max-width: 899px) {
    .character-single--compact .character-profile {
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .character-single--compact .character-profile__visual {
        width: min(620px, 100%);
        margin-inline: auto;
    }

    .character-single--compact .character-gallery__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .character-single--compact .character-social-actions {
        grid-template-columns: 1fr;
        gap: 22px;
    }

    .character-single--compact .character-social-actions__group--share {
        justify-self: stretch;
    }

    .character-single--compact .manyassi-share-actions {
        justify-content: flex-start;
    }
}

@media (max-width: 640px) {
    .character-single--compact .character-single__body {
        padding-top: 24px;
    }

    .character-single--compact .character-profile__heading h1 {
        font-size: 28px;
    }

    .character-profile__english {
        font-size: 15px;
    }

    .character-single--compact .character-detail-section {
        margin-top: 38px;
    }

    .character-single--compact .character-media-card {
        flex-basis: min(250px, 78vw);
        min-width: min(250px, 78vw);
    }

    .character-single--compact .character-media-card--wide {
        flex-basis: min(320px, 86vw);
        min-width: min(320px, 86vw);
    }
}

/* =========================================================
   v0.4.38 — Character intro readability
   ========================================================= */
.character-single--compact .character-profile__lead {
    font-size: 16px;
    line-height: 1.78;
}

.character-single--compact .character-profile__content {
    font-size: 14px;
    line-height: 1.9;
}

@media (max-width: 640px) {
    .character-single--compact .character-profile__lead {
        font-size: 15.5px;
        line-height: 1.78;
    }

    .character-single--compact .character-profile__content {
        font-size: 13.5px;
        line-height: 1.9;
    }
}

/* =========================================================
   v0.4.39 — Character archive return button
   ========================================================= */
.character-single--compact .character-single__back {
    margin: 0 0 18px;
    display: flex;
    justify-content: flex-end;
}

.character-single--compact .character-single__back a {
    min-height: 34px;
    padding: 7px 12px;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    border: 1px solid rgba(20,22,24,.14);
    background: transparent;
    color: #68615a;
    font-size: 10px;
    letter-spacing: .02em;
    text-decoration: none;
    transition: border-color .2s ease, color .2s ease, background-color .2s ease, transform .2s ease;
}

.character-single--compact .character-single__back a:hover,
.character-single--compact .character-single__back a:focus-visible {
    border-color: var(--accent);
    background: rgba(157,39,53,.045);
    color: var(--accent);
    outline: none;
    transform: translateX(-2px);
}

.character-single--compact .character-single__back a span:first-child {
    font-size: 15px;
    line-height: 1;
}

@media (max-width: 640px) {
    .character-single--compact .character-single__back {
        margin-bottom: 14px;
        justify-content: flex-start;
    }

    .character-single--compact .character-single__back a {
        min-height: 32px;
        padding: 6px 10px;
        font-size: 10px;
    }
}

/* =========================================================
   v0.4.40 — Character detail section header
   ========================================================= */
.character-single--compact .character-single__topbar {
    margin: 0 0 28px;
    padding: 0 0 14px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    border-bottom: 1px solid rgba(20,22,24,.14);
}

.character-single--compact .character-single__section-title {
    margin: 0;
    color: var(--ink);
    font-family: var(--serif);
    font-size: 28px;
    font-weight: 400;
    line-height: 1.2;
    letter-spacing: -.025em;
}

.character-single--compact .character-single__back {
    margin: 0;
    flex: 0 0 auto;
    justify-content: flex-end;
}

@media (max-width: 640px) {
    .character-single--compact .character-single__topbar {
        margin-bottom: 22px;
        padding-bottom: 12px;
        gap: 12px;
    }

    .character-single--compact .character-single__section-title {
        font-size: 24px;
    }

    .character-single--compact .character-single__back {
        margin: 0;
        justify-content: flex-end;
    }
}

/* =========================================================
   v0.4.41 — HOME full-width Gallery/Media + detail cleanup
   ========================================================= */
.home-bottom .home-bottom__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 56px;
}

.home-bottom .home-gallery__grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}

.home-bottom .home-media__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
    max-width: none;
    gap: 16px;
}

.home-bottom .home-media-card {
    min-width: 0;
}

/* Character detail headings are intentionally concise. */
.character-single--compact .character-profile__heading > .eyebrow,
.character-single--compact .character-section-heading p {
    display: none;
}

@media (max-width: 720px) {
    .home-bottom .home-bottom__grid {
        gap: 44px;
    }

    .home-bottom .home-gallery__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 7px;
    }

    .home-bottom .home-media__grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }
}

/* =========================================================
   v0.4.43 — Navigation typography + external link buttons
   ========================================================= */
.primary-navigation a,
.footer-navigation a {
    position: relative;
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    font-family: var(--sans);
    font-size: 13px;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: .015em;
    transition: color .2s ease, transform .2s ease, opacity .2s ease;
}

.primary-navigation a::after,
.footer-navigation a::after {
    content: '';
    position: absolute;
    right: 0;
    bottom: 2px;
    left: 0;
    height: 2px;
    background: #c7444f;
    transform: scaleX(0);
    transform-origin: center;
    transition: transform .22s ease;
}

.primary-navigation a:hover,
.primary-navigation a:focus-visible,
.primary-navigation .current-menu-item > a,
.footer-navigation a:hover,
.footer-navigation a:focus-visible,
.footer-navigation .current-menu-item > a {
    color: #fff;
    transform: translateY(-1px);
    outline: none;
}

.primary-navigation a:hover::after,
.primary-navigation a:focus-visible::after,
.primary-navigation .current-menu-item > a::after,
.footer-navigation a:hover::after,
.footer-navigation a:focus-visible::after,
.footer-navigation .current-menu-item > a::after {
    transform: scaleX(1);
}

.footer-navigation a {
    color: rgba(255,255,255,.78);
}

/* External / quick links: make them visibly actionable. */
.site-external-links {
    padding: 14px 0;
}

.site-external-links__inner {
    min-height: 0;
    padding-block: 0;
}

.site-external-links__inner > .menu,
.external-links-menu {
    gap: 9px;
}

.external-links-menu .menu-item + .menu-item::before {
    content: none;
}

.site-external-links .external-links-menu a,
.site-external-links__inner > .menu a {
    min-height: 36px;
    padding: 8px 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(20,22,24,.18);
    background: rgba(255,255,255,.44);
    color: #514b45;
    font-family: var(--sans);
    font-size: 11px;
    font-weight: 550;
    line-height: 1.35;
    letter-spacing: .01em;
    text-decoration: none;
    transition: color .2s ease, background-color .2s ease, border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}

.site-external-links .external-links-menu a:hover,
.site-external-links .external-links-menu a:focus-visible,
.site-external-links__inner > .menu a:hover,
.site-external-links__inner > .menu a:focus-visible {
    border-color: var(--dark);
    background: var(--dark);
    color: #fff;
    box-shadow: 0 7px 18px rgba(11,18,32,.10);
    transform: translateY(-2px);
    outline: none;
}

@media (max-width: 640px) {
    .primary-navigation a,
    .footer-navigation a {
        font-family: var(--sans);
        font-weight: 600;
        letter-spacing: .01em;
    }

    .site-external-links {
        padding: 12px 0;
    }

    .site-external-links__inner > .menu,
    .external-links-menu {
        width: 100%;
        gap: 7px;
    }

    .site-external-links .external-links-menu .menu-item,
    .site-external-links__inner > .menu .menu-item {
        width: min(100%, 340px);
    }

    .site-external-links .external-links-menu a,
    .site-external-links__inner > .menu a {
        width: 100%;
        min-height: 38px;
        padding: 9px 12px;
    }
}

/* =========================================================
   v0.4.44 — Work detail unified comments
   ========================================================= */
.work-comments {
    margin-top: 58px;
    padding-top: 4px;
}

.work-comments__heading {
    margin-bottom: 0;
}

.work-comments__count {
    flex: 0 0 auto;
    color: #918980;
    font-size: 10px;
    letter-spacing: .04em;
}

.work-comments__area {
    padding-top: 18px;
}

.work-comments__guide {
    margin: 0 0 18px;
    color: #938a82;
    font-size: 11px;
    line-height: 1.7;
}

.work-comments__empty {
    margin: 0;
    padding: 22px 0 26px;
    border-top: 1px solid rgba(20,22,24,.08);
    color: #8f877f;
    font-size: 12px;
}

.work-comments__form {
    margin-top: 34px;
    padding-top: 28px;
    border-top: 1px solid rgba(20,22,24,.10);
}

.work-comments__form .comment-form {
    margin-top: 18px;
}

.manyassi-comment__meta {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    gap: 3px 8px;
}

.manyassi-comment__author {
    flex-basis: 100%;
}

.manyassi-comment__source {
    max-width: min(100%, 360px);
    padding: 3px 8px;
    overflow: hidden;
    border: 1px solid rgba(20,22,24,.10);
    border-radius: 999px;
    color: #8b8179;
    font-size: 9px;
    line-height: 1.25;
    text-decoration: none;
    text-overflow: ellipsis;
    white-space: nowrap;
    transition: border-color .18s ease, color .18s ease, background .18s ease;
}

.manyassi-comment__source:hover,
.manyassi-comment__source:focus-visible {
    border-color: rgba(157,39,53,.28);
    background: rgba(157,39,53,.035);
    color: var(--accent);
    outline: none;
}

@media (max-width: 640px) {
    .work-comments {
        margin-top: 44px;
    }

    .work-comments__area {
        padding-top: 14px;
    }

    .work-comments__guide {
        font-size: 10.5px;
    }

    .manyassi-comment__source {
        max-width: 210px;
    }
}

/* =========================================================
   v0.4.45 — Work detail LIKE / SHARE rows
   ========================================================= */
.single-manyassi_work .work-social-actions {
    margin-top: 52px;
    padding: 0;
    border-top: 1px solid rgba(20,22,24,.13);
}

.single-manyassi_work .work-social-row {
    min-height: 72px;
    display: grid;
    grid-template-columns: 92px minmax(0,1fr);
    align-items: center;
    gap: 22px;
    padding: 16px 0;
    border-bottom: 1px solid rgba(20,22,24,.13);
}

.single-manyassi_work .work-social-row__label {
    color: #a1968b;
    font-size: 8px;
    line-height: 1;
    letter-spacing: .18em;
}

.single-manyassi_work .work-social-row__content {
    min-width: 0;
}

.single-manyassi_work .work-social-row .manyassi-like-wrap,
.single-manyassi_work .work-social-row .manyassi-share-wrap {
    margin: 0;
}

.single-manyassi_work .work-social-row .manyassi-share-heading {
    display: none;
}

.single-manyassi_work .work-social-row .manyassi-share-actions {
    justify-content: flex-start;
}

.single-manyassi_work .work-social-row .manyassi-share-message {
    min-height: 0;
    margin-top: 7px;
}

@media (max-width: 640px) {
    .single-manyassi_work .work-social-actions {
        margin-top: 40px;
    }

    .single-manyassi_work .work-social-row {
        min-height: 0;
        grid-template-columns: 1fr;
        gap: 10px;
        padding: 17px 0 18px;
    }

    .single-manyassi_work .work-social-row__label {
        font-size: 8px;
    }
}

/* =========================================================
   v0.4.46 — HOME vertical rhythm + work profile social rows
   ========================================================= */
/* HOME: keep every major content block on one consistent vertical rhythm. */
.home-main > .home-section {
    padding-top: 48px;
    padding-bottom: 48px;
}

.home-main > .home-characters {
    padding-top: 48px;
    padding-bottom: 48px;
}

.home-main > .home-bottom {
    padding-top: 48px;
    padding-bottom: 52px;
}

.home-bottom .home-bottom__grid {
    gap: 48px;
}

.home-main .section-heading,
.home-main .section-heading--compact {
    margin-bottom: 22px;
}

/* Work detail: LIKE / SHARE belong to the end of the left information rail. */
.single-manyassi_work .work-profile-social {
    margin-top: 26px;
    border-top: 1px solid rgba(20,22,24,.13);
}

.single-manyassi_work .work-profile-social__row {
    min-height: 58px;
    display: grid;
    grid-template-columns: 52px minmax(0,1fr);
    align-items: center;
    gap: 12px;
    padding: 13px 0;
    border-bottom: 1px solid rgba(20,22,24,.13);
}

.single-manyassi_work .work-profile-social__label {
    align-self: start;
    padding-top: 10px;
    color: #a1968b;
    font-size: 8px;
    line-height: 1;
    letter-spacing: .18em;
}

.single-manyassi_work .work-profile-social__content {
    min-width: 0;
}

.single-manyassi_work .work-profile-social .manyassi-like-wrap,
.single-manyassi_work .work-profile-social .manyassi-share-wrap {
    margin: 0;
}

.single-manyassi_work .work-profile-social .manyassi-share-heading {
    display: none;
}

.single-manyassi_work .work-profile-social .manyassi-share-actions {
    justify-content: flex-start;
    gap: 6px;
}

.single-manyassi_work .work-profile-social .manyassi-share-button {
    min-height: 30px;
    padding: 6px 8px;
    border-radius: 0;
    font-size: 10px;
}

.single-manyassi_work .work-profile-social .manyassi-like-button {
    min-height: 34px;
    padding: 7px 10px;
    border-radius: 999px;
    font-size: 11px;
}

.single-manyassi_work .work-profile-social .manyassi-share-message,
.single-manyassi_work .work-profile-social .manyassi-like-message {
    font-size: 9px;
}

@media (max-width: 899px) {
    .home-main > .home-section,
    .home-main > .home-characters,
    .home-main > .home-bottom {
        padding-top: 42px;
        padding-bottom: 42px;
    }

    .home-bottom .home-bottom__grid {
        gap: 42px;
    }
}

@media (max-width: 640px) {
    .home-main > .home-section,
    .home-main > .home-characters,
    .home-main > .home-bottom {
        padding-top: 36px;
        padding-bottom: 36px;
    }

    .home-bottom .home-bottom__grid {
        gap: 36px;
    }

    .home-main .section-heading,
    .home-main .section-heading--compact {
        margin-bottom: 18px;
    }

    .single-manyassi_work .work-profile-social {
        margin-top: 22px;
    }

    .single-manyassi_work .work-profile-social__row {
        grid-template-columns: 46px minmax(0,1fr);
        gap: 10px;
        padding: 12px 0;
    }

    .single-manyassi_work .work-profile-social__label {
        padding-top: 9px;
    }
}

/* =========================================================
   v0.4.47 — Work social actions: pin to left profile rail
   ========================================================= */
.single-manyassi_work .work-profile-card__facts + .work-profile-social,
.single-manyassi_work .work-profile-card__body > .work-profile-social {
    width: 100%;
    margin-top: 18px;
    clear: both;
}

/* A v0.4.45 page cached by PHP/opcache may still contain the old block in
   the right content rail. JS relocates it; until then, never show it there. */
.single-manyassi_work .work-hub__content > .work-social-actions {
    display: none !important;
}

/* Once the legacy block is moved into the profile rail, make it use the
   same compact left-column presentation even before class normalization. */
.single-manyassi_work .work-profile-card__body > .work-social-actions {
    display: block !important;
    width: 100%;
    margin: 18px 0 0;
    border-top: 1px solid rgba(20,22,24,.13);
}

.single-manyassi_work .work-profile-card__body > .work-social-actions .work-social-row {
    min-height: 58px;
    display: grid;
    grid-template-columns: 52px minmax(0,1fr);
    align-items: center;
    gap: 12px;
    padding: 13px 0;
    border-bottom: 1px solid rgba(20,22,24,.13);
}

.single-manyassi_work .work-profile-card__body > .work-social-actions .work-social-row__label {
    align-self: start;
    padding-top: 10px;
    color: #a1968b;
    font-size: 8px;
    line-height: 1;
    letter-spacing: .18em;
}

.single-manyassi_work .work-profile-card__body > .work-social-actions .manyassi-share-heading {
    display: none;
}

.single-manyassi_work .work-profile-card__body > .work-social-actions .manyassi-share-actions {
    justify-content: flex-start;
    gap: 6px;
}

.single-manyassi_work .work-profile-card__body > .work-social-actions .manyassi-like-wrap,
.single-manyassi_work .work-profile-card__body > .work-social-actions .manyassi-share-wrap {
    margin: 0;
}

@media (max-width: 640px) {
    .single-manyassi_work .work-profile-card__facts + .work-profile-social,
    .single-manyassi_work .work-profile-card__body > .work-profile-social,
    .single-manyassi_work .work-profile-card__body > .work-social-actions {
        margin-top: 16px;
    }
}

/* =========================================================
   v0.4.48 — HOME HERO video backgrounds
   ========================================================= */
.home-hero-slide.has-video .home-hero-slide__background {
    z-index: -4;
}

.home-hero-slide__video {
    position: absolute;
    inset: 0;
    z-index: -3;
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: center;
    pointer-events: none;
    background: #101928;
}

.home-hero-slide__video--mobile {
    display: none;
}

@media (max-width: 640px) {
    .home-hero-slide__video--desktop.has-mobile-video {
        display: none;
    }

    .home-hero-slide__video--mobile {
        display: block;
    }
}

@media (prefers-reduced-motion: reduce) {
    .home-hero-slide__video {
        display: none;
    }
}

/* =========================================================
   v0.4.49 — Footer popular tags + public all-tags index
   ========================================================= */
.site-footer-tags {
    padding: 34px 0 30px;
    border-top: 1px solid rgba(20,22,24,.08);
    background: #fbfaf7;
}

.site-footer-tags__inner {
    display: grid;
    gap: 18px;
}

.site-footer-tags__heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    padding-bottom: 12px;
    border-bottom: 1px solid rgba(20,22,24,.13);
}

.site-footer-tags__heading .eyebrow {
    margin: 0 0 4px;
    color: #9a8f84;
    font-size: 8px;
    letter-spacing: .17em;
}

.site-footer-tags__heading h2 {
    margin: 0;
    font-family: var(--serif);
    font-size: 24px;
    font-weight: 400;
    line-height: 1;
}

.site-footer-tags__more {
    flex: 0 0 auto;
    color: #514b45;
    font-family: var(--sans);
    font-size: 10px;
    font-weight: 600;
    text-decoration: none;
    transition: color .2s ease, transform .2s ease;
}

.site-footer-tags__more:hover,
.site-footer-tags__more:focus-visible {
    color: var(--accent);
    transform: translateX(2px);
    outline: none;
}

.site-footer-tags__list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.site-footer-tag {
    min-height: 32px;
    padding: 7px 11px;
    display: inline-flex;
    align-items: center;
    border: 1px solid rgba(20,22,24,.12);
    background: rgba(255,255,255,.56);
    color: #5b554f;
    font-family: var(--sans);
    font-size: 10px;
    line-height: 1.25;
    text-decoration: none;
    transition: color .18s ease, background-color .18s ease, border-color .18s ease, transform .18s ease;
}

.site-footer-tag:hover,
.site-footer-tag:focus-visible {
    border-color: var(--dark);
    background: var(--dark);
    color: #fff;
    transform: translateY(-1px);
    outline: none;
}

.site-footer-tags__empty {
    margin: 0;
    color: var(--muted);
    font-size: 11px;
}

.tags-index {
    background: #fbfaf7;
}

.tags-index__hero {
    padding: 72px 0 34px;
    border-bottom: 1px solid rgba(20,22,24,.11);
}

.tags-index__hero .eyebrow {
    margin: 0 0 10px;
    color: #9a8f84;
    font-size: 8px;
    letter-spacing: .18em;
}

.tags-index__title-row {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 32px;
}

.tags-index__title-row h1 {
    margin: 0;
    font-family: var(--serif);
    font-size: clamp(38px, 5vw, 64px);
    font-weight: 400;
    line-height: .95;
    letter-spacing: -.025em;
}

.tags-index__title-row p {
    max-width: 420px;
    margin: 0 0 3px;
    color: #756d66;
    font-size: 12px;
    line-height: 1.65;
    text-align: right;
}

.tags-index__content {
    padding: 38px 0 78px;
}

.tags-index__meta {
    margin-bottom: 16px;
    display: flex;
    align-items: center;
    gap: 8px;
    color: #9a8f84;
    font-size: 9px;
    letter-spacing: .14em;
}

.tags-index__meta strong {
    color: var(--accent);
    font-size: 11px;
    letter-spacing: normal;
}

.tags-index__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0,1fr));
    border-top: 1px solid rgba(20,22,24,.13);
    border-left: 1px solid rgba(20,22,24,.13);
}

.tags-index__item {
    min-width: 0;
    min-height: 64px;
    padding: 15px 16px;
    display: grid;
    grid-template-columns: minmax(0,1fr) auto 16px;
    align-items: center;
    gap: 10px;
    border-right: 1px solid rgba(20,22,24,.13);
    border-bottom: 1px solid rgba(20,22,24,.13);
    color: inherit;
    text-decoration: none;
    transition: background-color .18s ease, color .18s ease;
}

.tags-index__name {
    overflow: hidden;
    font-family: var(--sans);
    font-size: 12px;
    font-weight: 550;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.tags-index__count {
    min-width: 22px;
    color: #a49a91;
    font-size: 9px;
    text-align: right;
}

.tags-index__arrow {
    color: #a49a91;
    font-size: 14px;
    transition: transform .18s ease;
}

.tags-index__item:hover,
.tags-index__item:focus-visible {
    background: #0a111d;
    color: #fff;
    outline: none;
}

.tags-index__item:hover .tags-index__count,
.tags-index__item:focus-visible .tags-index__count,
.tags-index__item:hover .tags-index__arrow,
.tags-index__item:focus-visible .tags-index__arrow {
    color: rgba(255,255,255,.62);
}

.tags-index__item:hover .tags-index__arrow,
.tags-index__item:focus-visible .tags-index__arrow {
    transform: translateX(2px);
}

.single-manyassi_episode .site-footer-tags {
    display: none !important;
}

@media (max-width: 899px) {
    .tags-index__grid {
        grid-template-columns: repeat(3, minmax(0,1fr));
    }
}

@media (max-width: 640px) {
    .site-footer-tags {
        padding: 28px 0 24px;
    }

    .site-footer-tags__heading {
        align-items: center;
    }

    .site-footer-tags__heading h2 {
        font-size: 21px;
    }

    .site-footer-tags__list {
        gap: 6px;
    }

    .site-footer-tag {
        min-height: 30px;
        padding: 6px 9px;
        font-size: 9.5px;
    }

    .tags-index__hero {
        padding: 48px 0 26px;
    }

    .tags-index__title-row {
        display: block;
    }

    .tags-index__title-row p {
        margin-top: 14px;
        text-align: left;
    }

    .tags-index__content {
        padding: 28px 0 56px;
    }

    .tags-index__grid {
        grid-template-columns: repeat(2, minmax(0,1fr));
    }

    .tags-index__item {
        min-height: 58px;
        padding: 13px 12px;
        grid-template-columns: minmax(0,1fr) auto;
    }

    .tags-index__arrow {
        display: none;
    }
}

/* =========================================================
   v0.4.50 — Compact footer tags + clean tag archive heading
   ========================================================= */
.site-footer-tags {
    padding: 18px 0 17px;
}

.site-footer-tags__inner {
    gap: 9px;
}

.site-footer-tags__heading {
    align-items: center;
    gap: 18px;
    padding-bottom: 7px;
}

.site-footer-tags__heading .eyebrow {
    display: none;
}

.site-footer-tags__heading h2 {
    font-family: var(--serif);
    font-size: 17px;
    line-height: 1.1;
}

.site-footer-tags__more {
    font-size: 9px;
}

.site-footer-tags__list {
    gap: 4px 14px;
    align-items: center;
}

.site-footer-tag {
    min-height: 0;
    padding: 2px 0;
    border: 0;
    background: transparent;
    color: #6f675f;
    font-size: 9.5px;
    line-height: 1.45;
    transition: color .18s ease;
}

.site-footer-tag:hover,
.site-footer-tag:focus-visible {
    border-color: transparent;
    background: transparent;
    color: var(--accent);
    transform: none;
    outline: none;
}

.page-heading--tag .eyebrow {
    color: #9a8f84;
}

.page-heading--tag h1 {
    text-transform: none;
}

@media (max-width: 640px) {
    .site-footer-tags {
        padding: 15px 0 14px;
    }

    .site-footer-tags__heading {
        padding-bottom: 6px;
    }

    .site-footer-tags__heading h2 {
        font-size: 16px;
    }

    .site-footer-tags__list {
        gap: 3px 11px;
    }

    .site-footer-tag {
        min-height: 0;
        padding: 2px 0;
        font-size: 9px;
    }
}

/* =========================================================
   v0.4.51 — Two-column compact footer tags
   ========================================================= */
.site-footer-tags {
    padding: 13px 0 12px;
}

.site-footer-tags__inner {
    grid-template-columns: 92px minmax(0, 1fr);
    gap: 18px;
    align-items: center;
}

.site-footer-tags__heading {
    height: 100%;
    min-height: 48px;
    padding: 1px 16px 1px 0;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 4px;
    border-right: 1px solid rgba(20,22,24,.12);
    border-bottom: 0;
}

.site-footer-tags__heading h2 {
    font-size: 21px;
    line-height: 1;
}

.site-footer-tags__more {
    font-size: 9px;
    line-height: 1.25;
}

.site-footer-tags__list {
    align-content: center;
    gap: 3px 14px;
    min-width: 0;
}

.site-footer-tag {
    padding: 1px 0;
    font-size: 9.5px;
    line-height: 1.35;
    white-space: nowrap;
}

@media (max-width: 760px) {
    .site-footer-tags {
        padding: 13px 0 12px;
    }

    .site-footer-tags__inner {
        grid-template-columns: 1fr;
        gap: 8px;
    }

    .site-footer-tags__heading {
        min-height: 0;
        padding: 0 0 7px;
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
        border-right: 0;
        border-bottom: 1px solid rgba(20,22,24,.10);
    }

    .site-footer-tags__heading h2 {
        font-size: 17px;
    }

    .site-footer-tags__list {
        gap: 3px 11px;
    }

    .site-footer-tag {
        font-size: 9px;
        white-space: normal;
    }
}

/* =========================================================
   v0.4.52 — About private contact form
   ========================================================= */
.about-contact--form {
    width: min(820px, 100%);
    text-align: left;
}

.about-contact--form > .eyebrow,
.about-contact--form > h2,
.about-contact--form > p {
    text-align: center;
}

.about-contact__form {
    margin-top: 34px;
}

.about-contact__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.about-contact__field {
    margin-bottom: 18px;
    display: grid;
    gap: 8px;
}

.about-contact__field > span {
    color: #7c736b;
    font-size: 10px;
    letter-spacing: .08em;
}

.about-contact__field > span b {
    color: var(--accent);
    font-weight: 500;
}

.about-contact__field input,
.about-contact__field select,
.about-contact__field textarea {
    width: 100%;
    box-sizing: border-box;
    border: 1px solid rgba(20,22,24,.16);
    border-radius: 0;
    background: rgba(255,255,255,.46);
    color: var(--ink);
    font: inherit;
    font-size: 13px;
    outline: none;
    transition: border-color .18s ease, background .18s ease, box-shadow .18s ease;
}

.about-contact__field input,
.about-contact__field select {
    min-height: 46px;
    padding: 0 14px;
}

.about-contact__field textarea {
    min-height: 180px;
    padding: 13px 14px;
    line-height: 1.75;
    resize: vertical;
}

.about-contact__field input:focus,
.about-contact__field select:focus,
.about-contact__field textarea:focus {
    border-color: rgba(157,39,53,.62);
    background: #fff;
    box-shadow: 0 0 0 2px rgba(157,39,53,.05);
}

.about-contact__submit-row {
    padding-top: 3px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 22px;
}

.about-contact__submit-row p {
    margin: 0;
    color: #978e86;
    font-size: 10px;
    line-height: 1.6;
}

.about-contact__submit {
    min-width: 160px;
    min-height: 46px;
    padding: 0 20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 18px;
    border: 1px solid #0b1220;
    background: #0b1220;
    color: #fff;
    font: inherit;
    font-size: 11px;
    cursor: pointer;
    transition: background .18s ease, border-color .18s ease, transform .18s ease;
}

.about-contact__submit:hover,
.about-contact__submit:focus-visible {
    border-color: var(--accent);
    background: var(--accent);
    transform: translateY(-1px);
    outline: none;
}

.about-contact__notice {
    margin: 28px 0 0;
    padding: 13px 16px;
    border: 1px solid rgba(20,22,24,.12);
    background: rgba(255,255,255,.48);
    font-size: 12px;
    text-align: center;
}

.about-contact__notice.is-success {
    border-color: rgba(72,117,87,.26);
    color: #3e7250;
}

.about-contact__notice.is-error {
    border-color: rgba(157,39,53,.22);
    color: var(--accent);
}

.about-contact__honeypot {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    clip-path: inset(50%) !important;
    white-space: nowrap !important;
}

@media (max-width: 640px) {
    .about-contact--form {
        margin-top: 54px;
        padding-top: 34px;
    }

    .about-contact__grid {
        grid-template-columns: 1fr;
        gap: 0;
    }

    .about-contact__submit-row {
        align-items: stretch;
        flex-direction: column;
        gap: 14px;
    }

    .about-contact__submit {
        width: 100%;
    }
}

