@import url('https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@400;500;700&display=swap');

:root {
  --ink: #202825;
  --muted: #707a76;
  --paper: #f4f3ee;
  --card: #fbfaf6;
  --line: #d9dcd5;
  --green: #426b5a;
  --green-dark: #315244;
  --soft-green: #dfe8df;
  font-family: 'DM Sans', system-ui, sans-serif;
  color: var(--ink);
  background: var(--paper);
}

/* Funbier admin theme */
:root {
  --ink: #3f352e;
  --muted: #8d7e70;
  --paper: #f7f1e6;
  --card: #fffaf1;
  --line: #e2d5c1;
  --green: #7f8f70;
  --green-dark: #52663d;
  --soft-green: #e8eddf;
  --gold: #c6a45b;
  --gold-dark: #9f7a38;
  --terracotta: #c9684a;
  --sage: #9eaa8c;
  font-family: "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", sans-serif;
}

.admin-header {
  height: 72px;
  color: #fffaf1;
  border-bottom: 1px solid #5b5049;
  background: rgba(63, 53, 46, .98);
  box-shadow: 0 3px 18px rgba(63, 53, 46, .12);
}
.funbier-brand { gap: 3px; color: #fffaf1; font-family: Georgia, serif; letter-spacing: 0; }
.funbier-initial { margin-right: -1px; color: #d5bd7f; font: italic 34px/.8 "Snell Roundhand", "Apple Chancery", cursive; letter-spacing: -.12em; transform: rotate(-7deg) translateY(1px); }
.funbier-wordmark { font: italic 24px Georgia, serif; letter-spacing: -.03em; }
.funbier-feather { width: 21px; height: 35px; margin-left: 2px; color: #d5bd7f; transform: rotate(7deg); }
.funbier-feather svg { width: 100%; height: 100%; overflow: visible; }
.funbier-feather path { fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.35; }
.funbier-feather .feather-vane { fill: rgba(213,189,127,.11); stroke-width: 1.2; }
.admin-badge { margin-left: 15px; padding: 5px 9px; border: 1px solid rgba(213,189,127,.55); border-radius: 3px; color: #e6d5aa; font: 700 8px "Zen Kaku Gothic New", sans-serif; letter-spacing: .18em; }
.admin-header-right { display: flex; align-items: center; gap: 22px; }
.admin-nav a { padding: 25px 3px 22px; color: #e8ded0; border-bottom: 2px solid var(--gold); text-decoration: none; font-size: 12px; }
.admin-user { color: #c9bdaf; font-size: 10px; letter-spacing: .04em; }
.admin-user span { margin-right: 6px; color: #9eaa8c; font-size: 7px; }
.admin-header .button-primary { border-radius: 999px; color: white; background: var(--terracotta); box-shadow: none; font-size: 11px; }
.admin-header .button-primary:hover { background: #ad563d; }
.admin-header .button-ghost { color: #eee4d3; border-color: #74675e; }
.admin-header .button-ghost:hover { background: rgba(255,255,255,.08); }
.admin-header .save-status { color: #c9bdaf; }
.admin-header .autosave-toggle { color: #c9bdaf; }
.admin-header .toggle-track { background: #71665e; }
.admin-header .autosave-toggle input:checked + .toggle-track { background: var(--gold-dark); }
.back-to-list { color: #c9bdaf; text-decoration: none; font-size: 10px; white-space: nowrap; }

.posts-page { width: min(1120px, calc(100% - 48px)); }
.admin-page-heading { padding: 58px 4px 32px; }
.admin-page-heading::before { content: "ADMINISTRATOR"; display: block; position: absolute; right: 0; top: 44px; color: rgba(198,164,91,.08); font: 700 clamp(42px,8vw,92px)/1 Georgia,serif; letter-spacing: .03em; pointer-events: none; }
.posts-hero h1 { color: var(--ink); font-size: clamp(32px,4vw,46px); }
.posts-hero > div > p:last-child { font-family: inherit; }
.eyebrow, .section-number { color: var(--gold-dark); }
.post-count strong { color: var(--gold-dark); }
.post-row { padding: 24px 20px; border: 1px solid transparent; border-bottom-color: var(--line); }
.post-row:hover { border-color: #dac59f; border-radius: 8px; background: #fffaf1; box-shadow: 0 8px 24px rgba(83,62,43,.06); }
.post-row h2 { font-family: Georgia, "Yu Mincho", serif; }
.post-tags { color: var(--gold-dark); }
.post-actions .edit-link { border-color: #cbb898; color: var(--ink); background: #fffaf1; }
.status-badge.draft { color: #8b5f45; background: #f3dfd4; }
.status-badge.published { color: #52663d; background: #e8eddf; }

.editor-admin-header { padding-left: max(28px, calc((100vw - 1180px) / 2)); padding-right: max(28px, calc((100vw - 1180px) / 2)); }
.editor-admin-header .header-actions { gap: 9px; }
main:not(.posts-page) { width: min(1040px, calc(100% - 48px)); }
.hero { padding: 50px 4px 30px; }
.hero::after { content: "CONTENT"; right: 0; top: 42px; color: rgba(198,164,91,.08); font: 700 clamp(52px,10vw,110px)/1 Georgia,serif; letter-spacing: .03em; }
.hero h1 { margin: 9px 0 8px; color: var(--ink); font: 500 clamp(30px,4vw,43px)/1.35 Georgia, "Yu Mincho", serif; letter-spacing: .04em; }
.hero h1 em { color: var(--terracotta); }
.hero-copy { font-family: inherit; }
.card { border-color: #ddcdb5; background: #fffaf1; box-shadow: 0 8px 25px rgba(83,62,43,.045); }
.main-card { border-top: 3px solid var(--gold); }
.field label { color: #66584d; }
.title-field input, .body-field textarea { font-family: "Yu Mincho", "Hiragino Mincho ProN", serif; }
.filename-control { border-color: #cbb898; }
.compact-card:first-child { border-top: 3px solid var(--sage); }
.compact-card:last-child { border-top: 3px solid var(--terracotta); }
.icon-button { border-color: #cbb898; color: var(--gold-dark); }
.button { border-radius: 5px; }
.button-primary { background: var(--terracotta); box-shadow: 0 3px 0 #ad563d; }
.button-primary:hover { background: #b95b40; }
.toast { background: #3f352e; }
footer { color: #9b8b7c; background: #eee4d3; }

@media (max-width: 900px) {
  .admin-user, .admin-nav, .admin-badge, .back-to-list { display: none; }
  .editor-admin-header .autosave-toggle { display: none; }
  .editor-admin-header .save-status { display: none; }
}
@media (max-width: 720px) {
  .admin-header { padding: 12px 16px; }
  .funbier-wordmark { font-size: 20px; }
  .funbier-initial { font-size: 29px; }
  .funbier-feather { width: 18px; height: 30px; }
  .new-post-button { padding: 9px 12px; }
  .posts-page, main:not(.posts-page) { width: calc(100% - 28px); }
  .admin-page-heading::before, .hero::after { display: none; }
  .editor-admin-header .header-actions { gap: 7px; }
  .editor-admin-header #save-button, .editor-admin-header #publish-button { font-size: 10px; padding: 9px 10px; }
}

/* Final cascade overrides for the Funbier admin shell. */
.site-header.admin-header { height: 72px; color: #fffaf1; border-bottom-color: #5b5049; background: rgba(63,53,46,.98); box-shadow: 0 3px 18px rgba(63,53,46,.12); }
.brand.funbier-brand { gap: 3px; color: #fffaf1; font-family: Georgia,serif; font-weight: 400; letter-spacing: 0; }
.admin-header .button-primary { color: #fff; border-radius: 999px; background: var(--terracotta); box-shadow: none; }
.admin-header .button-primary:hover { background: #ad563d; }
.admin-header .button-ghost { color: #eee4d3; border-color: #74675e; }
.admin-header .button-ghost:hover { background: rgba(255,255,255,.08); }
.admin-header .save-status, .admin-header .autosave-toggle { color: #c9bdaf; }
.posts-page { width: min(1120px,calc(100% - 48px)); }
.posts-hero.admin-page-heading { position: relative; padding: 58px 4px 32px; }
.posts-hero.admin-page-heading h1 { margin: 9px 0 8px; color: var(--ink); font: 500 clamp(32px,4vw,46px)/1.35 Georgia,"Yu Mincho",serif; }
.posts-hero.admin-page-heading > div > p:last-child { font-family: inherit; }
.post-count strong { color: var(--gold-dark); font-family: Georgia,serif; }
.post-row { padding: 24px 20px; border: 1px solid transparent; border-bottom-color: var(--line); }
.post-row:hover { padding: 24px 20px; border-color: #dac59f; border-radius: 8px; background: #fffaf1; box-shadow: 0 8px 24px rgba(83,62,43,.06); }
.post-row h2 { font-family: Georgia,"Yu Mincho",serif; }
.post-tags { color: var(--gold-dark); }
.post-actions .edit-link { border-color: #cbb898; color: var(--ink); background: #fffaf1; }
.status-badge.draft { color: #8b5f45; background: #f3dfd4; }
.status-badge.published { color: #52663d; background: #e8eddf; }
main:not(.posts-page) { width: min(1040px,calc(100% - 48px)); }
.hero { padding: 50px 4px 30px; }
.hero::after { content: "CONTENT"; right: 0; top: 42px; color: rgba(198,164,91,.08); font: 700 clamp(52px,10vw,110px)/1 Georgia,serif; letter-spacing: .03em; }
.hero h1 { margin: 9px 0 8px; color: var(--ink); font: 500 clamp(30px,4vw,43px)/1.35 Georgia,"Yu Mincho",serif; }
.hero-copy { font-family: inherit; }
.card { border-color: #ddcdb5; background: #fffaf1; box-shadow: 0 8px 25px rgba(83,62,43,.045); }
.main-card { border-top: 3px solid var(--gold); }
.compact-card:first-child { border-top: 3px solid var(--sage); }
.compact-card:last-child { border-top: 3px solid var(--terracotta); }
.title-field input, .body-field textarea { font-family: "Yu Mincho","Hiragino Mincho ProN",serif; }
.section-heading h2, .section-description { font-family: "Zen Kaku Gothic New",sans-serif; }
footer { color: #9b8b7c; background: #eee4d3; }
@media (max-width: 720px) {
  .site-header.admin-header { height: auto; padding: 12px 16px; }
  .posts-page, main:not(.posts-page) { width: calc(100% - 28px); }
  .posts-hero.admin-page-heading { padding: 52px 8px 30px; }
}

* { box-sizing: border-box; }
body { margin: 0; min-width: 320px; }
button, input, textarea { font: inherit; }
button { color: inherit; }

.site-header {
  height: 78px;
  padding: 0 clamp(22px, 5vw, 72px);
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid var(--line);
  background: rgba(244, 243, 238, .92);
  position: sticky;
  top: 0;
  z-index: 10;
  backdrop-filter: blur(12px);
}

.brand { display: flex; align-items: center; gap: 12px; color: inherit; text-decoration: none; font-family: 'Noto Serif JP', serif; font-weight: 600; letter-spacing: .12em; }
.brand-mark { width: 32px; height: 32px; display: grid; place-items: center; color: white; background: var(--green); border-radius: 50% 50% 50% 12%; font-size: 14px; }
.header-actions { display: flex; align-items: center; gap: 12px; }
.header-actions [hidden] { display: none !important; }
.autosave-toggle { display: flex; align-items: center; gap: 8px; color: var(--muted); font-size: 11px; cursor: pointer; user-select: none; }
.autosave-toggle input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.toggle-track { width: 34px; height: 19px; padding: 2px; border-radius: 20px; background: #c9cdc8; transition: .2s ease; }
.toggle-track span { display: block; width: 15px; height: 15px; border-radius: 50%; background: white; box-shadow: 0 1px 3px rgba(0,0,0,.2); transition: .2s ease; }
.autosave-toggle input:checked + .toggle-track { background: var(--green); }
.autosave-toggle input:checked + .toggle-track span { transform: translateX(15px); }
.autosave-toggle input:focus-visible + .toggle-track { outline: 2px solid var(--green); outline-offset: 2px; }
.save-status { margin-right: 12px; color: var(--muted); font-size: 12px; }
.save-status::before { content: ''; display: inline-block; width: 6px; height: 6px; margin-right: 7px; border-radius: 50%; background: #86a18b; vertical-align: 1px; }

.button { border: 0; border-radius: 4px; padding: 11px 17px; cursor: pointer; transition: .18s ease; }
.button-ghost { background: transparent; border: 1px solid var(--line); }
.button-ghost:hover { background: white; }
.button-primary { display: flex; align-items: center; gap: 11px; background: var(--green); color: white; box-shadow: 0 4px 12px rgba(49,82,68,.15); }
.button-primary:hover { background: var(--green-dark); transform: translateY(-1px); }
.new-post-button { text-decoration: none; }

main { width: min(1020px, calc(100% - 40px)); margin: 0 auto; }
.hero { padding: 76px 0 48px; position: relative; }
.hero::after { content: '○'; position: absolute; right: 4%; top: 55px; color: #d5ddd4; font: 180px/1 serif; z-index: -1; }
.eyebrow, .section-number { color: var(--green); font-size: 10px; font-weight: 600; letter-spacing: .25em; }
.hero h1 { margin: 14px 0 18px; font-family: 'Noto Serif JP', serif; font-size: clamp(38px, 5vw, 62px); font-weight: 400; line-height: 1.35; letter-spacing: .05em; }
.hero h1 em { color: var(--green); font-style: normal; }
.hero-copy { margin: 0; color: var(--muted); font-family: 'Noto Serif JP', serif; font-size: 14px; }

.editor { display: grid; gap: 22px; padding-bottom: 80px; }
.card { background: var(--card); border: 1px solid var(--line); border-radius: 7px; box-shadow: 0 12px 35px rgba(40,48,44,.035); }
.main-card { padding: clamp(24px, 5vw, 52px); }
.field label { display: block; margin-bottom: 12px; font-size: 12px; font-weight: 600; letter-spacing: .08em; }
.field input, .field textarea { width: 100%; border: 0; outline: 0; color: var(--ink); background: transparent; }
.field input::placeholder, .field textarea::placeholder { color: #adb2ad; }
.filename-control { width: min(420px, 100%); display: flex; align-items: center; border-bottom: 1px solid #aeb6af; }
.filename-control input { padding: 9px 4px; font-size: 14px; }
.filename-control input:read-only { color: var(--muted); cursor: not-allowed; }
.filename-field.has-error .filename-control { border-color: #b64f3f; box-shadow: 0 2px 0 #b64f3f; }
.filename-field.has-error label { color: #9f3f32; }
.field-error { margin: 9px 0 0; color: #9f3f32; font-size: 11px; font-weight: 500; }
.editor-alert { position: relative; display: grid; grid-template-columns: 28px 1fr auto; align-items: start; gap: 13px; margin-bottom: 18px; padding: 16px 18px; border: 1px solid #d99a88; border-left: 4px solid #b64f3f; border-radius: 6px; color: #6f352d; background: #fff3ee; box-shadow: 0 6px 20px rgba(120,55,42,.07); }
.editor-alert[hidden], .field-error[hidden] { display: none; }
.editor-alert__icon { display: grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; color: white; background: #b64f3f; font-weight: 700; }
.editor-alert strong { display: block; margin-bottom: 3px; font-size: 13px; }
.editor-alert p { margin: 0; font-size: 12px; line-height: 1.6; }
.editor-alert button { padding: 0 3px; border: 0; color: #8e6159; background: transparent; font-size: 20px; cursor: pointer; }
.filename-control span { color: var(--muted); font-size: 13px; }
.hint { margin: 8px 0 0; color: #939a95; font-size: 10px; }
.divider { height: 1px; margin: 34px 0; background: var(--line); }
.title-field input { padding: 4px 0 22px; font-family: 'Noto Serif JP', serif; font-size: clamp(24px, 3vw, 36px); border-bottom: 1px solid var(--line); }
.body-field { margin-top: 32px; }
.label-row { display: flex; justify-content: space-between; align-items: center; }
.label-row span { color: #979f99; font-size: 10px; }
.body-field textarea { resize: vertical; padding: 15px 0; font-family: 'Noto Serif JP', serif; font-size: 15px; line-height: 2.05; }
.body-drop-zone { position: relative; border-radius: 5px; transition: .2s ease; }
.body-drop-zone.dragging { padding: 0 14px; background: var(--soft-green); outline: 2px dashed #769080; outline-offset: 4px; }
.drop-message { position: absolute; inset: 0; display: none; align-items: center; justify-content: center; gap: 8px; border-radius: 5px; background: rgba(223,232,223,.93); color: var(--green-dark); font-size: 13px; font-weight: 600; pointer-events: none; }
.body-drop-zone.dragging .drop-message { display: flex; }
.drop-message span { font-size: 21px; font-weight: 400; }
.image-hint { margin: 4px 0 0; color: #939a95; font-size: 10px; }

.editor-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
.compact-card { min-height: 315px; padding: 30px; }
.section-heading { display: flex; justify-content: space-between; align-items: center; }
.section-number { margin: 0 0 7px; }
.section-heading h2 { margin: 0; font-family: 'Noto Serif JP', serif; font-size: 19px; font-weight: 600; }
.section-description { margin: 14px 0 22px; color: var(--muted); font-family: 'Noto Serif JP', serif; font-size: 11px; }
.icon-button { width: 32px; height: 32px; border: 1px solid var(--line); border-radius: 50%; background: transparent; font-size: 18px; cursor: pointer; }
.icon-button:hover { background: var(--soft-green); }
.repeater { display: grid; gap: 12px; }
.link-row { display: grid; grid-template-columns: 1fr 1.3fr 28px; gap: 8px; align-items: center; }
.link-row input, .tag-entry { min-width: 0; padding: 10px 11px; border: 1px solid var(--line); border-radius: 3px; background: white; outline-color: var(--green); font-size: 11px; }
.remove-button { border: 0; background: transparent; color: #9ca29d; cursor: pointer; font-size: 18px; }
.add-row-button { margin-top: 15px; padding: 0; border: 0; background: transparent; color: var(--green); font-size: 11px; cursor: pointer; }
.add-row-button span { margin-right: 7px; font-size: 15px; }
.tags { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 14px; }
.tag { display: inline-flex; align-items: center; gap: 7px; padding: 7px 9px; border-radius: 3px; background: var(--soft-green); color: var(--green-dark); font-size: 11px; }
.tag button { padding: 0; border: 0; background: none; color: inherit; cursor: pointer; }
.tag-entry { display: flex; align-items: center; color: var(--green); }
.tag-entry input { width: 100%; margin-left: 5px; border: 0; outline: 0; background: transparent; font-size: 11px; }
.advanced-settings { overflow: hidden; }
.advanced-settings summary { display: flex; align-items: center; justify-content: space-between; padding: 22px 28px; cursor: pointer; list-style: none; user-select: none; }
.advanced-settings summary::-webkit-details-marker { display: none; }
.advanced-settings summary > span:first-child { display: flex; align-items: baseline; gap: 12px; }
.advanced-settings summary strong { font-size: 13px; }
.advanced-settings summary small { color: var(--muted); font-size: 10px; }
.advanced-settings__chevron { color: var(--gold-dark); font-size: 20px; transition: transform .2s ease; }
.advanced-settings[open] .advanced-settings__chevron { transform: rotate(180deg); }
.advanced-settings__content { padding: 0 28px 28px; border-top: 1px solid var(--line); }
.advanced-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 24px 20px; margin-top: 24px; }
.advanced-field--wide { grid-column: 1 / -1; }
.advanced-field input, .advanced-field textarea { width: 100%; padding: 11px 12px; border: 1px solid var(--line); border-radius: 4px; outline-color: var(--gold-dark); background: #fffdf8; resize: vertical; }
@media (max-width: 720px) { .advanced-fields { grid-template-columns: 1fr; } .advanced-field--wide { grid-column: auto; } }

footer { min-height: 100px; padding: 0 clamp(22px, 5vw, 72px); display: flex; align-items: center; justify-content: space-between; border-top: 1px solid var(--line); color: #8a928d; font-size: 9px; letter-spacing: .18em; }
.posts-page { min-height: calc(100vh - 178px); padding-bottom: 80px; }
.posts-hero { padding: 78px 0 45px; display: flex; align-items: end; justify-content: space-between; border-bottom: 1px solid var(--line); }
.posts-hero h1 { margin: 12px 0 10px; font: 400 clamp(38px, 5vw, 58px)/1.3 'Noto Serif JP', serif; letter-spacing: .05em; }
.posts-hero > div > p:last-child { margin: 0; color: var(--muted); font: 13px 'Noto Serif JP', serif; }
.post-count { display: flex; align-items: baseline; gap: 10px; margin: 0; color: var(--green); }
.post-count strong { font: 400 44px 'Noto Serif JP', serif; }
.post-count span { font-size: 9px; letter-spacing: .2em; }
.posts-list { min-height: 260px; }
.posts-loading { padding: 70px 0; color: var(--muted); text-align: center; font-size: 12px; }
.post-row { display: flex; align-items: center; justify-content: space-between; gap: 30px; padding: 28px 4px; border-bottom: 1px solid var(--line); transition: padding .2s ease, background .2s ease; }
.post-row:hover { padding-left: 14px; padding-right: 14px; background: rgba(251,250,246,.65); }
.post-date { margin: 0 0 8px; color: #929a95; font-size: 10px; }
.status-badge { display: inline-block; margin-right: 10px; padding: 3px 7px; border-radius: 20px; font-size: 9px; }
.status-badge.draft { color: #786f5a; background: #ebe5d7; }
.status-badge.published { color: var(--green-dark); background: var(--soft-green); }
.post-row h2 { margin: 0; font: 400 20px/1.5 'Noto Serif JP', serif; }
.post-tags { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 10px; color: var(--green); font-size: 10px; }
.post-actions { display: flex; align-items: center; gap: 24px; flex-shrink: 0; }
.post-actions a { color: var(--muted); text-decoration: none; font-size: 11px; }
.post-actions .edit-link { padding: 9px 13px; border: 1px solid var(--line); border-radius: 3px; color: var(--green); }
.empty-posts { padding: 75px 20px; text-align: center; }
.empty-posts > span { display: block; color: #a8b7ad; font: 40px serif; }
.empty-posts h2 { margin: 14px 0 8px; font: 400 20px 'Noto Serif JP', serif; }
.empty-posts p { margin: 0 0 24px; color: var(--muted); font-size: 12px; }
.empty-posts .button { display: inline-block; text-decoration: none; }
.empty-posts.error { color: #8b4e4e; }
dialog { width: min(960px, calc(100% - 32px)); height: min(800px, calc(100% - 32px)); padding: 0; border: 0; border-radius: 8px; box-shadow: 0 24px 80px rgba(0,0,0,.25); }
dialog::backdrop { background: rgba(26,33,30,.55); backdrop-filter: blur(4px); }
.dialog-bar { height: 54px; padding: 0 18px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--line); font-size: 12px; }
.dialog-bar button { border: 0; background: none; font-size: 24px; cursor: pointer; }
#preview-frame { width: 100%; height: calc(100% - 54px); border: 0; }
.toast { position: fixed; left: 50%; bottom: 24px; padding: 11px 18px; border-radius: 4px; background: var(--ink); color: white; font-size: 12px; opacity: 0; transform: translate(-50%, 12px); pointer-events: none; transition: .25s; }
.toast.show { opacity: 1; transform: translate(-50%, 0); }

@media (max-width: 720px) {
  .site-header { height: auto; min-height: 70px; padding: 14px 20px; }
  .save-status, .button-ghost, .autosave-toggle > span:first-child { display: none; }
  #save-button { display: block; }
  .button-primary { padding: 10px 12px; font-size: 12px; }
  main { width: min(100% - 24px, 1020px); }
  .hero { padding: 50px 10px 36px; }
  .editor-grid { grid-template-columns: 1fr; }
  .compact-card { padding: 24px; }
  .link-row { grid-template-columns: 1fr 28px; }
  .link-row input:nth-child(2) { grid-column: 1; }
  .link-row .remove-button { grid-column: 2; grid-row: 1 / span 2; }
  footer { gap: 20px; }
  .posts-hero { padding: 52px 8px 30px; }
  .post-count { display: none; }
  .post-row { align-items: flex-start; }
  .post-actions { flex-direction: column; align-items: flex-end; gap: 12px; }
}

/* Funbier admin overrides — kept last intentionally. */
.site-header.admin-header{height:72px;color:#fffaf1;border-bottom-color:#5b5049;background:rgba(63,53,46,.98);box-shadow:0 3px 18px rgba(63,53,46,.12)}
.brand.funbier-brand{gap:3px;color:#fffaf1;font-family:Georgia,serif;font-weight:400;letter-spacing:0}
.admin-header .button-primary{color:#fff;border-radius:999px;background:var(--terracotta);box-shadow:none}.admin-header .button-primary:hover{background:#ad563d}
.admin-header .button-ghost{color:#eee4d3;border-color:#74675e}.admin-header .button-ghost:hover{background:rgba(255,255,255,.08)}
.admin-header .save-status,.admin-header .autosave-toggle{color:#c9bdaf}.admin-header .toggle-track{background:#71665e}
.posts-page{width:min(1120px,calc(100% - 48px))}.posts-hero.admin-page-heading{position:relative;padding:58px 4px 32px}
.posts-hero.admin-page-heading h1{margin:9px 0 8px;color:var(--ink);font:500 clamp(32px,4vw,46px)/1.35 Georgia,"Yu Mincho",serif}.posts-hero.admin-page-heading>div>p:last-child{font-family:inherit}
.post-count strong{color:var(--gold-dark);font-family:Georgia,serif}.post-row{padding:24px 20px;border:1px solid transparent;border-bottom-color:var(--line)}
.post-row:hover{padding:24px 20px;border-color:#dac59f;border-radius:8px;background:#fffaf1;box-shadow:0 8px 24px rgba(83,62,43,.06)}.post-row h2{font-family:Georgia,"Yu Mincho",serif}.post-tags{color:var(--gold-dark)}
.post-actions .edit-link{border-color:#cbb898;color:var(--ink);background:#fffaf1}.status-badge.draft{color:#8b5f45;background:#f3dfd4}.status-badge.published{color:#52663d;background:#e8eddf}
main:not(.posts-page){width:min(1040px,calc(100% - 48px))}.hero{padding:50px 4px 30px}.hero::after{content:"CONTENT";right:0;top:42px;color:rgba(198,164,91,.08);font:700 clamp(52px,10vw,110px)/1 Georgia,serif;letter-spacing:.03em}
.hero h1{margin:9px 0 8px;color:var(--ink);font:500 clamp(30px,4vw,43px)/1.35 Georgia,"Yu Mincho",serif}.hero-copy{font-family:inherit}
.card{border-color:#ddcdb5;background:#fffaf1;box-shadow:0 8px 25px rgba(83,62,43,.045)}.main-card{border-top:3px solid var(--gold)}.compact-card:first-child{border-top:3px solid var(--sage)}.compact-card:last-child{border-top:3px solid var(--terracotta)}
.title-field input,.body-field textarea{font-family:"Yu Mincho","Hiragino Mincho ProN",serif}.section-heading h2,.section-description{font-family:"Zen Kaku Gothic New",sans-serif}footer{color:#9b8b7c;background:#eee4d3}
@media(max-width:720px){.site-header.admin-header{height:auto;padding:12px 16px}.posts-page,main:not(.posts-page){width:calc(100% - 28px)}.posts-hero.admin-page-heading{padding:52px 8px 30px}}
.button-danger{border:1px solid #a96455;color:#f3ddd6;background:transparent}.button-danger:hover{color:#fff;background:#9f4f3e}
@media(max-width:720px){.editor-admin-header #unpublish-button{font-size:10px;padding:9px 10px}}

.login-page{min-height:100vh;background:linear-gradient(135deg,#f6f0e5,#eee4d3)}.login-shell{width:100%;min-height:100vh;display:grid;place-items:center;padding:30px}.login-card{width:min(440px,100%);padding:44px;border:1px solid #d8c4a3;border-top:4px solid var(--gold);border-radius:10px;background:#fffaf1;box-shadow:0 22px 60px rgba(76,58,44,.14)}.login-brand{display:flex;align-items:center;gap:12px;margin-bottom:40px}.login-brand>div{display:grid}.login-brand strong{font:400 21px Georgia,serif}.login-brand small{color:var(--terracotta);font-size:8px;letter-spacing:.18em}.login-card h1{margin:10px 0 8px;font:500 30px Georgia,"Yu Mincho",serif}.login-description{margin:0 0 28px;color:var(--muted);font-size:12px;line-height:1.8}.admin-field{display:grid;gap:8px;margin-bottom:20px}.admin-field>span{font-size:11px;font-weight:600}.admin-field input,.admin-field select{width:100%;padding:12px 13px;border:1px solid #d8cbb9;border-radius:4px;background:#fff;outline-color:var(--gold-dark);font:inherit}.admin-field small{color:var(--muted);font-size:10px}.login-submit{width:100%;margin-top:8px;border:0}.login-note{margin:30px 0 0;color:#a49789;text-align:center;font-size:8px;letter-spacing:.2em}.form-alert{margin:18px 0;padding:13px 15px;border-left:3px solid #a64f3d;background:#f8e7e2;color:#823b2e;font-size:12px;line-height:1.6}
.users-list{margin-top:24px}.user-row{display:grid;grid-template-columns:60px minmax(180px,1fr) 130px 60px;align-items:center;gap:20px;padding:22px 18px;border-bottom:1px solid var(--line)}.user-summary h2{margin:0 0 5px;font:500 18px Georgia,"Yu Mincho",serif}.user-summary p{margin:0;color:var(--muted);font-size:11px}.user-status{font-size:10px}.user-status::before{content:"";display:inline-block;width:7px;height:7px;margin-right:6px;border-radius:50%}.user-status.enabled{color:#52663d}.user-status.enabled::before{background:#708750}.user-status.disabled{color:#8e8176}.user-status.disabled::before{background:#aaa09a}.role-badge{width:max-content;padding:5px 10px;border-radius:20px;background:#eee4d3;font-size:10px}.user-row .edit-link{color:var(--terracotta);font-size:11px;text-decoration:none}.account-editor{width:min(760px,calc(100% - 48px));min-height:calc(100vh - 172px)}.account-form{padding:34px}.enabled-control{display:flex;gap:12px;align-items:flex-start;margin:8px 0 30px;padding:16px;border:1px solid var(--line);border-radius:5px}.enabled-control input{margin-top:4px;accent-color:var(--green)}.enabled-control span{display:grid;gap:5px}.enabled-control strong{font-size:12px}.enabled-control small{color:var(--muted);font-size:10px}.account-form-actions{display:flex;justify-content:flex-end;gap:12px;padding-top:24px;border-top:1px solid var(--line)}.account-form-actions .button{text-decoration:none}.admin-nav{display:flex;gap:4px}.admin-nav a{padding:8px 10px;color:#cfc3b6;text-decoration:none;font-size:10px}.admin-nav a.active{color:#fff;border-bottom:1px solid var(--gold)}
@media(max-width:900px){.admin-user,.session-logout{display:none}.admin-nav{display:none}}@media(max-width:620px){.login-shell{padding:16px}.login-card{padding:30px 24px}.user-row{grid-template-columns:1fr auto}.user-status,.role-badge{grid-row:2}.account-form{padding:24px}}
.article-author-settings{padding:28px}.article-author-settings .section-description{margin-bottom:20px}.author-settings-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:24px;align-items:start}.author-visible-control{margin:0}.author-settings-grid .admin-field{margin:0}@media(max-width:720px){.author-settings-grid{grid-template-columns:1fr}}
.user-row{grid-template-columns:46px 60px minmax(180px,1fr) 130px 60px}.user-icon-field{display:flex;align-items:center;gap:22px;margin-bottom:28px;padding-bottom:28px;border-bottom:1px solid var(--line)}.user-icon-preview,.user-list-icon{overflow:hidden;display:grid;place-items:center;flex:0 0 auto;width:88px;aspect-ratio:1;border:1px solid #d5c5ae;border-radius:8px;background:#eee4d3;color:#9b8b7c;text-align:center;font-size:9px;letter-spacing:.08em}.user-icon-preview img,.user-list-icon img{width:100%;height:100%;object-fit:cover}.user-icon-field strong{font-size:12px}.user-icon-field p{margin:7px 0 12px;color:var(--muted);font-size:10px}.icon-upload-button{display:inline-block;cursor:pointer}.remove-icon-button{margin-left:10px;border:0;background:none;color:#a65342;font-size:10px;cursor:pointer}.user-list-icon{width:42px;border-radius:50%}.user-list-icon span{font-size:15px}@media(max-width:620px){.user-row{grid-template-columns:42px 1fr auto}.user-status{grid-column:2}.role-badge{grid-column:3}.user-icon-field{align-items:flex-start}.user-icon-preview{width:76px}}
