:root {
    color-scheme: dark;
    --bg: #0b0d10;
    --bg-elevated: #12151a;
    --surface: #171b21;
    --surface-2: #1d2229;
    --text: #f3f4f5;
    --muted: #a8afb8;
    --quiet: #7c8590;
    --border: #626b76;
    --border-soft: #303741;
    --gold: #d4a83f;
    --gold-light: #f2cf72;
    --gold-dark: #8e6b21;
    --danger: #ff8e88;
    --success: #77d5a2;
    --radius-sm: .55rem;
    --radius: .9rem;
    --radius-lg: 1.35rem;
    --shadow: 0 22px 60px rgba(0, 0, 0, .3);
    --shell: 72rem;
    --sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    --serif: Georgia, "Times New Roman", serif;
}

* { box-sizing: border-box; }
html { min-width: 320px; scroll-behavior: smooth; }
body { margin: 0; background: var(--bg); color: var(--text); font: 400 1rem/1.55 var(--sans); -webkit-font-smoothing: antialiased; }
body::before { position: fixed; inset: 0; z-index: -1; content: ""; background: radial-gradient(circle at 82% 8%, rgba(212, 168, 63, .09), transparent 28rem), linear-gradient(rgba(255,255,255,.012) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.012) 1px, transparent 1px); background-size: auto, 48px 48px, 48px 48px; pointer-events: none; }
img { display: block; max-width: 100%; }
a { color: var(--gold-light); text-decoration-thickness: .08em; text-underline-offset: .2em; }
a:hover { color: #ffe39a; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, summary:focus-visible { outline: 3px solid var(--gold-light); outline-offset: 3px; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { color: var(--text); line-height: 1.08; letter-spacing: 0; }
h1 { font-family: var(--serif); font-size: clamp(2.15rem, 8vw, 4.8rem); font-weight: 500; }
h2 { font-size: clamp(1.25rem, 5vw, 1.8rem); }
p { color: var(--muted); }

.shell { width: min(100% - 2rem, var(--shell)); margin-inline: auto; }
.page-shell { min-height: calc(100vh - 9rem); padding-block: 1rem 4rem; }
.section-stack { display: grid; gap: 1.5rem; padding-block: 1.25rem 2rem; }
.skip-link { position: fixed; left: 1rem; top: -5rem; z-index: 100; padding: .75rem 1rem; border-radius: var(--radius-sm); background: var(--text); color: var(--bg); }
.skip-link:focus { top: 1rem; }
.site-header { position: sticky; top: 0; z-index: 20; border-bottom: 1px solid rgba(98,107,118,.32); background: rgba(11,13,16,.88); backdrop-filter: blur(18px); }
.header-inner { min-height: 4.5rem; display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: .6rem; padding-block: .65rem; }
.brand { min-height: 44px; display: inline-flex; align-items: center; gap: .7rem; color: var(--text); text-decoration: none; }
.brand img { border-radius: .6rem; }
.brand span { display: grid; line-height: 1; text-transform: uppercase; letter-spacing: .08em; }
.brand strong { font-family: var(--serif); font-size: 1rem; font-weight: 600; }
.brand small { margin-top: .26rem; color: var(--gold); font-size: .62rem; letter-spacing: .32em; }
.desktop-nav { align-items: center; gap: .55rem; }
.guest-nav { grid-column: 1 / -1; display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, auto); width: 100%; }
.member-nav { display: none; }
.desktop-nav > a:not(.button) { min-width: 44px; min-height: 44px; display: inline-flex; align-items: center; justify-content: center; padding-inline: .65rem; border-radius: .6rem; color: var(--muted); text-decoration: none; }
.desktop-nav > a.is-active { color: var(--gold-light); background: rgba(212,168,63,.08); }
.guest-nav > a:not(.button) { padding-inline: .4rem; text-align: center; line-height: 1.25; overflow-wrap: anywhere; }
.desktop-nav > a.nav-login { border: 1px solid var(--gold-dark); color: var(--gold-light); font-weight: 700; }
.desktop-nav .primary-nav-icon { display: none; }
.language-switcher { position: relative; }
.language-switcher summary { width: 44px; min-height: 44px; display: grid; place-items: center; border: 1px solid var(--border-soft); border-radius: var(--radius-sm); color: var(--gold-light); font-size: .72rem; font-weight: 800; letter-spacing: .08em; cursor: pointer; list-style: none; }
.language-switcher summary::-webkit-details-marker { display: none; }
.language-switcher[open] summary { border-color: var(--gold-dark); background: rgba(212,168,63,.08); }
.language-switcher form { position: absolute; top: calc(100% + .55rem); right: 0; z-index: 40; width: 11rem; display: grid; gap: .35rem; padding: .55rem; border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--surface); box-shadow: var(--shadow); }
.seo-language-links { display: flex; flex-wrap: wrap; gap: .25rem; }
.seo-language-links a { min-width: 44px; min-height: 44px; display: flex; align-items: center; justify-content: center; padding: .55rem .65rem; border-radius: .4rem; }
.seo-language-links a[aria-current="page"] { background: rgba(212,168,63,.08); color: var(--gold-light); }
.seo-category-links { display: flex; flex-wrap: wrap; gap: .5rem; }
.guide-taxonomy > a { display: inline-flex; align-items: center; min-width: 44px; min-height: 44px; }
.language-switcher form > input { display: none; }
.language-switcher button { min-height: 44px; display: flex; align-items: center; justify-content: space-between; gap: .75rem; padding: .55rem .65rem; border: 1px solid transparent; border-radius: .4rem; background: transparent; color: var(--text); cursor: pointer; }
.language-switcher button span { color: var(--muted); font-size: .78rem; }
.language-switcher button[aria-current="true"] { border-color: var(--gold-dark); background: rgba(212,168,63,.08); color: var(--gold-light); }
.site-footer { padding: 2rem 0; border-top: 1px solid var(--border-soft); color: var(--quiet); font-size: .8rem; }
.footer-inner { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .75rem; }
.footer-inner a { min-height: 44px; display: inline-flex; align-items: center; color: var(--muted); }

.button { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; gap: .45rem; padding: .73rem 1.05rem; border: 1px solid var(--gold); border-radius: var(--radius-sm); background: linear-gradient(135deg, var(--gold-light), var(--gold)); color: #17130a; font-weight: 750; line-height: 1.1; text-align: center; text-decoration: none; cursor: pointer; box-shadow: 0 9px 26px rgba(212,168,63,.12); }
.button:hover { border-color: var(--gold-light); color: #0b0d10; filter: brightness(1.05); }
.button-small { min-height: 44px; padding: .55rem .8rem; font-size: .85rem; }
.button-quiet { border-color: var(--border); background: var(--surface); box-shadow: none; color: var(--text); }
.button-quiet:hover { color: var(--text); background: var(--surface-2); }
.button-danger { border-color: rgba(255,142,136,.65); background: rgba(255,142,136,.12); box-shadow: none; color: #ffc1bd; }
.button-danger:hover { border-color: var(--danger); background: rgba(255,142,136,.2); color: #fff; }
.button-full { width: 100%; }
.button-row { display: flex; flex-direction: column; gap: .75rem; }
.text-button { min-height: 44px; padding: .45rem; border: 0; background: transparent; color: var(--gold-light); font-weight: 700; cursor: pointer; }
a.text-button { display: inline-flex; align-items: center; }
.text-button.danger { color: var(--danger); }
.eyebrow { margin-bottom: .75rem; color: var(--gold); font-size: .72rem; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; }
.lead { max-width: 42rem; font-size: clamp(1.05rem, 4vw, 1.25rem); }
.badge { display: inline-flex; width: max-content; padding: .22rem .5rem; border: 1px solid var(--border-soft); border-radius: 999px; color: var(--muted); font-size: .7rem; font-weight: 750; letter-spacing: .04em; text-transform: uppercase; }
.badge-gold { border-color: var(--gold-dark); color: var(--gold-light); background: rgba(212,168,63,.07); }
.badge-success { border-color: rgba(119,213,162,.45); color: var(--success); background: rgba(119,213,162,.07); }
.badge-danger { border-color: rgba(255,142,136,.55); color: var(--danger); background: rgba(255,142,136,.08); }
.maintenance-operator-banner { border-bottom: 1px solid rgba(255,142,136,.45); background: rgba(117,30,27,.92); color: #fff; }
.maintenance-operator-banner .shell { min-height: 44px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .5rem 1rem; }
.maintenance-operator-banner a { min-height: 44px; display: inline-flex; align-items: center; color: #fff; font-weight: 750; }

.hero { min-height: min(48rem, calc(100vh - 4.5rem)); display: grid; align-items: center; gap: 2rem; padding-block: 3rem; overflow: hidden; }
.hero-copy { position: relative; z-index: 2; }
.hero-copy h1 { max-width: 13ch; margin-bottom: 1.25rem; }
.hero-copy .button-row { margin-top: 1.75rem; }
.hero-emblem { position: relative; display: grid; place-items: center; min-height: 16rem; padding-block: 1.5rem; isolation: isolate; overflow: hidden; }
.hero-emblem::before { position: absolute; width: min(62vw, 17rem); aspect-ratio: 1; z-index: -2; content: ""; border: 1px solid rgba(212,168,63,.25); transform: rotate(45deg); }
.hero-emblem::after { position: absolute; width: min(78vw, 22rem); height: 1px; z-index: -3; content: ""; background: rgba(212,168,63,.16); box-shadow: 0 -4.75rem 0 rgba(212,168,63,.055), 0 4.75rem 0 rgba(212,168,63,.055); }
.emblem-frame { position: relative; width: min(48vw, 13rem); z-index: 1; }
.emblem-frame::before { position: absolute; left: 50%; top: -2.25rem; bottom: -2.25rem; width: 1px; z-index: -2; content: ""; background: rgba(212,168,63,.12); }
.emblem-frame::after { position: absolute; left: 50%; bottom: -1.2rem; width: .42rem; aspect-ratio: 1; content: ""; border: 1px solid var(--gold-dark); background: var(--bg); transform: translateX(-50%) rotate(45deg); }
.emblem-frame img { width: 100%; height: auto; aspect-ratio: 1; object-fit: contain; opacity: 1; transform: scale(1.08); filter: saturate(.96) contrast(1.06) drop-shadow(0 1.5rem 1.35rem rgba(0,0,0,.58)) drop-shadow(0 0 .7rem rgba(212,168,63,.13)); }
.feature-grid { display: grid; gap: 1rem; padding-block: 1rem 5rem; }
.feature-card { min-height: 14rem; padding: 1.35rem; border: 1px solid var(--border-soft); border-radius: var(--radius); background: linear-gradient(145deg, rgba(29,34,41,.84), rgba(18,21,26,.92)); }
.feature-card h2 { margin-top: 2.3rem; }
.feature-card p { margin-bottom: 0; }
.feature-index { color: var(--gold); font: 600 .75rem/1 var(--serif); letter-spacing: .16em; }

.page-heading { display: flex; flex-direction: column; align-items: flex-start; gap: 1rem; padding-block: 1rem; border-bottom: 1px solid var(--border-soft); }
.page-heading h1 { margin-bottom: .55rem; font-size: clamp(2rem, 8vw, 3.4rem); }
.page-heading p:last-child { margin-bottom: 0; }
.member-dashboard > *, .member-dashboard .page-heading > div { min-width: 0; max-width: 100%; }
.member-dashboard .page-heading h1 { overflow-wrap: anywhere; }
.member-dashboard .guide-list { grid-template-columns: minmax(0, 1fr); }
.member-dashboard .guide-row > span:first-child { min-width: 0; overflow-wrap: anywhere; }
.member-dashboard .guide-language-badge { flex-shrink: 0; }
.section-heading { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: .8rem; }
.section-heading h2 { margin: 0; }
.section-heading a, .guide-card-footer a, .auth-alternate a { min-height: 44px; display: inline-flex; align-items: center; }
.admin-settings-heading { flex-direction: column; align-items: stretch; }
.admin-settings-heading > div:first-child { min-width: 0; }
.admin-settings-heading .button-row { width: 100%; }
.release-current, .release-entry { padding: 1.25rem; border: 1px solid var(--border-soft); border-radius: var(--radius-lg); background: var(--surface); }
.release-current { margin-bottom: 1.5rem; border-color: var(--gold-dark); background: linear-gradient(120deg, rgba(212,168,63,.11), rgba(18,21,26,.96)); }
.release-current-heading, .release-entry header { display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; gap: .75rem 1rem; }
.release-current-heading h2, .release-entry h3 { margin: 0; }
.release-version { margin: 1rem 0; color: var(--gold-light); font: 500 clamp(2.5rem, 13vw, 4rem)/1 var(--serif); }
.release-meta { display: grid; grid-template-columns: minmax(0, 1fr); gap: .85rem; margin: 0; }
.release-meta div { min-width: 0; display: grid; gap: .2rem; }
.release-meta dt { color: var(--quiet); font-size: .7rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.release-meta dd { margin: 0; color: var(--text); overflow-wrap: anywhere; }
.release-meta code, .release-entry code { color: var(--gold-light); overflow-wrap: anywhere; }
.release-history { margin-bottom: 1.5rem; }
.release-list { display: grid; gap: .85rem; }
.release-entry { border-radius: var(--radius); }
.release-entry header { padding-bottom: .8rem; border-bottom: 1px solid var(--border-soft); }
.release-entry header p { margin: .35rem 0 0; color: var(--quiet); font-size: .78rem; }
.release-entry > p { margin: 1rem 0; }
.release-entry ul { display: grid; gap: .55rem; padding-left: 1.25rem; margin: 0; color: var(--muted); }
.admin-registration-panel { width: min(100%, 42rem); }
.maintenance-admin-panel { width: min(100%, 42rem); margin-bottom: 1.5rem; }
.maintenance-admin-panel.is-active { border-color: rgba(255,142,136,.55); }
.maintenance-admin-heading { display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; gap: .75rem; }
.maintenance-admin-heading h2 { margin: 0; }
.maintenance-admin-notice { padding: .85rem 1rem; border: 1px solid var(--border-soft); border-radius: var(--radius-sm); background: rgba(212,168,63,.05); }
.maintenance-admin-notice strong { color: var(--gold-light); }
.maintenance-admin-notice p { margin: .35rem 0 0; font-size: .85rem; }
.maintenance-admin-current { margin: 1rem 0 0; overflow-wrap: anywhere; }
.admin-category-page { display: grid; gap: 1.5rem; }
.admin-category-create, .admin-category-card { overflow: hidden; border: 1px solid var(--border-soft); border-radius: var(--radius); background: var(--surface); }
.admin-category-create[open], .admin-category-card[open] { border-color: var(--gold-dark); }
.admin-category-create > summary, .admin-category-card > summary { min-height: 58px; display: flex; align-items: center; justify-content: space-between; gap: .75rem; padding: .8rem 1rem; color: var(--gold-light); font-weight: 800; cursor: pointer; list-style: none; }
.admin-category-create > summary::-webkit-details-marker, .admin-category-card > summary::-webkit-details-marker { display: none; }
.admin-category-create > summary::after { content: '＋'; font-size: 1.25rem; }
.admin-category-create[open] > summary::after { content: '−'; }
.admin-category-card > summary { color: var(--text); }
.admin-category-card > summary:hover, .admin-category-create > summary:hover { background: rgba(212,168,63,.06); }
.admin-category-form { padding: 1rem; border-top: 1px solid var(--border-soft); background: rgba(8,10,13,.24); }
.admin-category-language-grid { display: grid; gap: .8rem; }
.admin-category-order { width: min(100%, 14rem); }
.admin-category-list { display: grid; gap: .75rem; }
.admin-category-list > .section-heading { margin-bottom: .25rem; }
.admin-category-summary-main { min-width: 0; display: grid; grid-template-columns: 3rem minmax(0,1fr); gap: .75rem; align-items: center; }
.admin-category-summary-main > span:last-child { min-width: 0; display: grid; gap: .15rem; }
.admin-category-summary-main strong, .admin-category-summary-main small { overflow-wrap: anywhere; }
.admin-category-summary-main small { color: var(--quiet); font-size: .72rem; font-weight: 600; }
.admin-category-thumb { width: 3rem; aspect-ratio: 1; display: grid; place-items: center; overflow: hidden; border: 1px solid rgba(212,168,63,.28); border-radius: 50%; background: rgba(10,13,16,.72); }
.admin-category-thumb img { width: 100%; height: 100%; object-fit: contain; }
.admin-category-thumb-empty { color: var(--quiet); font-size: 1.2rem; }
.admin-category-card > summary > .button { flex: 0 0 auto; pointer-events: none; }
.admin-category-media-row { display: grid; gap: 1rem; align-items: center; }
.admin-category-media-row > img { width: min(10rem, 42vw); aspect-ratio: 1; justify-self: center; border: 1px solid rgba(212,168,63,.28); border-radius: 50%; background: rgba(10,13,16,.72); object-fit: contain; }
.admin-shell-nav, .analytics-section-nav { min-width: 0; display: flex; gap: .35rem; overflow-x: auto; overscroll-behavior-inline: contain; padding: .4rem; border: 1px solid var(--border-soft); border-radius: var(--radius); background: rgba(18,21,26,.9); scrollbar-width: none; -ms-overflow-style: none; }
.admin-shell-nav::-webkit-scrollbar, .analytics-section-nav::-webkit-scrollbar { display: none; }
.admin-shell-nav { margin-bottom: 1.5rem; }
.admin-shell-nav a, .analytics-section-nav a { min-height: 44px; display: inline-flex; flex: 0 0 auto; align-items: center; justify-content: center; padding: .65rem .9rem; border: 1px solid transparent; border-radius: calc(var(--radius-sm) - 2px); color: var(--muted); font-size: .78rem; font-weight: 700; text-decoration: none; white-space: nowrap; }
.admin-shell-nav a:hover, .analytics-section-nav a:hover { color: var(--text); background: rgba(212,168,63,.08); }
.admin-shell-nav a[aria-current="page"], .analytics-section-nav a[aria-current="page"] { border-color: rgba(212,168,63,.36); background: rgba(212,168,63,.14); color: var(--gold-light); }
.admin-navigation { min-width: 0; margin-bottom: 1.5rem; }
.admin-navigation-compact > summary { min-height: 48px; display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .7rem .9rem; border: 1px solid var(--border-soft); border-radius: var(--radius-sm); background: var(--surface); color: var(--muted); cursor: pointer; list-style: none; }
.admin-navigation-compact > summary::-webkit-details-marker { display: none; }
.admin-navigation-compact > summary::after { content: '＋'; color: var(--gold-light); font-weight: 800; }
.admin-navigation-compact[open] > summary::after { content: '−'; }
.admin-navigation-compact > summary span { font-size: .7rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.admin-navigation-compact > summary strong { margin-left: auto; color: var(--gold-light); font-size: .78rem; }
.admin-navigation-compact .admin-shell-nav { margin: .5rem 0 0; }
.admin-navigation-wide { display: none; margin: 0; }
.admin-control-page { display: grid; gap: 1.35rem; padding-block: 1rem 5rem; }
.admin-control-page > .admin-navigation { margin-bottom: 0; }
.admin-control-page > .page-heading { margin-bottom: 0; }
.admin-control-heading { width: 100%; }
.admin-control-section { min-width: 0; display: grid; gap: 1rem; padding-top: 1.4rem; border-top: 1px solid var(--border-soft); }
.admin-control-section > .section-heading { margin: 0; align-items: flex-start; }
.admin-control-section > .section-heading p { max-width: 50rem; margin: .4rem 0 0; font-size: .82rem; }
.admin-attention-grid, .admin-summary-grid, .admin-tool-grid, .admin-danger-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: .75rem; }
.admin-attention-card, .admin-tool-grid > a { min-width: 0; min-height: 8.5rem; display: grid; align-content: start; gap: .35rem; padding: 1rem; border: 1px solid var(--border-soft); border-radius: var(--radius); background: linear-gradient(145deg, rgba(29,34,41,.86), rgba(18,21,26,.94)); color: var(--text); text-decoration: none; }
.admin-attention-card strong { color: var(--gold-light); font: 500 clamp(1.45rem, 7vw, 2.4rem)/1.1 var(--serif); overflow-wrap: anywhere; }
.admin-attention-card span, .admin-tool-grid strong { font-weight: 800; overflow-wrap: anywhere; }
.admin-attention-card small, .admin-tool-grid span { color: var(--quiet); font-size: .72rem; line-height: 1.45; }
.admin-attention-card.is-warning { border-color: rgba(212,168,63,.46); background: rgba(212,168,63,.07); }
.admin-attention-card.is-critical { border-color: rgba(255,142,136,.52); background: rgba(255,142,136,.07); }
.admin-summary-grid article { min-width: 0; min-height: 6.5rem; display: grid; align-content: center; gap: .3rem; padding: 1rem; border: 1px solid var(--border-soft); border-radius: var(--radius-sm); background: var(--surface); }
.admin-summary-grid strong { color: var(--gold-light); font: 500 1.8rem/1 var(--serif); overflow-wrap: anywhere; }
.admin-summary-grid span { color: var(--muted); font-size: .76rem; }
.admin-tool-grid > a { min-height: 7.5rem; }
.admin-tool-grid > a:hover, .admin-record-card:hover { border-color: var(--gold-dark); background: rgba(212,168,63,.06); }
.admin-compact-list, .admin-record-list, .admin-audit-list, .admin-role-list, .admin-task-list, .admin-feature-list { display: grid; gap: .75rem; }
.admin-compact-list > div, .admin-task-list article { min-width: 0; display: flex; align-items: center; justify-content: space-between; gap: .75rem; padding: .85rem 1rem; border: 1px solid var(--border-soft); border-radius: var(--radius-sm); background: var(--surface); }
.admin-compact-list > div > span:first-child, .admin-task-list article > div { min-width: 0; display: grid; gap: .2rem; }
.admin-compact-list small, .admin-task-list small { color: var(--quiet); font-size: .7rem; overflow-wrap: anywhere; }
.admin-filter-panel { display: grid; grid-template-columns: minmax(0,1fr); gap: .75rem; align-items: end; padding: 1rem; border: 1px solid var(--border-soft); border-radius: var(--radius); background: var(--surface); }
.admin-filter-panel .field { margin: 0; }
.admin-list-heading { display: flex; align-items: center; justify-content: space-between; color: var(--muted); font-size: .8rem; }
.admin-record-card { min-width: 0; min-height: 7rem; display: flex; flex-direction: column; gap: .8rem; padding: 1rem; border: 1px solid var(--border-soft); border-radius: var(--radius); background: var(--surface); color: var(--text); text-decoration: none; }
.admin-record-main, .admin-record-meta { min-width: 0; display: grid; gap: .25rem; }
.admin-record-main strong, .admin-record-main small { overflow-wrap: anywhere; }
.admin-record-main small, .admin-record-meta small { color: var(--quiet); font-size: .72rem; }
.admin-record-meta { justify-items: start; }
.admin-definition-grid { display: grid; grid-template-columns: minmax(0,1fr); gap: .75rem; margin: 0; }
.admin-definition-grid div { min-width: 0; padding: .9rem 1rem; border: 1px solid var(--border-soft); border-radius: var(--radius-sm); background: var(--surface); }
.admin-definition-grid dt { margin-bottom: .25rem; color: var(--quiet); font-size: .68rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.admin-definition-grid dd { margin: 0; overflow-wrap: anywhere; color: var(--text); font-size: .82rem; }
.admin-definition-grid code { color: var(--gold-light); overflow-wrap: anywhere; }
.admin-role-list article { min-width: 0; display: grid; gap: .8rem; padding: 1rem; border: 1px solid var(--border-soft); border-radius: var(--radius); background: var(--surface); }
.admin-role-list article > div { min-width: 0; display: grid; gap: .25rem; }
.admin-role-list small { color: var(--quiet); font-size: .72rem; overflow-wrap: anywhere; }
.admin-role-list form { display: grid; gap: .65rem; }
.confirmation-check { min-height: 44px; display: flex; align-items: center; gap: .7rem; color: var(--muted); font-size: .78rem; }
.confirmation-check input { width: 1.15rem; height: 1.15rem; flex: 0 0 auto; }
.admin-action-panel, .admin-feature-card { overflow: hidden; border: 1px solid var(--border-soft); border-radius: var(--radius); background: var(--surface); }
.admin-action-panel > summary, .admin-feature-card > summary { min-height: 52px; display: flex; align-items: center; justify-content: space-between; gap: .75rem; padding: .8rem 1rem; color: var(--gold-light); font-weight: 800; cursor: pointer; list-style: none; }
.admin-action-panel > summary::-webkit-details-marker, .admin-feature-card > summary::-webkit-details-marker { display: none; }
.admin-action-panel > form, .admin-action-panel > p { margin: 0; padding: 1rem; border-top: 1px solid var(--border-soft); }
.admin-action-panel > p + form { padding-top: 0; border-top: 0; }
.admin-inline-note, .admin-privacy-note { margin: 0; padding: .8rem 1rem; border-left: 2px solid var(--gold-dark); background: rgba(212,168,63,.05); color: var(--quiet); font-size: .76rem; }
.admin-danger-grid { grid-template-columns: minmax(0,1fr); }
.admin-audit-list article { min-width: 0; padding: 1rem; border: 1px solid var(--border-soft); border-radius: var(--radius); background: var(--surface); }
.admin-audit-list header { display: flex; align-items: flex-start; justify-content: space-between; gap: .75rem; padding-bottom: .75rem; border-bottom: 1px solid var(--border-soft); }
.admin-audit-list header strong { min-width: 0; overflow-wrap: anywhere; }
.admin-audit-list dl { display: grid; gap: .65rem; margin: .8rem 0 0; }
.admin-audit-list dl div { min-width: 0; }
.admin-audit-list dt { color: var(--quiet); font-size: .66rem; font-weight: 800; text-transform: uppercase; }
.admin-audit-list dd { margin: .15rem 0 0; overflow-wrap: anywhere; color: var(--muted); font-size: .75rem; }
.admin-audit-list code { color: var(--gold-light); overflow-wrap: anywhere; }
.admin-schedule-note { display: grid; gap: .75rem; }
.admin-schedule-note > div { min-width: 0; display: grid; gap: .3rem; padding: 1rem; border: 1px solid var(--gold-dark); border-radius: var(--radius-sm); background: rgba(212,168,63,.05); }
.admin-schedule-note code { overflow-wrap: anywhere; color: var(--gold-light); font-size: .72rem; }
.admin-schedule-note span { color: var(--quiet); font-size: .72rem; }
.admin-feature-card > summary > span:first-child { min-width: 0; display: grid; gap: .25rem; }
.admin-feature-card > summary code { color: var(--text); overflow-wrap: anywhere; }
.admin-feature-card > summary small { color: var(--quiet); font-size: .68rem; overflow-wrap: anywhere; }
.admin-feature-body { display: grid; gap: .8rem; padding: 1rem; border-top: 1px solid var(--border-soft); background: rgba(8,10,13,.2); }
.admin-feature-body .form-error p { margin: 0; }
.admin-date-grid { display: grid; gap: .75rem; }
.analytics-page { display: grid; gap: 1.25rem; padding-block: 1rem 5rem; }
.analytics-page > .admin-navigation { margin-bottom: 0; }
.analytics-page > .page-heading { margin-bottom: 0; }
.analytics-heading p:last-child { max-width: 58rem; }
.analytics-meta { display: grid; gap: .65rem; padding: .85rem 1rem; border: 1px solid var(--border-soft); border-radius: var(--radius-sm); background: rgba(23,27,33,.58); }
.analytics-meta p { margin: 0; color: var(--quiet); font-size: .78rem; }
.analytics-meta time { color: var(--muted); }
.analytics-meta details { color: var(--quiet); font-size: .78rem; }
.analytics-meta summary { min-height: 32px; display: flex; align-items: center; cursor: pointer; color: var(--muted); font-weight: 700; }
.analytics-meta details p { margin-top: .45rem; }
.analytics-section { min-width: 0; display: grid; gap: 1rem; padding-top: 1.5rem; border-top: 1px solid var(--border-soft); }
.analytics-section > .section-heading { align-items: flex-end; margin: 0; }
.analytics-section > .section-heading p:last-child { max-width: 54rem; margin: .45rem 0 0; }
.analytics-summary-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: .75rem; }
.analytics-summary-card { min-width: 0; min-height: 9rem; display: grid; align-content: start; gap: .45rem; padding: 1rem; border: 1px solid var(--border-soft); border-radius: var(--radius); background: linear-gradient(145deg, rgba(29,34,41,.9), rgba(18,21,26,.96)); }
.analytics-summary-card > span { color: var(--muted); font-size: .76rem; font-weight: 700; }
.analytics-summary-card > strong { color: var(--gold-light); font: 500 clamp(2rem, 10vw, 3rem)/1 var(--serif); font-variant-numeric: tabular-nums; }
.analytics-summary-card > small { color: var(--quiet); font-size: .7rem; line-height: 1.45; }
.analytics-signal-grid { display: grid; gap: .75rem; }
.analytics-signal-card { min-width: 0; display: grid; grid-template-columns: 4.8rem minmax(0,1fr); align-items: center; gap: .8rem; padding: 1rem; border: 1px solid var(--border-soft); border-radius: var(--radius); background: var(--surface); }
.analytics-signal-card > strong { color: var(--gold-light); font: 500 1.7rem/1 var(--serif); font-variant-numeric: tabular-nums; white-space: nowrap; }
.analytics-signal-card h3 { margin: 0 0 .25rem; font-size: .9rem; }
.analytics-signal-card p { margin: 0; color: var(--quiet); font-size: .72rem; }
.analytics-kpi-grid { display: grid; gap: .75rem; grid-template-columns: minmax(0,1fr); }
.analytics-kpi-grid-compact { grid-template-columns: repeat(2, minmax(0,1fr)); }
.analytics-kpi-card { min-width: 0; min-height: 9.5rem; display: grid; align-content: start; gap: .45rem; padding: 1rem; border: 1px solid var(--border-soft); border-radius: var(--radius); background: linear-gradient(145deg, rgba(29,34,41,.86), rgba(18,21,26,.94)); }
.analytics-kpi-card > strong { color: var(--gold-light); font: 500 clamp(2rem, 11vw, 3rem)/1 var(--serif); }
.analytics-kpi-card h3 { margin: .3rem 0 0; font-size: .93rem; }
.analytics-kpi-card p { margin: 0; color: var(--quiet); font-size: .76rem; }
.analytics-kpi-warning { border-color: rgba(255,142,136,.3); }
.analytics-kpi-warning > strong { color: #ffc1bd; }
.analytics-chart { min-width: 0; padding: 1rem; border: 1px solid var(--border-soft); border-radius: var(--radius-lg); background: var(--surface); }
.analytics-chart-heading { display: grid; gap: .8rem; padding-bottom: 1rem; border-bottom: 1px solid var(--border-soft); }
.analytics-chart-heading h3 { margin-bottom: .35rem; }
.analytics-chart-heading p { margin: 0; color: var(--quiet); font-size: .78rem; }
.analytics-legend { display: flex; flex-wrap: wrap; gap: .5rem 1rem; color: var(--muted); font-size: .75rem; }
.analytics-legend span { display: inline-flex; align-items: center; gap: .4rem; }
.analytics-legend span::before { width: .65rem; height: .65rem; content: ''; border-radius: 50%; background: var(--gold); }
.analytics-legend .analytics-legend-failure::before { background: var(--danger); }
.analytics-legend .analytics-legend-page::before { background: var(--gold); }
.analytics-legend .analytics-legend-visit::before { background: #7fc7b4; }
.analytics-legend .analytics-legend-bot::before { background: #8993a1; }
.analytics-daily-list { max-height: 32rem; display: grid; overflow-y: auto; padding-right: .25rem; scrollbar-gutter: stable; }
.analytics-daily-list:focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; }
.analytics-day-row { min-width: 0; display: grid; grid-template-columns: 5.6rem minmax(0,1fr) 2.6rem; align-items: center; gap: .45rem; min-height: 44px; border-bottom: 1px solid rgba(98,107,118,.18); }
.analytics-day-row:last-child { border-bottom: 0; }
.analytics-day-row time { color: var(--quiet); font: 600 .68rem/1 var(--sans); }
.analytics-day-bars { min-width: 0; display: grid; gap: .3rem; }
.analytics-day-bars progress { width: 100%; height: .42rem; display: block; overflow: hidden; border: 0; border-radius: 999px; background: var(--border-soft); color: var(--gold); appearance: none; }
.analytics-day-bars progress::-webkit-progress-bar { border-radius: 999px; background: var(--border-soft); }
.analytics-day-bars progress::-webkit-progress-value { border-radius: 999px; background: var(--gold); }
.analytics-day-bars progress::-moz-progress-bar { border-radius: 999px; background: var(--gold); }
.analytics-day-bars .analytics-progress-failure { color: var(--danger); }
.analytics-day-bars .analytics-progress-failure::-webkit-progress-value { background: var(--danger); }
.analytics-day-bars .analytics-progress-failure::-moz-progress-bar { background: var(--danger); }
.analytics-day-bars .analytics-progress-page { color: var(--gold); }
.analytics-day-bars .analytics-progress-page::-webkit-progress-value { background: var(--gold); }
.analytics-day-bars .analytics-progress-page::-moz-progress-bar { background: var(--gold); }
.analytics-day-bars .analytics-progress-visit { color: #7fc7b4; }
.analytics-day-bars .analytics-progress-visit::-webkit-progress-value { background: #7fc7b4; }
.analytics-day-bars .analytics-progress-visit::-moz-progress-bar { background: #7fc7b4; }
.analytics-day-bars .analytics-progress-bot { color: #8993a1; }
.analytics-day-bars .analytics-progress-bot::-webkit-progress-value { background: #8993a1; }
.analytics-day-bars .analytics-progress-bot::-moz-progress-bar { background: #8993a1; }
.analytics-day-counts { display: flex; justify-content: flex-end; gap: .2rem; color: var(--quiet); font-size: .68rem; }
.analytics-day-counts strong:first-child { color: var(--gold-light); }
.analytics-day-counts strong:last-child { color: #ffc1bd; }
.analytics-day-counts-traffic strong:last-child { color: #7fc7b4; }
.analytics-product-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: .75rem; }
.analytics-product-card { min-width: 0; display: grid; gap: .35rem; padding: 1rem; border: 1px solid var(--border-soft); border-radius: var(--radius-sm); background: var(--surface); }
.analytics-product-card strong { color: var(--gold-light); font: 500 2rem/1 var(--serif); }
.analytics-product-card span { color: var(--muted); font-size: .78rem; overflow-wrap: anywhere; }
.analytics-coverage-note { margin: 0; padding: 1rem; border-left: 2px solid var(--gold-dark); background: rgba(212,168,63,.04); color: var(--quiet); font-size: .78rem; }
.analytics-panel-grid { display: grid; grid-template-columns: minmax(0,1fr); gap: .75rem; }
.analytics-list-card { min-width: 0; padding: 1rem; border: 1px solid var(--border-soft); border-radius: var(--radius); background: var(--surface); }
.analytics-list-card h3 { margin-bottom: .75rem; }
.analytics-ranking { margin: 0; padding: 0; list-style: none; }
.analytics-ranking li { min-width: 0; min-height: 44px; display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: .75rem; padding: .55rem 0; border-bottom: 1px solid rgba(98,107,118,.18); }
.analytics-ranking li:last-child { border-bottom: 0; }
.analytics-ranking li > span { min-width: 0; overflow-wrap: anywhere; color: var(--muted); font-size: .8rem; }
.analytics-ranking li > strong { color: var(--gold-light); font-variant-numeric: tabular-nums; }
.analytics-ranking-rich li > span { display: grid; gap: .2rem; }
.analytics-ranking-rich small { color: var(--quiet); font-size: .7rem; }
.analytics-ranking code { overflow-wrap: anywhere; color: var(--muted); font-size: .72rem; }
.analytics-list-card .empty-inline { margin: 0; color: var(--quiet); font-size: .78rem; }
.analytics-card-link { min-height: 44px; display: inline-flex; align-items: center; margin-top: .55rem; color: var(--gold-light); font-size: .78rem; font-weight: 700; }
.analytics-status-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: .75rem; }
.analytics-status-card { min-width: 0; display: grid; align-content: start; gap: .45rem; min-height: 7.5rem; padding: 1rem; border: 1px solid var(--border-soft); border-radius: var(--radius-sm); background: var(--surface); }
.analytics-status-card > span { color: var(--quiet); font-size: .72rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.analytics-status-card > strong { color: var(--gold-light); font-size: 1rem; overflow-wrap: anywhere; }
.analytics-status-card > strong time { font-size: .8rem; }
.analytics-status-card > small { color: var(--quiet); font-size: .7rem; line-height: 1.45; }
.analytics-status-warning { border-color: rgba(255,142,136,.4); background: rgba(255,142,136,.04); }
.analytics-status-warning > strong { color: #ffc1bd; }
.analytics-inline-warning { margin: 0; padding: .8rem 1rem; border-left: 2px solid var(--danger); background: rgba(255,142,136,.04); color: #ffc1bd; font-size: .76rem; }
.analytics-monitor-banner { min-width: 0; display: flex; align-items: center; justify-content: space-between; gap: .8rem; padding: .8rem 1rem; border: 1px solid rgba(212,168,63,.35); border-radius: var(--radius-sm); background: rgba(212,168,63,.08); }
.analytics-monitor-banner-critical { border-color: rgba(255,142,136,.52); background: rgba(255,142,136,.08); }
.analytics-monitor-banner > div { min-width: 0; display: grid; gap: .2rem; }
.analytics-monitor-banner strong { color: var(--text); font-size: .83rem; }
.analytics-monitor-banner span { color: var(--quiet); font-size: .72rem; }
.analytics-monitor-banner a { min-height: 44px; display: inline-flex; flex: 0 0 auto; align-items: center; justify-content: center; padding: .55rem .8rem; border: 1px solid currentColor; border-radius: var(--radius-sm); color: var(--gold-light); font-size: .73rem; font-weight: 800; text-decoration: none; }
.analytics-monitor > .section-heading { align-items: flex-start; }
.analytics-monitor-status { display: inline-flex; min-height: 32px; align-items: center; padding: .35rem .65rem; border: 1px solid rgba(112,207,154,.35); border-radius: 999px; background: rgba(112,207,154,.08); color: #a7eac4; font-size: .68rem; font-weight: 900; letter-spacing: .05em; text-transform: uppercase; white-space: nowrap; }
.analytics-monitor-status-warning { border-color: rgba(212,168,63,.5); background: rgba(212,168,63,.1); color: var(--gold-light); }
.analytics-monitor-status-critical { border-color: rgba(255,142,136,.52); background: rgba(255,142,136,.08); color: #ffc1bd; }
.analytics-monitor-card-warning { border-color: rgba(212,168,63,.42); }
.analytics-monitor-card-critical { border-color: rgba(255,142,136,.52); background: rgba(255,142,136,.05); }
.analytics-monitor-card-critical > strong { color: #ffc1bd; }
.analytics-monitor-setup { min-width: 0; padding: 1rem; border: 1px dashed rgba(212,168,63,.45); border-radius: var(--radius-sm); background: rgba(212,168,63,.05); }
.analytics-monitor-setup strong { display: block; margin-bottom: .35rem; color: var(--gold-light); font-size: .84rem; }
.analytics-monitor-setup p { margin: 0 0 .65rem; color: var(--muted); font-size: .76rem; }
.analytics-monitor-setup code { display: block; max-width: 100%; overflow-x: auto; padding: .55rem .65rem; border-radius: .35rem; background: rgba(0,0,0,.24); color: var(--text); font-size: .72rem; white-space: nowrap; }
.analytics-alert-list, .analytics-alert-events, .analytics-monitor-history { display: grid; gap: .65rem; padding: 0; margin: 0; list-style: none; }
.analytics-alert-list li { min-width: 0; display: grid; gap: .4rem; padding: .8rem; border: 1px solid var(--border-soft); border-left-width: 3px; border-radius: var(--radius-sm); background: rgba(18,21,26,.42); }
.analytics-alert-list li.analytics-alert-warning { border-left-color: var(--gold); }
.analytics-alert-list li.analytics-alert-critical { border-left-color: var(--danger); }
.analytics-alert-list li > div, .analytics-alert-events li > div { min-width: 0; display: flex; align-items: center; justify-content: space-between; gap: .7rem; }
.analytics-alert-list strong, .analytics-alert-events strong { overflow-wrap: anywhere; color: var(--text); font-size: .8rem; }
.analytics-alert-list li > div span, .analytics-alert-events li > div span { flex: 0 0 auto; color: var(--gold-light); font-size: .65rem; font-weight: 900; letter-spacing: .04em; text-transform: uppercase; }
.analytics-alert-critical > div span { color: #ffc1bd; }
.analytics-alert-list p { margin: 0; color: var(--muted); font-size: .75rem; }
.analytics-alert-list time, .analytics-alert-events time { color: var(--quiet); font-size: .66rem; }
.analytics-monitor-details { min-width: 0; padding: .8rem; border: 1px solid var(--border-soft); border-radius: var(--radius-sm); background: rgba(18,21,26,.38); }
.analytics-monitor-details > summary { min-height: 44px; display: flex; align-items: center; color: var(--muted); cursor: pointer; font-size: .77rem; font-weight: 800; }
.analytics-monitor-details[open] > summary { margin-bottom: .8rem; }
.analytics-monitor-history li { min-width: 0; display: grid; grid-template-columns: 5.8rem .55rem minmax(0,1fr); align-items: center; gap: .55rem; }
.analytics-monitor-history time { color: var(--muted); font-size: .67rem; }
.analytics-monitor-history small { overflow-wrap: anywhere; color: var(--quiet); font-size: .67rem; }
.analytics-monitor-dot { width: .48rem; height: .48rem; border-radius: 50%; background: #70cf9a; box-shadow: 0 0 0 3px rgba(112,207,154,.08); }
.analytics-monitor-dot-warning { background: var(--gold); box-shadow: 0 0 0 3px rgba(212,168,63,.09); }
.analytics-monitor-dot-critical { background: var(--danger); box-shadow: 0 0 0 3px rgba(255,142,136,.09); }
.analytics-alert-events li { min-width: 0; display: grid; gap: .28rem; padding-bottom: .65rem; border-bottom: 1px solid rgba(98,107,118,.18); }
.analytics-alert-events li:last-child { padding-bottom: 0; border-bottom: 0; }
.analytics-alert-events small { overflow-wrap: anywhere; color: var(--quiet); font-size: .7rem; }
.analytics-log-list { display: grid; gap: 0; padding: 0; margin: 0; list-style: none; }
.analytics-log-list li { min-width: 0; display: grid; gap: .4rem; padding: .75rem 0; border-bottom: 1px solid rgba(98,107,118,.18); }
.analytics-log-list li:last-child { border-bottom: 0; }
.analytics-log-list li > div { min-width: 0; display: grid; gap: .25rem; }
.analytics-log-list strong { overflow-wrap: anywhere; color: var(--text); font-size: .82rem; }
.analytics-log-list span, .analytics-log-list small { overflow-wrap: anywhere; color: var(--quiet); font-size: .7rem; }
.analytics-log-list code { overflow-wrap: anywhere; color: var(--muted); font-size: inherit; }
.analytics-status-grid-three { grid-template-columns: repeat(2, minmax(0,1fr)); }
.analytics-status-grid-three > :last-child:nth-child(odd) { grid-column: 1 / -1; }
.cookie-inventory-list { display: grid; gap: 0; padding: 0; margin: 0; list-style: none; }
.cookie-inventory-list > li { min-width: 0; display: grid; gap: .75rem; padding: .9rem 0; border-bottom: 1px solid var(--border-soft); }
.cookie-inventory-list > li:last-child { border-bottom: 0; padding-bottom: 0; }
.cookie-inventory-list > li:first-child { padding-top: 0; }
.cookie-inventory-list > li > div:first-child { min-width: 0; display: grid; gap: .3rem; }
.cookie-inventory-list code { width: fit-content; max-width: 100%; overflow-wrap: anywhere; color: var(--gold-light); font-size: .75rem; }
.cookie-inventory-list strong { font-size: .82rem; }
.cookie-inventory-list small { color: var(--quiet); font-size: .72rem; line-height: 1.45; }
.cookie-protection-list { display: flex; flex-wrap: wrap; gap: .4rem; align-items: center; }
.cookie-protection-list span { max-width: 100%; padding: .3rem .5rem; border: 1px solid var(--border-soft); border-radius: 999px; color: var(--muted); font-size: .67rem; overflow-wrap: anywhere; }
.privacy-cookie-inventory { margin: 1rem 0; padding: 1rem; border: 1px solid var(--border-soft); border-radius: var(--radius-sm); background: rgba(23,27,33,.38); }
.http-status { margin-right: .35rem; color: #ffc1bd; font-variant-numeric: tabular-nums; }
.guide-feedback { display: grid; gap: 1rem; margin-top: 2rem; padding: 1.25rem; border: 1px solid rgba(212,168,63,.25); border-radius: var(--radius); background: rgba(212,168,63,.05); }
.guide-feedback h2 { margin-bottom: .35rem; font-size: 1.25rem; }
.guide-feedback p { margin: 0; color: var(--quiet); }
.guide-feedback-actions { display: grid; grid-template-columns: minmax(0,1fr); gap: .6rem; }
.guide-feedback-actions form, .guide-feedback-actions button { width: 100%; }
.privacy-analytics-choice { display: grid; gap: 1rem; margin-top: 1rem; padding: 1rem; border: 1px solid var(--border-soft); border-radius: var(--radius-sm); background: rgba(23,27,33,.55); }
.privacy-analytics-choice p { margin: 0; }
.privacy-analytics-choice .button-row { align-items: stretch; }
.privacy-analytics-choice form { flex: 0 0 auto; }
.privacy-analytics-choice button { width: 100%; min-height: 44px; }
.analytics-consent { display: grid; gap: 1rem; margin-block: 1rem; padding: 1rem; border: 1px solid var(--gold-dark); border-radius: var(--radius); background: var(--bg-elevated); }
.analytics-consent-copy { display: grid; gap: .35rem; }
.analytics-consent-copy strong { color: var(--gold-light); }
.analytics-consent-copy p { margin: 0; color: var(--muted); font-size: .78rem; line-height: 1.55; }
.analytics-consent-actions { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: .55rem; }
.analytics-consent-actions form, .analytics-consent-actions button { width: 100%; }
.analytics-consent-actions button { min-height: 44px; padding-inline: .65rem; }
.stat-card { display: flex; align-items: baseline; gap: .8rem; padding: 1.25rem; border: 1px solid var(--gold-dark); border-radius: var(--radius); background: linear-gradient(100deg, rgba(212,168,63,.12), transparent); color: var(--muted); }
.stat-value { color: var(--gold-light); font: 500 2.2rem/1 var(--serif); }
.guide-list, .session-list, .revision-list { display: grid; gap: .75rem; }
.guide-row { min-height: 64px; display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem; border: 1px solid var(--border-soft); border-radius: var(--radius-sm); background: var(--surface); color: var(--text); text-decoration: none; }
.guide-row span:first-child { display: grid; gap: .2rem; }
.guide-row small { max-width: 60ch; overflow: hidden; color: var(--muted); text-overflow: ellipsis; white-space: nowrap; }
.empty-state { display: grid; justify-items: start; gap: .5rem; padding: 2rem 1.25rem; border: 1px dashed var(--border); border-radius: var(--radius); background: rgba(23,27,33,.45); }
.empty-glyph { color: var(--gold); font-size: 2.5rem; }
.empty-state h2, .empty-state p { margin-bottom: 0; }
.profile-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: .75rem; }
.detail-card { display: grid; gap: .5rem; padding: 1rem; border: 1px solid var(--border-soft); border-radius: var(--radius-sm); background: var(--surface); }
.detail-card span { color: var(--quiet); font-size: .75rem; text-transform: uppercase; }
.session-card, .revision-card { display: flex; flex-direction: column; align-items: flex-start; gap: .75rem; padding: 1rem; border: 1px solid var(--border-soft); border-radius: var(--radius-sm); background: var(--surface); }
.session-card > div, .revision-card > div { display: grid; gap: .35rem; min-width: 0; }
.session-card strong { overflow-wrap: anywhere; }
.session-card h2 { margin: 0; font-family: inherit; font-size: 1rem; overflow-wrap: anywhere; }
.session-card { min-width: 0; }
.session-device-details summary { min-height: 44px; display: flex; align-items: center; cursor: pointer; color: var(--muted); }
.session-device-details p, .session-revoke p { overflow-wrap: anywhere; }
.session-revoke { min-width: 0; max-width: 32rem; }
.session-revoke > summary { display: flex; align-items: center; color: var(--danger); }
.session-revoke[open] { width: 100%; }
.session-revoke form { display: grid; gap: .65rem; }
.session-card small, .revision-card small { color: var(--quiet); }
.revision-title { display: flex; align-items: center; flex-wrap: wrap; gap: .5rem; }
.revision-card p { margin: 0; }
.revision-card > form { width: 100%; }
.revision-card > form .button-row { flex-wrap: wrap; }
.prose-page, .error-page { max-width: 48rem; padding-block: 4rem; }
.prose-page h1, .error-page h1 { font-size: clamp(2.2rem, 9vw, 4rem); }
.legal-page, .contact-page { max-width: 64rem; padding-block: 2rem 5rem; }
.legal-header { padding-bottom: 1.75rem; border-bottom: 1px solid var(--border-soft); }
.legal-header h1 { max-width: 18ch; margin-bottom: 1rem; font-size: clamp(2.2rem, 9vw, 4.4rem); }
.legal-header .lead { margin-bottom: 1.5rem; }
.legal-meta { display: flex; flex-wrap: wrap; gap: .75rem 2rem; margin: 0; }
.legal-meta div { display: grid; gap: .15rem; }
.legal-meta dt { color: var(--quiet); font-size: .7rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.legal-meta dd { margin: 0; color: var(--text); font-size: .88rem; }
.legal-toc { display: grid; gap: .8rem; padding: 1.25rem; margin-block: 1.25rem; border: 1px solid var(--border-soft); border-radius: var(--radius); background: rgba(23,27,33,.62); }
.legal-toc strong { color: var(--gold-light); }
.legal-toc ol { display: grid; grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr)); gap: .25rem 1.5rem; padding-left: 1.25rem; margin: 0; }
.legal-toc a { min-height: 44px; display: inline-flex; align-items: center; color: var(--muted); }
.legal-content { display: grid; }
.legal-section { padding-block: 2rem; border-top: 1px solid var(--border-soft); scroll-margin-top: 5.5rem; }
.legal-section:first-child { border-top: 0; }
.legal-section h2 { margin-bottom: 1rem; }
.legal-section p, .legal-section li, .legal-definition-list dd { max-width: 72ch; }
.legal-list { display: grid; gap: .55rem; padding-left: 1.25rem; color: var(--muted); }
.legal-definition-list { display: grid; gap: .75rem; margin: 1.25rem 0; }
.legal-definition-list div { display: grid; gap: .35rem; padding: 1rem; border: 1px solid var(--border-soft); border-radius: var(--radius-sm); background: var(--surface); }
.legal-definition-list dt { color: var(--text); font-weight: 800; }
.legal-definition-list dd { margin: 0; color: var(--muted); }
.legal-note { padding-left: 1rem; border-left: 2px solid var(--gold-dark); }
.legal-callout { padding: 1.25rem; border: 1px solid var(--gold-dark); border-radius: var(--radius); background: linear-gradient(120deg, rgba(212,168,63,.1), rgba(23,27,33,.65)); }
.legal-callout h2 { margin-bottom: .7rem; }
.legal-callout p:last-child { margin-bottom: 0; }
.contact-page .legal-header { margin-bottom: .5rem; }
.contact-direct { display: flex; flex-wrap: wrap; align-items: center; gap: .25rem .6rem; margin-bottom: 0; }
.contact-direct a, .legal-contact-email { min-height: 44px; display: inline-flex; align-items: center; overflow-wrap: anywhere; }
.contact-gate { display: grid; justify-items: start; gap: 1rem; padding: 1.5rem; border: 1px solid var(--gold-dark); border-radius: var(--radius-lg); background: var(--surface); }
.contact-gate h2, .contact-gate p { margin-bottom: .4rem; }
.contact-layout { display: grid; gap: 1rem; align-items: start; }
.contact-layout .auth-panel { width: 100%; }
.contact-layout .legal-callout a { min-height: 44px; display: inline-flex; align-items: center; }
.support-history { display: grid; gap: .75rem; padding-top: 1.5rem; border-top: 1px solid var(--border-soft); }
.support-page { max-width: 68rem; padding-bottom: 5rem; }
.support-page .page-heading > div { min-width: 0; }
.support-page .page-heading h1 { overflow-wrap: anywhere; }
.support-heading-meta { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem .8rem; color: var(--quiet); font-size: .8rem; }
.support-ticket-list { display: grid; gap: .75rem; }
.support-ticket-card { min-height: 76px; display: flex; flex-direction: column; align-items: flex-start; justify-content: space-between; gap: .8rem; padding: 1rem; border: 1px solid var(--border-soft); border-radius: var(--radius-sm); background: var(--surface); color: var(--text); text-decoration: none; }
.support-ticket-card:hover { border-color: var(--gold-dark); background: var(--surface-2); color: var(--text); }
.support-ticket-main, .support-ticket-meta { min-width: 0; display: grid; gap: .25rem; }
.support-ticket-main strong { overflow-wrap: anywhere; }
.support-ticket-main small, .support-ticket-meta small { color: var(--quiet); font-size: .76rem; overflow-wrap: anywhere; }
.support-ticket-meta { justify-items: start; }
.support-queue-nav { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem; }
.support-queue-nav > span { color: var(--quiet); font-size: .82rem; }
.support-thread { display: grid; gap: .85rem; }
.support-message { max-width: min(100%, 48rem); padding: 1rem; border: 1px solid var(--border-soft); border-radius: var(--radius); background: var(--surface); }
.support-message-staff { margin-left: clamp(0rem, 5vw, 3rem); border-color: var(--gold-dark); background: linear-gradient(120deg, rgba(212,168,63,.08), var(--surface)); }
.support-message header { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .4rem 1rem; padding-bottom: .65rem; border-bottom: 1px solid var(--border-soft); }
.support-message header time { color: var(--quiet); font-size: .75rem; }
.support-message p { margin: .8rem 0 0; color: var(--text); overflow-wrap: anywhere; white-space: normal; }
.support-admin-layout { display: grid; gap: 1rem; align-items: start; }
.support-ticket-details { padding: 1.1rem; border: 1px solid var(--border-soft); border-radius: var(--radius); background: var(--surface); }
.support-ticket-details h2 { margin-bottom: 1rem; }
.support-ticket-details dl { display: grid; gap: .9rem; margin: 0; }
.support-ticket-details dl > div { display: grid; gap: .2rem; }
.support-ticket-details dt { color: var(--quiet); font-size: .7rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.support-ticket-details dd { margin: 0; color: var(--text); overflow-wrap: anywhere; }
.support-ticket-details dd a { min-height: 44px; display: inline-flex; align-items: center; overflow-wrap: anywhere; }
.support-admin-main { min-width: 0; padding: 0; }
.support-reply-panel { width: 100%; max-width: none; box-shadow: none; }
.support-actions { display: grid; gap: 1rem; padding-top: 1rem; border-top: 1px solid var(--border-soft); }
.support-actions h2 { margin: 0; }
.support-actions form { margin: 0; }
.support-delete-zone { max-width: 48rem; padding: 1rem; border: 1px solid rgba(255,142,136,.4); border-radius: var(--radius-sm); background: rgba(255,142,136,.04); }
.support-delete-zone summary { min-height: 44px; display: flex; align-items: center; color: var(--danger); font-weight: 800; cursor: pointer; }
.support-delete-zone p { margin-bottom: 1rem; }
.checkbox-field { min-height: 52px; display: flex; align-items: flex-start; gap: .75rem; padding: .75rem; border: 1px solid var(--border); border-radius: var(--radius-sm); cursor: pointer; }
.checkbox-field input { flex: 0 0 auto; width: 1.25rem; min-height: 1.25rem; margin-top: .15rem; accent-color: var(--gold); }
.checkbox-field span { display: grid; gap: .2rem; }
.checkbox-field strong { color: var(--text); font-size: .88rem; }
.checkbox-field small { color: var(--quiet); }
.error-code { color: var(--gold); font: 500 5rem/1 var(--serif); }

.auth-shell { min-height: calc(100vh - 10rem); display: grid; place-items: center; padding-block: 2rem 4rem; }
.auth-panel { width: min(100%, 31rem); padding: 1.35rem; border: 1px solid var(--border-soft); border-radius: var(--radius-lg); background: rgba(18,21,26,.94); box-shadow: var(--shadow); }
.auth-panel h1 { margin-bottom: .7rem; font-size: clamp(2.1rem, 10vw, 3.2rem); }
.section-stack > .auth-panel { width: min(100%, 42rem); }
.auth-intro { margin-bottom: 1.5rem; }
.form-stack { display: grid; gap: 1rem; }
.form-fieldset { min-width: 0; display: grid; gap: 1rem; padding: 1rem 0 0; margin: .25rem 0 0; border: 0; border-top: 1px solid var(--border-soft); }
.form-fieldset legend { padding-right: .75rem; color: var(--gold-light); font-size: .75rem; font-weight: 800; text-transform: uppercase; }
.signup-gift-card { gap: .85rem; padding: 1.1rem; border: 1px solid rgba(212,168,63,.42); border-radius: var(--radius); background: linear-gradient(145deg, rgba(212,168,63,.12), rgba(212,168,63,.025) 55%), var(--bg-elevated); }
.signup-gift-card legend { padding: .25rem .65rem; border: 1px solid rgba(212,168,63,.42); border-radius: 999px; background: #2c2619; color: var(--gold-light); font-size: .76rem; letter-spacing: .04em; }
.signup-gift-card legend::before { content: "🎁"; margin-right: .35rem; }
.signup-gift-intro { margin: 0; color: #ddd5c2; font-size: .88rem; }
.signup-game-help { border: 1px solid var(--border-soft); border-radius: var(--radius-sm); background: rgba(11,13,16,.4); }
.signup-game-help summary { min-height: 44px; display: flex; align-items: center; gap: .55rem; padding: .4rem .7rem; color: var(--gold-light); cursor: pointer; font-size: .82rem; font-weight: 700; list-style: none; }
.signup-game-help summary::-webkit-details-marker { display: none; }
.signup-game-help summary::before { content: "i"; width: 1.2rem; height: 1.2rem; display: inline-grid; flex: 0 0 auto; place-items: center; border: 1px solid currentColor; border-radius: 50%; font: 800 .75rem/1 var(--sans); }
.signup-game-help summary::after { content: "+"; margin-left: auto; font-size: 1rem; }
.signup-game-help[open] summary::after { content: "−"; }
.signup-game-help p { margin: 0; padding: 0 .75rem .8rem 2.45rem; color: var(--muted); font-size: .8rem; }
.signup-auto-option { min-height: 72px; display: grid; grid-template-columns: auto minmax(0,1fr); align-items: start; gap: .75rem; padding: 1rem; border: 1px solid rgba(212,168,63,.62); border-radius: var(--radius); background: linear-gradient(135deg, rgba(212,168,63,.18), rgba(212,168,63,.04)); cursor: pointer; box-shadow: inset 0 1px rgba(255,255,255,.05); }
.signup-auto-option:hover, .signup-auto-option:has(input:checked) { border-color: var(--gold-light); background: linear-gradient(135deg, rgba(212,168,63,.26), rgba(212,168,63,.07)); }
.signup-auto-option:has(input:focus-visible) { outline: 3px solid var(--gold-light); outline-offset: 3px; }
.signup-auto-option input[type="checkbox"] { width: 1.4rem; height: 1.4rem; min-height: 1.4rem; margin: .1rem 0 0; padding: 0; accent-color: var(--gold); cursor: pointer; }
.signup-auto-copy { display: grid; gap: .35rem; }
.signup-auto-copy strong { color: var(--text); font-size: .92rem; line-height: 1.25; }
.signup-auto-copy small { color: #d6d0c5; font-size: .8rem; line-height: 1.45; }
.form-pair { display: grid; grid-template-columns: minmax(0,.7fr) minmax(0,1.3fr); gap: .75rem; }
.field { display: grid; gap: .38rem; }
.field label { color: var(--text); font-size: .88rem; font-weight: 700; }
.label-row { display: flex; align-items: center; justify-content: space-between; gap: .5rem; }
.label-row a { min-height: 44px; display: inline-flex; align-items: center; font-size: .78rem; }
input, select, textarea { width: 100%; min-height: 46px; border: 1px solid var(--border); border-radius: var(--radius-sm); background: #0f1216; color: var(--text); }
input, select { padding: .7rem .8rem; }
input[role="switch"] { width: 3.25rem; min-height: 1.75rem; accent-color: var(--gold); cursor: pointer; }
textarea { padding: .8rem; resize: vertical; }
input:hover, select:hover, textarea:hover { border-color: #88919c; }
.field-hint, .field-error { display: block; font-size: .78rem; }
.field-hint { color: var(--quiet); }
.field-error { color: var(--danger); }
.form-error { padding: .8rem 1rem; margin-bottom: 1rem; border: 1px solid rgba(255,142,136,.55); border-radius: var(--radius-sm); background: rgba(255,142,136,.08); color: #ffc1bd; }
.auth-alternate { margin: 1.25rem 0 0; text-align: center; font-size: .88rem; }
.auth-message { display: grid; justify-items: start; gap: 1rem; }
.auth-message h1, .auth-message p { margin: 0; }
.auth-message form { width: 100%; }
.settings-links { display: flex; flex-wrap: wrap; gap: .75rem; }
.message-icon { display: grid; width: 3.2rem; aspect-ratio: 1; place-items: center; border: 1px solid var(--gold); border-radius: 50%; color: var(--gold-light); font-size: 1.4rem; }
.flash-stack { position: relative; z-index: 10; display: grid; gap: .5rem; padding-top: 1rem; }
.flash { padding: .8rem 1rem; border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--surface); }
.flash-success { border-color: rgba(119,213,162,.5); color: var(--success); }

.guide-library { display: grid; gap: 1rem; }
.guide-card { display: grid; gap: .75rem; padding: 1.1rem; border: 1px solid var(--border-soft); border-radius: var(--radius); background: var(--surface); }
.guide-card h2, .guide-card h3, .guide-card p { margin: 0; }
.guide-card-top, .guide-card-footer { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem; }
.guide-card-top > small, .guide-card-footer small { color: var(--quiet); font-size: .75rem; }
.guide-card-badges { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem; }
.badge-protected { border-color: rgba(212,168,63,.45); background: rgba(212,168,63,.08); color: var(--gold-light); }
.guide-version-row, .guide-language-nav { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; }
.guide-language-nav { padding: .65rem; border: 1px solid var(--border-soft); border-radius: var(--radius-sm); background: rgba(23,27,33,.55); }
.language-version { min-width: 44px; min-height: 44px; display: inline-flex; align-items: center; justify-content: center; gap: .45rem; padding: .45rem .65rem; border: 1px solid var(--border); border-radius: var(--radius-sm); background: #0f1216; color: var(--text); font-size: .75rem; font-weight: 800; letter-spacing: .08em; text-decoration: none; }
.language-version small { color: var(--quiet); font-size: .68rem; letter-spacing: 0; }
.language-version:hover, .language-version.is-current { border-color: var(--gold); background: rgba(212,168,63,.1); color: var(--gold-light); }
.language-version.is-published { border-color: rgba(119,213,162,.45); }
.language-version.is-published small { color: var(--success); }
.language-version-add { border-style: dashed; color: var(--gold-light); }
.guide-language-badge { min-width: 2.6rem; min-height: 2.6rem; display: inline-grid; place-items: center; border: 1px solid var(--gold-dark); border-radius: var(--radius-sm); background: rgba(212,168,63,.09); color: var(--gold-light); font-size: .72rem; font-weight: 850; letter-spacing: .1em; }
.guide-public-link { min-height: 44px; width: max-content; display: inline-flex; align-items: center; }
.public-guide-shell { max-width: 68rem; }
.guide-filter-bar { display: grid; gap: .75rem; padding-block: 1rem; border-block: 1px solid var(--border-soft); }
.guide-filter-bar .field { min-width: 0; }
.guide-search-field { grid-column: 1 / -1; }
.guide-filter-actions { display: flex; flex-wrap: wrap; align-items: end; gap: .6rem; }
.guide-result-count { margin: 0; color: var(--quiet); font-size: .82rem; }
.public-guide-grid { display: grid; gap: 1rem; }
.public-guide-card { display: grid; gap: 1rem; padding: 1.2rem; border: 1px solid var(--border-soft); border-radius: var(--radius); background: linear-gradient(145deg, rgba(29,34,41,.78), rgba(18,21,26,.92)); }
.public-guide-card h2, .public-guide-card p { margin: 0; }
.public-guide-card h2 a { min-height: 44px; display: inline-flex; align-items: center; color: var(--text); text-decoration: none; }
.public-guide-card h2 a:hover { color: var(--gold-light); }
.guide-card-feature { display: grid; grid-template-columns: minmax(0,1fr); gap: 1rem; align-items: center; }
.has-category-thumbnail .guide-card-feature { grid-template-columns: minmax(0,1fr); }
.guide-card-thumbnail, .guide-category-hero { display: grid; place-items: center; aspect-ratio: 1; border: 1px solid rgba(212,168,63,.24); border-radius: 50%; background: radial-gradient(circle, rgba(212,168,63,.14), rgba(10,13,16,.35) 62%, transparent 72%); }
.guide-card-thumbnail { grid-row: 1; width: min(7.5rem, 36vw); justify-self: center; }
.guide-card-thumbnail img, .guide-category-hero img { width: 100%; height: auto; max-height: 100%; object-fit: contain; filter: drop-shadow(0 .45rem .6rem rgba(0,0,0,.38)); }
.public-guide-meta { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .5rem 1rem; color: var(--quiet); font-size: .78rem; }
.guide-access-shell { min-height: calc(100vh - 10rem); display: grid; place-items: center; padding-block: 1.5rem 5rem; }
@media (max-width: 640px) { .guide-access-shell { min-height: 0; place-items: start center; padding-block: 1.5rem 2rem; } }
.guide-access-panel { width: min(100%, 42rem); display: grid; gap: 1rem; }
.guide-access-panel h1 { margin: 0; overflow-wrap: anywhere; font-size: clamp(2rem, 9vw, 3.4rem); }
.guide-access-summary { margin: 0; color: var(--muted); font-size: 1.02rem; }
.guide-access-form-block { display: grid; gap: .75rem; padding-top: 1.25rem; border-top: 1px solid var(--border-soft); }
.guide-access-form-block h2, .guide-access-form-block p { margin: 0; }
.guide-access-form-block h2 { font-size: 1.35rem; }
.public-series-card { position: relative; grid-column: 1 / -1; padding: 1.35rem 1.25rem 1.35rem 2rem; border-color: rgba(212,168,63,.45); background: linear-gradient(100deg, rgba(212,168,63,.11), rgba(29,34,41,.88) 24%, rgba(18,21,26,.96)); box-shadow: .35rem .35rem 0 -.1rem #0a0d10, .55rem .55rem 0 -.16rem rgba(212,168,63,.3); }
.public-series-card::before { position: absolute; inset: .45rem auto .45rem .7rem; width: 2px; content: ''; background: linear-gradient(transparent, var(--gold-dark) 12%, var(--gold) 50%, var(--gold-dark) 88%, transparent); }
.public-series-card h2 a { min-height: 44px; align-items: flex-start; font: 600 1.75rem/1.12 var(--serif); }
.series-card-kind { display: flex; flex-wrap: wrap; align-items: center; gap: .55rem; }
.series-card-kind strong { color: var(--gold-light); font-size: .78rem; }
.series-badge { border-color: var(--gold-dark); background: rgba(212,168,63,.12); color: var(--gold-light); }
.series-card-copy { display: grid; gap: .65rem; max-width: 54rem; }
.series-card-copy p { max-width: 62ch; color: var(--muted); line-height: 1.6; }
.series-card-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem 1rem; padding-top: .2rem; border-top: 1px solid var(--border-soft); }
.series-start-button { flex: 1 1 12rem; width: max-content; max-width: 18rem; }
.series-card-actions .guide-version-row { margin-left: auto; }
.guide-taxonomy { display: flex; flex-wrap: wrap; gap: .45rem; }
.guide-taxonomy span { padding: .3rem .5rem; border: 1px solid var(--border-soft); border-radius: var(--radius-sm); background: #101419; color: var(--muted); font-size: .72rem; font-weight: 750; }
.pagination { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: .45rem; padding-top: .5rem; }
.page-link { min-width: 44px; min-height: 44px; display: inline-grid; place-items: center; border: 1px solid var(--border-soft); border-radius: var(--radius-sm); color: var(--muted); text-decoration: none; }
.page-link:hover, .page-link.is-current { border-color: var(--gold-dark); background: rgba(212,168,63,.1); color: var(--gold-light); }
.guide-reader { max-width: 62rem; padding-block: 2rem 5rem; }
.guide-reader-header { display: grid; grid-template-columns: minmax(0,1fr); gap: .8rem; padding: .75rem 0 1.25rem; border-bottom: 1px solid var(--border-soft); }
.guide-toc-more > summary { min-height: 44px; padding: .65rem .4rem; color: var(--gold-light); cursor: pointer; }
.guide-toc-more > summary:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
.back-link { min-height: 44px; width: max-content; display: inline-flex; align-items: center; color: var(--muted); font-size: .85rem; text-decoration: none; }
.guide-reader-kicker { display: flex; flex-wrap: wrap; align-items: center; gap: .65rem; }
.guide-category-hero { width: min(8.5rem, 42vw); padding: .65rem; place-self: center; }
.guide-reader-header h1 { max-width: 28ch; margin: 0; overflow-wrap: anywhere; font-size: clamp(2rem, 4vw, 3rem); line-height: 1.16; }
.guide-reader-summary { max-width: 48rem; margin: 0; font-size: clamp(1.05rem, 4vw, 1.3rem); }
.guide-reader-meta { display: flex; flex-wrap: wrap; gap: .55rem 1rem; color: var(--quiet); font-size: .8rem; }
.guide-reader-meta > *, .profile-page .page-heading > div, .profile-page .detail-card { min-width: 0; max-width: 100%; overflow-wrap: anywhere; }
.profile-page .page-heading h1 { overflow-wrap: anywhere; }
.profile-page .profile-grid { grid-template-columns: repeat(auto-fit,minmax(min(100%,16rem),1fr)); }
.guide-reader-layout { display: grid; grid-template-columns: 2px minmax(0,1fr); gap: 1.25rem; padding-top: 1.75rem; }
.guide-reader-layout.has-reader-sidebar { display: block; }
.guide-reader-rail { min-height: 100%; background: linear-gradient(var(--gold-dark), transparent 70%); }
.guide-reader-content { min-width: 0; font-size: 1.02rem; line-height: 1.72; }
.guide-reader-content > :first-child { margin-top: 0; }
.guide-reader-content h2[id], .guide-reader-content h3[id], .guide-reader-content h4[id], .guide-reader-content h5[id] { scroll-margin-top: 8rem; }
.editor-shell { max-width: 64rem; }
.editor-shell > *, .guide-editor > * { min-width: 0; }
.guide-editor .label-row { flex-wrap: wrap; }
.guide-editor .writing-view-modes button { overflow-wrap: anywhere; }
.guide-editor .autosave-status { overflow-wrap: anywhere; }
.publication-panel { display: grid; gap: 1rem; padding: 1rem; border: 1px solid var(--gold-dark); border-radius: var(--radius); background: linear-gradient(120deg, rgba(212,168,63,.1), rgba(23,27,33,.74)); }
.publication-panel h2, .publication-panel p { margin-bottom: 0; }
.publication-panel .eyebrow { margin-bottom: .45rem; }
.publication-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .65rem; }
.publication-actions form { display: inline-flex; }
.guide-editor { display: grid; gap: 1rem; }
.editor-meta-grid { display: grid; gap: 1rem; }
.guide-access-control { min-width: 0; display: grid; gap: .8rem; padding: 1rem 0; margin: 0; border: 0; border-block: 1px solid var(--border-soft); }
.guide-access-control legend { padding-right: .75rem; color: var(--gold-light); font-size: .75rem; font-weight: 800; text-transform: uppercase; }
.guide-access-toggle { min-height: 48px; display: flex; align-items: center; justify-content: space-between; gap: 1rem; cursor: pointer; }
.guide-access-toggle span { min-width: 0; display: grid; gap: .2rem; }
.guide-access-toggle strong { color: var(--text); }
.guide-access-toggle small { color: var(--quiet); font-size: .78rem; font-weight: 400; }
.guide-access-code-field { max-width: 34rem; }
.guide-toc-control { padding: .9rem 1rem; border: 1px solid rgba(212,168,63,.3); border-radius: var(--radius-sm); background: linear-gradient(120deg, rgba(212,168,63,.08), rgba(23,27,33,.58)); }
.guide-toc-toggle { min-height: 48px; display: flex; align-items: center; justify-content: space-between; gap: 1rem; cursor: pointer; }
.guide-toc-toggle span { min-width: 0; display: grid; gap: .2rem; }
.guide-toc-toggle strong { color: var(--gold-light); }
.guide-toc-toggle small { max-width: 62ch; color: var(--quiet); font-size: .78rem; font-weight: 400; }
.guide-access-toggle input, .guide-toc-toggle input { flex-shrink: 0; }
.editor-category-link { display: inline-flex; align-items: center; min-height: 44px; }
.editor-writing-layout { min-width: 0; display: grid; gap: 1rem; }
.visually-hidden { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; border: 0 !important; }
.editor-content-field { min-width: 0; }
.markdown-writing-tools { position: sticky; top: 4.6rem; z-index: 12; min-width: 0; border: 1px solid var(--border); border-radius: var(--radius-sm); background: rgba(18,21,26,.98); box-shadow: 0 8px 24px rgba(0,0,0,.24); }
.editor-writing-layout.has-preview .markdown-writing-tools { position: relative; top: auto; }
.editor-toolbar { display: flex; gap: .25rem; min-width: 0; padding: .35rem; overflow-x: auto; overscroll-behavior-inline: contain; scrollbar-width: thin; }
.editor-tool-button { width: 44px; min-width: 44px; min-height: 44px; display: grid; place-items: center; padding: 0; border: 1px solid transparent; border-radius: .35rem; background: transparent; color: var(--text); font-weight: 750; line-height: 1; cursor: pointer; }
.editor-tool-button:hover, .editor-tool-button[aria-expanded="true"] { border-color: var(--gold-dark); background: rgba(212,168,63,.1); color: var(--gold-light); }
.editor-tool-heading-2, .editor-tool-heading-3, .editor-tool-code { font-size: .75rem; }
.editor-tool-bold { font-weight: 900; }
.editor-tool-italic { font-style: italic; }
.editor-tool-underline { text-decoration: underline; text-underline-offset: .15em; }
.editor-tool-strike { text-decoration: line-through; }
.tool-format-symbol { padding-bottom: .2rem; border-bottom: 3px solid #79c8ff; }
.editor-format-panel { display: flex; flex-wrap: wrap; gap: .6rem 1rem; padding: .55rem .7rem .7rem; border-top: 1px solid var(--border-soft); }
.editor-format-panel[hidden] { display: none; }
.editor-format-group { display: flex; flex: 1 1 auto; flex-wrap: wrap; align-items: center; gap: .35rem; }
.editor-format-group > span { width: 100%; color: var(--quiet); font-size: .7rem; font-weight: 750; text-transform: uppercase; }
.editor-color-swatch { width: 44px; min-height: 44px; padding: 0; border: 1px solid var(--border); border-radius: .35rem; background: var(--swatch); cursor: pointer; box-shadow: inset 0 0 0 .5rem #101419; }
.editor-color-swatch:hover { border-color: var(--text); }
.editor-color-red { --swatch: #ff8e88; }
.editor-color-orange { --swatch: #ffc06a; }
.editor-color-green { --swatch: #77d5a2; }
.editor-color-blue { --swatch: #79c8ff; }
.editor-color-purple { --swatch: #d5a7ff; }
.editor-color-gold { --swatch: #f2cf72; }
.editor-color-muted { --swatch: #a8afb8; }
.editor-size-button { min-height: 44px; padding: .45rem .7rem; border: 1px solid var(--border); border-radius: .35rem; background: #101419; color: var(--text); cursor: pointer; }
.editor-size-button:hover { border-color: var(--gold-dark); color: var(--gold-light); }
.editor-size-button.is-small { font-size: .78rem; }
.editor-size-button.is-large { font-size: 1.05rem; }
.markdown-input { min-height: 50vh; font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: .92rem; line-height: 1.6; tab-size: 2; }
.autosave-status { color: var(--quiet); font-size: .72rem; text-align: right; }
.editor-actions { position: sticky; bottom: calc(4.85rem + env(safe-area-inset-bottom)); z-index: 8; display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,8rem),1fr)); gap: .65rem; padding: .75rem; border: 1px solid var(--border-soft); border-radius: var(--radius); background: rgba(18,21,26,.94); backdrop-filter: blur(14px); box-shadow: var(--shadow); }
.editor-actions .button { min-width: 0; max-width: 100%; overflow-wrap: anywhere; }
.preview-panel { scroll-margin-top: 5.25rem; padding: 1rem; border: 1px solid var(--gold-dark); border-radius: var(--radius); background: var(--surface); }
.preview-panel:focus { outline: none; }
.preview-back-link { margin-top: 1rem; }
.rendered-markdown { overflow-wrap: anywhere; }
.rendered-markdown h1, .rendered-markdown h2, .rendered-markdown h3 { margin-top: 1.6em; font-family: var(--sans); }
.rendered-markdown pre { overflow-x: auto; padding: 1rem; border: 1px solid var(--border-soft); border-radius: var(--radius-sm); background: #090b0e; }
.rendered-markdown code { color: #f5d986; }
.rendered-markdown blockquote { margin-left: 0; padding-left: 1rem; border-left: 3px solid var(--gold); }
.rendered-markdown .markdown-table-wrap { width: 100%; margin-block: 1.25rem; overflow-x: auto; overscroll-behavior-inline: contain; border: 1px solid var(--border-soft); border-radius: var(--radius-sm); scrollbar-width: thin; }
.rendered-markdown table { width: 100%; min-width: 38rem; border-collapse: collapse; background: #0d1014; }
.rendered-markdown th, .rendered-markdown td { padding: .75rem; border-bottom: 1px solid var(--border-soft); vertical-align: top; }
.rendered-markdown th { color: var(--gold-light); background: rgba(212,168,63,.08); font-size: .78rem; letter-spacing: .03em; text-transform: uppercase; }
.rendered-markdown tbody tr:last-child td { border-bottom: 0; }
.rendered-markdown .align-center { text-align: center; }
.rendered-markdown .align-right { text-align: right; }
.rendered-markdown img { width: auto; max-width: 100%; height: auto; max-height: 70vh; display: block; margin: 1.25rem auto; border: 1px solid var(--border-soft); border-radius: .4rem; object-fit: contain; }
.rendered-markdown .text-color-red { color: #ff8e88; }
.rendered-markdown .text-color-orange { color: #ffc06a; }
.rendered-markdown .text-color-green { color: #77d5a2; }
.rendered-markdown .text-color-blue { color: #79c8ff; }
.rendered-markdown .text-color-purple { color: #d5a7ff; }
.rendered-markdown .text-color-gold { color: #f2cf72; }
.rendered-markdown .text-color-muted { color: var(--muted); }
.rendered-markdown .text-size-small { font-size: .86em; }
.rendered-markdown .text-size-large { font-size: 1.25em; line-height: 1.35; }
.rendered-markdown .task-list { display: grid; gap: .45rem; padding-left: 0; list-style: none; }
.rendered-markdown .task-list-item { display: grid; grid-template-columns: 1.25rem minmax(0,1fr); gap: .5rem; align-items: start; }
.rendered-markdown .task-list-item input { width: 1.1rem; height: 1.1rem; min-height: 0; margin: .25rem 0 0; accent-color: var(--gold); opacity: 1; }
.emoji-dialog, .image-dialog { position: fixed; inset: auto .5rem 0; width: auto; max-width: 44rem; max-height: min(82dvh, 44rem); gap: .75rem; padding: .85rem; margin: 0; overflow: hidden; border: 1px solid var(--border); border-radius: .5rem .5rem 0 0; background: var(--surface); color: var(--text); box-shadow: var(--shadow); }
.emoji-dialog { flex-direction: column; }
.image-dialog { grid-template-rows: auto auto minmax(0,1fr) auto auto auto; overflow-y: auto; }
.emoji-dialog[open], .image-dialog[open] { display: grid; }
.guide-editor .emoji-dialog[open] { display: flex; }
.emoji-dialog > .emoji-dialog-header, .emoji-dialog > .emoji-search-field, .emoji-dialog > .emoji-category-tabs { flex-shrink: 0; }
.emoji-dialog .emoji-grid { flex: 0 1 auto; min-height: 44px; }
.emoji-dialog::backdrop, .image-dialog::backdrop { background: rgba(4,6,8,.72); backdrop-filter: blur(3px); }
.emoji-dialog-header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.emoji-dialog-header h2 { margin: 0; font-size: 1.15rem; }
.emoji-search-field input { min-height: 46px; }
.emoji-category-tabs { display: flex; gap: .25rem; overflow-x: auto; scrollbar-width: thin; }
.emoji-category-tabs button { flex: 0 0 auto; min-height: 44px; padding: .45rem .7rem; border: 1px solid transparent; border-radius: .35rem; background: transparent; color: var(--muted); font-size: .78rem; font-weight: 750; cursor: pointer; }
.emoji-category-tabs button:hover, .emoji-category-tabs button[aria-pressed="true"] { border-color: var(--gold-dark); background: rgba(212,168,63,.09); color: var(--gold-light); }
.emoji-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(44px, 1fr)); gap: .25rem; align-content: start; overflow-y: auto; }
.emoji-button { min-width: 44px; min-height: 44px; display: grid; place-items: center; padding: 0; border: 1px solid transparent; border-radius: .35rem; background: #101419; color: var(--text); font-size: 1.35rem; cursor: pointer; }
.emoji-button:hover { border-color: var(--gold-dark); background: rgba(212,168,63,.1); }
.emoji-empty { flex-shrink: 0; margin: 0; padding: .5rem; text-align: center; }
@media (max-height: 550px) { .guide-editor .emoji-dialog { max-height: calc(100dvh - 1rem); padding: .5rem; gap: .3rem; } }
.image-upload-preview { width: auto; max-width: 100%; max-height: 15rem; margin-inline: auto; border: 1px solid var(--border-soft); border-radius: .4rem; object-fit: contain; }
.image-upload-status { margin: 0; color: var(--muted); font-size: .82rem; }
.image-upload-status.is-error { color: var(--danger); }
.recovery-banner { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; padding: .75rem; border: 1px solid var(--gold-dark); border-radius: var(--radius-sm); background: rgba(212,168,63,.08); color: var(--text); }
.recovery-banner span { margin-right: auto; min-width: 0; overflow-wrap: anywhere; }
.recovery-copy-detail { display: block; color: var(--muted); }
.recovery-banner button { min-height: 44px; }

.guide-section-tabs { display: flex; flex-wrap: wrap; gap: .35rem; padding-bottom: .75rem; border-bottom: 1px solid var(--border-soft); }
.guide-section-tabs a { min-height: 44px; display: inline-flex; align-items: center; padding: .55rem .75rem; border-bottom: 2px solid transparent; color: var(--muted); font-size: .85rem; font-weight: 750; text-decoration: none; white-space: nowrap; }
.guide-section-tabs a:hover, .guide-section-tabs a.is-current { border-bottom-color: var(--gold); color: var(--gold-light); }
.author-library-overview { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: .65rem; }
.author-library-overview a { min-height: 64px; display: grid; grid-template-columns: auto minmax(0,1fr); gap: .65rem; align-items: center; padding: .75rem .9rem; border: 1px solid var(--border-soft); border-radius: var(--radius-sm); background: rgba(23,27,33,.58); color: var(--muted); text-decoration: none; }
.author-library-overview a:hover { border-color: var(--gold-dark); color: var(--text); }
.author-library-overview strong { color: var(--gold-light); font: 600 1.55rem/1 var(--serif); }
.author-library-overview span { font-size: .78rem; font-weight: 750; }
.author-library-section { display: grid; gap: 1rem; scroll-margin-top: 1rem; }
.author-library-heading { align-items: flex-end; }
.author-library-heading h2, .author-library-heading p { margin-bottom: 0; }
.author-library-empty { min-height: 5rem; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .65rem 1rem; padding: 1rem; border: 1px dashed var(--border); border-radius: var(--radius-sm); color: var(--muted); }
.author-library-empty p { margin: 0; }
.author-series-groups { display: grid; gap: 1rem; }
.author-series-group { overflow: hidden; border: 1px solid rgba(212,168,63,.35); border-radius: var(--radius); background: linear-gradient(145deg, rgba(29,34,41,.84), rgba(16,19,23,.96)); }
.author-series-header { min-width: 0; display: grid; grid-template-columns: 4.5rem minmax(0,1fr); gap: .85rem; align-items: start; padding: 1rem; }
.author-series-thumbnail { width: 4.5rem; aspect-ratio: 1; display: grid; place-items: center; border: 1px solid rgba(212,168,63,.24); border-radius: 50%; background: radial-gradient(circle, rgba(212,168,63,.14), rgba(10,13,16,.35) 62%, transparent 72%); }
.author-series-thumbnail img { width: 100%; height: auto; max-height: 100%; object-fit: contain; filter: drop-shadow(0 .35rem .45rem rgba(0,0,0,.35)); }
.author-series-copy { min-width: 0; display: grid; gap: .45rem; }
.author-series-group:not(.has-category-thumbnail) .author-series-copy { grid-column: 1 / -1; }
.author-series-copy h3, .author-series-copy p { margin: 0; overflow-wrap: anywhere; }
.author-series-copy h3 { font-size: 1.3rem; }
.author-series-copy > p:not(.eyebrow) { color: var(--muted); font-size: .86rem; }
.author-series-manage { grid-column: 1 / -1; width: 100%; }
.author-series-disclosure { border-top: 1px solid var(--border-soft); background: rgba(8,10,13,.28); }
.author-series-disclosure > summary { min-height: 54px; display: flex; align-items: center; justify-content: space-between; gap: .75rem; padding: .7rem 1rem; color: var(--gold-light); font-weight: 800; cursor: pointer; list-style-position: inside; }
.author-series-disclosure > summary:hover { background: rgba(212,168,63,.06); }
.author-series-disclosure > summary small { color: var(--quiet); font-size: .7rem; font-weight: 600; }
.author-series-guide-list { display: grid; border-top: 1px solid var(--border-soft); }
.author-series-guide { min-width: 0; display: grid; gap: .75rem; padding: 1rem; border-bottom: 1px solid var(--border-soft); }
.author-series-guide:last-child { border-bottom: 0; }
.author-series-guide-main { min-width: 0; display: grid; grid-template-columns: 2.75rem minmax(0,1fr); gap: .75rem; align-items: center; }
.author-series-guide-main > div { min-width: 0; }
.author-series-guide-main h4, .author-series-guide-main p { margin: 0; overflow-wrap: anywhere; }
.author-series-guide-main h4 { font-size: .98rem; }
.author-series-guide-main p { margin-top: .2rem; color: var(--quiet); font-size: .76rem; }
.author-series-guide-main > .badge { grid-column: 2; width: max-content; }
.author-series-guide-actions { min-width: 0; display: grid; gap: .5rem; padding-left: 3.5rem; }
.author-series-guide-actions .language-version { min-height: 44px; }
.author-series-empty { margin: 0; padding: 1rem; color: var(--muted); }
.collection-library { display: grid; gap: 1rem; }
.collection-card { display: grid; gap: 1rem; padding: 1.1rem; border: 1px solid var(--border-soft); border-radius: .5rem; background: var(--surface); }
.collection-card h2, .collection-card p { margin: 0; }
.collection-language-badges { display: flex; flex-wrap: wrap; gap: .35rem; }
.collection-progress { height: .38rem; overflow: hidden; border-radius: .2rem; background: #272d35; }
.collection-progress span { width: var(--progress); height: 100%; display: block; background: var(--success); }
.collection-counts { display: flex; flex-wrap: wrap; gap: .4rem 1rem; color: var(--quiet); font-size: .75rem; }
.collection-workspace { max-width: 68rem; }
.collection-overview { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 1rem; padding-block: 1rem; border-block: 1px solid var(--border-soft); }
.collection-overview > div:not(.collection-progress) { display: grid; gap: .1rem; }
.collection-overview strong { color: var(--gold-light); font: 500 1.7rem/1 var(--serif); }
.collection-overview span { color: var(--quiet); font-size: .75rem; }
.collection-overview .collection-progress { grid-column: 1 / -1; }
.collection-settings { border-bottom: 1px solid var(--border-soft); }
.collection-settings > summary { min-height: 52px; display: flex; align-items: center; color: var(--gold-light); font-weight: 750; cursor: pointer; }
.collection-settings > .collection-language-nav { margin-top: .25rem; }
.collection-settings > .field-hint { display: block; margin: .6rem 0 0; }
.collection-settings > form { padding: 1rem 0 1.5rem; }
.outline-importer, .collection-chapters { padding-block: 1rem; border-bottom: 1px solid var(--border-soft); }
.outline-input { min-height: 18rem; font-family: ui-monospace, SFMono-Regular, Consolas, monospace; line-height: 1.55; }
.chapter-list { display: grid; }
.chapter-section-title { margin: 1.3rem 0 .35rem; padding-bottom: .45rem; border-bottom: 1px solid var(--gold-dark); color: var(--gold-light); font-size: .75rem; text-transform: uppercase; }
.chapter-section-title:first-child { margin-top: 0; }
.chapter-row { min-width: 0; display: grid; grid-template-columns: 3rem minmax(0,1fr); gap: .75rem; align-items: center; padding: .8rem 0; border-bottom: 1px solid var(--border-soft); }
.chapter-number { min-height: 2.6rem; display: grid; place-items: center; border: 1px solid var(--border); border-radius: .35rem; color: var(--gold-light); font: 600 .85rem/1 var(--serif); }
.chapter-main { min-width: 0; display: grid; gap: .18rem; }
.chapter-main strong { overflow-wrap: anywhere; }
.chapter-main small { color: var(--quiet); }
.chapter-actions { grid-column: 1 / -1; display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: .4rem; }
.chapter-actions form { display: flex; gap: .3rem; }
.icon-button { width: 44px; min-height: 44px; display: grid; place-items: center; padding: 0; border: 1px solid var(--border); border-radius: .35rem; background: #101419; color: var(--text); font-size: 1.15rem; cursor: pointer; }
.icon-button:hover { border-color: var(--gold-dark); color: var(--gold-light); }
.icon-button:disabled { opacity: .35; cursor: not-allowed; }
.icon-button.danger { color: var(--danger); }
.collection-add-grid { display: grid; gap: 2rem; padding-block: 1rem; }
.collection-add-grid .form-pair { align-items: start; }
.editor-collection-context { display: flex; flex-direction: column; align-items: flex-start; gap: .85rem; padding: .9rem 0; border-block: 1px solid var(--gold-dark); }
.editor-collection-context > div { display: grid; gap: .15rem; }
.editor-collection-context span, .editor-collection-context small { color: var(--quiet); font-size: .75rem; }
.editor-collection-context strong { color: var(--gold-light); }

.collection-reader-context { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .5rem 1rem; padding: .75rem 0; border-bottom: 1px solid var(--gold-dark); }
.collection-reader-context > div { display: flex; flex-wrap: wrap; gap: .35rem .65rem; }
.collection-reader-context span { color: var(--quiet); font-size: .75rem; }
.collection-reader-context strong { color: var(--gold-light); font-size: .85rem; }
.guide-reader-main { min-width: 0; }
.guide-reader-sidebar { display: none; }
.collection-toc { min-width: 0; }
.collection-toc h2 { margin-bottom: .45rem; font-size: 1.05rem; }
.collection-toc-summary { margin: 0 0 1rem; color: var(--quiet); font-size: .74rem; line-height: 1.5; }
.collection-toc nav { display: grid; gap: .2rem; }
.collection-toc nav a { min-height: 44px; display: grid; grid-template-columns: 2rem minmax(0,1fr); gap: .45rem; align-items: center; padding: .4rem .5rem; border-left: 2px solid transparent; color: var(--muted); font-size: .76rem; text-decoration: none; }
.collection-toc nav a span { color: var(--quiet); font: 600 .72rem/1 var(--serif); }
.collection-toc nav a strong { overflow-wrap: anywhere; font-weight: 650; }
.collection-toc nav a:hover, .collection-toc nav a.is-current { border-left-color: var(--gold); background: rgba(212,168,63,.07); color: var(--text); }
.collection-toc-section { margin-top: .8rem; padding: .25rem .5rem; color: var(--gold); font-size: .66rem; font-weight: 800; text-transform: uppercase; }
.collection-toc-section:first-child { margin-top: 0; }
.collection-toc-desktop { display: none; }
.collection-toc-mobile { margin-bottom: 1.5rem; border-block: 1px solid var(--border-soft); }
.collection-toc-mobile summary { min-height: 52px; display: flex; align-items: center; justify-content: space-between; gap: .75rem; color: var(--text); font-weight: 750; cursor: pointer; }
.collection-toc-mobile summary span { color: var(--quiet); font-size: .72rem; font-weight: 500; }
.collection-toc-mobile-intro { display: grid; gap: .25rem; padding: 0 .5rem .8rem; }
.collection-toc-mobile-intro strong { color: var(--gold-light); font-size: .88rem; }
.collection-toc-mobile-intro p { margin: 0; color: var(--quiet); font-size: .76rem; line-height: 1.5; }
.collection-toc-mobile nav { padding-bottom: .8rem; }
.guide-section-toc { min-width: 0; }
.guide-section-toc h2 { margin-bottom: .2rem; font-size: 1.05rem; }
.guide-section-toc-count { margin: 0 0 .75rem; color: var(--quiet); font-size: .72rem; }
.guide-section-toc ol { display: grid; gap: .15rem; padding: 0; margin: 0; list-style: none; }
.guide-section-toc li { min-width: 0; }
.guide-section-toc a { min-height: 44px; display: flex; align-items: center; padding: .45rem .55rem; border-left: 2px solid transparent; border-radius: 0 var(--radius-sm) var(--radius-sm) 0; color: var(--muted); font-size: .78rem; font-weight: 650; line-height: 1.35; text-decoration: none; overflow-wrap: anywhere; }
.guide-section-toc a:hover, .guide-section-toc a:focus-visible { border-left-color: var(--gold); background: rgba(212,168,63,.07); color: var(--text); }
.guide-section-toc .toc-depth-1 > a { padding-left: 1.3rem; color: var(--quiet); font-size: .74rem; }
.guide-section-toc .toc-depth-2 > a { padding-left: 2.05rem; color: var(--quiet); font-size: .72rem; }
.guide-section-toc .toc-depth-3 > a { padding-left: 2.8rem; color: var(--quiet); font-size: .72rem; }
.guide-section-toc > nav { max-height: min(46vh, 22rem); overflow-y: auto; overscroll-behavior: contain; scrollbar-gutter: stable; scrollbar-color: var(--gold-dark) transparent; padding-right: .25rem; }
.guide-section-toc-desktop { display: none; }
.guide-section-toc-mobile { margin-bottom: 1.5rem; border-block: 1px solid var(--border-soft); }
.guide-section-toc-mobile summary { min-height: 52px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem; cursor: pointer; }
.guide-section-toc-mobile summary > span { color: var(--text); font-weight: 750; }
.guide-section-toc-mobile summary small { color: var(--quiet); font-size: .72rem; font-weight: 500; }
.guide-section-toc-mobile nav { padding-bottom: .8rem; }
.guide-section-toc-inline { display: grid; gap: .65rem; padding: 1rem; margin-bottom: 1.5rem; border: 1px solid rgba(212,168,63,.32); border-radius: var(--radius-sm); background: rgba(212,168,63,.06); }
.guide-section-toc-inline > ol { max-height: min(42vh, 20rem); overflow-y: auto; overscroll-behavior: contain; scrollbar-gutter: stable; scrollbar-color: var(--gold-dark) transparent; padding-right: .25rem; }
.guide-section-toc-title { margin: 0; color: var(--gold-light); font-weight: 750; }
.collection-reader-nav { display: grid; gap: .75rem; margin-top: 3rem; padding-top: 1.25rem; border-top: 1px solid var(--border-soft); }
.collection-reader-nav > a { min-width: 0; min-height: 64px; display: grid; gap: .25rem; align-content: center; padding: .7rem .8rem; border: 1px solid var(--border-soft); border-radius: .5rem; color: var(--text); text-decoration: none; }
.collection-reader-nav > a:hover { border-color: var(--gold-dark); }
.collection-reader-nav span { color: var(--gold); font-size: .7rem; font-weight: 750; text-transform: uppercase; }
.collection-reader-nav strong { overflow-wrap: anywhere; font-size: .84rem; }
.collection-reader-nav .is-next { text-align: right; }

.bottom-nav { position: fixed; left: 0; right: 0; bottom: 0; z-index: 30; min-height: calc(4.35rem + env(safe-area-inset-bottom)); display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); align-items: end; padding: .38rem max(.3rem, env(safe-area-inset-left)) max(.38rem, env(safe-area-inset-bottom)) max(.3rem, env(safe-area-inset-right)); border-top: 1px solid var(--border-soft); background: rgba(11,13,16,.96); backdrop-filter: blur(16px); }
.bottom-nav a { min-width: 0; min-height: 52px; display: grid; place-items: center; align-content: center; gap: .15rem; border-radius: .6rem; color: var(--quiet); font-size: .62rem; line-height: 1; text-decoration: none; }
.bottom-nav a span { min-height: 1.2rem; color: var(--muted); font-size: 1rem; }
.bottom-nav a.is-active { color: var(--gold-light); background: rgba(212,168,63,.08); }
.bottom-nav a.is-active span { color: var(--gold-light); }
.has-bottom-nav { padding-bottom: 7rem; }

.more-navigation { position: relative; min-width: 0; }
.more-navigation summary { min-width: 44px; min-height: 44px; display: flex; align-items: center; justify-content: center; gap: .4rem; padding: .5rem; border-radius: .6rem; color: var(--muted); cursor: pointer; list-style: none; }
.more-navigation summary::-webkit-details-marker { display: none; }
.more-navigation[open] > summary, .more-navigation.is-active > summary { color: var(--gold-light); background: rgba(212,168,63,.08); }
.more-navigation-panel { position: absolute; right: 0; top: calc(100% + .5rem); z-index: 40; width: min(22rem, calc(100vw - 2rem - env(safe-area-inset-left) - env(safe-area-inset-right))); max-height: calc(100vh - 12rem); max-height: calc(100dvh - 12rem - env(safe-area-inset-top) - env(safe-area-inset-bottom)); overflow-y: auto; overscroll-behavior: contain; padding: .5rem; border: 1px solid var(--border); border-radius: var(--radius); background: var(--surface); box-shadow: var(--shadow); }
.navigation-group + .navigation-group { margin-top: .4rem; padding-top: .4rem; border-top: 1px solid var(--border-soft); }
.navigation-group-title { margin: 0; padding: .5rem .85rem .2rem; color: var(--muted); font-size: .72rem; font-weight: 750; letter-spacing: .06em; text-transform: uppercase; }
.more-navigation-panel a { min-height: 44px; display: flex; align-items: center; padding: .65rem .85rem; border-radius: .45rem; color: var(--text); font-size: .9rem; line-height: 1.4; text-decoration: none; overflow-wrap: anywhere; }
.more-navigation-panel a:hover, .more-navigation-panel a[aria-current] { background: var(--surface-2); color: var(--gold-light); }
.navigation-logout { margin-top: .5rem; padding-top: .5rem; border-top: 1px solid var(--border-soft); }
.navigation-logout button { width: 100%; min-height: 48px; display: flex; align-items: center; gap: .65rem; padding: .65rem .85rem; border: 0; border-radius: .45rem; color: var(--danger); background: transparent; font: 650 .9rem/1.4 var(--sans); text-align: left; cursor: pointer; }
.navigation-logout button:hover, .navigation-logout button:focus-visible { background: color-mix(in srgb, var(--danger) 10%, transparent); }
.navigation-logout svg { width: 1.15rem; height: 1.15rem; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.bottom-nav > .more-navigation { position: static; }
.bottom-nav .more-navigation summary { min-height: 52px; display: grid; place-items: center; align-content: center; gap: .15rem; font-size: .62rem; line-height: 1; }
.bottom-nav .more-navigation summary span { min-height: 1.2rem; font-size: 1rem; }
.bottom-nav .more-navigation-panel { right: max(.6rem, env(safe-area-inset-right)); top: auto; bottom: calc(100% + .5rem); }
.bottom-nav .more-navigation-panel a { display: flex; justify-content: flex-start; min-height: 44px; font-size: .9rem; line-height: 1.4; }
.workshop-tabs { display: flex; flex-wrap: wrap; gap: .45rem; margin-block: .75rem 1rem; }
.workshop-tabs a { min-width: 44px; min-height: 44px; display: inline-flex; align-items: center; justify-content: center; padding: .55rem .8rem; border: 1px solid var(--border-soft); border-radius: .6rem; font-size: .9rem; line-height: 1.4; color: var(--muted); text-decoration: none; overflow-wrap: anywhere; }
.workshop-tabs a[aria-current="page"] { color: var(--gold-light); border-color: var(--gold-dark); background: rgba(212,168,63,.08); }
.workshop-intro { margin-bottom: .75rem; font-size: .9rem; }
body:has(.bottom-nav) .site-footer { padding-bottom: calc(6rem + env(safe-area-inset-bottom)); }
body:has(.reader-actions) .site-footer { padding-bottom: calc(12rem + env(safe-area-inset-bottom)); }

.site-feedback-page { max-width: 54rem; }
.site-feedback-page .page-heading { align-items: flex-start; }
.site-feedback-page h1 { font-size: clamp(2.2rem, 8vw, 3.4rem); }
.site-feedback-page .page-heading > .button { flex-shrink: 0; }
.feedback-privacy-note { padding: .8rem; border-left: 3px solid var(--gold-dark); background: var(--bg-elevated); font-size: .9rem; }
.feedback-kind-fieldset { min-width: 0; margin: 0; padding: 0; border: 0; }
.feedback-kind-fieldset legend { padding: 0 0 .6rem; font-weight: 700; }
.feedback-kinds { display: grid; gap: .6rem; }
.feedback-kind { min-height: 44px; display: flex; align-items: flex-start; gap: .7rem; padding: .85rem; border: 1px solid var(--border); border-radius: var(--radius-sm); cursor: pointer; }
.feedback-kind:has(input:checked) { border-color: var(--gold); background: rgba(212,168,63,.08); }
.feedback-kind input { flex: 0 0 auto; width: 1.2rem; height: 1.2rem; margin: .2rem 0 0; accent-color: var(--gold); }
.feedback-kind span { min-width: 0; display: grid; gap: .2rem; }
.feedback-kind strong { line-height: 1.4; }
.feedback-kind small { color: var(--muted); line-height: 1.4; }
#feedback-history { scroll-margin-top: 6rem; }
.support-kind-filter { display: flex; flex-wrap: wrap; align-items: end; gap: .75rem; }
.support-kind-filter .field { flex: 1 1 14rem; }

@media (min-width: 40rem) {
    .shell { width: min(100% - 3rem, var(--shell)); }
    .admin-navigation-compact { display: none; }
    .admin-navigation-wide { display: flex; }
    .admin-control-heading { flex-direction: row; align-items: center; justify-content: space-between; }
    .admin-attention-grid { grid-template-columns: repeat(4, minmax(0,1fr)); }
    .admin-summary-grid, .admin-tool-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
    .admin-filter-panel { grid-template-columns: minmax(14rem,1fr) minmax(10rem,.45fr) auto auto; }
    .admin-filter-panel-wide { grid-template-columns: repeat(3, minmax(0,1fr)); }
    .admin-filter-panel-wide > .button { width: max-content; }
    .admin-record-card { flex-direction: row; align-items: center; justify-content: space-between; }
    .admin-record-meta { justify-items: end; text-align: right; }
    .admin-definition-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .admin-role-list article { grid-template-columns: minmax(0,1fr) auto; align-items: center; }
    .admin-role-list form { max-width: 20rem; }
    .admin-danger-grid, .admin-date-grid, .admin-schedule-note { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .admin-audit-list dl { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .header-inner { min-height: 4.5rem; display: flex; padding-block: 0; }
    .header-inner.is-guest { display: grid; padding-block: .65rem; }
    .language-switcher { margin-left: auto; }
    .button-row { flex-direction: row; }
    .analytics-consent { grid-template-columns: minmax(0,1fr) auto; align-items: center; }
    .feedback-kinds { grid-template-columns: repeat(3, minmax(0,1fr)); }
    .analytics-consent-actions { min-width: 18rem; }
    .hero { grid-template-columns: minmax(0, 1.25fr) minmax(18rem, .75fr); }
    .hero-emblem { min-height: 28rem; padding-block: 2.5rem; }
    .hero-emblem::before { width: min(31vw, 22rem); }
    .hero-emblem::after { width: min(38vw, 27rem); box-shadow: 0 -6.5rem 0 rgba(212,168,63,.055), 0 6.5rem 0 rgba(212,168,63,.055); }
    .emblem-frame { width: min(27vw, 20rem); }
    .emblem-frame::before { top: -3rem; bottom: -3rem; }
    .feature-grid { grid-template-columns: repeat(3, 1fr); }
    .page-heading { flex-direction: row; align-items: center; justify-content: space-between; }
    .admin-settings-heading { flex-direction: row; align-items: center; }
    .admin-settings-heading .button-row { width: auto; }
    .release-current, .release-entry { padding: 1.5rem; }
    .admin-category-language-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .admin-category-media-row { grid-template-columns: 10rem minmax(0,1fr); }
    .admin-category-media-row > img { width: 10rem; }
    .analytics-meta { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 1.5rem; }
    .analytics-meta details { justify-self: end; text-align: right; }
    .analytics-summary-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
    .analytics-signal-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .analytics-kpi-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .analytics-chart-heading { grid-template-columns: minmax(0,1fr) auto; align-items: end; }
    .analytics-product-grid { grid-template-columns: repeat(4, minmax(0,1fr)); }
    .analytics-panel-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .analytics-status-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .analytics-status-grid-three { grid-template-columns: repeat(3, minmax(0,1fr)); }
    .analytics-status-grid-three > :last-child:nth-child(odd) { grid-column: auto; }
    .cookie-inventory-list > li { grid-template-columns: minmax(0,1fr) minmax(12rem,auto); align-items: center; }
    .cookie-protection-list { justify-content: flex-end; }
    .privacy-analytics-choice form { flex: 1 1 12rem; }
    .analytics-panel-grid > :only-child, .analytics-list-card-full { grid-column: 1 / -1; }
    .guide-feedback { grid-template-columns: minmax(0,1fr) auto; align-items: center; }
    .guide-feedback-actions { grid-template-columns: repeat(2, minmax(9rem,1fr)); }
    .release-meta { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .auth-panel { padding: 2rem; }
    .guide-library { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .author-library-overview { width: min(100%, 32rem); }
    .author-series-header { grid-template-columns: 5.5rem minmax(0,1fr) auto; padding: 1.15rem; }
    .author-series-thumbnail { width: 5.5rem; }
    .author-series-manage { grid-column: 3; grid-row: 1; width: auto; }
    .author-series-group:not(.has-category-thumbnail) .author-series-copy { grid-column: 1 / 3; }
    .author-series-guide-main { grid-template-columns: 3rem minmax(0,1fr) auto; }
    .author-series-guide-main > .badge { grid-column: 3; }
    .author-series-guide-actions { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding-left: 3.75rem; }
    .collection-library { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .public-guide-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .has-category-thumbnail .guide-card-feature { grid-template-columns: minmax(0,1fr) 7.5rem; }
    .has-category-thumbnail .guide-card-thumbnail { grid-column: 2; grid-row: 1; width: 7.5rem; }
    .guide-reader-header.has-category-thumbnail { grid-template-columns: minmax(0,1fr) 10rem; column-gap: 2rem; }
    .guide-reader-header.has-category-thumbnail > :not(.guide-category-hero) { grid-column: 1; }
    .guide-reader-header.has-category-thumbnail > .guide-category-hero { grid-column: 2; grid-row: 2 / span 6; width: 10rem; align-self: center; }
    .guide-filter-bar { grid-template-columns: minmax(12rem, 1.5fr) repeat(3, minmax(8rem, .7fr)); align-items: end; }
    .guide-search-field { grid-column: auto; }
    .guide-filter-actions { grid-column: 1 / -1; }
    .editor-meta-grid { grid-template-columns: minmax(0, 1fr) 8rem; }
    .publication-panel { grid-template-columns: minmax(0,1fr) auto; align-items: center; }
    .publication-actions { justify-content: flex-end; }
    .session-card, .revision-card { flex-direction: row; align-items: center; justify-content: space-between; }
    .revision-card > form { width: min(100%, 26rem); }
    .chapter-row { grid-template-columns: 3rem minmax(0,1fr) auto; }
    .chapter-actions { grid-column: auto; }
    .collection-add-grid, .collection-reader-nav { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .editor-collection-context { flex-direction: row; align-items: center; justify-content: space-between; }
    .contact-layout { grid-template-columns: minmax(15rem, .65fr) minmax(0, 1.35fr); gap: 1.5rem; }
    .contact-layout > .legal-callout { position: sticky; top: 6rem; }
    .support-ticket-card { flex-direction: row; align-items: center; }
    .support-ticket-meta { justify-items: end; text-align: right; }
    .support-admin-layout { grid-template-columns: minmax(14rem, .55fr) minmax(0, 1.45fr); gap: 1.5rem; }
    .support-ticket-details { position: sticky; top: 6rem; }
    .emoji-dialog, .image-dialog { inset: 0; width: min(calc(100% - 2rem), 44rem); max-height: min(78dvh, 44rem); margin: auto; border-radius: .5rem; }
}

@media (max-width: 24rem) {
    .shell { width: min(100% - 1.25rem, var(--shell)); }
    .header-inner { gap: .45rem; }
    .brand { gap: .4rem; }
    .brand img { width: 36px; height: 36px; }
    .brand strong { font-size: .84rem; }
    .brand small { display: none; }
    .desktop-nav { gap: .45rem; }
    .desktop-nav .button-small { padding-inline: .7rem; }
    .profile-grid { grid-template-columns: 1fr; }
    .analytics-summary-grid { grid-template-columns: minmax(0,1fr); }
    .form-pair { grid-template-columns: 1fr; }
    .page-heading h1 { overflow-wrap: anywhere; }
    .public-series-card { padding-inline: 1.6rem .9rem; }
    .public-series-card h2 a { font-size: 1.5rem; overflow-wrap: anywhere; }
    .series-start-button { max-width: none; }
    .series-card-actions .guide-version-row { width: 100%; margin-left: 0; }
    .bottom-nav a { font-size: .58rem; }
}

@media (max-width: 30rem) {
    .guide-reader-header h1 { font-size: 2rem; }
    .analytics-monitor-banner { align-items: stretch; flex-direction: column; }
    .analytics-monitor-banner a { width: 100%; }
    .analytics-monitor > .section-heading { align-items: stretch; }
    .analytics-monitor-status { align-self: flex-start; white-space: normal; }
    .analytics-alert-list li > div, .analytics-alert-events li > div { align-items: flex-start; flex-direction: column; gap: .25rem; }
}

@media (min-width: 58rem) {
    .header-inner.is-guest { display: flex; padding-block: 0; }
    .guest-nav { display: flex; width: auto; }
    .member-nav { display: flex; }
    body:has(.bottom-nav) .site-footer { padding-bottom: 2rem; }
    body:has(.reader-actions) .site-footer { padding-bottom: calc(8rem + env(safe-area-inset-bottom)); }
    .bottom-nav { display: none; }
    .has-bottom-nav { padding-bottom: 4rem; }
    .analytics-kpi-grid { grid-template-columns: repeat(4, minmax(0,1fr)); }
    .analytics-status-grid { grid-template-columns: repeat(4, minmax(0,1fr)); }
    .editor-actions { position: static; grid-template-columns: max-content max-content; justify-content: end; padding: 0; border: 0; background: transparent; box-shadow: none; }
    .editor-meta-grid { grid-template-columns: minmax(0, 1fr) 8rem minmax(14rem, .55fr); }
    .editor-writing-layout.has-preview { grid-template-columns: minmax(0,1fr) minmax(20rem,.85fr); align-items: start; }
    .editor-writing-layout.has-preview .markdown-writing-tools { position: sticky; top: 4.6rem; }
    .editor-writing-layout.has-preview .preview-panel { position: sticky; top: 5.25rem; max-height: calc(100vh - 6.25rem); overflow-y: auto; }
    .guide-filter-bar { grid-template-columns: minmax(14rem, 1.5fr) repeat(3, minmax(8rem, .7fr)) auto; }
    .guide-filter-actions { grid-column: auto; flex-wrap: nowrap; }
    .guide-reader { max-width: 76rem; }
    .guide-reader-layout.has-reader-sidebar { display: grid; grid-template-columns: minmax(14rem, 18rem) minmax(0,1fr); gap: 2.5rem; }
    .guide-reader-sidebar { position: sticky; top: 6rem; display: grid; gap: 1.25rem; max-height: calc(100vh - 7rem); align-self: start; overflow-y: auto; padding-right: .75rem; }
    .collection-toc-desktop, .guide-section-toc-desktop { display: block; }
    .guide-reader-sidebar > .guide-section-toc { padding-top: 1.25rem; border-top: 1px solid var(--border-soft); }
    .guide-reader-sidebar > .guide-section-toc:first-child { padding-top: 0; border-top: 0; }
    .collection-toc-mobile, .guide-section-toc-mobile { display: none; }
    .guide-reader-content h2[id], .guide-reader-content h3[id], .guide-reader-content h4[id], .guide-reader-content h5[id] { scroll-margin-top: 6rem; }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
}

/* Player destinations and secondary account menu, release 1.0.6.4. */
.header-inner, .header-inner.is-guest { display: grid; grid-template-columns: minmax(0,1fr) auto auto; }
.header-inner > .brand { min-width: 0; }
.header-inner > .more-navigation > summary { flex-direction: column; gap: .05rem; font-size: .7rem; }
.header-inner > .more-navigation > summary > span { font-size: 1rem; }
.header-inner > .desktop-nav { grid-column: 1 / -1; }
.player-actions { display: grid; gap: 1rem; }
.player-actions > a { display: flex; flex-direction: column; gap: .5rem; color: var(--text); text-decoration: none; min-width: 0; }
.player-actions h2 { margin: 0; font-family: inherit; font-size: 1.15rem; }
.player-actions p { color: var(--muted); margin: 0 0 .65rem; }
.player-actions span { margin-top: auto; color: var(--gold-light); }
.player-author-space > summary { min-height: 44px; cursor: pointer; padding-block: .75rem; color: var(--muted); }
.mc-destination { margin-bottom: .75rem; max-width: 24rem; }
@media (min-width:40rem) { .player-actions { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (min-width:64rem) {
    .header-inner, .header-inner.is-guest { grid-template-columns: minmax(0,1fr) auto auto auto; }
    .header-inner > .desktop-nav { grid-column: 2; grid-row: 1; }
    .header-inner > .language-switcher { grid-column: 3; grid-row: 1; }
    .header-inner > .more-navigation { grid-column: 4; grid-row: 1; }
    .header-inner > .more-navigation > summary { flex-direction: row; font-size: .85rem; gap: .4rem; }
}

.rendered-markdown img.ksl-game-icon, .ksl-game-icon { display: inline-block; width: 1.75em; height: 1.75em; object-fit: contain; vertical-align: middle; margin: 0 .12em; border: 0; border-radius: 0; }
.emoji-button img { width: 36px; height: 36px; object-fit: contain; }

/* Player home: useful information before the tool catalogue. */
.home-player-hero { min-height: 0; padding-block: 1.75rem; gap: 1rem; grid-template-columns: minmax(0,1fr); }
.home-player-hero .hero-copy h1 { max-width: 24ch; font-size: clamp(1.85rem,6vw,2.9rem); margin-bottom: 1rem; }
.home-player-hero .lead { font-size: 1rem; line-height: 1.6; }
.home-player-hero .hero-emblem { display: none; }
.home-today-grid { display: grid; gap: 1rem; align-items: start; }
.home-panel { min-width: 0; padding: 1rem; border: 1px solid var(--border-soft); border-radius: 1rem; background: var(--bg-elevated); scroll-margin-top: 6rem; }
.home-panel h2 { font: 650 1.2rem/1.3 var(--sans); margin: 0; }
.home-panel .empty-state { min-height: 0; padding: 1rem; margin-block: .85rem; text-align: left; font-size: .9rem; }
.home-panel .section-heading { flex-wrap: wrap; gap: .5rem; margin-bottom: .6rem; }
.home-panel .section-heading > a { display: inline-flex; align-items: center; min-height: 44px; }
.home-text-action { display: inline-flex; align-items: center; min-height: 44px; font-size: .9rem; }
.gift-code-list { display: grid; gap: .75rem; }
.gift-code-card { display: grid; gap: .55rem; min-width: 0; padding: .85rem; border: 1px solid var(--border-soft); border-radius: .7rem; background: var(--surface); }
.gift-code-card code { font-size: 1.15rem; color: var(--gold-light); overflow-wrap: anywhere; user-select: all; }
.gift-code-actions { display: flex; flex-wrap: wrap; gap: .45rem; }
.gift-code-card .button { min-height: 44px; white-space: normal; font-size: .85rem; }
.gift-code-card small { color: var(--muted); }
.gift-code-feedback:empty { display: none; }
.gift-code-card[id] { scroll-margin-block: 7rem; }
.home-agenda-card { display: flex; justify-content: space-between; gap: .8rem; padding: .85rem 0; min-height: 44px; text-decoration: none; border-bottom: 1px solid var(--border-soft); overflow-wrap: anywhere; }
.home-agenda-card small { display: block; color: var(--muted); margin-top: .25rem; }
.home-agenda-card strong { color: var(--text); }
.home-agenda-card > span:first-child { min-width:0; flex:1; }
.home-agenda-title { display:flex; align-items:center; gap:.6rem; min-width:0; }
.home-agenda-title > :last-child { min-width:0; overflow-wrap:anywhere; }
.home-agenda-icons { display:inline-flex; align-items:center; gap:.2rem; flex:0 0 auto; }
.home-agenda-icons img,.home-agenda-icons svg { display:block; width:36px; height:36px; object-fit:contain; }
.home-agenda-icons svg { overflow:hidden; }
@media(min-width:600px) { .home-agenda-icons img,.home-agenda-icons svg { width:40px; height:40px; } }
@media (min-width: 760px) { .home-today-grid:has(> :nth-child(2)) { grid-template-columns: repeat(2,minmax(0,1fr)); } .home-player-hero { grid-template-columns: minmax(0,1fr) 14rem; } .home-player-hero .hero-emblem { display: grid; min-height: 0; padding: 0; } .home-player-hero .hero-emblem img { width: 12rem; height: 12rem; } .home-player-hero .hero-emblem::before, .home-player-hero .hero-emblem::after { display: none; } }

.player-actions .feature-card { min-height: 0; padding: 1rem; gap: .4rem; }
.player-actions .feature-card h2 { margin-top: 0; margin-bottom: .35rem; font: 650 1.15rem/1.3 var(--sans); }
.player-actions .feature-card p { margin-bottom: .5rem; }
.player-actions .feature-card > span { margin-top: .3rem; }
.member-dashboard > .page-heading { padding-bottom: 1rem; }
.member-dashboard > h2, .home-player-actions > h2 { margin-bottom: 0; }

/* Kingdom chronology is the first personalized home content. */
.home-chapters { min-width: 0; }
[data-error-summary] a { display: inline-flex; align-items: center; min-height: 44px; overflow-wrap: anywhere; }
.home-chapters-heading { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .25rem 1rem; }
.home-chapters-heading .eyebrow { margin-bottom: .35rem; }
.home-chapters-heading h2 { margin: 0; font: 700 clamp(1.25rem,5vw,1.6rem)/1.25 var(--sans); }
.home-chapters-intro, .home-chapters-empty { color: var(--muted); font-size: .9rem; margin-block: .5rem 1rem; }
.home-chapter-list { list-style: none; padding: 0; margin: 0; display: grid; gap: .75rem; }
.home-chapter-list > li { min-width: 0; }
.home-chapter-card { display: flex; flex-direction: column; gap: .7rem; padding: 1rem; height: 100%; border: 1px solid var(--border-soft); border-radius: .85rem; background: var(--surface); color: var(--text); text-decoration: none; overflow-wrap: anywhere; }
.home-chapter-card:hover, .home-chapter-card:focus-visible { border-color: var(--gold); }
.home-chapter-nearest { border-color: var(--gold-dark); background: linear-gradient(115deg,rgba(212,168,63,.12),var(--surface) 75%); }
.home-chapter-top, .home-chapter-bottom { display: flex; flex-wrap: wrap; gap: .4rem 1rem; align-items: center; justify-content: space-between; font-size: .8rem; }
.home-chapter-category { color: var(--muted); }
.home-chapter-distance { padding: .3rem .5rem; border-radius: .4rem; background: var(--bg); font-weight: 650; }
.home-chapter-main { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem 1rem; }
.home-chapter-copy { flex: 1 1 12rem; min-width: 0; }
.home-chapter-next-label { display: block; color: var(--gold-light); font-size: .8rem; margin-bottom: .25rem; }
.home-chapter-card h3 { font: 650 1.05rem/1.35 var(--sans); margin: 0 0 .4rem; }
.home-chapter-nearest h3 { font-size: 1.3rem; }
.home-chapter-card time { color: var(--muted); font-size: .85rem; }
.home-chapter-bottom { margin-top: auto; }
.home-chapter-bottom > :last-child { color: var(--gold-light); font-weight: 650; }
.home-chapter-caveats { color: var(--muted); font-size: .8rem; }
.home-chapter-art { display: flex; gap: .3rem; align-items: center; }
.home-chapter-art img { width: 48px; height: 58px; object-fit: contain; }
.member-dashboard > .home-welcome-compact { padding-block: .25rem .75rem; }
.member-dashboard .home-welcome-compact h1 { margin: 0; font-size: clamp(1.2rem,5vw,1.5rem); }
@media (min-width: 760px) { .home-chapter-list { grid-template-columns: repeat(2,minmax(0,1fr)); } .home-chapter-list > li:first-child { grid-column: 1 / -1; } .home-chapter-nearest { padding: 1.25rem; } .home-chapter-nearest .home-chapter-art img { width: 64px; height: 76px; } }

/* UI v2 shared components, step 0 (docs/UI_V2.md). Additive only: screens opt in through config ui_v2. */
[data-ui-swap] [hidden], .guide-reader-v2 [hidden], .home-v2 [hidden] { display: none !important; }
body:has(dialog.sheet[open]) { overflow: hidden; }
:root { --field: #0f1216; --tap: 44px; --tap-lg: 52px; }
.ui-progress { width: 100%; height: 4px; display: block; overflow: hidden; border: 0; border-radius: 999px; background: var(--border-soft); color: var(--gold); appearance: none; }
.ui-progress::-webkit-progress-bar { background: var(--border-soft); }
.ui-progress::-webkit-progress-value { background: var(--gold); }
.ui-progress::-moz-progress-bar { background: var(--gold); }

/* 1. Task bar: replaces the editorial heading on task screens; the site header then scrolls away. */
body:has(.task-bar) .site-header { position: relative; }
.page-shell:has(> .task-bar:first-child) { padding-top: 0; }
.task-bar { position: sticky; top: 0; z-index: 20; min-height: 56px; display: grid; grid-template-columns: minmax(var(--tap), auto) minmax(0, 1fr) minmax(var(--tap), auto); align-items: center; gap: .5rem; padding-inline: max(.5rem, env(safe-area-inset-left)) max(.5rem, env(safe-area-inset-right)); border-bottom: 1px solid rgba(98,107,118,.32); background: rgba(11,13,16,.94); backdrop-filter: blur(16px); }
.task-bar-back, .task-bar-action { min-width: var(--tap); min-height: var(--tap); display: inline-flex; align-items: center; justify-content: center; gap: .3rem; padding-inline: .5rem; border: 0; border-radius: var(--radius-sm); background: transparent; color: var(--gold-light); font-weight: 700; text-decoration: none; cursor: pointer; }
.task-bar-back { justify-self: start; }
.task-bar-action { justify-self: end; }
.task-bar-title { min-width: 0; margin: 0; overflow: hidden; color: var(--text); font: 600 1rem/1.2 var(--serif); text-align: center; text-overflow: ellipsis; white-space: nowrap; }
.task-bar-title small { display: block; overflow: hidden; color: var(--muted); font: 600 .72rem/1.3 var(--sans); text-overflow: ellipsis; }
.task-bar > .ui-progress { position: absolute; left: 0; right: 0; bottom: -1px; height: 3px; border-radius: 0; }

/* 2. Segmented view switch: 2 or 3 options, never more. The pseudo-element widens the hit area to 44 px. */
.seg { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: 3px; padding: 3px; border: 1px solid var(--border-soft); border-radius: .625rem; background: var(--field); }
.seg > button, .seg > a { position: relative; min-width: 0; min-height: 38px; display: flex; align-items: center; justify-content: center; padding: .35rem .6rem; border: 0; border-radius: var(--radius-sm); background: transparent; color: var(--muted); font-size: .9rem; font-weight: 600; line-height: 1.15; text-align: center; text-decoration: none; cursor: pointer; }
.seg > button::before, .seg > a::before { position: absolute; inset: -4px -1.5px; content: ""; }
.seg > [aria-pressed="true"], .seg > [aria-current="page"], .seg > [aria-selected="true"] { background: rgba(212,168,63,.16); color: var(--gold-light); font-weight: 700; }

/* 3. Filter chips: instant filtering, never an Apply button. */
.chips { display: flex; gap: .5rem; margin: 0; padding: 2px 0; overflow-x: auto; scrollbar-width: none; }
.chips::-webkit-scrollbar { display: none; }
.chip { flex: none; min-width: var(--tap); min-height: var(--tap); display: inline-flex; align-items: center; justify-content: center; gap: .4rem; padding: .4rem .9rem; border: 1px solid var(--border-soft); border-radius: 999px; background: transparent; color: var(--muted); font-size: .88rem; font-weight: 600; line-height: 1; text-decoration: none; white-space: nowrap; cursor: pointer; }
.chip:hover { border-color: var(--border); color: var(--text); }
.chip[aria-pressed="true"], .chip[aria-current="page"] { border-color: var(--gold); background: rgba(212,168,63,.12); color: var(--gold-light); }
.chip-count { color: var(--quiet); font-size: .78rem; font-variant-numeric: tabular-nums; }
.chip[aria-current="true"] { border-color: var(--gold); background: rgba(212,168,63,.12); color: var(--gold-light); }
.chip-insert { border-style: dashed; border-color: var(--gold-dark); border-radius: var(--radius-sm); color: var(--gold-light); }
[data-ui-filter] [hidden] { display: none !important; }

/* 4. List row: the whole row is one link. */
.row-list { display: grid; gap: .5rem; margin: 0; padding: 0; list-style: none; }
.row { min-width: 0; display: grid; grid-template-columns: 48px minmax(0, 1fr) 24px; align-items: center; gap: .75rem; padding: .75rem; border: 1px solid var(--border-soft); border-radius: var(--radius); background: linear-gradient(145deg, rgba(29,34,41,.78), rgba(18,21,26,.92)); color: var(--text); text-decoration: none; }
.row:hover { border-color: var(--border); color: var(--text); }
.row-guide { grid-template-columns: 56px minmax(0, 1fr) 24px; }
.row.is-current, .row.is-series { border-color: rgba(212,168,63,.5); }
.row.is-estimated { border-style: dashed; }
.row-media { width: 100%; aspect-ratio: 1; display: grid; place-items: center; overflow: hidden; border: 1px solid rgba(212,168,63,.24); border-radius: 50%; background: var(--surface); color: var(--gold-light); font: 600 1.15rem/1 var(--serif); }
.row-media img { width: 100%; height: 100%; object-fit: cover; }
.row-body { min-width: 0; display: grid; gap: .2rem; }
.row-eyebrow, .resume-card-label { margin: 0; color: var(--gold); font-size: .6875rem; font-weight: 800; letter-spacing: .16em; line-height: 1.3; text-transform: uppercase; }
.row-title { margin: 0; display: -webkit-box; overflow: hidden; color: var(--text); font-size: .9375rem; font-weight: 650; line-height: 1.25; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.row-meta { margin: 0; overflow: hidden; color: var(--muted); font-size: .8125rem; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }
.row-key { color: var(--gold-light); font-weight: 700; }
.row-chevron { color: var(--quiet); font-size: 1.3rem; line-height: 1; text-align: center; }

/* 5. Resume / in-progress card: one per screen, always first. */
.resume-card { position: relative; min-width: 0; display: grid; grid-template-columns: minmax(0, 1fr) var(--tap); align-items: center; gap: .25rem .75rem; padding: .9rem 1rem 1.25rem; overflow: hidden; border: 1px solid rgba(212,168,63,.5); border-radius: var(--radius); background: linear-gradient(100deg, rgba(212,168,63,.13), rgba(29,34,41,.9) 40%, rgba(18,21,26,.96)); color: var(--text); text-decoration: none; }
a.resume-card:hover { border-color: var(--gold); color: var(--text); }
.resume-card > :not(.resume-card-go):not(.ui-progress) { grid-column: 1; }
.resume-card-title { margin: 0; color: var(--text); font: 600 1rem/1.25 var(--serif); }
.resume-card-context { margin: 0; color: var(--muted); font-size: .8125rem; line-height: 1.35; }
.resume-card-go { grid-column: 2; grid-row: 1 / span 3; width: var(--tap); height: var(--tap); display: grid; place-items: center; border: 0; border-radius: 50%; background: linear-gradient(135deg, var(--gold-light), var(--gold)); color: #17130a; font-weight: 800; text-decoration: none; }
.resume-card > .ui-progress { position: absolute; left: 1rem; right: 1rem; bottom: .55rem; width: auto; }

/* 6. Sticky action bar: one gold button first; hides the bottom navigation while a task is open. */
body:has(.action-bar) .bottom-nav { display: none; }
.action-bar { position: sticky; bottom: 0; z-index: 25; display: grid; grid-template-columns: minmax(0, 1fr); grid-auto-columns: auto; grid-auto-flow: column; align-items: center; gap: .5rem; padding: .5rem max(1rem, env(safe-area-inset-right)) max(.5rem, env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left)); border-top: 1px solid var(--border-soft); background: rgba(11,13,16,.96); backdrop-filter: blur(16px); }
.action-bar > .button, .action-bar > button, .action-bar > a { min-height: var(--tap-lg); }

/* 7. Toast: queued, 3 s, announced politely; the flash block stays as the no-JS fallback. */
.toast-region { position: fixed; left: 50%; bottom: calc(5.1rem + env(safe-area-inset-bottom)); z-index: 60; width: min(100% - 2rem, 28rem); display: grid; pointer-events: none; transform: translateX(-50%); }
body:not(:has(.bottom-nav)) .toast-region { bottom: calc(1rem + env(safe-area-inset-bottom)); }
body:has(.action-bar) .toast-region { bottom: calc(var(--tap-lg) + 1.75rem + env(safe-area-inset-bottom)); }
.toast { min-height: var(--tap-lg); display: grid; grid-template-columns: 22px minmax(0, 1fr) auto; align-items: center; gap: .65rem; padding: .4rem .5rem .4rem .8rem; border: 1px solid var(--border-soft); border-radius: .75rem; background: var(--surface); box-shadow: var(--shadow); color: var(--text); pointer-events: auto; animation: ui-rise .16s ease-out; }
.toast-icon { width: 22px; height: 22px; display: grid; place-items: center; border-radius: 50%; background: rgba(212,168,63,.16); color: var(--gold-light); font-size: .75rem; font-weight: 800; }
.toast[data-tone="success"] .toast-icon { background: rgba(119,213,162,.16); color: var(--success); }
.toast[data-tone="error"] .toast-icon { background: rgba(255,142,136,.16); color: var(--danger); }
.toast-text { margin: 0; color: var(--text); font-size: .9rem; line-height: 1.3; }
.toast-action { min-height: var(--tap); padding-inline: .75rem; border: 0; border-radius: var(--radius-sm); background: transparent; color: var(--gold-light); font-weight: 700; cursor: pointer; }

/* Bottom sheet used by ui-core.js drawers. */
.sheet { position: fixed; inset: auto 0 0; width: 100%; max-width: 40rem; max-height: min(88dvh, 48rem); margin: 0 auto; padding: .5rem 1rem max(1rem, env(safe-area-inset-bottom)); overflow-y: auto; overscroll-behavior: contain; border: 1px solid var(--border-soft); border-bottom: 0; border-radius: var(--radius-lg) var(--radius-lg) 0 0; background: var(--bg-elevated); color: var(--text); box-shadow: var(--shadow); }
.sheet[open] { animation: ui-rise .18s ease-out; }
.sheet::backdrop { background: rgba(4,6,8,.72); }
.sheet-grip { position: relative; width: 2.5rem; height: 4px; margin: .75rem auto 1rem; border-radius: 999px; background: var(--border); touch-action: none; cursor: grab; }
.sheet-grip::before { position: absolute; inset: -14px -40px; content: ""; }
@keyframes ui-rise { from { opacity: 0; transform: translateY(.75rem); } }
@media (min-width: 58rem) {
    .toast-region, body:not(:has(.bottom-nav)) .toast-region { bottom: 1.5rem; }
    body:has(.action-bar) .toast-region { bottom: calc(var(--tap-lg) + 1.75rem); }
}

/* Guide library: handoff 1a (mobile rows) and 1b (desktop cards). */
.library-v2 { display: grid; gap: .875rem; padding-block: 0 2rem; }
.library-v2 > *, .library-main > *, .library-filters > *, .library-results > * { min-width: 0; }
.library-main { display: grid; gap: .875rem; align-content: start; }
.library-heading { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.library-filter-label, .library-row-category, .library-resume-continue { display: none; }
@media (max-width: 57.99rem) { body:has(.library-filters) .site-header { position: relative; } body:has(.library-v2) .page-shell { padding-top: 0; } }
.library-results { display: grid; gap: .75rem; transition: opacity .12s ease-out; }
.library-v2[aria-busy="true"] .library-results { opacity: .55; }
.library-filters { display: grid; gap: .5rem; margin-inline: -1rem; padding: .75rem 1rem .5rem; border-bottom: 1px solid var(--border-soft); background: rgba(11,13,16,.96); }
[data-ui-ready] .library-filters { position: sticky; top: var(--ui-sticky-top, 0px); z-index: 15; backdrop-filter: blur(16px); }
.library-filters .chips { margin-inline: -1rem; padding-inline: 1rem; scroll-padding-inline: 1rem; gap: .375rem; }
.library-filters .chip { font-size: .8125rem; font-weight: 500; }
.library-category-count { color: var(--quiet); font-size: .75rem; font-variant-numeric: tabular-nums; }
.library-search { position: relative; display: flex; align-items: center; gap: .5rem; }
#guide-library-state { display: none; }
.library-search-glyph { position: absolute; left: .9rem; color: var(--gold); font-size: 1.125rem; pointer-events: none; }
.library-search input[type="search"] { width: 100%; min-height: 48px; padding: .6rem .9rem .6rem 2.25rem; border: 1px solid var(--border); border-radius: .625rem; background: var(--field); color: var(--text); font-size: .9375rem; }
.library-search input[type="search"]:focus { border-color: var(--gold); }
.library-chip-row { min-width: 0; }
.library-chip-row .chip, .library-language .chip { border-radius: .5rem; padding-inline: .75rem; }
.library-language { position: relative; justify-self: end; }
.library-language summary { min-height: var(--tap); display: inline-flex; align-items: center; gap: .35rem; padding-inline: .5rem; border-radius: var(--radius-sm); color: var(--muted); font-size: .8125rem; font-weight: 500; white-space: nowrap; cursor: pointer; list-style: none; }
.library-language summary::-webkit-details-marker { display: none; }
.library-language summary::after { color: var(--quiet); content: "▾"; }
.library-language[open] summary { color: var(--gold-light); }
.library-language > .chips { position: absolute; top: calc(100% + .35rem); right: 0; z-index: 16; width: max-content; max-width: min(18rem, calc(100vw - 2rem)); flex-wrap: wrap; margin: 0; padding: .5rem; overflow: visible; border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--surface); box-shadow: var(--shadow); }
.library-status { display: flex; flex-wrap: wrap; align-items: center; gap: 0 1rem; min-height: 32px; }
.library-status p { margin: 0 auto 0 0; color: var(--muted); font-size: .8125rem; }
.library-status a { min-height: var(--tap); display: inline-flex; align-items: center; font-size: .8125rem; font-weight: 600; }
.library-list { gap: .75rem; }
.library-row { position: relative; border-radius: 14px; }
.library-row.is-series { background: linear-gradient(100deg,rgba(212,168,63,.13),rgba(29,34,41,.9) 40%,rgba(18,21,26,.96)); }
.library-row .row-body { gap: .3125rem; }
.library-row .row-title { font-size: .9375rem; font-weight: 600; line-height: 1.35; }
.library-row .row-media { background: radial-gradient(circle,rgba(212,168,63,.14),rgba(10,13,16,.35) 62%,transparent 72%); }
.library-row .row-media img { width: 78%; height: 78%; object-fit: contain; }
.library-row .row-summary { display: none; margin: 0; overflow: hidden; color: var(--muted); font-size: .875rem; line-height: 1.5; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.library-list.has-mobile-summary .row-summary { display: -webkit-box; -webkit-line-clamp: 1; }
.library-row .row-meta { display: flex; flex-wrap: wrap; align-items: center; gap: .25rem .5rem; overflow: visible; white-space: normal; font-size: .75rem; line-height: 1.5; }
.library-row-author { display: none; }
.library-row-langs { display: inline-flex; flex-wrap: wrap; gap: 3px; margin-left: auto; }
.library-lang-badge { padding: 0 4px; border: 1px solid var(--border-soft); border-radius: 3px; color: var(--muted); font-size: .625rem; font-weight: 700; line-height: 1.6; }
.library-series-kind { display: flex; flex-wrap: wrap; gap: .25rem .5rem; align-items: baseline; letter-spacing: .1em; }
.library-series-count { color: var(--muted); font-size: .6875rem; font-weight: 500; letter-spacing: 0; text-transform: none; }
.library-row-audience { padding: 0 .4rem; border: 1px solid var(--border-soft); border-radius: 999px; color: var(--muted); font-size: .6875rem; }
.library-row-lock { position: absolute; top: -8px; right: 12px; max-width: calc(100% - 24px); padding: 2px 8px; border: 1px solid var(--gold-dark); border-radius: 999px; background: var(--bg-elevated); color: var(--gold-light); font-size: .625rem; font-weight: 700; line-height: 1.4; text-transform: uppercase; }
.library-row:has(.library-row-lock) .row-body { padding-top: .375rem; }
.library-more { display: grid; gap: .75rem; margin-top: .25rem; }
.library-more > .button { min-height: var(--tap-lg); font-size: .875rem; }
.library-resume.resume-card > .resume-card-label { grid-column: 1 / -1; }
.library-resume .resume-card-go { grid-row: 2 / span 2; }
.library-resume .ui-progress { grid-column: 1 / -1; }
@media (min-width: 58rem) {
    .library-v2 { grid-template-columns: 264px minmax(0, 1fr); align-items: start; gap: 2.5rem; padding-block: .75rem 2.5rem; }
    .library-main { gap: 1.125rem; }
    .library-filters, [data-ui-ready] .library-filters { position: sticky; top: calc(var(--ui-sticky-top, 4.5rem) + 1.25rem); gap: .25rem; margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent; max-height: calc(100dvh - var(--ui-sticky-top, 4.5rem) - 2.5rem); overflow-y: auto; overscroll-behavior: contain; }
    .library-search { margin-bottom: 1rem; }
    .library-filters .chips { flex-wrap: wrap; margin-inline: 0; padding-inline: 0; overflow: visible; }
    .library-filter-label { display: block; margin: 0 0 .375rem; color: var(--gold); font-size: .6875rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
    .library-filters #guide-library-categories { display: grid; grid-template-columns: minmax(0,1fr); gap: .25rem; }
    .library-filters #guide-library-categories .chip { justify-content: space-between; white-space: normal; overflow-wrap: anywhere; border-radius: .5rem; padding-inline: .75rem; }
    .library-category-count { flex-shrink: 0; }
    .library-heading { position: static; width: auto; height: auto; overflow: visible; clip-path: none; white-space: normal; }
    .library-heading .eyebrow { margin: 0 0 .375rem; color: var(--gold); font-size: .6875rem; letter-spacing: .16em; }
    .library-heading h1 { margin: 0; font: 500 2.375rem/1.1 var(--serif); overflow-wrap: anywhere; }
    .library-chip-row { display: grid; gap: .25rem; margin-top: 1.25rem; }
    .library-language { justify-self: stretch; margin-top: 1rem; }
    .library-language summary { padding: 0; color: var(--gold); font-size: .6875rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
    .library-language > .chips { position: static; width: auto; max-width: none; padding: .25rem 0 0; border: 0; background: transparent; box-shadow: none; }
    .library-list { grid-template-columns: repeat(2,minmax(0,1fr)); gap: .875rem; }
    .library-list > li:has(.is-series) { grid-column: 1 / -1; }
    .library-row { height: 100%; grid-template-columns: minmax(0,1fr) 72px; align-items: start; gap: .875rem; padding: 1.125rem 1.125rem 1rem; }
    .library-row .row-body { grid-column: 1; grid-row: 1; gap: .5rem; }
    .library-row .row-media { grid-column: 2; grid-row: 1; width: 72px; height: 72px; }
    .library-row .row-chevron { display: none; }
    .library-row .row-title { display: block; overflow: visible; font: 600 1.25rem/1.2 var(--serif); overflow-wrap: anywhere; }
    .library-row.is-series .row-title { font-size: 1.5rem; }
    .library-row .row-summary { display: -webkit-box; }
    .library-row-author, .library-row-category { display: inline; }
    .library-row .row-meta { margin-top: .25rem; }
    .library-row-lock { right: auto; left: 18px; }
    .library-more { justify-items: center; }
    .library-more > .button { width: auto; }
    .library-resume .resume-card-go { width: auto; border-radius: 9px; padding-inline: 1.125rem; }
    .library-resume { grid-template-columns: minmax(0,1fr) auto; }
    .library-resume-arrow { display: none; }
    .library-resume-continue { display: inline; font-size: .875rem; }
}
/* Text and resume card are shared with the reader. */
:root { --text-read: #e6e8eb; }
.resume-card[hidden] { display: none; }

/* UI v2 member home, step 3: kingdom now, gift codes, resume reading, tool tiles, author space. */
.home-v2 { display: grid; gap: 1.25rem; padding-block: 1rem 2rem; }
.home-v2 > * { min-width: 0; }
.home-v2-greeting { margin: 0; font: 500 1.625rem/1.2 var(--serif); overflow-wrap: anywhere; }
.home-v2-section { display: grid; gap: .6rem; }
.home-v2-heading { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0 1rem; }
.home-v2-heading a { min-width: var(--tap); justify-content: center; white-space: nowrap; }
.home-v2-heading h2 { margin: 0; font: 600 1.125rem/1.25 var(--serif); }
.home-v2-heading a, .home-v2-links a { min-height: var(--tap); display: inline-flex; align-items: center; font-size: .88rem; font-weight: 700; }
.home-v2-links { display: flex; flex-wrap: wrap; gap: 0 1.25rem; }
.home-v2-empty { margin: 0; color: var(--muted); }
.home-v2 .row-media img, .home-v2 .row-media svg { width: 72%; height: 72%; object-fit: contain; }
.home-v2-gifts { display: grid; gap: .5rem; margin: 0; padding: 0; list-style: none; }
.home-v2-gift { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: .35rem .75rem; padding: .6rem .75rem; border: 1px solid var(--border-soft); border-radius: var(--radius); background: var(--bg-elevated); }
.home-v2-gift[hidden] { display: none; }
.home-v2-gift code { min-width: 0; overflow-wrap: anywhere; color: var(--gold-light); font: 700 1rem/1.3 ui-monospace, "Cascadia Mono", Consolas, monospace; letter-spacing: .04em; }
.home-v2-gift.is-used code { color: var(--muted); text-decoration: line-through; }
.home-v2-gift-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .5rem; }
.home-v2-gift-actions form { margin: 0; }
.home-v2-gift small { grid-column: 1 / -1; color: var(--muted); font-size: .78rem; }
.home-v2-gift small:empty { display: none; }
.home-v2-tools { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .5rem; }
.home-v2-tile { min-height: 84px; display: grid; align-content: center; gap: .35rem; padding: .75rem; border: 1px solid var(--border-soft); border-radius: var(--radius); background: linear-gradient(145deg, rgba(29,34,41,.78), rgba(18,21,26,.92)); color: var(--text); font-weight: 650; line-height: 1.25; text-decoration: none; overflow-wrap: anywhere; }
.home-v2-tile > span { color: var(--gold-light); font-size: 1.35rem; line-height: 1; }
.home-v2-tile:hover { border-color: var(--border); color: var(--text); }
@media (max-width: 24rem) { .home-v2-gift { grid-template-columns: minmax(0, 1fr); } .home-v2-gift-actions { justify-content: flex-start; } }
@media (min-width: 58rem) {
    .home-v2-tools { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

/* Guide deletion confirmation */
.guide-delete-list { margin: .25rem 0 1rem; padding-left: 1.2rem; }
.guide-delete-list li + li { margin-top: .35rem; }
.guide-danger-zone { margin: 1.5rem 0 0; padding-top: 1rem; border-top: 1px solid var(--border-soft); }

/* Series manager: parts, inline edits, translations and bulk visibility */
.series-panel { padding-block: 1rem; border-bottom: 1px solid var(--border-soft); scroll-margin-top: 6rem; }
.series-manager-nav { display: flex; flex-wrap: wrap; gap: .35rem; }
.series-manager-nav a { min-height: 44px; display: inline-flex; align-items: center; gap: .35rem; padding: .35rem .7rem; }
.series-language-hint { margin: 0; }
.series-info-summary { margin: .25rem 0 .5rem; color: var(--quiet); font-size: .85rem; }
.series-info-editor > summary, .series-outline-importer > summary, .series-search-guides > summary, .series-add-chapter > summary, .series-inline-edit > summary { min-height: 44px; display: inline-flex; align-items: center; color: var(--gold-light); font-weight: 700; cursor: pointer; }
.collection-progress-bar { grid-column: 1 / -1; }
.series-part { margin-top: 1.1rem; }
.series-part-summary { display: flex; align-items: baseline; gap: .6rem; min-height: 44px; padding: .6rem 0 .45rem; border-bottom: 1px solid var(--gold-dark); cursor: pointer; list-style: none; }
.series-part-summary::-webkit-details-marker { display: none; }
.series-part-summary::before { content: "\25B8"; color: var(--gold-light); font-size: .8rem; }
.series-part[open] > .series-part-summary::before { content: "\25BE"; }
.series-part-title { flex: 1; min-width: 0; color: var(--gold-light); font-size: .8rem; font-weight: 750; letter-spacing: .06em; text-transform: uppercase; overflow-wrap: anywhere; }
.series-part-summary small { color: var(--quiet); font-size: .75rem; }
.series-part-tools { display: flex; flex-wrap: wrap; align-items: flex-start; gap: .35rem .75rem; padding: .5rem 0; }
.series-move { display: flex; gap: .3rem; }
.series-inline-edit[open] { flex-basis: 100%; padding-bottom: .5rem; }
.series-danger > summary { color: var(--danger); }
.series-chapter-edit { grid-column: 1 / -1; }
.series-add-chapter { margin-top: .5rem; }
.series-add-options { display: grid; gap: 1rem; padding: .85rem; border: 1px dashed var(--border); border-radius: .6rem; }
.series-add-label { margin: 0; font-weight: 700; }
.series-add-section { display: grid; gap: .6rem; margin-top: 1.5rem; padding: 1rem; border: 1px solid var(--border-soft); border-radius: .6rem; background: var(--surface); }
.series-search-guides { margin-top: 1rem; }
.series-translation-list, .series-visibility-list { display: grid; gap: .25rem; margin: .75rem 0 0; padding: 0; list-style: none; }
.series-translation-list > li { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .5rem; padding: .6rem 0; border-bottom: 1px solid var(--border-soft); }
.series-translate-form { width: 100%; display: grid; gap: .4rem; }
.series-translation-complete { color: var(--success); }
.series-visibility-scope { display: grid; gap: .25rem; margin: 0; padding: 0; border: 0; }
.series-visibility-preview { margin-top: 1rem; padding: 1rem; border: 1px solid var(--gold-dark); border-radius: .6rem; }
.series-visibility-preview h3 { margin-top: 0; }
.series-visibility-list li { display: grid; grid-template-columns: 2.6rem minmax(0,1fr); gap: .6rem; align-items: center; padding: .45rem 0; border-bottom: 1px solid var(--border-soft); }
.series-visibility-list small { display: block; color: var(--quiet); }
.series-warning { color: var(--danger); }
.series-delete-guides { display: grid; gap: .4rem; margin: 0; padding: .75rem 1rem; border: 1px solid var(--border-soft); border-radius: .6rem; }
@media (min-width: 40rem) {
    .series-add-options { grid-template-columns: repeat(2, minmax(0,1fr)); align-items: start; }
    .series-add-section { grid-template-columns: minmax(0,1fr) auto; align-items: end; }
    .series-translate-form { grid-template-columns: minmax(0,1fr) minmax(0,1fr) auto; align-items: center; }
}

/* Part titles in series tables of contents always keep their underline. */
.collection-toc-section { display: block; margin-bottom: .25rem; padding-bottom: .35rem; border-bottom: 1px solid var(--gold-dark); }

/* Community reports */
.moderation-reasons { display: grid; gap: .35rem; margin: 0; padding: 0; border: 0; }
.moderation-reasons .checkbox-field small { display: block; color: var(--quiet); }
.moderation-queue, .moderation-report-list { display: grid; gap: .25rem; margin: .5rem 0 0; padding: 0; list-style: none; }
.moderation-queue-row { display: flex; flex-wrap: wrap; align-items: center; gap: .35rem .75rem; min-height: 44px; padding: .5rem 0; border-bottom: 1px solid var(--border-soft); }
.moderation-queue-row small { color: var(--quiet); }
.moderation-queue-row.is-hidden .badge, .moderation-queue-row.is-escalated .badge { border-color: var(--danger); color: var(--danger); }
.moderation-report-row { display: grid; gap: .35rem; padding: .75rem 0; border-bottom: 1px solid var(--border-soft); }
.moderation-report-row p { margin: 0; }
.moderation-comment { margin: 0; padding: .5rem .75rem; border-left: 2px solid var(--gold-dark); color: var(--muted); white-space: pre-line; overflow-wrap: anywhere; }
.moderation-author-banner p { margin: .25rem 0; }
.reader-report { margin: .75rem 0 0; }

/* Delegation between authors */
.collaboration-panel { margin-top: 1rem; }
.collaboration-summary { min-height: 44px; display: inline-flex; align-items: center; gap: .35rem; color: var(--gold-light); font-weight: 700; cursor: pointer; }
.collaboration-list { display: grid; gap: .25rem; margin: .5rem 0 0; padding: 0; list-style: none; }
.collaboration-list > li { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .5rem; min-height: 44px; padding: .5rem 0; border-bottom: 1px solid var(--border-soft); }
.collaboration-list small { display: block; color: var(--quiet); }
.collaboration-rights, .collaboration-languages { display: grid; gap: .25rem; margin: 0; padding: 0; border: 0; }
.collaboration-languages { grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr)); }
.collaboration-rights .checkbox-field small { display: block; color: var(--quiet); }
.shared-with-me { margin-block: 1rem; }

/* Structured guide blocks (MarkdownRenderer): callouts, details, cards, terms, steps, figures, filters */
.guide-callout { margin: 1.25rem 0; padding: .85rem 1rem; border: 1px solid var(--border-soft); border-left: 4px solid var(--gold); border-radius: .5rem; background: rgba(212,168,63,.06); }
.guide-callout > :first-child { margin-top: 0; }
.guide-callout > :last-child { margin-bottom: 0; }
.guide-callout-title { font-weight: 750; color: var(--gold-light); }
.guide-callout-tip { border-left-color: var(--success); background: rgba(114,196,142,.07); }
.guide-callout-tip .guide-callout-title { color: var(--success); }
.guide-callout-warning { border-left-color: var(--danger); background: rgba(255,142,136,.07); }
.guide-callout-warning .guide-callout-title { color: var(--danger); }
.guide-callout-verify { border-left-style: dashed; }
.guide-callout-verify .guide-callout-title::before { content: "?"; display: inline-grid; place-items: center; width: 1.25rem; height: 1.25rem; margin-right: .4rem; border: 1px solid currentColor; border-radius: 50%; font-size: .75rem; }
.guide-details { margin: .75rem 0; border: 1px solid var(--border-soft); border-radius: .5rem; background: var(--surface); }
.guide-details > summary { min-height: 44px; display: flex; align-items: center; padding: .6rem .9rem; font-weight: 700; cursor: pointer; }
.guide-details[open] > summary { border-bottom: 1px solid var(--border-soft); }
.guide-details-body { padding: .25rem .9rem .75rem; }
.guide-card { margin: 1rem 0; padding: .9rem 1rem; border: 1px solid var(--border-soft); border-radius: .6rem; background: var(--surface); scroll-margin-top: 6rem; }
.guide-card-eyebrow { margin: 0; color: var(--quiet); font-size: .72rem; font-weight: 750; letter-spacing: .06em; text-transform: uppercase; }
.guide-card-title { margin: .15rem 0 .5rem; color: var(--gold-light); font-size: 1.05rem; font-weight: 750; }
.guide-terms { display: grid; gap: .35rem; margin: .75rem 0; }
.guide-terms > div { display: grid; grid-template-columns: minmax(0,1fr); gap: .1rem; padding: .45rem 0; border-bottom: 1px solid var(--border-soft); }
.guide-terms dt { font-weight: 700; }
.guide-terms dd { margin: 0; color: var(--muted); }
.guide-steps ol { counter-reset: guide-step; padding-left: 0; list-style: none; }
.guide-steps li { position: relative; margin: .5rem 0; padding: .55rem .75rem .55rem 2.75rem; border: 1px solid var(--border-soft); border-radius: .5rem; counter-increment: guide-step; }
.guide-steps li::before { content: counter(guide-step); position: absolute; left: .7rem; top: .55rem; display: grid; place-items: center; width: 1.5rem; height: 1.5rem; border-radius: 50%; background: var(--gold); color: var(--bg); font-size: .75rem; font-weight: 800; }
.guide-figure { display: flex; align-items: center; gap: .75rem; margin: 1rem 0; }
.guide-figure img { width: 64px; height: 64px; object-fit: contain; flex: none; }
.guide-figure figcaption { color: var(--muted); font-size: .9rem; }
.guide-source-ref { font-size: .7em; }
.guide-filter-toolbar { position: sticky; top: calc(var(--ui-sticky-top, 0px) + .5rem); z-index: 2; display: grid; gap: .4rem; margin: 1rem 0; padding: .75rem; border: 1px solid var(--gold-dark); border-radius: .6rem; background: var(--bg); }
.guide-filter-toolbar input, .guide-filter-toolbar select { min-height: 44px; }
.guide-filter-count { margin: 0; color: var(--quiet); font-size: .8rem; }
@media (min-width: 40rem) {
    .guide-terms > div { grid-template-columns: minmax(0,1fr) minmax(0,1.4fr); gap: 1rem; }
    .guide-filter-toolbar { grid-template-columns: minmax(0,1fr) auto; align-items: end; }
    .guide-filter-toolbar label, .guide-filter-count { grid-column: 1 / -1; }
}

/* Visual block editor */
/* Simple writing: one page that looks like the published guide. */
.visual-editor-root { margin-bottom: .5rem; }
.rich-editor { display: grid; border: 1px solid var(--border-soft); border-radius: var(--radius); background: var(--bg-elevated); }
.rich-editor[hidden], .is-simple-writing .markdown-input[hidden], .is-simple-writing [data-writing-tools][hidden], .rich-markdown-switch[hidden] { display: none !important; }
.rich-toolbar { position: sticky; top: 0; z-index: 5; display: flex; flex-wrap: wrap; gap: .35rem .6rem; padding: .5rem; border-bottom: 1px solid var(--border-soft); border-radius: var(--radius) var(--radius) 0 0; background: var(--surface); }
.rich-group { display: flex; flex-wrap: wrap; gap: .25rem; }
.rich-group + .rich-group { padding-left: .6rem; border-left: 1px solid var(--border-soft); }
.rich-tool { min-height: 40px; min-width: 40px; display: inline-flex; align-items: center; justify-content: center; gap: .3rem; padding: .3rem .7rem; border: 1px solid transparent; border-radius: var(--radius-sm); background: transparent; color: var(--text); font: 600 .9rem/1.2 var(--sans); cursor: pointer; list-style: none; }
.rich-tool::-webkit-details-marker { display: none; }
.rich-tool:hover, .rich-menu[open] > .rich-tool { border-color: var(--border-soft); background: var(--surface-2); }
.rich-tool:focus-visible { outline: 2px solid var(--gold-light); outline-offset: 1px; }
.rich-tool-symbol { font-size: 1.05rem; line-height: 1; }
.rich-tool.is-bold .rich-tool-symbol { font-weight: 800; }
.rich-tool.is-italic .rich-tool-symbol { font-style: italic; font-family: var(--serif); }
.rich-menu { position: relative; }
.rich-menu > summary::after { content: " ▾"; color: var(--quiet); font-size: .75rem; }
.rich-menu-panel { position: absolute; left: 0; top: calc(100% + .25rem); z-index: 6; display: grid; min-width: 14rem; padding: .35rem; border: 1px solid var(--border-soft); border-radius: var(--radius-sm); background: var(--surface); box-shadow: var(--shadow); }
.rich-menu-panel .rich-tool { justify-content: flex-start; width: 100%; font-weight: 500; }
.rich-page { min-height: 22rem; padding: 1.25rem clamp(1rem, 3vw, 2rem) 2rem; outline: none; font-size: 1.02rem; line-height: 1.7; cursor: text; }
.rich-page:focus-visible { box-shadow: inset 0 0 0 2px rgba(212,168,63,.35); }
.rich-page > :first-child { margin-top: 0; }
.rich-page p { margin: 0 0 .85em; }
.rich-page h2, .rich-page h3 { margin: 1.4em 0 .5em; font-size: 1.35rem; line-height: 1.3; color: var(--gold-light); }
.rich-page h4, .rich-page h5 { margin: 1.2em 0 .4em; font-size: 1.1rem; line-height: 1.35; }
.rich-page { position: relative; }
.rich-page.is-empty::before { content: attr(data-placeholder); position: absolute; top: 1.25rem; left: clamp(1rem, 3vw, 2rem); right: clamp(1rem, 3vw, 2rem); color: var(--quiet); pointer-events: none; }
.rich-page .rich-link { color: var(--gold-light); text-decoration: underline; text-underline-offset: 2px; cursor: text; }
.rich-page img.rich-inline-image { max-width: min(100%, 32rem); height: auto; border-radius: var(--radius-sm); vertical-align: middle; }
.rich-page blockquote { margin: 1em 0; padding: .2rem 0 .2rem 1rem; border-left: 3px solid var(--border); color: var(--muted); }
.rich-page hr { margin: 1.5rem 0; border: 0; border-top: 1px solid var(--border-soft); }
.rich-page ul.rich-task { padding-left: 0; list-style: none; }
.rich-page ul.rich-task > li { position: relative; padding-left: 2rem; }
.rich-page ul.rich-task > li::before { content: "☐"; position: absolute; left: .2rem; top: 0; color: var(--muted); font-size: 1.15rem; cursor: pointer; }
.rich-page ul.rich-task > li[data-checked="true"]::before { content: "☑"; color: var(--success); }
.rich-callout { position: relative; padding-top: 1.9rem; }
.rich-callout-badge { position: absolute; top: .45rem; left: 1rem; color: var(--gold-light); font-size: .72rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; user-select: none; }
.guide-callout-tip > .rich-callout-badge { color: var(--success); }
.guide-callout-warning > .rich-callout-badge { color: var(--danger); }
.rich-figure { user-select: none; }
.rich-raw { display: grid; gap: .35rem; margin: 1rem 0; padding: .7rem .9rem; border: 1px dashed var(--border); border-radius: var(--radius-sm); background: var(--surface); font-size: .92rem; line-height: 1.45; cursor: default; user-select: none; }
.rich-raw-head { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; }
.rich-raw-head strong { color: var(--gold-light); font-size: .78rem; letter-spacing: .05em; text-transform: uppercase; }
.rich-raw-title { flex: 1 1 10rem; font-weight: 600; }
.rich-raw-excerpt { margin: 0; color: var(--muted); }
.rich-raw-source { width: 100%; font: .9rem/1.5 ui-monospace, SFMono-Regular, Consolas, monospace; user-select: text; }
.rich-footer { display: flex; justify-content: flex-end; padding: .4rem .75rem .6rem; border-top: 1px solid var(--border-soft); }
.rich-mode-switch, .rich-markdown-switch { font-size: .82rem; color: var(--quiet); }
.rich-dialog { width: min(28rem, calc(100vw - 2rem)); margin: auto; padding: 1rem; border: 1px solid var(--border-soft); border-radius: var(--radius); background: var(--surface); color: var(--text); }
.rich-dialog::backdrop { background: rgba(0,0,0,.55); }
.rich-dialog input { width: 100%; }
.rich-link-dialog { width: min(34rem, calc(100vw - 2rem)); }
.existing-guides-hint { margin: .25rem 0 .75rem; padding: .7rem .9rem; border: 1px solid var(--border-soft); border-left: 3px solid var(--gold); border-radius: var(--radius-sm); background: var(--surface); font-size: .92rem; }
.existing-guides-hint ul { margin: .35rem 0; padding-left: 1.1rem; }
.existing-guides-hint a { color: var(--gold-light); }
.existing-guides-hint .field-hint { margin: 0; }
.rich-link-results { display: grid; gap: .75rem; max-height: min(50vh, 24rem); overflow-y: auto; }
.rich-link-group h3 { margin: 0 0 .3rem; color: var(--quiet); font-size: .75rem; letter-spacing: .06em; text-transform: uppercase; }
.rich-link-group ul { display: grid; gap: .15rem; margin: 0; padding: 0; list-style: none; }
.rich-link-choice { width: 100%; min-height: 40px; padding: .4rem .6rem; border: 1px solid transparent; border-radius: var(--radius-sm); background: transparent; color: var(--text); font: inherit; text-align: left; cursor: pointer; }
.rich-link-choice:hover, .rich-link-choice:focus-visible { border-color: var(--border-soft); background: var(--surface-2); outline: none; }
.rich-link-guide .rich-link-choice { font-weight: 650; }
.rich-link-section .rich-link-choice { padding-left: 1.6rem; color: var(--muted); font-size: .92rem; }
.rich-link-section .rich-link-choice::before { content: "↳ "; color: var(--quiet); }
@media (max-width: 40rem) {
    .rich-group + .rich-group { padding-left: 0; border-left: 0; }
    .rich-toolbar { gap: .25rem; }
    .rich-tool { padding: .3rem .55rem; }
    .rich-page { min-height: 16rem; }
    .rich-menu-panel { position: fixed; left: 1rem; right: 1rem; top: auto; bottom: 1rem; min-width: 0; }
}
/* Original text beside a translation. */
.translation-source { margin: 0 0 1rem; border: 1px solid var(--border-soft); border-left: 3px solid var(--gold); border-radius: var(--radius-sm); background: var(--surface); }
.translation-source > summary { padding: .7rem .9rem; cursor: pointer; font-weight: 650; }
.translation-source > summary small { display: block; color: var(--quiet); font-weight: 400; }
.translation-source-body { max-height: 60vh; overflow-y: auto; padding: 0 .9rem .9rem; border-top: 1px solid var(--border-soft); }
/* Reader-facing change note. */
.guide-change-note { margin: .6rem 0 0; padding: .45rem .75rem; border-left: 3px solid var(--gold); border-radius: var(--radius-sm); background: rgba(212,168,63,.07); font-size: .92rem; }
.change-public-field { margin-top: .5rem; }
/* Public author page. */
.author-public-guides { display: grid; gap: .75rem; margin: 0; padding: 0; list-style: none; }
.author-public-guides li { padding: .85rem 1rem; border: 1px solid var(--border-soft); border-radius: var(--radius); background: var(--surface); }
.author-public-guides p { margin: .35rem 0; color: var(--muted); }
.author-public-guides small { color: var(--quiet); }
.guide-author-link { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
/* Suggested changes: line diff. */
.suggestion-diff-wrap > summary { cursor: pointer; color: var(--gold-light); }
.suggestion-diff { max-height: 50vh; overflow: auto; margin-top: .5rem; border: 1px solid var(--border-soft); border-radius: var(--radius-sm); font: .85rem/1.5 ui-monospace, SFMono-Regular, Consolas, monospace; }
.diff-row { display: grid; grid-template-columns: 1.5rem minmax(0, 1fr); white-space: pre-wrap; overflow-wrap: anywhere; }
.diff-sign { text-align: center; color: var(--quiet); user-select: none; }
.diff-added { background: rgba(114,196,142,.12); }
.diff-added .diff-sign { color: var(--success); }
.diff-removed { background: rgba(255,142,136,.12); text-decoration: line-through; text-decoration-color: rgba(255,142,136,.5); }
.diff-removed .diff-sign { color: var(--danger); }
.diff-fold { color: var(--quiet); }
.guide-topics-invite { margin: 1.5rem 0 0; text-align: center; }
/* Reference components (skill levels, encounters, FAQ filters, memo, contribution sheet) in the site's dark palette. */
.rendered-markdown { --ref-line: var(--border-soft); --ref-card: var(--surface); --ref-soft: rgba(212,168,63,.08); --ref-blue: rgba(121,200,255,.06); }
.rendered-markdown details { margin: 1rem 0; padding: 0 1rem; border: 1px solid var(--ref-line); border-radius: .75rem; background: var(--ref-card); }
.rendered-markdown details > summary { min-height: 44px; padding: .8rem 0; font-weight: 650; line-height: 1.45; cursor: pointer; }
.rendered-markdown details[open] { padding-bottom: .85rem; }
.rendered-markdown details[open] > summary { margin-bottom: .5rem; border-bottom: 1px solid var(--ref-line); }
.rendered-markdown details > summary:focus-visible { outline: 2px solid var(--gold-light); outline-offset: 3px; }
.rendered-markdown details > :last-child { margin-bottom: .25rem; }
.rendered-markdown .eyebrow { margin: 0; color: var(--gold); font-size: .72rem; font-weight: 750; letter-spacing: .12em; line-height: 1.5; text-transform: uppercase; }
.rendered-markdown .badge { display: inline-block; margin: 0 0 .75rem; padding: .3rem .5rem; border-radius: .35rem; background: rgba(212,168,63,.14); color: var(--gold-light); font-size: .75rem; font-weight: 700; line-height: 1.4; }
.rendered-markdown .table-wrap tbody tr:nth-child(even) { background: rgba(255,255,255,.025); }
.rendered-markdown .skill-ident { display: flex; align-items: center; gap: 1rem; margin: 1rem 0 1.25rem; padding: 1rem; border: 1px solid var(--ref-line); border-radius: .75rem; background: var(--ref-blue); }
.rendered-markdown .skill-ident figcaption { min-width: 0; color: var(--text); font-size: .95rem; line-height: 1.5; }
.rendered-markdown .skill-ident figcaption strong, .rendered-markdown .skill-ident figcaption span { display: block; }
.rendered-markdown .skill-ident figcaption span { margin-top: .25rem; color: var(--muted); }
.rendered-markdown .icon-holder { position: relative; display: block; width: 64px; height: 64px; flex: 0 0 64px; }
.rendered-markdown .icon-fallback { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; border: 1px solid var(--gold-dark); border-radius: .75rem; background: var(--bg-elevated); color: var(--gold-light); font-size: 1.5rem; font-weight: 750; }
.rendered-markdown .icon-holder img { position: absolute; inset: 0; width: 100%; height: 100%; max-height: none; margin: 0; border: 0; border-radius: .5rem; object-fit: contain; }
.rendered-markdown .icon-holder.image-loaded .icon-fallback { visibility: hidden; }
.rendered-markdown .icon-holder.image-missing img { display: none; }
.rendered-markdown .icon-holder:not(.image-loaded):not(.image-missing) img { color: transparent; font-size: 0; }
.rendered-markdown .roadmap { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: .65rem; margin: 1.5rem 0; }
.rendered-markdown .roadmap > div { padding: 1rem; border: 1px solid var(--ref-line); border-radius: .75rem; background: var(--ref-card); }
.rendered-markdown .roadmap b, .rendered-markdown .roadmap span { display: block; }
.rendered-markdown .roadmap b { color: var(--gold-light); }
.rendered-markdown .roadmap span { margin-top: .35rem; color: var(--muted); font-size: .9rem; }
.rendered-markdown .rally-box { padding: 1.1rem; border: 2px solid var(--gold-dark); border-radius: .85rem; background: var(--ref-soft); }
.rendered-markdown .rally-box > b, .rendered-markdown .rally-box > span { display: block; }
.rendered-markdown .rally-box > span { color: var(--muted); font-size: .9rem; }
.rendered-markdown .march-row { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 1rem; }
.rendered-markdown .march-row > div { flex: 1; min-width: 85px; padding: .75rem; border: 1px solid var(--ref-line); border-radius: .5rem; background: var(--ref-card); font-size: .82rem; }
.rendered-markdown .march-row > div:first-child { border: 2px solid var(--gold); background: rgba(212,168,63,.12); }
.rendered-markdown .capacity-demo p { margin: .75rem 0 0; color: var(--muted); font-size: .9rem; }
.rendered-markdown .filterbar { margin: 1.5rem 0; padding: 1.1rem; border: 1px solid var(--gold-dark); border-radius: .85rem; background: var(--bg-elevated); }
.rendered-markdown .filterbar label { display: block; margin: .85rem 0 .35rem; font-weight: 650; }
.rendered-markdown .filterbar label:first-child { margin-top: 0; }
.rendered-markdown .filterbar input, .rendered-markdown .filterbar select { width: 100%; min-height: 46px; }
.rendered-markdown .filter-count { margin: .75rem 0 0; color: var(--quiet); font-size: .82rem; }
.rendered-markdown .encounter { margin: 1.25rem 0; padding: 1.5rem; border: 1px solid var(--ref-line); border-left: 4px solid var(--gold); border-radius: var(--radius); background: var(--ref-card); scroll-margin-top: 6rem; }
.rendered-markdown .encounter h2 { margin: .5rem 0 .75rem; font-size: 1.45rem; }
.rendered-markdown .encounter.unresolved { border-left-color: var(--danger); }
.rendered-markdown .encounter.unresolved .badge { background: rgba(255,142,136,.14); color: var(--danger); }
.rendered-markdown .encounter details { margin-bottom: 0; background: var(--bg-elevated); font-size: .85rem; }
.rendered-markdown .choices { margin: .6rem 0 1rem; }
.rendered-markdown .choices > div { display: flex; justify-content: space-between; gap: .75rem; padding: .7rem 0; border-bottom: 1px solid var(--ref-line); }
.rendered-markdown .choices dt { flex: 1; font-size: .95rem; line-height: 1.5; }
.rendered-markdown .choices dd { max-width: 48%; margin: 0; color: var(--gold-light); font-size: .95rem; font-weight: 750; line-height: 1.5; text-align: right; }
.rendered-markdown .decision { margin-bottom: .65rem; padding: .85rem; border-radius: .6rem; background: var(--ref-blue); font-size: .95rem; font-weight: 650; }
.rendered-markdown details.skill-section { margin: 1.5rem 0; padding: 0 1.25rem; scroll-margin-top: 6rem; }
.rendered-markdown details.skill-section > summary { font-size: 1.15rem; }
.rendered-markdown .level-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: .85rem; }
.rendered-markdown .level-card { min-width: 0; padding: 1.1rem; border: 1px solid var(--ref-line); border-radius: .75rem; background: var(--bg-elevated); font-size: .9rem; scroll-margin-top: 6rem; }
.rendered-markdown .level-card h3 { margin: .3rem 0 .6rem; color: var(--gold-light); font-size: 1.35rem; }
.rendered-markdown .level-card p { margin-bottom: .75rem; }
.rendered-markdown .level-effect { font-weight: 650; line-height: 1.5; }
.rendered-markdown .level-card .cost { padding: .75rem; border-radius: .5rem; background: rgba(212,168,63,.12); color: var(--gold-light); font-size: 1rem; font-weight: 750; }
.rendered-markdown .level-card details { margin: .75rem 0 0; padding: 0 .65rem; font-size: .78rem; }
.rendered-markdown .level-card details > summary { min-height: 40px; padding: .55rem 0; font-size: .78rem; }
.rendered-markdown .level-card .requirements { margin: .5rem 0; padding-left: 1.05rem; color: var(--muted); font-size: .82rem; }
.rendered-markdown .faq-item { scroll-margin-top: 6rem; }
.rendered-markdown .term { margin: 0; padding: 1rem; border-bottom: 1px solid var(--ref-line); background: var(--ref-card); scroll-margin-top: 6rem; }
.rendered-markdown .term h3 { margin: 0 0 .45rem; }
.rendered-markdown .term small { color: var(--quiet); font-size: .78rem; }
.rendered-markdown .source-entry { padding: .75rem 0; border-bottom: 1px solid var(--ref-line); scroll-margin-top: 6rem; }
.rendered-markdown .source-entry h3 { margin: 0 0 .5rem; font-size: 1.05rem; }
.rendered-markdown .source-entry p { font-size: .9rem; }
.rendered-markdown details.source-footer { margin-top: 1.75rem; color: var(--muted); font-size: .82rem; }
.rendered-markdown details.source-footer li { margin-bottom: .35rem; }
.rendered-markdown .checklist { padding: .5rem 1.1rem; border: 1px solid var(--ref-line); border-radius: .75rem; background: var(--ref-card); }
.rendered-markdown .checklist label { display: flex; align-items: flex-start; gap: .75rem; margin: 0; padding: .65rem 0; border-bottom: 1px solid var(--ref-line); font-weight: 450; }
.rendered-markdown .checklist label:last-child { border-bottom: 0; }
.rendered-markdown .checklist input[type="checkbox"] { flex: 0 0 20px; width: 20px; height: 20px; min-height: 20px; margin: .2rem 0 0; accent-color: var(--gold); }
.rendered-markdown .checklist label:has(input:checked) { color: var(--quiet); }
.rendered-markdown .share-note { padding: 1.1rem; border: 1px solid var(--ref-line); border-radius: .75rem; background: var(--bg-elevated); color: var(--text); font: inherit; font-size: .95rem; line-height: 1.65; white-space: pre-wrap; overflow-wrap: anywhere; }
.rendered-markdown #goal-note { width: 100%; }
.rendered-markdown #contribution-form { margin: 1.25rem 0; padding: 1.1rem; border: 1px solid var(--ref-line); border-radius: .85rem; background: var(--ref-card); }
.rendered-markdown #contribution-form label { display: block; margin: .85rem 0 .35rem; font-weight: 650; }
.rendered-markdown #contribution-form input, .rendered-markdown #contribution-form textarea { width: 100%; }
.rendered-markdown #contribution-form button { min-height: 44px; margin-top: 1rem; }
.rendered-markdown .actions { display: flex; flex-wrap: wrap; gap: .5rem; margin: .75rem 0; }
.rendered-markdown .actions button { margin-top: 0; }
/* Buttons written by the reference components (checklists, memo, copy, contribution): the site's quiet button, never the browser default. */
.rendered-markdown button[data-reset-checks], .rendered-markdown button[data-save-goal], .rendered-markdown button[data-copy-target], .rendered-markdown #contribution-form button, .rendered-markdown .actions button { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; margin-top: .75rem; padding: .6rem 1rem; border: 1px solid var(--gold-dark); border-radius: var(--radius-sm); background: var(--surface); color: var(--gold-light); font: inherit; font-size: .9rem; font-weight: 700; line-height: 1.2; cursor: pointer; }
.rendered-markdown button[data-reset-checks]:hover, .rendered-markdown button[data-save-goal]:hover, .rendered-markdown button[data-copy-target]:hover, .rendered-markdown #contribution-form button:hover, .rendered-markdown .actions button:hover { border-color: var(--gold); background: var(--surface-2); }
.rendered-markdown button[data-reset-checks]:focus-visible, .rendered-markdown button[data-save-goal]:focus-visible, .rendered-markdown button[data-copy-target]:focus-visible, .rendered-markdown #contribution-form button:focus-visible, .rendered-markdown .actions button:focus-visible { outline: 2px solid var(--gold); outline-offset: 2px; }
.rendered-markdown .actions button { margin-top: 0; }
.rendered-markdown .action-status, .rendered-markdown [data-copy-status], .rendered-markdown [data-contribution-status] { color: var(--muted); font-size: .85rem; }
.rendered-markdown .action-status:empty, .rendered-markdown [data-copy-status]:empty, .rendered-markdown [data-contribution-status]:empty { margin: 0; }
.rendered-markdown .filter-item[hidden], .rendered-markdown .skill-section[hidden], .rendered-markdown .faq-category[hidden] { display: none !important; }
@media (max-width: 50rem) {
    .rendered-markdown .level-grid { grid-template-columns: minmax(0,1fr); }
    .rendered-markdown details.skill-section { padding: 0 .85rem; }
    .rendered-markdown .encounter { padding: 1.1rem; }
    .rendered-markdown .table-wrap { overflow: visible; border: 0; }
    .rendered-markdown .table-wrap table, .rendered-markdown .table-wrap tbody { display: block; min-width: 0; background: transparent; }
    .rendered-markdown .table-wrap thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }
    .rendered-markdown .table-wrap tbody tr { display: block; margin: .75rem 0; padding: .35rem .85rem; border: 1px solid var(--ref-line); border-radius: .75rem; background: var(--ref-card) !important; }
    .rendered-markdown .table-wrap td { display: flex; justify-content: space-between; gap: .85rem; padding: .6rem 0; border-bottom: 1px solid var(--ref-line); font-size: .9rem; text-align: right !important; overflow-wrap: anywhere; }
    .rendered-markdown .table-wrap td:last-child { border-bottom: 0; }
    .rendered-markdown .table-wrap td::before { content: attr(data-label); flex: 0 0 43%; color: var(--quiet); font-size: .78rem; font-weight: 650; line-height: 1.5; text-align: left; }
    .rendered-markdown .table-wrap td > * { min-width: 0; }
    .rendered-markdown .table-wrap td .cell-value { max-width: 57%; text-align: right; }
}
@media (max-width: 27.5rem) {
    .rendered-markdown .roadmap { grid-template-columns: minmax(0,1fr); }
    .rendered-markdown .filterbar { padding: .9rem; }
    .rendered-markdown .skill-ident { gap: .75rem; padding: .75rem; }
    .rendered-markdown .icon-holder { width: 52px; height: 52px; flex-basis: 52px; }
    .rendered-markdown .icon-fallback { font-size: 1.2rem; }
    .rendered-markdown .choices dt, .rendered-markdown .choices dd { font-size: .88rem; }
}
@media print {
    .rendered-markdown .encounter, .rendered-markdown .level-card { break-inside: avoid; }
}
/* Simple writing, comfort pass: bubble over a selection, insert menu, tables, collapsible and step boxes, full screen. */
.rich-editor { position: relative; }
.rich-tool.is-underline .rich-tool-symbol { text-decoration: underline; }
.rich-tool.is-strike .rich-tool-symbol { text-decoration: line-through; }
.rich-tool.is-code .rich-tool-symbol { font: .85rem ui-monospace, SFMono-Regular, Consolas, monospace; }
.rich-menu-panel .rich-tool.is-underline { text-decoration: underline; }
.rich-menu-panel .rich-tool.is-strike { text-decoration: line-through; }
.rich-menu-separator { width: 100%; margin: .25rem 0; border: 0; border-top: 1px solid var(--border-soft); }
.rich-tool.swatch::before { content: ""; flex: none; width: .9rem; height: .9rem; border: 1px solid var(--border); border-radius: 50%; background: var(--text); }
.rich-tool.swatch-red::before { background: #ff8e88; }
.rich-tool.swatch-orange::before { background: #ffc06a; }
.rich-tool.swatch-green::before { background: #77d5a2; }
.rich-tool.swatch-blue::before { background: #79c8ff; }
.rich-tool.swatch-purple::before { background: #d5a7ff; }
.rich-tool.swatch-gold::before { background: #f2cf72; }
.rich-tool.swatch-muted::before { background: var(--muted); }
.rich-tool.swatch-default::before { background: transparent; border-style: dashed; }
.rich-insert-button { border-color: var(--gold-dark); color: var(--gold-light); font-weight: 700; }
.rich-table-tools { align-items: center; padding: .15rem .35rem; border: 1px solid var(--gold-dark); border-radius: var(--radius-sm); background: rgba(212,168,63,.06); }
.rich-table-tools[hidden] { display: none; }
.rich-group-label { padding-inline: .25rem; color: var(--gold-light); font-size: .72rem; font-weight: 750; letter-spacing: .06em; text-transform: uppercase; }

/* Bubble shown over selected text. */
.rich-bubble { position: absolute; z-index: 8; display: flex; flex-wrap: wrap; gap: .15rem; max-width: calc(100% - 8px); padding: .25rem; border: 1px solid var(--gold-dark); border-radius: var(--radius-sm); background: var(--surface); box-shadow: var(--shadow); }
.rich-bubble[hidden] { display: none; }
.rich-bubble .rich-tool { min-width: 38px; min-height: 38px; padding: .25rem .45rem; }
.rich-bubble .rich-menu-panel { top: calc(100% + .25rem); min-width: 12rem; }

/* Insert menu: toolbar button or "/" on an empty line. */
.rich-insert { position: absolute; z-index: 9; width: min(20rem, calc(100% - 8px)); max-height: min(24rem, 60vh); display: grid; grid-template-rows: auto minmax(0, 1fr) auto auto; gap: .35rem; padding: .45rem; border: 1px solid var(--gold-dark); border-radius: var(--radius); background: var(--surface); box-shadow: var(--shadow); }
.rich-insert[hidden] { display: none; }
.rich-insert-search[hidden] { display: none; }
.rich-insert-list { display: grid; gap: .1rem; overflow-y: auto; overscroll-behavior: contain; }
.rich-insert-item { min-height: 40px; display: grid; grid-template-columns: 1.9rem minmax(0,1fr) auto; align-items: center; gap: .55rem; padding: .3rem .5rem; border: 1px solid transparent; border-radius: var(--radius-sm); background: transparent; color: var(--text); font: inherit; text-align: left; cursor: pointer; }
.rich-insert-item:hover, .rich-insert-item[aria-selected="true"] { border-color: var(--gold-dark); background: var(--surface-2); }
.rich-insert-icon { display: grid; place-items: center; width: 1.9rem; height: 1.9rem; border-radius: .45rem; background: var(--bg-elevated); color: var(--gold-light); font-weight: 750; }
.rich-insert-item.is-box .rich-insert-icon { background: rgba(212,168,63,.12); }
.rich-insert-kbd { padding: .05rem .35rem; border: 1px solid var(--border-soft); border-radius: .3rem; color: var(--quiet); font: .72rem ui-monospace, SFMono-Regular, Consolas, monospace; }
.rich-insert-empty, .rich-insert-hint { margin: 0; color: var(--quiet); font-size: .78rem; }
.rich-insert-empty[hidden] { display: none; }

/* Tables written directly on the page. */
.rich-page table.rich-table { width: 100%; min-width: 0; margin: 1rem 0; border-collapse: collapse; border: 1px solid var(--border-soft); background: var(--bg-elevated); }
.rich-page table.rich-table th, .rich-page table.rich-table td { min-width: 4rem; padding: .5rem .6rem; border: 1px solid var(--border-soft); vertical-align: top; }
.rich-page table.rich-table th { color: var(--gold-light); background: rgba(212,168,63,.08); font-size: .85rem; }
.rich-page table.rich-table :is(th, td):focus-within { outline: 2px solid var(--gold); outline-offset: -2px; }
.rich-page table.rich-table th:empty::before, .rich-page table.rich-table th:has(> br:only-child)::before { content: attr(data-placeholder); color: var(--quiet); font-weight: 500; pointer-events: none; }

/* Collapsible block and steps, as the reader will see them. */
.rich-page .guide-callout-details { border-left-color: var(--border); background: var(--surface); }
.rich-page .guide-callout-details > .rich-callout-title { margin-bottom: .4rem; font-weight: 750; }
.rich-page .guide-callout-details > .rich-callout-title::before { content: "▸ "; color: var(--gold-light); }
.rich-page .rich-callout-title:has(> br:only-child)::after { content: attr(data-placeholder); color: var(--quiet); font-weight: 500; pointer-events: none; }
.rich-page .guide-callout-steps { border-left-color: var(--gold); }
.rich-page .guide-callout-steps > ol { counter-reset: guide-step; padding-left: 0; list-style: none; }
.rich-page .guide-callout-steps > ol > li { position: relative; margin: .45rem 0; padding: .45rem .7rem .45rem 2.6rem; border: 1px solid var(--border-soft); border-radius: .5rem; counter-increment: guide-step; }
.rich-page .guide-callout-steps > ol > li::before { content: counter(guide-step); position: absolute; left: .65rem; top: .45rem; display: grid; place-items: center; width: 1.45rem; height: 1.45rem; border-radius: 50%; background: var(--gold); color: var(--bg); font-size: .72rem; font-weight: 800; }

/* Footer: words and reading time, then comfort tools. */
.rich-footer { flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .35rem .75rem; }
.rich-word-count { color: var(--quiet); font-size: .8rem; }
.rich-footer-tools { display: flex; flex-wrap: wrap; align-items: center; gap: .15rem .6rem; margin-left: auto; }
.rich-footer-tools .text-button, .rich-footer .rich-mode-switch { font-size: .82rem; }
.rich-footer-tools [aria-pressed="true"] { color: var(--gold-light); text-decoration: underline; }
.rich-shortcuts { width: min(32rem, calc(100vw - 2rem)); }
.rich-shortcuts h2 { margin-top: 0; font-size: 1.15rem; }
.rich-shortcuts-list { display: grid; gap: .25rem; margin: .75rem 0 1rem; }
.rich-shortcuts-list > div { display: flex; justify-content: space-between; gap: 1rem; padding: .35rem 0; border-bottom: 1px solid var(--border-soft); }
.rich-shortcuts-list dt { color: var(--text); }
.rich-shortcuts-list dd { margin: 0; color: var(--gold-light); font: .85rem ui-monospace, SFMono-Regular, Consolas, monospace; }

/* Full-screen writing: the page alone, centred, at a comfortable line length. */
.rich-editor.is-focus { position: fixed; inset: 0; z-index: 70; display: grid; grid-template-rows: auto minmax(0,1fr) auto; border: 0; border-radius: 0; background: var(--bg); }
.rich-editor.is-focus .rich-toolbar { border-radius: 0; justify-content: center; }
.rich-editor.is-focus .rich-page { width: min(46rem, 100%); margin-inline: auto; overflow-y: auto; font-size: 1.08rem; }
.rich-editor.is-focus .rich-footer { width: min(46rem, 100%); margin-inline: auto; }
html.has-writing-focus { overflow: hidden; }

/* Original text of a translation docked beside the writing page. */
.translation-source.is-docked { position: fixed; z-index: 45; right: max(1rem, env(safe-area-inset-right)); bottom: calc(5rem + env(safe-area-inset-bottom)); left: max(1rem, env(safe-area-inset-left)); max-height: 45vh; display: flex; flex-direction: column; margin: 0; box-shadow: var(--shadow); }
.translation-source.is-docked .translation-source-body { flex: 1 1 auto; max-height: none; }
@media (min-width: 64rem) {
    .translation-source.is-docked { top: 5.5rem; bottom: 1rem; left: auto; width: min(30rem, 36vw); max-height: none; }
    html.has-source-dock .page-shell { padding-right: calc(min(30rem, 36vw) + 2rem); }
    .rich-editor.is-focus ~ .translation-source.is-docked, html.has-writing-focus .translation-source.is-docked { z-index: 75; top: 1rem; }
}
@media (max-width: 40rem) {
    .rich-bubble .rich-tool { min-width: 40px; min-height: 40px; }
    .rich-insert { position: fixed; left: .5rem !important; right: .5rem; top: auto !important; bottom: calc(5rem + env(safe-area-inset-bottom)); width: auto; }
}
.rich-toolbar { top: var(--rich-toolbar-top, 0px); }
.rich-editor.is-focus .rich-toolbar { top: 0; }
.translation-source.is-docked { overflow: hidden; }
.translation-source.is-docked .translation-source-body { max-height: calc(45vh - 4.5rem); overflow-y: auto; overscroll-behavior: contain; }
@media (min-width: 64rem) {
    .translation-source.is-docked .translation-source-body { max-height: calc(100vh - 11rem); max-height: calc(100dvh - 11rem); }
}
/* Series audience followed by its guides: confirmation list and "own audience" badge. */
.series-audience-confirm { display: grid; gap: .4rem; padding: .85rem 1rem; border: 1px solid var(--gold); border-radius: var(--radius-sm); background: rgba(212,168,63,.08); }
.series-audience-confirm p { margin: 0; }
.series-audience-confirm ul { display: grid; gap: .3rem; max-height: 16rem; margin: .25rem 0 0; padding: 0; overflow-y: auto; list-style: none; }
.series-audience-confirm li { display: flex; flex-wrap: wrap; align-items: baseline; gap: .4rem; }
.series-audience-confirm small { color: var(--quiet); }
.series-own-audience { display: flex; flex-wrap: wrap; align-items: center; gap: .15rem .5rem; margin-top: .25rem; }
.series-own-audience form { margin: 0; }
.series-own-audience .text-button { min-height: 36px; padding-block: .2rem; font-size: .8rem; }
.series-audience-hint { color: var(--gold-light); }
/* Translate with a file (XLIFF) and the report of the last import. */
.translation-file-panel { margin: .75rem 0; border: 1px solid var(--border-soft); border-left: 3px solid var(--gold-dark); border-radius: var(--radius-sm); background: var(--surface); }
.translation-file-panel > summary { min-height: 44px; display: grid; gap: .1rem; padding: .6rem .9rem; cursor: pointer; font-weight: 650; }
.translation-file-panel > summary small { color: var(--quiet); font-weight: 400; }
.translation-file-body { display: grid; gap: .6rem; padding: 0 .9rem .9rem; }
.translation-file-steps { display: grid; gap: .6rem; margin: 0; padding-left: 1.2rem; }
.translation-file-row { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem .75rem; margin: 0; }
.translation-file-row label { font-weight: 600; }
.translation-file-row select, .translation-file-row input[type="file"] { max-width: 100%; }
.translation-import-report { margin: .75rem 0; padding: .85rem 1rem; border: 1px solid var(--gold); border-radius: var(--radius-sm); background: rgba(212,168,63,.07); }
.translation-import-report h2 { margin: 0 0 .5rem; font-size: 1.05rem; }
.translation-import-report > ul { display: grid; gap: .5rem; margin: 0; padding: 0; list-style: none; }
.translation-import-report li { display: grid; gap: .15rem; }
.translation-import-report li.is-failed > span { color: var(--danger); }
.translation-import-report li.is-created > span, .translation-import-report li.is-updated > span { color: var(--success); }
.translation-import-report small { color: var(--muted); }
.rich-page.is-drop-target { outline: 2px dashed var(--gold); outline-offset: -6px; background: rgba(212,168,63,.04); }
.row-match { display: block; margin-top: .25rem; padding-left: .5rem; border-left: 2px solid var(--gold-dark); color: var(--muted); font-size: .84rem; line-height: 1.45; }
.row-match strong { color: var(--gold-light); font-weight: 650; }
/* Feedback prompt under tools, backing link and idea callout (docs/COMMUNITY_FEEDBACK.md). */
.tool-feedback-prompt { margin-block: 1.5rem .5rem; }
.tool-feedback-prompt a { min-height: var(--tap); display: inline-flex; align-items: center; gap: .6rem; color: var(--muted); font-size: .92rem; text-decoration: none; }
.tool-feedback-prompt a:hover { color: var(--text); }
.tool-feedback-prompt strong { color: var(--gold-light); text-decoration: underline; text-underline-offset: .2em; }
.tool-feedback-icon { width: 1.9rem; height: 1.9rem; display: grid; place-items: center; border: 1px solid var(--border-soft); border-radius: 50%; color: var(--gold); font-size: .85rem; }
.footer-backing { color: var(--gold-light); }
.feedback-idea-callout { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .4rem 1rem; margin: 0; padding: .8rem 1rem; border: 1px solid rgba(212,168,63,.35); border-radius: var(--radius-sm); background: rgba(212,168,63,.06); }
/* Lot 2 (22/09): golden dot for a new support reply and "Vous l’avez demandé" in the release notes. */
.nav-unread-dot { display: inline-block; flex: none; width: .55rem; height: .55rem; margin-inline-start: .4rem; border-radius: 50%; background: var(--gold); box-shadow: 0 0 0 2px var(--bg); vertical-align: .1rem; }
.release-asked { margin-top: .9rem; padding: .8rem 1rem; border: 1px solid rgba(119,213,162,.35); border-radius: var(--radius-sm); background: rgba(119,213,162,.05); }
.release-asked h4 { margin: 0 0 .4rem; color: var(--success); font-size: .95rem; }
.release-asked ul { margin: 0; padding-left: 1.1rem; }
.release-asked small { color: var(--muted); }
/* Publisher and host notice (terms, 22/09). */
.legal-publisher { display: grid; gap: .6rem; margin: 0 0 1rem; }
.legal-publisher > div { display: grid; gap: .15rem; padding: .7rem .9rem; border: 1px solid var(--border-soft); border-radius: var(--radius-sm); background: var(--surface); }
.legal-publisher dt { color: var(--gold-light); font-weight: 700; font-size: .85rem; }
.legal-publisher dd { margin: 0; line-height: 1.55; }
/* Admin home: single "À traiter" inbox (22/09). */
.admin-todo { display: grid; gap: .6rem; margin-top: 1.2rem; }
.admin-todo h3 { margin: 0; font-family: inherit; font-size: 1rem; }
.admin-todo-empty { margin: 0; color: var(--muted); }
.admin-todo-list { margin: 0; padding: 0; list-style: none; border: 1px solid var(--border-soft); border-radius: var(--radius); background: var(--surface); }
.admin-todo-list li + li { border-top: 1px solid var(--border-soft); }
.admin-todo-item { min-height: var(--tap); display: grid; grid-template-columns: 7.5rem minmax(0, 1fr) auto; align-items: center; gap: .4rem .8rem; padding: .65rem .9rem; color: var(--text); text-decoration: none; }
.admin-todo-item:hover { background: rgba(212,168,63,.06); }
.admin-todo-kind { justify-self: start; padding: .15rem .55rem; border: 1px solid var(--border-soft); border-radius: 999px; color: var(--muted); font-size: .75rem; font-weight: 700; white-space: nowrap; }
.admin-todo-kind-support { border-color: var(--gold-dark); color: var(--gold-light); }
.admin-todo-label { min-width: 0; display: grid; gap: .1rem; }
.admin-todo-label strong { overflow-wrap: anywhere; }
.admin-todo-label small, .admin-todo-item time { color: var(--muted); font-size: .8rem; }
@media (max-width: 40rem) { .admin-todo-item { grid-template-columns: minmax(0, 1fr) auto; } .admin-todo-kind { grid-column: 1 / -1; } }
