:root {
    color-scheme: dark;
    --background: #06100d;
    --surface: #0d1b17;
    --surface-strong: #111f1a;
    --text: #f1ede3;
    --muted: #a9b4aa;
    --line: #2c3e35;
    --accent: #c6a15b;
    --accent-dark: #e0c27b;
    --paper: #eee6d5;
    --paper-text: #221f19;
    --paper-muted: #6c604f;
    --paper-line: #cfc1a9;
    --focus: #d7b75f;
}

* {
    box-sizing: border-box;
}

body {
    margin: 0;
    background: var(--background);
    color: var(--text);
    font-family: Georgia, "Times New Roman", serif;
    line-height: 1.6;
}

a {
    color: var(--accent);
    text-decoration-thickness: 1px;
    text-underline-offset: 0.18em;
}

a:hover {
    color: var(--accent-dark);
}

a:focus,
button:focus,
input:focus,
select:focus,
textarea:focus {
    outline: 3px solid var(--focus);
    outline-offset: 2px;
}

.skip-link {
    position: absolute;
    left: -999px;
    top: 1rem;
    background: var(--paper);
    color: var(--paper-text);
    padding: 0.5rem 0.75rem;
    z-index: 10;
}

.skip-link:focus {
    left: 1rem;
}

.site-shell {
    width: min(1080px, calc(100% - 2rem));
    margin: 0 auto;
}

.visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
}

.site-header {
    border-bottom: 1px solid #584829;
    background: #030706;
}

.site-header .site-shell {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
    padding: 1rem 0;
}

.site-brand {
    align-items: center;
    color: var(--text);
    display: grid;
    gap: 0.75rem;
    grid-template-columns: 3rem minmax(0, 1fr);
    text-decoration: none;
}

.site-brand-icon {
    display: block;
    height: 3rem;
    object-fit: contain;
    width: 3rem;
}

.site-brand-text {
    display: grid;
    min-width: 0;
}

.site-name {
    font-size: 1.1rem;
    font-weight: 700;
    letter-spacing: 0;
    text-transform: uppercase;
}

.site-subtitle {
    color: var(--muted);
    font-size: 0.9rem;
}

.site-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 0.8rem;
    font-family: system-ui, sans-serif;
    font-size: 0.95rem;
}

.site-nav a {
    color: var(--muted);
    text-decoration: none;
}

.site-nav a:hover {
    color: var(--accent-dark);
}

main.site-shell {
    padding: 2.5rem 0;
}

.home-intro {
    border-bottom: 1px solid var(--line);
    margin-bottom: 1.5rem;
    max-width: 760px;
    padding-bottom: 1.2rem;
}

.home-intro p {
    color: var(--text);
    font-size: clamp(1.25rem, 3vw, 1.75rem);
    line-height: 1.35;
    margin: 0;
}

.intro {
    max-width: 760px;
    padding: 1.5rem 0 0.5rem;
}

.eyebrow {
    color: var(--muted);
    font-family: system-ui, sans-serif;
    margin: 0 0 0.5rem;
}

h1,
h2 {
    line-height: 1.2;
}

h1 {
    font-size: clamp(2rem, 6vw, 4rem);
    margin: 0 0 1rem;
}

h1,
h2,
h3 {
    font-weight: 700;
}

.notice,
.admin-panel {
    max-width: 760px;
    margin-top: 2rem;
    padding-top: 1.5rem;
    border-top: 1px solid var(--line);
}

.page-header {
    max-width: 780px;
    margin-bottom: 2rem;
}

.page-header h1 {
    margin-bottom: 0.5rem;
}

.page-header p {
    color: var(--muted);
}

.summary {
    color: var(--muted);
    font-size: 1.1rem;
}

.item-list {
    display: grid;
    gap: 1rem;
    max-width: 900px;
}

.list-item {
    background:
        linear-gradient(90deg, rgb(198 161 91 / 0.16), transparent 42%),
        var(--surface);
    border: 1px solid var(--line);
    border-left: 3px solid var(--accent);
    padding: 1rem 1.1rem;
}

.list-item p {
    color: var(--muted);
    margin: 0.35rem 0 0;
}

.list-item h2 {
    font-size: clamp(1.25rem, 3vw, 1.7rem);
    margin: 0.25rem 0 0;
}

.list-item h3 {
    font-size: 1.25rem;
    line-height: 1.25;
    margin: 0.2rem 0 0.5rem;
}

.list-item h2 a,
.list-item h3 a,
.plain-list a {
    color: var(--text);
    text-decoration: none;
}

.list-item:hover {
    border-color: #4d604f;
}

.item-list.compact {
    gap: 0.75rem;
}

.item-meta {
    color: var(--accent-dark);
    font-family: system-ui, sans-serif;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    margin: 0;
    text-transform: uppercase;
}

.home-grid,
.term-list,
.two-column {
    display: grid;
    gap: 1rem;
}

.home-grid {
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    margin: 0 0 2.5rem;
}

.home-link {
    background: var(--surface);
    border: 1px solid var(--line);
    border-top: 3px solid var(--accent);
    color: var(--text);
    display: grid;
    gap: 0.15rem;
    font-family: system-ui, sans-serif;
    min-height: 7rem;
    padding: 1rem;
    text-decoration: none;
}

.home-link:hover {
    background: var(--surface-strong);
    color: var(--text);
}

.home-link-mark {
    color: var(--accent);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.7rem;
    line-height: 1;
}

.home-link strong {
    color: var(--accent);
    font-size: 1rem;
    font-weight: 600;
}

.home-featured {
    border-bottom: 1px solid var(--line);
    border-top: 1px solid var(--line);
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    margin-bottom: 2.5rem;
    padding: 1.2rem 0;
}

.featured-work {
    background: var(--surface);
    border-left: 3px solid var(--accent);
    padding: 1rem;
}

.featured-work h2 {
    font-size: clamp(1.4rem, 3vw, 2rem);
    margin: 0.3rem 0 0.6rem;
}

.featured-work h2 a {
    color: var(--text);
    text-decoration: none;
}

.featured-work p {
    color: var(--muted);
}

.featured-book {
    align-items: start;
    display: grid;
    gap: 1rem;
    grid-template-columns: 92px minmax(0, 1fr);
}

.featured-book img {
    background: #030706;
    box-shadow: 0 10px 22px rgb(0 0 0 / 0.28);
    display: block;
    height: auto;
    width: 100%;
}

.browse-section {
    margin-top: 2.5rem;
}

.term-list {
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}

.term-list a {
    align-items: center;
    border-top: 1px solid var(--line);
    color: var(--text);
    display: flex;
    font-family: system-ui, sans-serif;
    justify-content: space-between;
    padding-top: 0.8rem;
    text-decoration: none;
}

.term-list a span:last-child {
    color: var(--muted);
}

.section-links {
    border-bottom: 1px solid var(--line);
    border-top: 1px solid var(--line);
    display: grid;
    gap: 0;
    grid-template-columns: repeat(auto-fit, minmax(185px, 1fr));
    margin: 0 0 2.5rem;
}

.section-links a {
    border-right: 1px solid var(--line);
    color: var(--text);
    display: grid;
    font-family: system-ui, sans-serif;
    gap: 0.2rem;
    padding: 0.9rem 1rem;
    text-decoration: none;
}

.section-links a:last-child {
    border-right: 0;
}

.section-links a:hover {
    background: var(--surface);
    color: var(--accent-dark);
}

.section-links small {
    color: var(--muted);
    font-size: 0.82rem;
    line-height: 1.35;
}

.section-link-mark {
    align-items: center;
    border: 1px solid #8f7640;
    color: var(--accent-dark);
    display: inline-flex;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 0.82rem;
    height: 1.65rem;
    justify-content: center;
    margin-bottom: 0.3rem;
    width: 1.65rem;
}

.two-column {
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}

.plain-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.plain-list li {
    border-top: 1px solid var(--line);
    padding: 0.55rem 0;
}

.home-columns {
    align-items: start;
    display: grid;
    gap: 3rem;
    grid-template-columns: minmax(0, 1fr) minmax(240px, 280px);
}

.story-column h2,
.book-sidebar h2 {
    border-bottom: 1px solid var(--line);
    color: var(--accent-dark);
    font-family: system-ui, sans-serif;
    font-size: 1rem;
    letter-spacing: 0.18em;
    margin: 0 0 1.5rem;
    padding-bottom: 0.7rem;
    text-transform: uppercase;
}

.story-list {
    display: grid;
    gap: 0;
}

.story-preview {
    border-bottom: 1px solid var(--line);
    padding: 1.65rem 0 2rem;
}

.story-preview:first-child {
    padding-top: 0;
}

.story-preview h2,
.story-preview h3 {
    font-size: clamp(1.55rem, 3vw, 2rem);
    line-height: 1.15;
    margin: 0.65rem 0;
}

.story-preview h2 a,
.story-preview h3 a,
.book-mini h3 a,
.book-card h2 a {
    color: var(--text);
    text-decoration: none;
}

.story-preview p {
    color: var(--muted);
    font-size: 1.08rem;
    margin: 0 0 1rem;
}

.story-meta {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0.85rem;
    font-family: system-ui, sans-serif;
    font-size: 0.85rem;
}

.category-pill {
    background: #1b2b25;
    border: 1px solid #8f7640;
    color: #dfc986;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    padding: 0.4rem 0.65rem;
}

.read-more {
    color: var(--accent-dark);
    font-family: system-ui, sans-serif;
    font-size: 0.9rem;
    font-weight: 700;
    text-decoration: none;
}

.book-sidebar {
    padding-bottom: 2rem;
}

.book-rail {
    display: grid;
    gap: 1.25rem;
}

.book-mini {
    align-items: center;
    display: grid;
    gap: 0.85rem;
    grid-template-columns: 60px minmax(0, 1fr);
}

.book-mini img,
.book-card img {
    background: #030706;
    box-shadow: 0 10px 22px rgb(0 0 0 / 0.28);
    display: block;
    height: auto;
    width: 100%;
}

.book-mini h3 {
    font-size: 1rem;
    line-height: 1.25;
    margin: 0;
}

.press-logo {
    display: block;
    margin: 4rem auto 0;
    max-width: 280px;
    width: 100%;
}

.book-list {
    display: grid;
    gap: 2rem;
    max-width: 980px;
}

.book-card {
    border-top: 1px solid var(--line);
    display: grid;
    gap: 1.25rem;
    grid-template-columns: 130px minmax(0, 1fr);
    padding-top: 1.5rem;
}

.book-card h2 {
    margin: 0 0 0.6rem;
}

.book-card p,
.book-description {
    color: var(--muted);
}

.book-page {
    max-width: 980px;
}

.book-detail {
    align-items: start;
    display: grid;
    gap: clamp(1.5rem, 4vw, 3rem);
    grid-template-columns: minmax(180px, 260px) minmax(0, 1fr);
}

.book-copy .prose {
    margin-top: -0.4rem;
}

.reading-page {
    background: var(--paper);
    border-top: 4px solid var(--accent);
    box-shadow: 0 24px 60px rgb(0 0 0 / 0.32);
    color: var(--paper-text);
    max-width: 880px;
    padding: clamp(1.25rem, 4vw, 3rem);
}

.reading-page a {
    color: #7a4320;
}

.reading-page .page-header {
    border-bottom: 1px solid var(--paper-line);
    margin-bottom: 2rem;
    padding-bottom: 1.35rem;
}

.reading-page .page-header h1 {
    font-size: clamp(2rem, 5vw, 3.4rem);
    letter-spacing: 0;
    margin-bottom: 0.85rem;
}

.reading-page .item-meta,
.reading-page .summary,
.reading-page .muted {
    color: var(--paper-muted);
}

.reading-page .alert {
    background: #e8ddc8;
    border-color: #8f7640;
    color: var(--paper-text);
}

.reading-page .item-meta {
    color: #785b25;
    font-size: 0.8rem;
}

.reading-page .summary {
    font-size: clamp(1.1rem, 2vw, 1.25rem);
    line-height: 1.55;
    max-width: 42rem;
}

.featured-image {
    margin: 0 0 2rem;
}

.featured-image img {
    aspect-ratio: 16 / 9;
    border: 1px solid var(--paper-line);
    display: block;
    height: auto;
    max-height: 420px;
    object-fit: cover;
    width: 100%;
}

.book-cover-figure img {
    aspect-ratio: 2 / 3;
    background: #030706;
    object-fit: cover;
}

.featured-image figcaption {
    color: var(--paper-muted);
    font-family: system-ui, sans-serif;
    font-size: 0.82rem;
    line-height: 1.45;
    margin-top: 0.55rem;
}

.prose {
    font-size: clamp(1.08rem, 2vw, 1.16rem);
    line-height: 1.82;
    max-width: 42rem;
}

.book-copy .prose,
.book-page .prose {
    max-width: none;
}

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

.prose p {
    margin: 0 0 1.25rem;
}

.prose h2,
.prose h3,
.prose h4 {
    line-height: 1.25;
    margin-top: 2rem;
}

.prose h2 {
    border-top: 1px solid var(--paper-line);
    color: #2a251d;
    font-size: 1.55rem;
    padding-top: 1.1rem;
}

.prose h3 {
    color: #3a3124;
    font-size: 1.25rem;
}

.prose blockquote {
    border-left: 3px solid #8f7640;
    color: #514735;
    margin: 1.5rem 0;
    padding-left: 1rem;
}

.prose ul,
.prose ol {
    padding-left: 1.4rem;
}

.prose li + li {
    margin-top: 0.35rem;
}

.prose img {
    border: 1px solid var(--paper-line);
    display: block;
    height: auto;
    max-width: 100%;
}

.content-terms {
    border-top: 1px solid var(--paper-line);
    display: grid;
    gap: 1rem;
    margin-top: 2.5rem;
    padding-top: 1.25rem;
}

.content-terms h2 {
    color: var(--paper-muted);
    font-family: system-ui, sans-serif;
    font-size: 0.82rem;
    letter-spacing: 0.14em;
    margin: 0 0 0.55rem;
    text-transform: uppercase;
}

.term-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
}

.term-chips a {
    border: 1px solid var(--paper-line);
    color: #5e381f;
    font-family: system-ui, sans-serif;
    font-size: 0.86rem;
    padding: 0.25rem 0.45rem;
    text-decoration: none;
}

.term-chips a:hover {
    border-color: #8f7640;
    color: #392414;
}

.reading-actions {
    border-top: 1px solid var(--paper-line);
    font-family: system-ui, sans-serif;
    margin-top: 2.5rem;
    padding-top: 1rem;
}

.reading-actions a {
    color: #5e381f;
    font-weight: 700;
    text-decoration: none;
}

.related-content {
    border-top: 1px solid var(--paper-line);
    margin-top: 2.5rem;
    padding-top: 1.25rem;
}

.related-content h2 {
    color: var(--paper-muted);
    font-family: system-ui, sans-serif;
    font-size: 0.82rem;
    letter-spacing: 0.14em;
    margin: 0 0 0.85rem;
    text-transform: uppercase;
}

.related-list {
    display: grid;
    gap: 0.55rem;
}

.related-list a {
    border-left: 3px solid #8f7640;
    color: var(--paper-text);
    display: grid;
    font-family: system-ui, sans-serif;
    gap: 0.05rem;
    padding: 0.3rem 0 0.3rem 0.7rem;
    text-decoration: none;
}

.related-list small {
    color: var(--paper-muted);
    font-size: 0.78rem;
}

.comments-section {
    border-top: 1px solid var(--paper-line);
    margin-top: 2.5rem;
    padding-top: 1.25rem;
}

.comments-heading {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
    justify-content: space-between;
    margin-bottom: 0.85rem;
}

.comments-section h2 {
    color: var(--paper-muted);
    font-family: system-ui, sans-serif;
    font-size: 0.82rem;
    letter-spacing: 0.14em;
    margin: 0;
    text-transform: uppercase;
}

.comments-heading span {
    background: #1b2b25;
    border: 1px solid #8f7640;
    color: #dfc986;
    font-family: system-ui, sans-serif;
    font-size: 0.78rem;
    font-weight: 700;
    line-height: 1;
    min-width: 1.8rem;
    padding: 0.35rem 0.5rem;
    text-align: center;
}

.comment-list,
.comment-form {
    display: grid;
    gap: 1rem;
}

.comment-item {
    background: #e8ddc8;
    border: 1px solid var(--paper-line);
    border-left: 3px solid #8f7640;
    padding: 0.85rem 0.95rem;
}

.comment-item header {
    align-items: baseline;
    display: flex;
    flex-wrap: wrap;
    font-family: system-ui, sans-serif;
    gap: 0.55rem;
}

.comment-item time,
.field-note {
    color: var(--paper-muted);
    font-size: 0.82rem;
}

.comment-form {
    background: #e8ddc8;
    border: 1px solid var(--paper-line);
    margin-top: 1.25rem;
    padding: clamp(1rem, 3vw, 1.35rem);
}

.comment-form input,
.comment-form textarea {
    background: #fbf6ea;
    border-color: #bcae92;
    color: var(--paper-text);
    max-width: none;
}

.comment-form button {
    background: #1b2b25;
    color: #dfc986;
}

.comment-form button:hover {
    background: #283d35;
}

.trap-field {
    left: -9999px;
    position: absolute;
}

.contact-routes {
    display: grid;
    gap: 0.7rem;
    margin: 1.5rem 0;
}

.contact-routes a {
    border: 1px solid var(--paper-line);
    color: var(--paper-text);
    display: grid;
    font-family: system-ui, sans-serif;
    gap: 0.1rem;
    padding: 0.8rem 0.9rem;
    text-decoration: none;
}

.contact-routes a:hover {
    border-color: #8f7640;
}

.contact-routes span {
    font-weight: 700;
}

.contact-routes small {
    color: var(--paper-muted);
}

.source-text {
    white-space: pre-wrap;
    font-family: inherit;
    line-height: 1.8;
    overflow-wrap: anywhere;
}

.form {
    display: grid;
    gap: 1rem;
}

.search-form {
    border-top: 3px solid var(--accent);
    display: grid;
    gap: 0.5rem;
    max-width: 680px;
    padding-top: 1rem;
}

.search-row {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
}

.search-row input {
    flex: 1 1 18rem;
}

.field {
    display: grid;
    gap: 0.35rem;
}

label,
button,
input {
    font-family: system-ui, sans-serif;
}

select,
textarea {
    width: 100%;
    padding: 0.65rem 0.75rem;
    border: 1px solid var(--line);
    background: var(--surface);
    color: var(--text);
    font: inherit;
}

input {
    width: 100%;
    max-width: 28rem;
    padding: 0.65rem 0.75rem;
    border: 1px solid var(--line);
    background: var(--surface);
    color: var(--text);
}

button {
    width: fit-content;
    border: 0;
    background: var(--accent);
    color: #11100d;
    padding: 0.65rem 1rem;
    cursor: pointer;
}

button:hover {
    background: var(--accent-dark);
}

.alert.error {
    border-left: 4px solid var(--accent);
    padding: 0.7rem 1rem;
    background: var(--surface);
}

.alert.success,
.alert:not(.error) {
    border-left: 4px solid var(--accent);
    padding: 0.7rem 1rem;
    background: var(--surface);
}

.admin-grid {
    display: grid;
    gap: 1.5rem;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}

.admin-panel.wide {
    max-width: 1080px;
}

.admin-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.button-link {
    display: inline-block;
    background: var(--accent);
    color: #11100d;
    font-family: system-ui, sans-serif;
    padding: 0.55rem 0.8rem;
    text-decoration: none;
}

.button-link:hover {
    background: var(--accent-dark);
    color: #11100d;
}

.button-link.secondary {
    background: transparent;
    border: 1px solid var(--line);
    color: var(--text);
}

.button-link.secondary:hover {
    border-color: var(--accent);
    color: var(--accent-dark);
}

.admin-card,
.admin-stat-grid a {
    background: var(--surface);
    border-top: 3px solid var(--accent);
    padding: 1rem;
}

.admin-stat-grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    margin-bottom: 1.5rem;
}

.admin-stat-grid a {
    color: var(--text);
    display: grid;
    font-family: system-ui, sans-serif;
    text-decoration: none;
}

.admin-stat-grid strong {
    color: var(--accent-dark);
    font-size: 2rem;
}

.admin-link-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.admin-link-list li {
    border-top: 1px solid var(--line);
}

.admin-link-list a {
    align-items: center;
    color: var(--text);
    display: flex;
    justify-content: space-between;
    padding: 0.65rem 0;
    text-decoration: none;
}

.admin-primary-action {
    margin-top: 1.5rem;
}

.admin-table {
    width: 100%;
    border-collapse: collapse;
    font-family: system-ui, sans-serif;
    font-size: 0.95rem;
}

.admin-table th,
.admin-table td {
    border-bottom: 1px solid var(--line);
    padding: 0.7rem;
    text-align: left;
    vertical-align: top;
}

.sort-link {
    color: var(--text);
    text-decoration: none;
}

.sort-link:hover {
    color: var(--accent-dark);
}

.muted {
    color: var(--muted);
}

.admin-source,
.status-pill {
    display: inline-block;
    font-family: system-ui, sans-serif;
    font-size: 0.78rem;
    letter-spacing: 0.06em;
    line-height: 1;
    padding: 0.32rem 0.45rem;
    text-transform: uppercase;
}

.admin-source {
    border: 1px solid var(--line);
    color: var(--accent-dark);
    margin-top: 0.25rem;
}

.status-pill {
    background: #1b2b25;
    border: 1px solid var(--line);
    color: var(--muted);
}

.status-published {
    border-color: #8f7640;
    color: #dfc986;
}

.status-draft {
    color: #c5cfc7;
}

.status-archived {
    color: #8f9990;
}

.form-row {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}

.content-form textarea#body {
    font-family: ui-monospace, SFMono-Regular, Consolas, "Liberation Mono", monospace;
    min-height: 28rem;
}

.field-help {
    color: var(--muted);
    font-family: system-ui, sans-serif;
    font-size: 0.9rem;
    margin: 0;
}

.check-row {
    align-items: center;
    display: flex;
}

.check-row input {
    width: auto;
}

.form-actions {
    align-items: center;
    display: flex;
    gap: 1rem;
}

.filter-bar {
    align-items: end;
    display: flex;
    flex-wrap: wrap;
    gap: 0.8rem;
    margin: 1.5rem 0;
}

.filter-bar label {
    display: grid;
    gap: 0.25rem;
}

.filter-bar select {
    min-width: 10rem;
}

.admin-quick-links {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin: 0 0 1.25rem;
}

.admin-quick-links a {
    border: 1px solid var(--line);
    color: var(--text);
    font-family: system-ui, sans-serif;
    font-size: 0.88rem;
    padding: 0.35rem 0.55rem;
    text-decoration: none;
}

.admin-quick-links a:hover {
    border-color: var(--accent);
    color: var(--accent-dark);
}

.admin-quick-links a[aria-current="page"] {
    border-color: var(--accent);
    color: var(--accent-dark);
}

.taxonomy-create {
    border-bottom: 1px solid var(--line);
    margin-bottom: 1.5rem;
    padding-bottom: 1.5rem;
}

.blacklist-create {
    border-bottom: 1px solid var(--line);
    margin-bottom: 1.5rem;
    padding-bottom: 1.5rem;
}

.admin-review-block {
    border-bottom: 1px solid var(--line);
    margin-bottom: 1.5rem;
    padding-bottom: 1.5rem;
}

.admin-review-block h2 {
    font-size: 1.25rem;
    margin-bottom: 0.5rem;
}

.compact-table {
    margin-top: 0.75rem;
}

.merge-summary {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.merge-summary h3 {
    font-size: 1rem;
    margin: 0 0 0.4rem;
}

.merge-summary p {
    margin: 0.2rem 0;
}

.media-grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.media-tile {
    background: var(--surface);
    border-top: 3px solid var(--accent);
    display: grid;
    gap: 0.75rem;
    padding: 0.9rem;
}

.media-tile img {
    aspect-ratio: 4 / 3;
    background: #111;
    display: block;
    object-fit: cover;
    width: 100%;
}

.media-tile h2 {
    font-size: 1rem;
    margin: 0 0 0.35rem;
    overflow-wrap: anywhere;
}

.media-edit-layout {
    display: grid;
    gap: 1.5rem;
    grid-template-columns: minmax(220px, 320px) minmax(0, 1fr);
}

.media-preview {
    margin: 0;
}

.media-preview img {
    background: #111;
    display: block;
    height: auto;
    width: 100%;
}

.media-preview figcaption {
    color: var(--muted);
    font-family: system-ui, sans-serif;
    font-size: 0.86rem;
    line-height: 1.4;
    margin-top: 0.5rem;
}

.table-actions,
.inline-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.table-actions form,
.inline-actions form {
    margin: 0;
}

.table-actions button,
.inline-actions button {
    padding: 0.35rem 0.55rem;
}

.preview-admin {
    margin-bottom: 1.5rem;
}

.preview-toolbar {
    align-items: center;
    border-top: 1px solid var(--line);
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    justify-content: space-between;
    padding-top: 1rem;
}

.preview-toolbar > div:first-child {
    display: grid;
    gap: 0.15rem;
}

.admin-preview-frame {
    display: flex;
    justify-content: center;
    margin-bottom: 2rem;
}

.admin-preview-frame .reading-page {
    width: min(820px, 100%);
}

.site-footer {
    border-top: 1px solid var(--line);
    color: var(--muted);
    font-family: system-ui, sans-serif;
    padding: 1.5rem 0;
}

.comment-moderation-list {
    display: grid;
    gap: 1rem;
}

.comment-moderation-item {
    border-top: 1px solid var(--line);
    padding-top: 1rem;
}

.comment-moderation-item header,
.comment-actions {
    align-items: flex-start;
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    justify-content: space-between;
}

.comment-moderation-item h2 {
    font-size: 1.25rem;
    margin: 0;
}

.comment-moderation-item blockquote {
    border-left: 3px solid var(--accent);
    color: var(--muted);
    margin: 0.75rem 0;
    padding-left: 0.9rem;
}

.comment-actions {
    justify-content: flex-start;
}

.comment-actions input[type="text"] {
    max-width: 22rem;
}

@media (max-width: 720px) {
    .site-header .site-shell {
        align-items: flex-start;
        flex-direction: column;
    }

    .home-columns,
    .book-detail,
    .book-card {
        grid-template-columns: 1fr;
    }

    .featured-book {
        grid-template-columns: 76px minmax(0, 1fr);
    }

    .book-cover-figure {
        max-width: 210px;
    }

    .book-card img {
        max-width: 150px;
    }

    .media-edit-layout {
        grid-template-columns: 1fr;
    }
}
