:root {
  --night: #0b1423;
  --night-2: #101e31;
  --night-3: #172942;
  --ink: #13243a;
  --ink-soft: #49627b;
  --paper: #f3e9d0;
  --paper-2: #fbf5e8;
  --paper-3: #e6d6b6;
  --line: rgba(24, 45, 67, 0.13);
  --line-light: rgba(255, 255, 255, 0.12);
  --gold: #e8ad59;
  --gold-light: #f2c779;
  --teal: #2ec8ad;
  --teal-deep: #127e78;
  --violet: #8b7bd5;
  --rose: #c86f70;
  --shadow: 0 18px 60px rgba(6, 17, 30, 0.2);
  font-family: Georgia, 'Times New Roman', serif;
  color: var(--ink);
  background: var(--night);
  font-synthesis: none;
}

.denizen-affiliation-key-list { display: flex; flex-wrap: wrap; gap: .45rem .75rem; padding: .65rem .75rem; color: #c4d8d0; background: rgba(255,255,255,.045); border: 1px solid rgba(255,255,255,.11); border-radius: .5rem; }
.denizen-affiliation-key { display: inline-flex; align-items: center; gap: .35rem; font-size: .61rem; }
.denizen-affiliation-key img { display: block; width: 1.35rem; height: 1.35rem; object-fit: contain; }

* { box-sizing: border-box; }
.desk-seal img { width: 2.1rem; height: 2.1rem; object-fit: contain; }
html { min-width: 320px; scroll-behavior: smooth; }
body {
  margin: 0;
  min-width: 320px;
  min-height: 100vh;
  background:
    radial-gradient(circle at 85% 2%, rgba(57, 131, 153, 0.14), transparent 30rem),
    radial-gradient(circle at 5% 80%, rgba(120, 76, 156, 0.12), transparent 26rem),
    var(--night);
}
button, input { font: inherit; }
button { cursor: pointer; }
button:focus-visible, a:focus-visible, input:focus-visible {
  outline: 3px solid var(--gold-light);
  outline-offset: 3px;
}
a { color: inherit; }

.skip-link {
  position: fixed;
  left: 1rem;
  top: -4rem;
  z-index: 100;
  padding: .7rem 1rem;
  color: var(--night);
  background: var(--gold-light);
  border-radius: 0 0 .6rem .6rem;
}
.skip-link:focus { top: 0; }

.app-shell.quiet-motion *, .app-shell.quiet-motion *::before, .app-shell.quiet-motion *::after { scroll-behavior: auto !important; transition-duration: .001ms !important; animation-duration: .001ms !important; animation-iteration-count: 1 !important; }
.app-shell.high-contrast-ink { --line: rgba(24, 45, 67, .3); --line-light: rgba(255, 255, 255, .28); --ink-soft: #294763; }
.app-shell.high-contrast-ink .card, .app-shell.high-contrast-ink input, .app-shell.high-contrast-ink textarea, .app-shell.high-contrast-ink select { border-color: rgba(19,36,58,.34); }
.app-shell.plain-record .hero-art, .app-shell.plain-record #relationship-graph { display: none !important; }
.app-shell.plain-record .relationship-graph-fallback { display: block !important; }
.app-shell.plain-record .atlas-map-column { min-height: 0; }
.app-shell.plain-record .atlas-map-key, .app-shell.plain-record .atlas-map-tools { display: none; }
.app-shell.plain-record .gallery-image { background: var(--paper-3); }
.app-shell.plain-record .gallery-image img { filter: saturate(.45); }

.app-shell { min-height: 100vh; display: grid; grid-template-columns: 270px minmax(0, 1fr); }
.rail {
  position: sticky;
  top: 0;
  height: 100vh;
  padding: 1.5rem 1.2rem;
  color: #eff6f4;
  background:
    linear-gradient(180deg, rgba(22, 52, 72, .72), transparent 37%),
    repeating-linear-gradient(170deg, rgba(255,255,255,.02) 0 1px, transparent 1px 5px),
    var(--night-2);
  border-right: 1px solid var(--line-light);
  overflow-y: auto;
}
.brand { display: flex; gap: .75rem; align-items: center; margin-bottom: 2.2rem; }
.brand-mark {
  display: grid; place-items: center; width: 2.55rem; height: 2.55rem;
  color: var(--night); font-weight: 800; font-size: 1.2rem;
  background: radial-gradient(circle, var(--gold-light) 0 36%, var(--gold) 37% 62%, transparent 63%), var(--teal);
  border-radius: 50%; box-shadow: 0 0 0 5px rgba(232,173,89,.12);
}
.brand strong { display: block; letter-spacing: .13em; font: 700 .78rem/1.15 Georgia, serif; }
.brand span { display: block; margin-top: .22rem; color: #9bb0b9; font: .69rem/1.2 ui-sans-serif, system-ui, sans-serif; letter-spacing: .06em; text-transform: uppercase; }
.rail-label { margin: 1.35rem .75rem .55rem; color: #718d9c; font: 700 .65rem ui-sans-serif, system-ui, sans-serif; letter-spacing: .14em; text-transform: uppercase; }
.nav-list { display: grid; gap: .25rem; }
.nav-button {
  display: flex; align-items: center; gap: .75rem; width: 100%; padding: .75rem .8rem;
  color: #b6c9ce; text-align: left; background: transparent; border: 1px solid transparent; border-radius: .65rem;
}
.nav-button:hover { color: #fff; background: rgba(255,255,255,.06); }
.nav-button.active { color: #fff; background: linear-gradient(100deg, rgba(46,200,173,.22), rgba(46,200,173,.05)); border-color: rgba(46,200,173,.28); box-shadow: inset 3px 0 var(--teal); }
.nav-icon { width: 1.25rem; color: var(--gold-light); text-align: center; font: 1.1rem Georgia, serif; }
.notice-dot { margin-left: auto; min-width: 1.25rem; padding: .16rem .33rem; color: var(--night); text-align: center; font: 700 .65rem ui-sans-serif, system-ui, sans-serif; background: var(--gold); border-radius: 99px; }
.rail-footer { margin-top: 2rem; padding: 1rem; color: #94a9ae; background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.08); border-radius: .8rem; }
.rail-footer p { margin: 0 0 .65rem; font-size: .82rem; line-height: 1.45; }
.quiet-button { width: 100%; padding: .55rem .65rem; color: #e5efec; background: transparent; border: 1px solid rgba(255,255,255,.15); border-radius: .5rem; }
.quiet-button:hover { border-color: var(--teal); }

.content-wrap { min-width: 0; background: radial-gradient(circle at 50% -10%, rgba(255,255,255,.1), transparent 38rem), var(--paper); }
.site-footer { grid-column: 2; padding: .9rem 1.4rem 1.15rem; color: #667779; background: var(--paper); border-top: 1px solid rgba(39,73,81,.14); }
.site-footer p { max-width: 1100px; margin: 0 auto; font: .64rem/1.55 ui-sans-serif, system-ui, sans-serif; }
.topbar { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem clamp(1rem, 4vw, 3rem); background: rgba(251,245,232,.92); border-bottom: 1px solid var(--line); backdrop-filter: blur(14px); }
.search-form { display: flex; align-items: center; width: min(100%, 31rem); padding: .2rem .2rem .2rem .9rem; background: rgba(255,255,255,.62); border: 1px solid rgba(19,36,58,.16); border-radius: 99px; box-shadow: 0 3px 12px rgba(19,36,58,.05); }
.search-form span { color: var(--teal-deep); font: 1.1rem Georgia, serif; }
.search-form input { min-width: 0; flex: 1; padding: .55rem .6rem; color: var(--ink); background: transparent; border: 0; outline: 0; }
.search-form input::placeholder { color: #6c7c87; }
.search-form button { padding: .52rem .9rem; color: var(--paper-2); background: var(--ink); border: 0; border-radius: 99px; font: 700 .72rem ui-sans-serif, system-ui, sans-serif; letter-spacing: .04em; }
.search-lens-panel { display: grid; gap: .7rem; margin: 1rem 0; padding: .8rem .9rem; background: rgba(232,214,182,.2); border: 1px solid var(--line); border-radius: .6rem; }
.search-lens-heading { display: flex; align-items: center; gap: .65rem; padding-bottom: .2rem; border-bottom: 1px solid rgba(125,102,65,.14); }
.search-lens-heading img { width: 2rem; height: 2rem; border-radius: .55rem; }
.search-lens-heading p { margin: .15rem 0 0; color: var(--ink-soft); font-size: .72rem; }
.search-lens-row { display: grid; grid-template-columns: minmax(8rem,.28fr) minmax(0,1fr); gap: .7rem; align-items: center; }
.search-lens-chips { display: flex; flex-wrap: wrap; gap: .35rem; }
.search-lens-chips .filter-chip { cursor: pointer; }
@media (max-width: 640px) { .search-lens-row { grid-template-columns: 1fr; gap: .35rem; } }
.top-actions { display: flex; align-items: center; gap: .7rem; }
.icon-button { position: relative; display: grid; place-items: center; width: 2.3rem; height: 2.3rem; color: var(--ink); background: transparent; border: 1px solid var(--line); border-radius: 50%; }
.icon-button:hover { color: var(--teal-deep); border-color: var(--teal); }
.icon-button .mini-dot { position: absolute; top: .2rem; right: .2rem; width: .42rem; height: .42rem; background: var(--rose); border-radius: 50%; }
.profile-chip { display: flex; align-items: center; gap: .55rem; padding: .22rem .5rem .22rem .25rem; color: var(--ink); background: rgba(255,255,255,.55); border: 1px solid var(--line); border-radius: 99px; }
.avatar { display: grid; place-items: center; width: 2rem; height: 2rem; color: var(--night); font-weight: 700; background: linear-gradient(135deg, #b9e5db, #55a6a0); border-radius: 50%; }
.profile-chip span { font: 700 .74rem ui-sans-serif, system-ui, sans-serif; }

main { width: min(1500px, 100%); margin: 0 auto; padding: clamp(1.4rem, 4vw, 3rem); }
.eyebrow { margin: 0 0 .4rem; color: var(--teal-deep); font: 700 .7rem ui-sans-serif, system-ui, sans-serif; letter-spacing: .16em; text-transform: uppercase; }
h1, h2, h3, p { margin-top: 0; }
h1 { max-width: 850px; margin-bottom: .65rem; color: var(--ink); font-size: clamp(2rem, 4vw, 3.45rem); line-height: 1.03; letter-spacing: -.035em; }
h2 { margin-bottom: .4rem; font-size: clamp(1.35rem, 2vw, 1.75rem); letter-spacing: -.02em; }
h3 { margin-bottom: .35rem; font-size: 1.03rem; line-height: 1.15; }
.lede { max-width: 670px; margin-bottom: 0; color: var(--ink-soft); font-size: 1.02rem; line-height: 1.6; }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 1rem; margin: 2.1rem 0 .85rem; }
.section-heading p { margin: 0; color: var(--ink-soft); font-size: .9rem; }
.text-button { padding: .2rem 0; color: var(--teal-deep); background: transparent; border: 0; font: 700 .76rem ui-sans-serif, system-ui, sans-serif; }
.text-button:hover { color: var(--ink); text-decoration: underline; }

.hero { position: relative; display: grid; grid-template-columns: 1.25fr .75fr; gap: 1.25rem; min-height: 255px; padding: clamp(1.35rem, 3vw, 2.4rem); color: #f3f7ec; background: linear-gradient(116deg, rgba(12,31,48,.98), rgba(21,65,74,.94) 57%, rgba(37,84,86,.83)), radial-gradient(circle at 82% 34%, #ae7d45, transparent 20rem); border: 1px solid rgba(255,255,255,.1); border-radius: 1rem; overflow: hidden; box-shadow: var(--shadow); }
.hero::after { content: ''; position: absolute; inset: 0; pointer-events: none; opacity: .34; background: repeating-linear-gradient(115deg, transparent 0 34px, rgba(255,255,255,.03) 34px 35px); }
.hero-copy, .hero-art { position: relative; z-index: 1; }
.hero .eyebrow { color: var(--gold-light); }
.hero h1 { color: #f3f7ec; }
.hero h2 { max-width: 590px; margin-top: .2rem; font-size: clamp(1.7rem, 3.3vw, 3rem); line-height: 1.02; }
.hero p { max-width: 560px; color: #c7d9d5; line-height: 1.55; }
.hero-actions { display: flex; flex-wrap: wrap; gap: .7rem; margin-top: 1.3rem; }
.primary-button, .secondary-button { padding: .68rem 1rem; border-radius: .55rem; font: 700 .75rem ui-sans-serif, system-ui, sans-serif; letter-spacing: .03em; }
.primary-button { color: var(--night); background: var(--gold-light); border: 1px solid var(--gold-light); }
.primary-button:hover { background: #ffda8e; }
.secondary-button { color: #f4fbf7; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.25); }
.secondary-button:hover { background: rgba(255,255,255,.15); }
.hero-art { display: grid; place-items: center; min-height: 190px; }
.moon { position: relative; width: 180px; height: 180px; background: radial-gradient(circle at 34% 30%, #fff0be, #e1ad5d 48%, #965b46 70%, transparent 71%); border-radius: 50%; box-shadow: 0 0 65px rgba(239,196,111,.36); }
.moon::before, .moon::after { content: ''; position: absolute; background: rgba(87,64,71,.2); border-radius: 50%; }
.moon::before { width: 30px; height: 22px; top: 32px; left: 44px; box-shadow: 49px 41px 0 8px rgba(87,64,71,.16), 17px 87px 0 3px rgba(87,64,71,.15), 91px 102px 0 11px rgba(87,64,71,.14); }
.moon::after { width: 160px; height: 160px; top: 9px; left: 32px; background: var(--night-2); box-shadow: -9px 0 0 0 var(--night-2); }
.hero-star { position: absolute; color: var(--gold-light); font-size: 1.2rem; }
.hero-star.a { top: 14%; left: 16%; } .hero-star.b { right: 14%; top: 12%; font-size: .8rem; } .hero-star.c { right: 4%; bottom: 16%; }

.dashboard-grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(270px, .65fr); gap: 1.25rem; align-items: start; }
.card { background: rgba(251,245,232,.72); border: 1px solid var(--line); border-radius: .85rem; box-shadow: 0 8px 22px rgba(19,36,58,.045); }
.card.pad { padding: 1.15rem; }
.campfire-card { overflow: hidden; }
.campfire-head { display: flex; align-items: start; justify-content: space-between; gap: 1rem; padding: 1.15rem; background: linear-gradient(110deg, rgba(233,203,150,.34), rgba(255,255,255,.12)); border-bottom: 1px solid var(--line); }
.campfire-head h2 { margin: 0; }
.campfire-head p { margin: .35rem 0 0; color: var(--ink-soft); font-size: .88rem; }
.flame { display: grid; place-items: center; width: 2.3rem; height: 2.3rem; color: #fff4ca; background: linear-gradient(145deg, #df825b, #b74a4f); border-radius: 50% 50% 48% 48%; box-shadow: 0 4px 15px rgba(183,74,79,.25); }
.dispatch-list { display: grid; }
.dispatch { display: grid; grid-template-columns: 2.3rem minmax(0, 1fr) auto; gap: .75rem; align-items: start; padding: 1rem 1.15rem; border-bottom: 1px solid var(--line); }
.dispatch:last-child { border-bottom: 0; }
.dispatch:hover { background: rgba(255,255,255,.42); }
.dispatch-avatar { display: grid; place-items: center; width: 2.3rem; height: 2.3rem; color: var(--night); font-weight: 700; border-radius: 50%; }
.dispatch-avatar.teal { background: #8bd7c8; } .dispatch-avatar.gold { background: #efd091; } .dispatch-avatar.violet { background: #c4bbf0; }
.dispatch p { margin: .2rem 0 0; color: var(--ink-soft); font-size: .89rem; line-height: 1.4; }
.dispatch-meta { display: flex; flex-wrap: wrap; gap: .45rem; margin-top: .5rem; color: #74818a; font: .68rem ui-sans-serif, system-ui, sans-serif; }
.dispatch-source-mark { width: 1rem; height: 1rem; object-fit: contain; align-self: center; }
.dispatch-destination { display: inline-block; margin-top: .45rem; padding: 0; font-size: .66rem; }
.seal { display: inline-flex; align-items: center; gap: .25rem; padding: .26rem .44rem; color: var(--teal-deep); background: rgba(46,200,173,.1); border-radius: 99px; font: 700 .63rem ui-sans-serif, system-ui, sans-serif; letter-spacing: .04em; text-transform: uppercase; }
.seal.gold { color: #986027; background: rgba(232,173,89,.17); }
.dispatch-time { color: #7e8d94; font: .7rem ui-sans-serif, system-ui, sans-serif; white-space: nowrap; }

.side-stack { display: grid; gap: 1.25rem; }
.card-title-row { display: flex; justify-content: space-between; align-items: center; gap: .8rem; margin-bottom: .95rem; }
.card-title-row h2 { margin: 0; font-size: 1.2rem; }
.marked-list { display: grid; gap: .7rem; }
.marked-item { display: grid; grid-template-columns: auto 1fr; gap: .65rem; align-items: start; padding: .7rem; background: rgba(255,255,255,.45); border: 1px solid rgba(19,36,58,.08); border-radius: .55rem; }
.marked-icon { color: #aa7031; font-size: 1.1rem; }
.marked-item strong { display: block; font-size: .9rem; }
.marked-item span { display: block; margin-top: .2rem; color: var(--ink-soft); font-size: .75rem; line-height: 1.35; }
.compact-disclosure { overflow: hidden; }
.compact-disclosure summary { display: flex; align-items: center; justify-content: space-between; gap: .7rem; padding: 1rem 1.1rem; color: var(--ink); cursor: pointer; list-style: none; }
.compact-disclosure summary::-webkit-details-marker { display: none; }
.compact-disclosure summary::after { content: '⌄'; color: var(--teal-deep); font: 1.05rem Georgia, serif; transition: transform .2s; }
.compact-disclosure[open] summary::after { transform: rotate(180deg); }
.compact-disclosure summary .eyebrow { display: block; margin-bottom: .18rem; }
.compact-disclosure summary strong { display: block; font-size: 1.15rem; }
.disclosure-count { display: grid; place-items: center; width: 1.5rem; height: 1.5rem; margin-left: auto; color: var(--night); background: var(--gold-light); border-radius: 50%; font: 700 .68rem ui-sans-serif, system-ui, sans-serif; }
.compact-disclosure-body { padding: 0 1.1rem 1rem; }
.compact-disclosure-body > p { margin: 0 0 .7rem; color: var(--ink-soft); font-size: .8rem; }
.watch-summary p { margin: 0 0 .55rem; color: var(--ink); font-size: .83rem; line-height: 1.45; }
.watch-summary small { display: block; color: var(--ink-soft); font-size: .73rem; line-height: 1.4; }
.notable-people { display: flex; align-items: center; gap: .45rem; margin-top: .75rem; }
.notable-people .tiny-label { color: #7c8c91; }
.portrait-stack { display: flex; padding-left: .25rem; }
.mini-portrait { display: grid; place-items: center; width: 1.55rem; height: 1.55rem; margin-left: -.25rem; color: var(--night); border: 2px solid var(--paper-2); border-radius: 50%; font: 700 .62rem Georgia, serif; box-shadow: 0 2px 5px rgba(19,36,58,.12); }
.mini-portrait img { width: 100%; height: 100%; object-fit: cover; border-radius: inherit; }
.mini-portrait:hover { z-index: 2; transform: translateY(-2px); }
.mini-portrait.teal { background: #8bd7c8; } .mini-portrait.gold { background: #efd091; } .mini-portrait.violet { background: #c4bbf0; } .mini-portrait.rose { background: #e4a0a0; }
.notices { display: grid; gap: .65rem; }
.notice-row { display: flex; gap: .55rem; align-items: start; padding: .65rem 0; border-bottom: 1px solid var(--line); }
.notice-row:last-child { border-bottom: 0; padding-bottom: 0; }
.notice-symbol { color: var(--teal-deep); font-size: 1rem; }
.notice-row p { margin: 0; font-size: .84rem; line-height: 1.35; }
.notice-row small { display: block; margin-top: .2rem; color: var(--ink-soft); font: .68rem ui-sans-serif, system-ui, sans-serif; }
.notice-symbol img { display: block; width: 1.7rem; height: 1.7rem; object-fit: contain; }
.notice-state-mark { display: grid; place-items: center; flex: 0 0 1.2rem; width: 1.2rem; min-height: 1.7rem; opacity: .9; }
.notice-state-mark img { display: block; width: 1.05rem; height: 1.05rem; object-fit: contain; }
.notice-row.read .notice-state-mark { opacity: .62; }
.notice-row.unread .notice-state-mark { filter: drop-shadow(0 0 4px rgba(46,200,173,.25)); }
.notice-row.unread { background: rgba(46,200,173,.055); }
.notice-row .text-button { flex: 0 0 auto; margin-left: auto; padding: .15rem 0; font-size: .64rem; }
.notice-stale-banner { display: grid; grid-template-columns: auto minmax(0,1fr) auto; gap: .7rem; align-items: center; margin-bottom: .9rem; padding: .7rem .8rem; background: rgba(183,141,61,.08); border: 1px solid rgba(183,141,61,.24); border-radius: .6rem; }
.notice-stale-banner > img { width: 1.85rem; height: 1.85rem; object-fit: contain; }
.notice-stale-banner strong, .notice-stale-banner small { display: block; }
.notice-stale-banner strong { margin-top: .12rem; color: var(--ink); font-size: .74rem; }
.notice-stale-banner small { margin-top: .2rem; color: var(--ink-soft); font-size: .65rem; line-height: 1.35; }
.notice-stale-banner .outline-button { white-space: nowrap; }
.notice-held-action { display: grid; grid-template-columns: auto minmax(0,1fr); gap: .7rem; align-items: start; margin-bottom: .9rem; padding: .75rem .8rem; background: rgba(46,200,173,.08); border: 1px solid rgba(46,200,173,.28); border-radius: .6rem; }
.notice-held-action > img { width: 1.85rem; height: 1.85rem; object-fit: contain; }
.notice-held-action strong, .notice-held-action small { display: block; }
.notice-held-action strong { margin-top: .12rem; color: var(--ink); font-size: .74rem; }
.notice-held-action small { margin-top: .2rem; color: var(--ink-soft); font-size: .65rem; line-height: 1.4; }
.notice-held-actions { grid-column: 2; display: flex; flex-wrap: wrap; align-items: center; gap: .65rem; margin-top: .15rem; }
.notice-held-actions .text-button { padding: .15rem 0; font-size: .64rem; }
.notice-destination-history { margin-top: .65rem; border-top: 1px solid rgba(26,66,75,.12); }
.notice-destination-history summary { display: flex; align-items: center; justify-content: space-between; gap: .7rem; padding: .55rem 0; cursor: pointer; list-style: none; }
.notice-destination-history summary::-webkit-details-marker { display: none; }
.notice-destination-history-title { display: flex; align-items: center; gap: .5rem; min-width: 0; }
.notice-destination-history-title > img { width: 1.7rem; height: 1.7rem; flex: 0 0 auto; border-radius: .45rem; }
.notice-destination-history-title > span { display: grid; gap: .12rem; min-width: 0; }
.notice-destination-history summary strong { color: var(--teal-deep); font-size: .72rem; }
.notice-destination-history ol { display: grid; gap: .55rem; margin: 0; padding: 0 0 .2rem; list-style: none; }
.notice-destination-history li { display: grid; grid-template-columns: 1.45rem minmax(0,1fr); gap: .45rem; align-items: start; }
.notice-destination-history-mark { display: grid; place-items: center; width: 1.25rem; height: 1.25rem; color: var(--teal-deep); background: rgba(46,200,173,.1); border-radius: 50%; font-size: .7rem; }
.notice-destination-history li.unavailable .notice-destination-history-mark { color: var(--gold-deep); background: rgba(183,141,61,.12); }
.notice-destination-history li strong, .notice-destination-history li p, .notice-destination-history li small { display: block; }
.notice-destination-history li strong { font-size: .68rem; }
.notice-destination-history li p { margin: .12rem 0 0; color: var(--ink-soft); font-size: .68rem; line-height: 1.35; }
.notice-destination-history li small { margin-top: .12rem; color: var(--ink-soft); font-size: .59rem; line-height: 1.35; }

.archive-preview { margin-top: 1.25rem; padding: 1.15rem; background: linear-gradient(130deg, rgba(19,36,58,.96), rgba(26,74,78,.92)); color: #eef4e8; border-radius: .85rem; overflow: hidden; }
.archive-preview .card-title-row h2 { color: #f4e4b9; }
.archive-preview .text-button { color: var(--gold-light); }
.record-strip { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: .7rem; }
.record-tile { min-height: 105px; padding: .85rem; background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.12); border-radius: .65rem; transition: transform .2s, background .2s; }
.record-tile:hover { transform: translateY(-2px); background: rgba(255,255,255,.13); }
.record-tile-main { display: block; width: 100%; padding: 0; color: inherit; background: transparent; border: 0; text-align: left; }
.record-tile-main:focus-visible, .mini-portrait:focus-visible { outline: 2px solid var(--gold-light); outline-offset: 3px; }
.record-tile .tiny-label { color: #8fd5c7; }
.record-tile h3 { margin-top: .45rem; color: #f7f2df; }
.record-tile p { margin: 0; color: #b9ccca; font-size: .75rem; line-height: 1.35; }
.tiny-label { font: 700 .62rem ui-sans-serif, system-ui, sans-serif; letter-spacing: .12em; text-transform: uppercase; }

.view-header { display: flex; align-items: end; justify-content: space-between; gap: 1rem; margin-bottom: 1.25rem; }
.view-header h1 { margin-bottom: .3rem; font-size: clamp(2rem, 3.4vw, 3.1rem); }
.view-header p { margin: 0; color: var(--ink-soft); line-height: 1.5; }
.view-tools { display: flex; flex-wrap: wrap; gap: .55rem; }
.filter-chip { padding: .5rem .7rem; color: var(--ink-soft); background: rgba(255,255,255,.54); border: 1px solid var(--line); border-radius: 99px; font: 700 .7rem ui-sans-serif, system-ui, sans-serif; }
.filter-chip.active, .filter-chip:hover { color: var(--teal-deep); border-color: rgba(46,200,173,.55); background: rgba(46,200,173,.1); }
.view-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(260px,.34fr); gap: 1.2rem; align-items: start; }
.record-list { display: grid; gap: .8rem; }
.record-card { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 1rem; padding: 1.1rem; background: rgba(251,245,232,.74); border: 1px solid var(--line); border-radius: .8rem; }
.record-card:hover { border-color: rgba(46,200,173,.5); }
.record-card h3 { font-size: 1.15rem; }
.record-card p { color: var(--ink-soft); font-size: .88rem; line-height: 1.5; }
.archive-library-shelf { margin-bottom: 1.2rem; }
.archive-library-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .55rem; margin-top: .9rem; }
.archive-library-card { position: relative; display: grid; gap: .2rem; min-height: 6.6rem; padding: .75rem .75rem 1.7rem; color: var(--ink); text-align: left; background: rgba(255,255,255,.38); border: 1px solid var(--line); border-radius: .55rem; cursor: pointer; }
.archive-library-card:hover, .archive-library-card:focus-visible, .archive-library-card.active { border-color: rgba(46,200,173,.6); background: rgba(232,247,240,.72); }
.archive-library-card strong { font-size: .74rem; }
.archive-library-card small { color: var(--ink-soft); font-size: .61rem; line-height: 1.35; }
.archive-library-card b { position: absolute; right: .65rem; bottom: .55rem; color: var(--teal-deep); font: 700 .66rem ui-sans-serif, system-ui, sans-serif; }
.archive-library-boundary { margin: .8rem 0 0; color: var(--ink-muted); font-size: .64rem; }
.archive-denizen-card { background: rgba(235,244,239,.68); }
.search-result-main { display: flex; gap: .7rem; align-items: flex-start; min-width: 0; }
.search-result-main > div { min-width: 0; }
.search-result-type-mark { width: 2.35rem; height: 2.35rem; flex: 0 0 auto; border-radius: .6rem; box-shadow: 0 2px 8px rgba(19,36,58,.12); }
.record-aside { display: flex; flex-direction: column; align-items: end; gap: .6rem; text-align: right; }
.record-aside small { color: #7f8d92; font: .68rem ui-sans-serif, system-ui, sans-serif; }
.outline-button { padding: .5rem .7rem; color: var(--teal-deep); background: transparent; border: 1px solid rgba(46,200,173,.45); border-radius: .45rem; font: 700 .7rem ui-sans-serif, system-ui, sans-serif; }
.outline-button:hover { color: var(--paper-2); background: var(--teal-deep); }
.record-card .notable-people { margin-top: .7rem; }
.side-note { padding: 1.05rem; color: var(--paper-2); background: var(--night-2); border-radius: .75rem; }
.side-note h3 { color: var(--gold-light); }
.side-note p { color: #b6cbca; font-size: .82rem; line-height: 1.55; }
.side-note ul { margin: .7rem 0 0; padding-left: 1.1rem; color: #d9e7df; font-size: .78rem; line-height: 1.8; }
.chronicle-header { align-items: end; }
.chronicle-charter { display: grid; grid-template-columns: auto minmax(0,1fr) auto; gap: .9rem; align-items: center; margin-bottom: 1rem; padding: 1rem 1.1rem; background: linear-gradient(130deg, rgba(19,36,58,.97), rgba(42,76,77,.94)); color: var(--paper-2); border-color: rgba(232,173,89,.35); }
.chronicle-charter-mark { display: grid; place-items: center; width: 3rem; height: 3rem; background: rgba(255,255,255,.08); border: 1px solid rgba(242,199,121,.45); border-radius: .7rem; }
.chronicle-charter-mark img { width: 2.1rem; height: 2.1rem; }
.chronicle-charter h2 { margin: .2rem 0 .3rem; color: #f4e3b9; font-size: 1.15rem; }
.chronicle-charter p { max-width: 72ch; margin: 0; color: #bfd4cf; font-size: .76rem; line-height: 1.5; }
.chronicle-lane-strip { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: .6rem; margin-bottom: 1rem; }
.chronicle-lane { display: grid; grid-template-columns: auto minmax(0,1fr) auto; gap: .55rem; align-items: start; min-width: 0; padding: .75rem; color: var(--ink); background: rgba(251,245,232,.72); border: 1px solid var(--line); border-radius: .65rem; text-align: left; }
.chronicle-lane:hover, .chronicle-lane:focus-visible, .chronicle-lane.active { border-color: rgba(46,200,173,.52); background: rgba(46,200,173,.1); outline: none; }
.chronicle-lane-knot { display: grid; place-items: center; width: 1.8rem; height: 1.8rem; color: var(--teal-deep); background: rgba(46,200,173,.12); border: 1px solid rgba(46,200,173,.25); border-radius: 50%; font-size: .9rem; }
.chronicle-lane strong, .chronicle-lane small { display: block; }
.chronicle-lane strong { font-size: .72rem; }
.chronicle-lane small { margin-top: .18rem; color: var(--ink-soft); font-size: .61rem; line-height: 1.35; }
.chronicle-lane b { color: var(--teal-deep); font: 700 .8rem ui-sans-serif, system-ui, sans-serif; }
.chronicle-ledger { padding: 1.15rem; }
.chronicle-ledger .card-title-row p { max-width: 64ch; margin: .3rem 0 0; color: var(--ink-soft); font-size: .76rem; line-height: 1.45; }
.chronicle-entry-list { display: grid; gap: .15rem; }
.chronicle-entry { display: grid; grid-template-columns: 2.7rem minmax(0,1fr); gap: .85rem; min-width: 0; }
.chronicle-entry-mark { position: relative; display: flex; justify-content: center; align-items: start; padding-top: .8rem; color: var(--teal-deep); font: 700 .62rem ui-sans-serif, system-ui, sans-serif; }
.chronicle-entry-mark span { position: relative; z-index: 1; display: grid; place-items: center; width: 1.8rem; height: 1.8rem; background: var(--paper-2); border: 1px solid rgba(46,200,173,.38); border-radius: 50%; }
.chronicle-entry-mark i { position: absolute; top: 2.6rem; bottom: -.2rem; width: 1px; background: rgba(46,200,173,.25); }
.chronicle-entry:last-child .chronicle-entry-mark i { display: none; }
.chronicle-entry-body { min-width: 0; padding: .75rem 0 1rem; border-bottom: 1px solid var(--line); }
.chronicle-entry-head { display: flex; justify-content: space-between; gap: .8rem; align-items: start; }
.chronicle-entry-head h3 { margin: .32rem 0 .25rem; color: var(--ink); font-size: 1rem; }
.chronicle-entry-head > .tiny-label { padding-top: .3rem; color: var(--teal-deep); text-align: right; }
.chronicle-entry-body > p { margin: 0; color: var(--ink-soft); font-size: .78rem; line-height: 1.45; }
.chronicle-entry-meta { display: flex; flex-wrap: wrap; gap: .35rem .8rem; margin-top: .55rem; color: var(--ink-muted); font-size: .61rem; }
.chronicle-entry-actions { display: flex; flex-wrap: wrap; gap: .7rem; align-items: center; margin-top: .7rem; }
.chronicle-entry-actions .text-button { padding: 0; }
.chronicle-reading-law { display: flex; justify-content: space-between; gap: 1rem; align-items: center; margin-top: 1rem; padding: 1rem 1.1rem; background: linear-gradient(130deg, rgba(232,214,182,.28), rgba(255,255,255,.5)); }
.chronicle-reading-law h2 { margin: .2rem 0 .3rem; font-size: 1rem; }
.chronicle-reading-law p { max-width: 72ch; margin: 0; color: var(--ink-soft); font-size: .74rem; line-height: 1.5; }

.ledger-card { display: grid; grid-template-columns: 190px minmax(0,1fr); gap: 1.3rem; padding: 1.3rem; background: linear-gradient(130deg, rgba(19,36,58,.97), rgba(51,73,78,.96)); color: var(--paper-2); border-radius: .9rem; }
.ledger-portrait { display: grid; place-items: center; min-height: 210px; background: radial-gradient(circle at 50% 35%, #d9a76b 0 8%, transparent 9%), linear-gradient(145deg, #395d68, #17273e); border: 1px solid rgba(255,255,255,.16); border-radius: .7rem; }
.portrait-silhouette { position: relative; width: 105px; height: 155px; filter: drop-shadow(0 13px 15px rgba(0,0,0,.35)); }
.portrait-silhouette::before { content: ''; position: absolute; left: 29px; top: 11px; width: 51px; height: 58px; background: linear-gradient(145deg, #c18c68, #784a4c); border-radius: 52% 48% 48% 52%; }
.portrait-silhouette::after { content: ''; position: absolute; left: 9px; bottom: 0; width: 88px; height: 108px; background: linear-gradient(110deg, #26364e, #5d5274); clip-path: polygon(40% 0, 70% 0, 100% 100%, 0 100%); border-radius: 40% 40% 0 0; }
.ledger-copy h2 { color: #f4e3b9; font-size: 2rem; }
.ledger-copy p { color: #c3d5d0; line-height: 1.6; }
.ledger-tags { display: flex; flex-wrap: wrap; gap: .45rem; margin: .9rem 0 1rem; }
.ledger-tag { padding: .35rem .55rem; color: #dbefe6; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.14); border-radius: 99px; font: .68rem ui-sans-serif, system-ui, sans-serif; }
.chapter-list { display: grid; gap: .7rem; margin-top: 1.2rem; }
.chapter { display: grid; grid-template-columns: 5.5rem 1fr; gap: 1rem; padding: .85rem 0; border-bottom: 1px solid var(--line); }
.chapter time { color: #9a7544; font: 700 .7rem ui-sans-serif, system-ui, sans-serif; letter-spacing: .04em; }
.chapter strong { display: block; }
.chapter p { margin: .25rem 0 0; color: var(--ink-soft); font-size: .82rem; line-height: 1.4; }

.hall-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: .9rem; }
.hall-card { position: relative; min-height: 195px; padding: 1.05rem; color: #f6f0df; background: linear-gradient(145deg, #203b50, #1c263e); border-radius: .75rem; overflow: hidden; }
.hall-card:nth-child(2) { background: linear-gradient(145deg, #493748, #23364c); }
.hall-card:nth-child(3) { background: linear-gradient(145deg, #28514e, #243444); }
.hall-card::after { content: '✦'; position: absolute; right: 1rem; bottom: .2rem; color: rgba(242,199,121,.38); font-size: 5.5rem; }
.hall-card h3 { position: relative; z-index: 1; max-width: 75%; color: #f4d894; font-size: 1.22rem; }
.hall-card p { position: relative; z-index: 1; max-width: 84%; color: #cbd9d4; font-size: .82rem; line-height: 1.45; }
.hall-card .hall-meta { position: absolute; z-index: 1; left: 1.05rem; bottom: 1rem; color: #9dd2c6; font: .67rem ui-sans-serif, system-ui, sans-serif; }
.hall-card-head, .hall-card-actions { position: relative; z-index: 1; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .45rem; }
.hall-card-head { margin-bottom: .8rem; }
.hall-card-head .tiny-label { color: #b8ccc7; }
.hall-card-actions { justify-content: flex-start; margin-top: .8rem; }
.hall-card-actions .text-button, .hall-card-actions .outline-button { color: #f6f0df; border-color: rgba(255,255,255,.28); }
.archive-hall-card { background: linear-gradient(145deg, #3a3847, #263346); }
.archive-hall-card::after { content: '⌖'; color: rgba(242,199,121,.28); }
.vacant-hall-card { background: linear-gradient(145deg, #3d3a4a, #253746); }
.vacant-hall-card::after { content: '♜'; color: rgba(242,199,121,.24); }
.archive-boundary-note { display: flex; gap: .7rem; align-items: baseline; margin: 0 0 1.1rem; padding: .85rem 1rem; color: var(--ink-soft); background: rgba(232,173,89,.1); border: 1px solid rgba(232,173,89,.35); border-radius: .65rem; font-size: .78rem; line-height: 1.45; }
.archive-boundary-note strong { color: #986027; }
.archive-org-detail .guild-detail-side > section:first-child,
.archive-org-detail .guild-detail-side > button { display: none; }
.archive-organization-banner { border-color: rgba(232,173,89,.4); }
.guild-detail-hero { display: grid; grid-template-columns: auto minmax(0,1fr); gap: 1.1rem; align-items: center; margin-bottom: 1.1rem; padding: 1.35rem; background: linear-gradient(135deg, rgba(32,59,80,.96), rgba(34,47,69,.96)); color: #f6f0df; }
.guild-detail-seal { display: grid; place-items: center; width: 4.4rem; height: 4.4rem; padding: .8rem; background: rgba(242,199,121,.12); border: 1px solid rgba(242,199,121,.4); border-radius: 1rem; }
.guild-detail-seal img { width: 100%; height: 100%; }
.guild-detail-hero h2 { margin: .35rem 0; color: #f4d894; }
.guild-detail-hero p { max-width: 72ch; margin: 0; color: #cbd9d4; line-height: 1.5; }
.guild-detail-metrics { display: flex; flex-wrap: wrap; gap: 1.2rem; margin-top: 1rem; }
.guild-detail-metrics span { display: grid; gap: .12rem; }
.guild-detail-metrics strong { color: #fff1c8; font: 700 1rem ui-sans-serif, system-ui, sans-serif; }
.guild-detail-metrics small { color: #9dd2c6; font-size: .65rem; }
.guild-detail-grid { display: grid; grid-template-columns: minmax(0,1.15fr) minmax(280px,.85fr); gap: 1.1rem; }
.guild-roster, .guild-request-list { display: grid; gap: .3rem; }
.guild-roster-row, .guild-request-row { display: grid; grid-template-columns: auto minmax(0,1fr) auto; gap: .7rem; align-items: center; padding: .75rem .2rem; border-bottom: 1px solid var(--line); }
.guild-roster-row:last-child, .guild-request-row:last-child { border-bottom: 0; }
.guild-roster-row > span:nth-child(2), .guild-request-row > div:first-child { display: grid; gap: .16rem; }
.guild-roster-row small, .guild-request-row small { color: var(--ink-soft); font-size: .68rem; }
.guild-request-row { grid-template-columns: minmax(0,1fr) auto; align-items: start; }
.guild-request-row p { margin: .2rem 0; color: var(--ink-soft); font-size: .75rem; line-height: 1.4; }
.guild-request-actions { display: flex; gap: .5rem; }
.guild-request-latest { display: flex; gap: .45rem; align-items: flex-start; margin-top: .45rem; }
.guild-request-latest small { max-width: 34ch; line-height: 1.35; }
.guild-request-history { margin-top: .45rem; border-top: 1px solid var(--line); }
.guild-request-history summary { display: flex; justify-content: space-between; gap: .6rem; padding-top: .45rem; color: var(--teal-deep); cursor: pointer; font: 700 .64rem ui-sans-serif, system-ui, sans-serif; }
.guild-request-history summary span { color: var(--ink-soft); }
.guild-request-history p { margin: .45rem 0 0; font-size: .66rem; }
.guild-request-followup-intro { display: flex; gap: .85rem; align-items: center; margin-bottom: 1rem; padding: .8rem; background: rgba(46,200,173,.07); border: 1px solid rgba(46,200,173,.22); border-radius: .6rem; }
.guild-request-followup-intro img { width: 4rem; height: 4rem; flex: 0 0 auto; }
.guild-request-followup-intro strong { color: var(--teal-deep); }
.guild-request-followup-intro p { margin: .25rem 0 0; color: var(--ink-soft); font-size: .75rem; line-height: 1.45; }
.guild-request-subject { margin-bottom: 1rem; padding: .7rem .8rem; border-left: 3px solid var(--gold); background: rgba(232,173,89,.08); }
.guild-request-subject strong { display: block; margin-top: .18rem; }
.guild-request-subject p { margin: .35rem 0 0; color: var(--ink-soft); font-size: .75rem; line-height: 1.4; }
@media (max-width: 760px) { .guild-request-row { display: grid; } .guild-request-actions { flex-wrap: wrap; justify-content: flex-start; } }
.missive-private-folio-heading { margin: .7rem 0 .2rem; padding-top: .55rem; border-top: 1px solid var(--line); }
.media-attachment-option { border-color: rgba(46,200,173,.24); background: rgba(46,200,173,.05); }
.letter-media-list { margin-top: .75rem; padding-top: .65rem; border-top: 1px solid var(--line); }
.letter-media-attachment { align-items: center; }
.letter-media-preview { display: inline-flex; align-items: center; min-width: 3.2rem; }
.letter-media-preview img { width: 3.2rem; height: 2.5rem; object-fit: cover; border-radius: .35rem; border: 1px solid var(--line); }
.letter-media-preview audio { width: min(14rem, 42vw); height: 2rem; }
.guild-manager-appointments { margin: 1rem 0; border-color: rgba(232,173,89,.3); background: linear-gradient(135deg, rgba(232,173,89,.08), rgba(46,200,173,.05)); }
.guild-succession-shelf { margin: 1rem 0; border-color: rgba(232,173,89,.42); background: linear-gradient(135deg, rgba(232,173,89,.12), rgba(46,200,173,.05)); }
.guild-succession-rule { display: grid; gap: .18rem; margin: .8rem 0; padding: .7rem .8rem; border-left: 3px solid var(--gold); background: rgba(255,255,255,.34); color: var(--ink-soft); font-size: .72rem; }
.guild-succession-rule strong { color: var(--ink); }
.guild-succession-list { margin-top: 1rem; padding-top: .85rem; border-top: 1px solid var(--line); }
.guild-succession-petitions { display: grid; gap: .55rem; margin-top: .65rem; }
.guild-succession-petition { display: flex; justify-content: space-between; gap: .8rem; align-items: flex-start; padding: .7rem .75rem; background: rgba(255,255,255,.38); border: 1px solid var(--line); border-radius: .5rem; }
.guild-succession-petition strong, .guild-succession-petition small { display: block; }
.guild-succession-petition strong { font-size: .76rem; }
.guild-succession-petition small { margin-top: .14rem; color: var(--ink-soft); font-size: .63rem; }
.guild-succession-petition p { margin: .3rem 0 0; color: var(--ink-soft); font-size: .7rem; line-height: 1.35; }
@media (max-width: 760px) { .guild-succession-petition { display: grid; } }
.guild-manager-appointment-list { display: grid; gap: .55rem; margin-top: .75rem; }
.guild-manager-appointment-row { display: flex; justify-content: space-between; gap: .8rem; align-items: flex-start; padding: .65rem .75rem; background: rgba(255,255,255,.35); border: 1px solid var(--line); border-radius: .5rem; }
.guild-manager-appointment-row strong, .guild-manager-appointment-row small { display: block; }
.guild-manager-appointment-row strong { font-size: .76rem; }
.guild-manager-appointment-row small { margin-top: .14rem; color: var(--ink-soft); font-size: .63rem; }
.guild-manager-appointment-row p { margin: .3rem 0 0; color: var(--ink-soft); font-size: .7rem; line-height: 1.35; }
.guild-manager-appointment-actions { display: inline-flex; gap: .3rem; flex-wrap: wrap; justify-content: flex-end; }
.guild-manager-terms { margin: 1rem 0; border-color: rgba(46,200,173,.32); background: linear-gradient(135deg, rgba(46,200,173,.07), rgba(35,59,80,.04)); }
.guild-manager-term-list { display: grid; gap: .55rem; margin-top: .75rem; }
.guild-manager-term-row { display: flex; justify-content: space-between; gap: .8rem; align-items: flex-start; padding: .65rem .75rem; background: rgba(255,255,255,.38); border: 1px solid var(--line); border-radius: .5rem; }
.guild-manager-term-row.is-ended { opacity: .68; }
.guild-manager-term-row strong, .guild-manager-term-row small { display: block; }
.guild-manager-term-row strong { font-size: .76rem; }
.guild-manager-term-row small { margin-top: .14rem; color: var(--ink-soft); font-size: .63rem; }
.guild-manager-term-row p { margin: .3rem 0 0; color: var(--ink-soft); font-size: .7rem; line-height: 1.35; }
.guild-manager-term-actions { display: inline-flex; gap: .3rem; flex-wrap: wrap; justify-content: flex-end; }
.acting-term-banner { display: grid; gap: .18rem; margin-top: .75rem; padding: .7rem .8rem; border-left: 3px solid var(--teal); background: rgba(46,200,173,.08); color: var(--ink-soft); font-size: .72rem; }
.acting-term-banner strong { color: var(--ink); }
@media (max-width: 760px) { .guild-manager-appointment-row { display: grid; } .guild-manager-appointment-actions { justify-content: flex-start; } }
@media (max-width: 760px) { .guild-manager-term-row { display: grid; } .guild-manager-term-actions { justify-content: flex-start; } }
.inline-role { display: flex; align-items: center; gap: .4rem; }
.inline-role select { max-width: 10rem; padding: .4rem; color: var(--ink); background: var(--paper-2); border: 1px solid var(--line); border-radius: .4rem; font-size: .68rem; }
.guild-standing { margin-top: 1rem; border-left: 3px solid var(--gold); }
.guild-standing h3 { margin: .25rem 0; }
.guild-standing p { margin: 0; color: var(--ink-soft); font-size: .75rem; line-height: 1.45; }
.guild-ledger { margin-top: 1.15rem; }
.guild-ledger-summary { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: .5rem; margin: .9rem 0; }
.guild-ledger-summary span, .reconciliation-counts span { display: grid; gap: .15rem; padding: .55rem .6rem; background: rgba(46,200,173,.07); border: 1px solid rgba(46,200,173,.18); border-radius: .45rem; }
.guild-ledger-summary strong, .reconciliation-counts strong { color: var(--teal-deep); font: 700 1rem ui-sans-serif, system-ui, sans-serif; }
.guild-ledger-summary small, .reconciliation-counts small { color: var(--ink-soft); font-size: .6rem; }
.guild-ledger-analytics { margin: .9rem 0; border: 1px solid rgba(211,155,79,.28); border-radius: .6rem; background: rgba(211,155,79,.07); }
.guild-ledger-analytics summary { display: flex; align-items: center; justify-content: space-between; gap: .7rem; padding: .75rem .85rem; cursor: pointer; list-style: none; }
.guild-ledger-analytics summary::-webkit-details-marker { display: none; }
.guild-ledger-analytics summary > span:first-child { display: grid; gap: .12rem; }
.guild-ledger-analytics summary strong { color: var(--teal-deep); }
.ledger-analytics-body { display: grid; gap: .8rem; padding: 0 .85rem .85rem; }
.ledger-analytics-body > .muted-copy { margin: 0; }
.ledger-analytics-kpis, .ledger-analytics-months { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: .45rem; }
.ledger-analytics-kpis span, .ledger-analytics-months span { display: grid; gap: .12rem; padding: .5rem .55rem; background: rgba(255,255,255,.27); border: 1px solid rgba(37,58,61,.1); border-radius: .4rem; }
.ledger-analytics-kpis strong, .ledger-analytics-months strong { color: var(--teal-deep); font: 700 .95rem ui-sans-serif, system-ui, sans-serif; }
.ledger-analytics-kpis small, .ledger-analytics-months small { color: var(--ink-soft); font-size: .6rem; }
.ledger-analytics-section { display: grid; gap: .45rem; }
.ledger-analytics-section h4 { margin: 0; color: var(--teal-deep); }
.ledger-analytics-types, .ledger-analytics-variance-list { display: grid; gap: .35rem; }
.ledger-analytics-type, .ledger-analytics-variance { display: grid; gap: .12rem; padding: .45rem .55rem; background: rgba(255,255,255,.22); border-left: 2px solid rgba(46,200,173,.4); }
.ledger-analytics-type strong, .ledger-analytics-variance strong { color: var(--ink); font-size: .72rem; }
.ledger-analytics-type span, .ledger-analytics-type small, .ledger-analytics-variance span { color: var(--ink-soft); font-size: .63rem; line-height: 1.35; }
.ledger-analytics-type small { color: var(--gold-deep); }
.ledger-analytics-variance { grid-template-columns: minmax(7rem, .45fr) 1fr auto; align-items: center; }
.ledger-analytics-variance b { font-size: .62rem; white-space: nowrap; }
.ledger-analytics-variance b.is-even { color: var(--teal-deep); }
.ledger-analytics-variance b.is-short { color: #a34f46; }
.ledger-analytics-variance b.is-over { color: var(--gold-deep); }
.ledger-analytics-footnote { color: var(--ink-soft); font-size: .62rem; }
.guild-ledger-list, .guild-reconciliation-list { display: grid; gap: .65rem; }
.guild-ledger-card, .guild-reconciliation-card { padding: .9rem; background: rgba(232,214,182,.23); border: 1px solid var(--line); border-radius: .6rem; }
.guild-ledger-card.is-void, .guild-reconciliation-card.is-returned { opacity: .7; }
.guild-ledger-status { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .45rem; }
.guild-ledger-amount { display: flex; align-items: baseline; gap: .45rem; margin: .6rem 0 .25rem; color: var(--teal-deep); }
.guild-ledger-amount strong { font-size: 1.1rem; }
.guild-ledger-card h3, .guild-reconciliation-card h3 { margin: .25rem 0; }
.guild-ledger-card p, .guild-reconciliation-card p { margin: .3rem 0; color: var(--ink-soft); font-size: .8rem; line-height: 1.45; }
.guild-ledger-card > small, .guild-reconciliation-card > small { display: block; margin-top: .5rem; color: #849195; font-size: .65rem; }
.guild-ledger-actions { display: flex; flex-wrap: wrap; gap: .55rem; margin-top: .65rem; }
.ledger-review-note { margin-top: .65rem; padding: .55rem .7rem; border-left: 3px solid var(--gold); background: rgba(232,173,89,.1); border-radius: .1rem .45rem .45rem .1rem; }
.ledger-review-note p { margin: .2rem 0 0; }
.guild-ledger-evidence { margin-top: .7rem; border-top: 1px solid rgba(37,58,61,.13); }
.guild-ledger-evidence summary { display: inline-flex; align-items: center; gap: .35rem; padding: .5rem 0 .35rem; color: var(--teal-deep); cursor: pointer; font: 700 .68rem ui-sans-serif, system-ui, sans-serif; list-style: none; }
.guild-ledger-evidence summary::-webkit-details-marker { display: none; }
.guild-ledger-evidence summary span { color: var(--gold-deep); font-size: .95rem; }
.guild-ledger-evidence summary img { width: 1.05rem; height: 1.05rem; object-fit: contain; }
.guild-ledger-evidence-list { display: grid; gap: .35rem; padding: .1rem 0 .25rem 1rem; }
.guild-ledger-evidence-row { display: grid; gap: .12rem; padding: .35rem .5rem; background: rgba(255,255,255,.28); border-left: 2px solid rgba(46,200,173,.35); }
.guild-ledger-evidence-row strong { color: var(--ink); font-size: .72rem; }
.guild-ledger-evidence-row small { color: var(--ink-soft); font-size: .63rem; line-height: 1.35; }
.ledger-evidence-fieldset { display: grid; gap: .7rem; margin: 1rem 0 0; padding: .85rem; border: 1px solid rgba(46,200,173,.24); border-radius: .6rem; background: rgba(46,200,173,.045); }
.ledger-evidence-fieldset legend { padding: 0 .35rem; color: var(--teal-deep); font-weight: 700; }
.ledger-evidence-fieldset .muted-copy { margin: 0; }
.ledger-evidence-add { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr) auto; gap: .5rem; align-items: end; }
.ledger-evidence-add select, .ledger-evidence-add input { min-width: 0; }
.ledger-evidence-list { display: grid; gap: .45rem; }
.ledger-evidence-row { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: .5rem; align-items: center; padding: .55rem .65rem; background: rgba(255,255,255,.42); border: 1px solid rgba(37,58,61,.12); border-radius: .45rem; }
.ledger-evidence-row > span:nth-child(2) { display: grid; gap: .12rem; min-width: 0; }
.ledger-evidence-row strong { color: var(--ink); font-size: .72rem; }
.ledger-evidence-row small { color: var(--ink-soft); font-size: .63rem; line-height: 1.35; }
.ledger-evidence-mark { color: var(--gold-deep); font-size: 1rem; }
.guild-reconciliation-shelf { margin-top: 1.2rem; padding-top: 1rem; border-top: 1px solid var(--line); }
.guild-reconciliation-shelf h3 { margin: .15rem 0 0; }
.guild-reconciliation-shelf > .muted-copy { margin: .45rem 0 .75rem; }
.reconciliation-counts { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: .4rem; margin: .75rem 0 .2rem; }
.guild-measures-composer { margin: 1rem 0; padding: .8rem; border: 1px solid rgba(37,58,61,.14); border-radius: .55rem; background: rgba(232,214,182,.18); }
.guild-measures-composer h3 { margin: .15rem 0 0; }
.guild-measure-list { display: grid; gap: .55rem; }
.guild-measure-row { display: grid; grid-template-columns: minmax(8rem, 1.4fr) minmax(5rem, .8fr) minmax(4rem, .6fr) minmax(4rem, .6fr) auto; align-items: end; gap: .45rem; padding: .55rem; border: 1px solid rgba(37,58,61,.11); border-radius: .45rem; background: rgba(255,255,255,.28); }
.guild-measure-row .form-field { gap: .2rem; }
.guild-measure-row input { min-width: 0; }
.guild-measure-remove { margin-bottom: .35rem; }
.guild-reconciliation-measures { margin-top: .7rem; border-top: 1px solid rgba(37,58,61,.13); }
.guild-reconciliation-measures summary { display: inline-flex; align-items: center; gap: .35rem; padding: .5rem 0 .35rem; color: var(--teal-deep); cursor: pointer; font: 700 .68rem ui-sans-serif, system-ui, sans-serif; list-style: none; }
.guild-reconciliation-measures summary::-webkit-details-marker { display: none; }
.guild-reconciliation-measures summary span { color: var(--gold-deep); font-size: .95rem; }
.guild-measure-read-list { display: grid; gap: .35rem; padding: .1rem 0 .25rem; }
.guild-measure-read-row { display: grid; grid-template-columns: minmax(7rem, 1fr) minmax(10rem, 1.5fr) auto; gap: .55rem; align-items: center; padding: .4rem .5rem; background: rgba(255,255,255,.28); border-left: 2px solid rgba(46,200,173,.35); font-size: .7rem; }
.guild-measure-read-row span { color: var(--ink-soft); }
.guild-measure-read-row b { color: var(--ink-soft); font: 700 .63rem ui-sans-serif, system-ui, sans-serif; text-transform: uppercase; letter-spacing: .04em; }
.guild-measure-read-row b.is-even { color: var(--teal-deep); }
.guild-measure-read-row b.is-short { color: #9d553e; }
.guild-measure-read-row b.is-over { color: var(--gold-deep); }
.composer-callout { display: flex; justify-content: space-between; gap: 1rem; align-items: center; margin-top: 1rem; padding: 1rem; background: rgba(232,173,89,.14); border: 1px solid rgba(232,173,89,.32); border-radius: .7rem; }
.composer-callout p { margin: .2rem 0 0; color: var(--ink-soft); font-size: .83rem; }

.drawer-backdrop { position: fixed; z-index: 18; inset: 0; display: flex; justify-content: flex-end; background: rgba(4,12,23,.3); backdrop-filter: blur(3px); }
.notice-drawer { display: flex; flex-direction: column; width: min(410px, 100%); height: 100%; color: var(--paper-2); background: var(--night-2); border-left: 1px solid rgba(255,255,255,.18); box-shadow: -18px 0 65px rgba(4,12,23,.32); }
.drawer-head { display: flex; justify-content: space-between; gap: 1rem; padding: 1.25rem; background: linear-gradient(120deg, rgba(46,200,173,.2), rgba(19,36,58,.1)); border-bottom: 1px solid rgba(255,255,255,.12); }
.drawer-head h2 { margin: .25rem 0 .35rem; color: var(--gold-light); }
.drawer-head p:not(.eyebrow) { margin: 0; color: #bed2ce; font-size: .82rem; line-height: 1.45; }
.drawer-head .eyebrow { color: #8fd5c7; }
.drawer-body { flex: 1; overflow-y: auto; padding: 1.15rem; }
.drawer-body .empty-state { color: #b5c9c7; background: rgba(255,255,255,.05); border-color: rgba(255,255,255,.16); }
.drawer-body .empty-state strong { color: var(--paper-2); }
.notice-log { display: grid; gap: .2rem; }
.notice-log .notice-row { padding: .85rem .25rem; border-color: rgba(255,255,255,.12); }
.notice-log .notice-symbol { color: var(--gold-light); }
.notice-log .notice-state-mark { opacity: .92; }
.notice-log .notice-row p { color: #e3eee7; }
.notice-log .notice-row small { color: #93adac; }
.notice-drawer .notice-held-action strong { color: #e3eee7; }
.notice-drawer .notice-held-action small { color: #93adac; }
.notice-gathered { margin: .25rem 0 .55rem; border: 1px solid rgba(143,213,199,.2); border-radius: .55rem; background: rgba(255,255,255,.025); }
.notice-gathered > summary { display: flex; align-items: center; justify-content: space-between; gap: .8rem; padding: .65rem .72rem; color: #e3eee7; cursor: pointer; list-style: none; }
.notice-gathered > summary::-webkit-details-marker { display: none; }
.notice-gathered > summary::after { content: '⌄'; color: #9ed3c8; }
.notice-gathered[open] > summary::after { content: '⌃'; }
.notice-gathered > summary strong { display: block; margin-top: .1rem; font-size: .78rem; }
.notice-gathered .eyebrow { color: #9ed3c8; }
.notice-gathered-count { color: #bfd5d0; font: 700 .65rem ui-sans-serif, system-ui, sans-serif; white-space: nowrap; }
.notice-gathered .notice-row { margin: 0 .55rem; padding: .7rem .15rem; }
.notice-kept-shelf { margin-top: 1rem; border: 1px solid rgba(232,173,89,.28); border-radius: .55rem; background: rgba(232,173,89,.06); }
.notice-kept-shelf > summary { display: flex; justify-content: space-between; align-items: center; gap: .8rem; padding: .7rem .8rem; cursor: pointer; list-style: none; }
.notice-kept-shelf > summary::-webkit-details-marker { display: none; }
.notice-kept-shelf > summary::after { content: '＋'; color: var(--gold); }
.notice-kept-shelf[open] > summary::after { content: '−'; }
.notice-kept-shelf > summary > span:first-child { display: grid; gap: .12rem; }
.notice-kept-shelf > summary > span:first-child { grid-template-columns: 1.5rem minmax(0,1fr); align-items: center; gap: .55rem; }
.notice-kept-mark { width: 1.5rem; height: 1.5rem; }
.notice-kept-shelf > summary strong { font-size: .74rem; }
.notice-kept-shelf .notice-log { padding: 0 .75rem .7rem; border-top: 1px solid rgba(232,173,89,.18); }
.notice-kept-shelf[hidden] { display: none; }
.drawer-footer { display: grid; gap: .7rem; padding: 1rem 1.15rem 1.25rem; border-top: 1px solid rgba(255,255,255,.12); }
.drawer-footer small { color: #91aaa9; font-size: .7rem; }

.ledger-distinction { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1.15rem; padding: 1rem 1.15rem; border-color: rgba(46,200,173,.28); background: rgba(46,200,173,.07); }
.ledger-distinction h3 { margin: .2rem 0 .25rem; }
.ledger-distinction p { margin: 0; color: var(--ink-soft); font-size: .82rem; line-height: 1.45; }

.character-banner { display: grid; grid-template-columns: 175px minmax(0, 1fr); gap: 1.3rem; align-items: center; padding: clamp(1.15rem, 3vw, 2rem); color: var(--paper-2); background: linear-gradient(120deg, rgba(12,31,48,.99), rgba(22,72,75,.97)); border-radius: .95rem; box-shadow: var(--shadow); }
.character-portrait { display: grid; place-items: center; width: 145px; height: 175px; color: var(--night); border: 5px solid rgba(255,255,255,.14); border-radius: 1rem 1rem 2.3rem 2.3rem; font: 700 4rem Georgia, serif; box-shadow: inset 0 -20px 35px rgba(0,0,0,.14), 0 10px 25px rgba(0,0,0,.25); overflow: hidden; }
.character-portrait-art { width: 100%; height: 100%; object-fit: cover; object-position: center top; }
.character-portrait.teal { background: linear-gradient(145deg, #a7ded2, #3b827e); } .character-portrait.gold { background: linear-gradient(145deg, #f3d590, #a86b48); } .character-portrait.violet { background: linear-gradient(145deg, #d2c9f2, #755c8e); } .character-portrait.rose { background: linear-gradient(145deg, #efb6ae, #9a4e63); }
.character-heading .eyebrow { margin: .65rem 0 .15rem; color: #9ed3c8; }
.character-heading h1 { margin: .1rem 0 .25rem; color: #f4e3b9; font-size: clamp(2rem, 4vw, 3.25rem); }
.character-heading > p:not(.eyebrow) { margin: 0; color: #c4d8d3; font-size: 1rem; }
.character-actions { display: flex; flex-wrap: wrap; gap: .6rem; margin-top: 1.15rem; }
.character-layout { display: grid; grid-template-columns: minmax(0,1fr) minmax(205px,.25fr); gap: 1.15rem; margin-top: 1.15rem; align-items: start; }
.character-main { display: grid; gap: 1.15rem; }
.character-main .card.pad > p { color: var(--ink-soft); line-height: 1.6; }
.journal-entry, .npc-record { margin-top: 1rem; padding: 1rem; background: rgba(232,214,182,.35); border-left: 3px solid var(--gold); border-radius: .1rem .6rem .6rem .1rem; }
.journal-entry h3 { margin-top: .55rem; }
.journal-entry p, .npc-record p { margin: .35rem 0; color: var(--ink-soft); font-size: .88rem; line-height: 1.5; }
.journal-entry small { color: #7d8a91; font: .68rem ui-sans-serif, system-ui, sans-serif; }
.journal-frame-label { display: inline-block; margin-left: .45rem; color: var(--teal-deep); font: .62rem ui-sans-serif, system-ui, sans-serif; letter-spacing: .08em; text-transform: uppercase; }
.journal-entry-inactive { opacity: .72; border-left-color: #9b8e7b; }
.journal-status-label { display: inline-block; margin-left: .45rem; color: #8b665b; font: .62rem ui-sans-serif, system-ui, sans-serif; letter-spacing: .08em; text-transform: uppercase; }
.journal-entry-actions { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: .75rem; }
.journal-history-list { margin: 1rem 0 0; padding-left: 1.4rem; }
.journal-history-list li { margin: .8rem 0; padding-left: .35rem; }
.journal-history-list li > div { display: flex; justify-content: space-between; gap: .8rem; }
.journal-history-list small { color: #7d8a91; font: .68rem ui-sans-serif, system-ui, sans-serif; }
.journal-history-list p { margin: .25rem 0 0; color: var(--ink-soft); font-size: .86rem; }
.journal-preview-shelf { margin-top: 1rem; padding: 1rem; border: 1px solid rgba(135,170,166,.45); border-radius: .55rem; background: rgba(35,67,69,.08); }
.journal-preview-shelf h3 { margin: .25rem 0 0; font-size: 1rem; }
.journal-preview-controls { display: flex; flex-wrap: wrap; gap: .55rem; margin: .75rem 0; }
.journal-preview-controls .text-button.active { color: var(--gold); font-weight: 700; }
.journal-preview-empty, .journal-preview-hidden { margin: .75rem 0 0; padding: .8rem; border: 1px dashed rgba(125,138,145,.48); color: var(--ink-soft); }
.journal-preview-hidden { border-color: rgba(155,142,123,.7); background: rgba(155,142,123,.08); }
.journal-preview-hidden strong { display: block; margin: .2rem 0; color: var(--ink); }
.journal-preview-hidden p { margin: .2rem 0 0; }
.journal-preview-card { margin-top: .75rem; padding: .9rem; border-left: 3px solid var(--teal); background: rgba(232,214,182,.28); }
.journal-preview-meta { display: flex; align-items: center; flex-wrap: wrap; gap: .4rem; }
.journal-preview-card h4 { margin: .55rem 0 .3rem; font-family: var(--display); font-size: 1.15rem; }
.journal-preview-card p { margin: 0; color: var(--ink-soft); line-height: 1.55; white-space: pre-wrap; }
.journal-preview-card small { display: block; margin-top: .6rem; color: #7d8a91; font: .68rem ui-sans-serif, system-ui, sans-serif; }
.character-side { display: grid; gap: 1.15rem; }
.tie-list { display: flex; flex-wrap: wrap; gap: .45rem; }
.section-rule { height: 1px; margin: 1rem 0; background: var(--line); }
.related-mini-list { display: grid; gap: .5rem; margin-top: .55rem; }
.related-mini-list button { display: flex; align-items: center; justify-content: space-between; gap: .5rem; padding: .55rem .65rem; color: var(--ink); text-align: left; background: rgba(255,255,255,.46); border: 1px solid var(--line); border-radius: .45rem; font-size: .76rem; }
.related-mini-list button:hover { border-color: var(--teal); }
.related-mini-list span { color: var(--teal-deep); font: 700 .61rem ui-sans-serif, system-ui, sans-serif; white-space: nowrap; }
.muted-copy { color: var(--ink-soft); font-size: .85rem; font-style: italic; line-height: 1.55; }

.settings-layout { display: grid; grid-template-columns: minmax(0,1fr) minmax(255px,.34fr); gap: 1.15rem; align-items: start; }
.quiet-setting { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1.1rem; background: linear-gradient(120deg, rgba(19,36,58,.96), rgba(26,74,78,.92)); color: var(--paper-2); border-radius: .7rem; }
.quiet-setting .eyebrow { color: #9ed3c8; }
.quiet-setting h2 { margin: .25rem 0 .3rem; color: var(--gold-light); }
.quiet-setting p { max-width: 560px; margin: 0; color: #bfd5d0; font-size: .82rem; line-height: 1.45; }
.setting-list { display: grid; }
.setting-row { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .85rem 0; border-bottom: 1px solid var(--line); }
.setting-row:last-child { border-bottom: 0; }
.setting-row strong { font-size: .9rem; }
.setting-row p { margin: .2rem 0 0; color: var(--ink-soft); font-size: .75rem; line-height: 1.35; }
.settings-intro { max-width: 600px; margin: .35rem 0 0; color: var(--ink-soft); font-size: .76rem; line-height: 1.45; }
.notice-mode-control { display: grid; justify-items: end; gap: .35rem; min-width: 11.8rem; }
.notice-mode-current { color: var(--teal-deep); font: 700 .66rem ui-sans-serif, system-ui, sans-serif; }
.notice-mode-options { display: inline-flex; gap: .15rem; padding: .16rem; background: rgba(19,36,58,.06); border: 1px solid rgba(19,36,58,.16); border-radius: 99px; }
.notice-mode-button { padding: .34rem .48rem; color: var(--ink-soft); background: transparent; border: 0; border-radius: 99px; font: 700 .61rem ui-sans-serif, system-ui, sans-serif; cursor: pointer; }
.notice-mode-button:hover, .notice-mode-button.selected { color: var(--night); background: rgba(46,200,173,.18); }
.notice-mode-button:focus-visible { outline: 2px solid var(--teal); outline-offset: 2px; }
.setting-toggle { min-width: 3.25rem; padding: .46rem .62rem; color: #7b888d; background: transparent; border: 1px solid rgba(19,36,58,.22); border-radius: 99px; font: 700 .68rem ui-sans-serif, system-ui, sans-serif; }
.setting-toggle.on { color: var(--teal-deep); background: rgba(46,200,173,.12); border-color: rgba(46,200,173,.55); }
.setting-toggle.large { min-width: 4.4rem; color: #d9e8e2; border-color: rgba(255,255,255,.35); }
.setting-toggle.large.on { color: var(--night); background: var(--gold-light); border-color: var(--gold-light); }

.ghost-button { padding: .55rem .75rem; color: #d9eee6; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.25); border-radius: .45rem; font: 700 .7rem ui-sans-serif, system-ui, sans-serif; }
.ghost-button:hover { background: rgba(255,255,255,.16); }
.mailbox-layout { display: grid; grid-template-columns: minmax(240px,.38fr) minmax(0,1fr); gap: 1.15rem; align-items: start; }
.mailbox-panel { padding: .65rem; }
.mail-folders { display: grid; gap: .3rem; padding-bottom: .65rem; border-bottom: 1px solid var(--line); }
.mail-folder { display: flex; align-items: center; justify-content: space-between; gap: .7rem; padding: .7rem .75rem; color: var(--ink-soft); background: transparent; border: 0; border-radius: .45rem; text-align: left; font: 700 .76rem ui-sans-serif, system-ui, sans-serif; }
.mail-folder:hover, .mail-folder.active { color: var(--teal-deep); background: rgba(46,200,173,.11); }
.mail-folder span { min-width: 1.25rem; padding: .18rem .36rem; color: var(--night); background: var(--gold-light); border-radius: 99px; text-align: center; font-size: .63rem; }
.missive-outbox-shelf { margin: .65rem 0 .15rem; padding: .7rem .75rem; background: rgba(239,208,145,.14); border: 1px solid rgba(184,139,62,.28); border-radius: .55rem; }
.missive-outbox-shelf summary { display: flex; justify-content: space-between; gap: .8rem; align-items: center; cursor: pointer; list-style: none; }
.missive-outbox-shelf summary::-webkit-details-marker { display: none; }
.missive-outbox-shelf summary > span:first-child { display: grid; gap: .1rem; }
.missive-outbox-shelf summary strong { color: var(--ink); font-size: .78rem; }
.missive-outbox-shelf > .muted-copy { margin: .65rem 0; font-size: .72rem; line-height: 1.45; }
.missive-outbox-list { display: grid; gap: .25rem; margin: .55rem 0 .7rem; }
.missive-outbox-row { display: flex; justify-content: space-between; gap: .65rem; align-items: center; padding: .55rem .6rem; background: rgba(251,245,232,.65); border: 1px solid rgba(19,36,58,.1); border-radius: .4rem; }
.missive-outbox-row > div:first-child { min-width: 0; display: grid; gap: .12rem; }
.missive-outbox-row strong, .missive-outbox-row small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.missive-outbox-row strong { font-size: .75rem; }
.missive-outbox-row small { color: var(--ink-soft); font-size: .66rem; }
.missive-outbox-actions { display: flex; gap: .4rem; flex: 0 0 auto; }
.missive-outbox-error { color: #8d493a; font-size: .65rem; line-height: 1.35; }
.missive-list { display: grid; gap: .35rem; padding-top: .65rem; }
.mail-bulkbar { display: flex; flex-wrap: wrap; align-items: center; gap: .65rem; padding: .65rem .25rem .15rem; color: var(--ink-soft); border-bottom: 1px solid var(--line); font-size: .7rem; }
.mail-bulkbar label { display: inline-flex; align-items: center; gap: .45rem; color: var(--teal-deep); font-weight: 700; }
.mail-bulkbar input, .missive-select input { accent-color: var(--teal-deep); }
.mail-bulkbar .tiny-label { margin-left: auto; }
.missive-bulk-undo { display: flex; justify-content: space-between; gap: .8rem; align-items: center; margin: .75rem 0 .1rem; padding: .7rem .8rem; background: rgba(46,200,173,.08); border: 1px solid rgba(46,200,173,.28); border-radius: .5rem; }
.missive-bulk-undo > div:first-child { display: grid; gap: .18rem; min-width: 0; }
.missive-bulk-undo strong { color: var(--ink); font-size: .72rem; }
.missive-bulk-undo small { color: var(--ink-soft); font-size: .61rem; line-height: 1.35; }
.missive-bulk-undo-actions { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; justify-content: end; }
.mailbox-stale-notice { display: flex; flex-wrap: wrap; align-items: center; gap: .65rem; margin: .75rem 0 .1rem; padding: .7rem .8rem; color: #6f3e2f; background: rgba(196,112,83,.09); border: 1px solid rgba(196,112,83,.28); border-left: 3px solid #c47053; border-radius: .5rem; }
.mailbox-stale-notice > div { display: grid; gap: .16rem; flex: 1 1 18rem; min-width: 0; }
.mailbox-stale-notice strong { color: var(--ink); font-size: .72rem; }
.mailbox-stale-notice small { color: var(--ink-soft); font-size: .61rem; line-height: 1.35; }
.mailbox-selection-recovery { display: flex; flex-wrap: wrap; align-items: center; gap: .65rem; margin: .5rem 0 .1rem; padding: .7rem .8rem; color: var(--teal-deep); background: rgba(46,200,173,.08); border: 1px solid rgba(46,200,173,.28); border-left: 3px solid var(--teal); border-radius: .5rem; }
.mailbox-selection-recovery > div:first-of-type { display: grid; gap: .16rem; flex: 1 1 18rem; min-width: 0; }
.mailbox-selection-recovery strong { color: var(--ink); font-size: .72rem; }
.mailbox-selection-recovery small { color: var(--ink-soft); font-size: .61rem; line-height: 1.35; }
.mailbox-selection-actions { display: flex; flex-wrap: wrap; gap: .45rem; align-items: center; justify-content: end; }
.missive-row { display: grid; grid-template-columns: auto minmax(0,1fr); gap: .45rem; align-items: stretch; width: 100%; padding: .25rem; color: var(--ink); background: transparent; border: 1px solid transparent; border-radius: .55rem; text-align: left; }
.missive-row:hover, .missive-row.selected { background: rgba(232,214,182,.4); border-color: var(--line); }
.missive-row.unread { background: rgba(46,200,173,.07); }
.missive-select { display: grid; place-items: center; min-width: 1.5rem; padding: .5rem .25rem; cursor: pointer; }
.missive-open { display: grid; grid-template-columns: auto auto minmax(0,1fr) auto; gap: .65rem; align-items: start; width: 100%; min-width: 0; padding: .5rem; color: inherit; background: transparent; border: 0; border-radius: .4rem; text-align: left; }
.missive-open:hover, .missive-open:focus-visible { background: rgba(255,255,255,.42); }
.missive-state-mark { display: grid; place-items: center; width: 1.55rem; height: 1.55rem; margin-top: .25rem; }
.missive-state-mark img { display: block; width: 1.55rem; height: 1.55rem; }
.mail-avatar { display: grid; place-items: center; flex: 0 0 auto; width: 2.05rem; height: 2.05rem; color: var(--night); border: 2px solid rgba(255,255,255,.7); border-radius: 50%; font: 700 .75rem Georgia, serif; }
.mail-avatar.teal { background: #8bd7c8; } .mail-avatar.gold { background: #efd091; } .mail-avatar.violet { background: #c4bbf0; } .mail-avatar.rose { background: #e4a0a0; }
.missive-summary { min-width: 0; display: grid; gap: .16rem; }
.missive-summary strong, .missive-summary span, .missive-summary small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.missive-summary strong { font-size: .82rem; }
.missive-summary span { color: var(--teal-deep); font-weight: 700; font-size: .76rem; }
.missive-summary small { color: var(--ink-soft); font-size: .7rem; }
.missive-meta { display: grid; justify-items: end; gap: .25rem; color: #7d8b8e; font: .66rem ui-sans-serif, system-ui, sans-serif; white-space: nowrap; }
.missive-meta b { color: var(--teal-deep); font-size: .59rem; letter-spacing: .08em; text-transform: uppercase; }
.mail-reader { min-width: 0; }
.letter-card { padding: clamp(1rem, 2.5vw, 1.5rem); background: rgba(251,245,232,.8); border: 1px solid var(--line); border-radius: .75rem; box-shadow: var(--shadow-soft); }
.letter-head { display: flex; justify-content: space-between; gap: 1rem; align-items: start; padding-bottom: 1rem; border-bottom: 1px solid var(--line); }
.letter-from { display: flex; gap: .75rem; align-items: center; }
.letter-head h2 { margin: .22rem 0 .3rem; font-size: 1.5rem; }
.letter-head p { margin: 0; color: var(--ink-soft); font-size: .8rem; }
.letter-body { max-width: 62ch; padding: 1.35rem 0; }
.letter-body p { color: var(--ink-soft); line-height: 1.7; white-space: pre-wrap; }
.missive-conflict { display: grid; gap: .35rem; margin: .9rem 0 0; padding: .8rem .9rem; color: #6f3e2f; background: rgba(196,112,83,.11); border: 1px solid rgba(196,112,83,.28); border-left: 3px solid #c47053; border-radius: .45rem; }
.missive-conflict > .mail-stale-mark { width: 2rem; height: 2rem; margin-bottom: .15rem; }
.missive-conflict strong { font-size: .78rem; }
.missive-conflict p { margin: 0; font-size: .74rem; line-height: 1.45; }
.missive-conflict-actions { display: flex; flex-wrap: wrap; gap: .45rem; margin-top: .25rem; }
.missive-autosave-mark { width: 1.65rem; height: 1.65rem; margin-top: .45rem; object-fit: contain; }
.missive-merge-panel { display: grid; gap: .65rem; margin-top: .7rem; padding-top: .7rem; border-top: 1px solid rgba(196,112,83,.25); }
.missive-merge-panel h3 { margin: .15rem 0 0; font-size: .95rem; }
.missive-merge-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: .6rem; }
.missive-merge-grid article { min-width: 0; padding: .7rem; color: var(--ink-soft); background: rgba(251,245,232,.62); border: 1px solid rgba(19,36,58,.12); border-radius: .45rem; }
.missive-merge-grid article:first-child { border-left: 3px solid var(--teal); }
.missive-merge-grid article:last-child { border-left: 3px solid var(--gold); }
.missive-merge-grid p { margin: .45rem 0 0; white-space: pre-wrap; }
.missive-paragraph-merge { display: grid; gap: .65rem; padding: .8rem; background: rgba(232,214,182,.22); border: 1px solid rgba(19,36,58,.14); border-radius: .5rem; }
.missive-paragraph-merge .shelf-heading-mark { display: grid; place-items: center; width: 2.35rem; height: 2.35rem; flex: 0 0 auto; }
.missive-paragraph-merge .shelf-heading-mark img { width: 2.35rem; height: 2.35rem; object-fit: contain; }
.missive-paragraph-merge h3 { margin: .15rem 0 0; font-size: .9rem; }
.missive-paragraph-conflict { display: grid; gap: .55rem; margin: 0; padding: .65rem; border: 1px solid rgba(196,112,83,.28); border-radius: .45rem; }
.missive-paragraph-conflict legend { padding: 0 .35rem; color: var(--ink); font-size: .76rem; font-weight: 800; }
.missive-paragraph-choices { display: grid; gap: .45rem; }
.missive-paragraph-choice { display: grid; grid-template-columns: auto minmax(0,1fr); gap: .55rem; align-items: start; padding: .55rem .65rem; color: var(--ink-soft); background: rgba(251,245,232,.68); border: 1px solid rgba(19,36,58,.12); border-radius: .35rem; cursor: pointer; }
.missive-paragraph-choice.selected { border-color: var(--teal); box-shadow: 0 0 0 1px rgba(46,200,173,.18); }
.missive-paragraph-choice input { margin-top: .18rem; accent-color: var(--teal-deep); }
.missive-paragraph-choice strong, .missive-paragraph-choice small { display: block; }
.missive-paragraph-choice strong { color: var(--ink); font-size: .72rem; }
.missive-paragraph-choice small { margin-top: .22rem; line-height: 1.45; white-space: pre-wrap; }
.missive-paragraph-base { display: grid; gap: .25rem; padding-top: .35rem; color: var(--ink-soft); line-height: 1.45; }
.missive-paragraph-base .tiny-label { color: var(--ink-muted); }
.letter-attachment { display: flex; gap: .7rem; align-items: center; padding: .75rem; background: rgba(232,214,182,.38); border-left: 3px solid var(--gold); border-radius: .15rem .5rem .5rem .15rem; }
.letter-attachment > img:first-child { flex: 0 0 auto; width: 1.65rem; height: 1.65rem; }
.letter-attachment strong, .letter-attachment small { display: block; }
.letter-attachment small { margin-top: .2rem; color: var(--ink-soft); font-size: .68rem; }
.letter-actions { display: flex; flex-wrap: wrap; gap: .55rem; align-items: center; padding-top: 1rem; }
.letter-actions .text-button { margin-left: auto; }
.travel-panel, .destination-card { display: grid; grid-template-columns: auto minmax(0,1fr) auto; gap: 1rem; align-items: center; margin-bottom: 1.15rem; padding: 1rem 1.15rem; color: var(--paper-2); background: linear-gradient(110deg, rgba(19,36,58,.98), rgba(26,74,78,.95)); border: 1px solid rgba(46,200,173,.3); border-radius: .75rem; box-shadow: var(--shadow-soft); }
.destination-card { color: var(--ink); background: rgba(232,214,182,.32); border-color: var(--line); }
.travel-panel h2, .destination-card h2 { margin: .2rem 0 .3rem; color: var(--gold-light); font-size: 1.2rem; }
.destination-card h2 { color: var(--teal-deep); }
.travel-panel p, .destination-card p { margin: 0; color: #c3d9d4; font-size: .8rem; line-height: 1.45; }
.destination-card p { color: var(--ink-soft); }
.courier { display: grid; place-items: center; width: 3.25rem; height: 3.25rem; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.2); border-radius: 50%; font-size: 1.9rem; animation: courier-beat 1.2s ease-in-out infinite; }
.courier.horde { background: rgba(210,119,115,.17); }
.travel-progress { height: .28rem; margin-top: .7rem; overflow: hidden; background: rgba(255,255,255,.15); border-radius: 99px; }
.travel-progress span { display: block; height: 100%; background: var(--gold-light); border-radius: inherit; transition: width .8s linear; }
.road-history { margin-top: 1rem; overflow: hidden; }
.road-history > summary { display: flex; align-items: center; justify-content: space-between; gap: .8rem; padding: .9rem 1rem; cursor: pointer; list-style: none; }
.road-history > summary::-webkit-details-marker, .road-history-events > summary::-webkit-details-marker { display: none; }
.road-history > summary::after, .road-history-events > summary::after { content: '＋'; color: var(--teal-deep); font-weight: 800; }
.road-history[open] > summary::after, .road-history-events[open] > summary::after { content: '−'; }
.road-history-body { padding: 0 1rem 1rem; }
.road-history-body > p { margin: 0 0 .8rem; color: var(--ink-soft); font-size: .72rem; line-height: 1.45; }
.road-history-list { display: grid; gap: .7rem; margin: 0; padding: 0; list-style: none; }
.road-history-entry { display: grid; grid-template-columns: auto minmax(0,1fr); gap: .55rem; align-items: start; padding-top: .65rem; border-top: 1px solid var(--line); }
.road-history-entry:first-child { padding-top: 0; border-top: 0; }
.road-history-entry strong, .road-history-entry small { display: block; }
.road-history-entry strong { color: var(--teal-deep); font-size: .74rem; }
.road-history-entry small { margin-top: .18rem; color: #7d8b8e; font-size: .64rem; }
.road-history-outcome { margin: .35rem 0 0; color: var(--ink-soft); font-size: .68rem; line-height: 1.4; }
.road-history-mark { display: grid; place-items: center; width: 1.55rem; height: 1.55rem; color: var(--teal-deep); background: rgba(46,200,173,.11); border: 1px solid rgba(46,200,173,.22); border-radius: 50%; font-weight: 800; }
.road-history-events { margin-top: .45rem; padding: .45rem .55rem; background: rgba(232,214,182,.18); border: 1px solid rgba(120,132,135,.16); border-radius: .4rem; }
.road-history-events > summary { display: flex; align-items: center; justify-content: space-between; gap: .5rem; color: var(--ink-soft); cursor: pointer; font-size: .66rem; }
.road-history-events > summary::after { font-size: .75rem; }
.road-history-events ol { display: grid; gap: .45rem; margin: .55rem 0 0; padding: .55rem 0 0 1rem; border-top: 1px solid rgba(120,132,135,.16); }
.road-history-events li { padding-left: .1rem; }
.road-history-events li > span { display: flex; justify-content: space-between; gap: .5rem; }
.road-history-events li p { margin: .16rem 0 0; color: var(--ink-soft); font-size: .66rem; line-height: 1.35; }
.shelf-heading { display: inline-flex; align-items: center; gap: .55rem; min-width: 0; }.shelf-heading > span { display: grid; gap: .16rem; }.shelf-mark { width: 1.8rem; height: 1.8rem; flex: 0 0 auto; object-fit: contain; }.card-title-row .shelf-mark { width: 2rem; height: 2rem; }
.campfire-view-grid { margin-top: 0; }
.conversation-card { overflow: hidden; }
.conversation-head { display: flex; align-items: start; justify-content: space-between; gap: 1rem; padding: 1.15rem; background: linear-gradient(110deg, rgba(233,203,150,.34), rgba(255,255,255,.12)); border-bottom: 1px solid var(--line); }
.conversation-head h2 { margin: .2rem 0 .25rem; }
.conversation-head p { margin: 0; color: var(--ink-soft); font-size: .82rem; }
.presence-pill { padding: .35rem .55rem; color: var(--teal-deep); background: rgba(46,200,173,.12); border: 1px solid rgba(46,200,173,.25); border-radius: 99px; font: 700 .62rem ui-sans-serif, system-ui, sans-serif; white-space: nowrap; }
.conversation-list { display: grid; }
.campfire-message { display: grid; grid-template-columns: auto minmax(0,1fr); gap: .7rem; padding: .9rem 1.15rem; border-bottom: 1px solid var(--line); }
.campfire-message strong { font-size: .82rem; }
.campfire-message p { margin: .22rem 0; color: var(--ink-soft); font-size: .84rem; line-height: 1.45; }
.campfire-message small { color: #849195; font-size: .66rem; }
.archive-band { display: grid; gap: .25rem; margin: .75rem 1.15rem; padding: .85rem; color: #778286; background: rgba(120,132,135,.08); border: 1px solid rgba(120,132,135,.22); border-radius: .5rem; text-align: left; }
.archive-band span { font: 700 .72rem ui-sans-serif, system-ui, sans-serif; }
.archive-band small { font-size: .7rem; line-height: 1.4; }
.archive-band:hover { color: var(--teal-deep); background: rgba(46,200,173,.08); }
.archive-end { margin: 1rem 1.15rem; color: #7f8c90; font-size: .72rem; text-align: center; }
.away-note { display: grid; gap: .2rem; padding: .85rem 1.15rem; color: var(--ink-soft); background: rgba(232,214,182,.25); font-size: .74rem; }
.away-note strong { color: var(--teal-deep); }
.conversation-composer { display: flex; gap: .65rem; align-items: center; padding: .85rem 1.15rem; }
.conversation-composer-mark { width: 1.35rem; height: 1.35rem; object-fit: contain; opacity: .86; }
.composer-input { flex: 1; padding: .7rem .8rem; color: #7a888b; background: rgba(255,255,255,.45); border: 1px solid var(--line); border-radius: .45rem; text-align: left; }
.dispatch-room { margin-top: 1.15rem; }
.journal-feature { min-height: 520px; }
.journal-feature .journal-entry { padding: 1.2rem; }
.journal-feature .journal-entry p { max-width: 65ch; font-size: .95rem; line-height: 1.7; }
.compact-ties { padding: .85rem; }
.compact-ties .card-title-row { margin-bottom: .55rem; }
.compact-ties .card-title-row h2 { font-size: 1rem; }
.compact-ties .tie-list { gap: .3rem; }
.compact-ties .ledger-tag { padding: .28rem .42rem; font-size: .63rem; }
.featured-associates { padding: .85rem; }
.featured-associates .card-title-row { margin-bottom: .55rem; }
.featured-associates .card-title-row h2 { font-size: 1rem; }
.featured-associates > p { margin: 0 0 .7rem; font-size: .72rem; }
.featured-associate-card { display: grid; grid-template-columns: auto auto minmax(0, 1fr); gap: .45rem; align-items: center; width: 100%; padding: .5rem .35rem; color: var(--ink); background: transparent; border: 0; border-bottom: 1px solid rgba(19,36,58,.1); text-align: left; }
.featured-associate-card:last-child { border-bottom: 0; }
.featured-associate-card:hover { color: var(--teal-deep); background: rgba(46,200,173,.07); }
.featured-associate-card .mini-portrait { width: 2rem; height: 2rem; }
.featured-associate-card strong, .featured-associate-card small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.featured-associate-card strong { font-size: .72rem; }
.featured-associate-card small { margin-top: .12rem; color: var(--ink-soft); font-size: .61rem; }
.featured-associate-number, .featured-editor-order { color: var(--teal-deep); font: 700 .58rem ui-sans-serif, system-ui, sans-serif; }
.featured-editor-list { display: grid; gap: .35rem; }
.featured-editor-row { display: grid; grid-template-columns: auto auto minmax(0, 1fr) auto auto auto; gap: .55rem; align-items: center; padding: .65rem; background: rgba(255,255,255,.48); border: 1px solid var(--line); border-radius: .55rem; }
.featured-editor-row .mini-portrait { width: 2.25rem; height: 2.25rem; }
.featured-editor-row strong, .featured-editor-row small { display: block; }
.featured-editor-row strong { font-size: .78rem; }
.featured-editor-row small { margin-top: .16rem; color: var(--ink-soft); font-size: .64rem; }
.featured-editor-add { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: .7rem; align-items: end; margin-top: .9rem; padding-top: .9rem; border-top: 1px solid var(--line); }
.featured-editor-add .form-field { margin: 0; }
.featured-associates-dialog .draft-banner { display: grid; gap: .25rem; }
.featured-associates-dialog .draft-banner span { color: var(--ink-soft); font-size: .76rem; line-height: 1.45; }
.knowledge-shelf { padding: 1rem 1.15rem; }
.knowledge-shelf .card-title-row { margin-bottom: .45rem; }
.knowledge-shelf .card-title-row h2 { font-size: 1.05rem; }
.knowledge-intro { max-width: 68ch; margin: 0 0 .8rem; color: var(--ink-soft); font-size: .78rem; line-height: 1.5; }
.knowledge-mark-row { display: grid; grid-template-columns: auto minmax(0,1fr) auto; gap: .65rem; align-items: start; padding: .7rem 0; border-top: 1px solid rgba(26,66,75,.12); }
.knowledge-mark-symbol { display: grid; place-items: center; width: 1.65rem; height: 1.65rem; color: var(--teal-deep); background: rgba(46,200,173,.1); border: 1px solid rgba(46,200,173,.25); border-radius: 50%; font-weight: 800; }
.knowledge-mark-target { display: grid; gap: .16rem; padding: 0; color: var(--ink); background: transparent; border: 0; text-align: left; }
.knowledge-mark-target:hover strong { color: var(--teal-deep); }
.knowledge-mark-target strong { font-size: .82rem; }
.knowledge-mark-target small, .knowledge-mark-source { color: var(--ink-soft); font-size: .65rem; }
.knowledge-mark-row p { margin: .35rem 0 0; color: var(--ink-soft); font-size: .74rem; line-height: 1.4; }
.knowledge-mark-source { display: block; margin-top: .35rem; }
.knowledge-add-button { margin-top: .8rem; }
.knowledge-dialog .draft-banner { display: grid; gap: .25rem; }
.knowledge-dialog .draft-banner span { color: var(--ink-soft); font-size: .76rem; line-height: 1.45; }
.page-tools { padding: .85rem; }
.page-tool { display: flex; width: 100%; gap: .65rem; align-items: center; padding: .65rem 0; color: var(--ink); background: transparent; border: 0; border-bottom: 1px solid var(--line); text-align: left; }
.page-tool:last-child { border-bottom: 0; }
.page-tool > span:first-child { color: var(--teal-deep); font-size: 1.2rem; }
.page-tool strong, .page-tool small { display: block; }
.page-tool small { margin-top: .15rem; color: var(--ink-soft); font-size: .68rem; }
.songbook-layout { display: grid; grid-template-columns: minmax(0,.9fr) minmax(300px,1.1fr); gap: 1.15rem; align-items: start; }
.playlist-shelf { margin-bottom: 1.15rem; padding: 1rem 1.15rem; }
.playlist-choice-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: .45rem; margin-top: .8rem; }
.playlist-choice { display: grid; grid-template-columns: auto minmax(0,1fr) auto; gap: .65rem; align-items: center; padding: .7rem .75rem; color: var(--ink); background: rgba(255,255,255,.55); border: 1px solid rgba(26,66,75,.12); border-radius: .55rem; text-align: left; }
.playlist-choice:hover, .playlist-choice.active { color: var(--teal-deep); background: rgba(46,200,173,.09); border-color: rgba(46,200,173,.3); }
.playlist-choice-mark { display: grid; place-items: center; width: 1.75rem; height: 1.75rem; color: var(--night); background: var(--gold); border-radius: .4rem; }
.playlist-choice strong, .playlist-choice small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.playlist-choice small { margin-top: .16rem; color: var(--ink-soft); font-size: .66rem; }
.playlist-choice-arrow { color: var(--teal); }
.research-note-shelf { display: grid; gap: .7rem; max-height: 30rem; overflow: auto; }
.desk-note-entry { padding: .85rem 0; border-bottom: 1px solid rgba(26,66,75,.12); }
.desk-note-entry:last-child { border-bottom: 0; }
.desk-note-entry h3 { margin: .18rem 0 .3rem; font-size: .95rem; }
.desk-note-entry p { margin: 0; white-space: pre-wrap; color: var(--ink-soft); font-size: .78rem; line-height: 1.55; }
.desk-note-entry small { display: block; margin-top: .45rem; color: var(--ink-soft); font-size: .66rem; }
.research-recommendations { display: grid; gap: .75rem; margin-top: 1.15rem; padding: 1.15rem; border-color: rgba(46,200,173,.24); background: linear-gradient(145deg, rgba(224,239,229,.52), rgba(255,255,255,.42)); }
.research-recommendations .card-title-row { align-items: flex-start; }
.research-recommendations .card-title-row p { margin: .35rem 0 0; color: var(--ink-soft); font-size: .78rem; }
.research-preference-drawer { padding: .65rem .75rem; border: 1px solid rgba(26,66,75,.12); border-radius: .65rem; background: rgba(255,255,255,.32); }
.research-preference-drawer summary { cursor: pointer; color: var(--ink); font-family: var(--display); font-size: .78rem; list-style-position: inside; }
.research-preference-drawer summary span { float: right; color: var(--ink-soft); font-family: var(--body); font-size: .67rem; }
.research-preference-drawer > p { margin: .55rem 0; color: var(--ink-soft); font-size: .72rem; line-height: 1.45; }
.research-preference-options { display: grid; gap: .45rem; }
.research-preference-option { display: flex; justify-content: space-between; gap: .75rem; width: 100%; padding: .55rem .65rem; color: var(--ink); text-align: left; border: 1px solid rgba(26,66,75,.13); border-radius: .5rem; background: rgba(247,244,232,.42); }
.research-preference-option:hover, .research-preference-option:focus-visible { border-color: rgba(46,200,173,.42); background: rgba(46,200,173,.08); }
.research-preference-option[aria-pressed="false"] { opacity: .66; }
.research-preference-option strong, .research-preference-option small { display: block; }
.research-preference-option strong { font-size: .74rem; }
.research-preference-option small { margin-top: .16rem; color: var(--ink-soft); font-size: .65rem; }
.research-preference-option > span:last-child { align-self: center; color: var(--teal-deep); font-size: .64rem; white-space: nowrap; }
.research-recommendation { display: grid; grid-template-columns: 2.7rem minmax(0,1fr) auto; gap: .7rem; align-items: center; padding: .7rem; border: 1px solid rgba(26,66,75,.12); border-radius: .65rem; background: rgba(247,244,232,.5); }
.research-recommendation-mark { display: grid; place-items: center; width: 2.35rem; height: 2.35rem; border-radius: 50%; background: rgba(23,56,68,.92); }
.research-recommendation-mark img { width: 1.45rem; height: 1.45rem; }
.research-recommendation h3 { margin: .18rem 0 .18rem; font-size: .94rem; }
.research-recommendation p { margin: 0; color: var(--ink-soft); font-size: .72rem; line-height: 1.4; }
.research-recommendation small { display: block; margin-top: .3rem; color: var(--ink-soft); font-size: .64rem; }
.research-trails-card { margin-top: 1.15rem; }
.research-trails-card .card-title-row { align-items: flex-start; }
.research-trails-card .card-title-row p { margin: .35rem 0 0; color: var(--ink-soft); font-size: .78rem; }
.research-trail-list { display: grid; gap: .9rem; margin-top: .9rem; }
.research-trail-entry { padding: .9rem; border: 1px solid rgba(26,66,75,.12); border-radius: 14px; background: rgba(247,244,232,.48); }
.trail-region-fieldset, .trail-region-editor { display: grid; gap: .5rem; margin: .8rem 0; padding: .75rem; border: 1px solid rgba(26,66,75,.14); border-radius: .65rem; background: rgba(255,255,255,.32); }
.trail-region-fieldset legend, .trail-region-editor legend { padding: 0 .35rem; color: var(--ink); font-family: var(--display); font-size: .78rem; }
.trail-region-fieldset select, .trail-region-editor select { width: 100%; min-height: 5.8rem; padding: .45rem; color: var(--ink); background: rgba(255,255,255,.65); border: 1px solid var(--line); border-radius: .45rem; }
.trail-region-fieldset option, .trail-region-editor option { padding: .28rem; }
.trail-region-readout, .public-trail-bearing { display: grid; gap: .4rem; margin: .75rem 0; padding: .65rem .75rem; border-left: 2px solid var(--gold); background: rgba(183,141,61,.07); }
.trail-region-chips { display: flex; flex-wrap: wrap; gap: .35rem; }
.trail-region-chips span { display: inline-flex; align-items: baseline; gap: .25rem; padding: .25rem .45rem; color: var(--ink); font-size: .67rem; background: rgba(232,214,182,.4); border: 1px solid rgba(125,102,65,.2); border-radius: 999px; }
.trail-region-chips small { color: var(--ink-soft); font-size: .57rem; }
.trail-region-empty { display: block; margin: .55rem 0; color: var(--ink-muted); font-size: .65rem; font-style: italic; }
.public-trail-bearing p { margin: 0; color: var(--ink-soft); font-size: .68rem; line-height: 1.4; }
.public-trail-search { display: grid; grid-template-columns: auto minmax(12rem, 1fr) auto minmax(12rem, 1fr) auto; gap: .55rem; align-items: end; margin: .9rem 0; }
.public-trail-search label { color: var(--ink-soft); font-size: .66rem; }
.public-trail-search input, .public-trail-search select { min-width: 0; padding: .55rem .65rem; color: var(--ink); background: rgba(255,255,255,.68); border: 1px solid var(--line); border-radius: .45rem; }
.public-trail-discovery-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
.public-trail-discovery-card { display: grid; gap: .55rem; min-width: 0; padding: .8rem; background: rgba(255,255,255,.38); border: 1px solid rgba(26,66,75,.12); border-radius: .6rem; }
.public-trail-discovery-head { display: flex; justify-content: space-between; gap: .8rem; align-items: flex-start; }
.public-trail-discovery-head h3 { margin: .2rem 0 0; color: var(--ink); font-size: .86rem; }
.public-trail-discovery-card > p { margin: 0; color: var(--ink-soft); font-size: .72rem; line-height: 1.45; }
.public-trail-discovery-card > small { color: var(--ink-muted); font-size: .62rem; line-height: 1.35; }
.public-trail-discovery-card .text-button { justify-self: start; padding: 0; }
.public-trail-step-preview { display: grid; gap: .25rem; }
.public-trail-step-preview span { display: flex; gap: .45rem; align-items: baseline; color: var(--ink); font-size: .67rem; }
.public-trail-step-preview b { color: var(--gold-deep); font-size: .59rem; }
.trail-entry-head { display: flex; justify-content: space-between; gap: 1rem; align-items: flex-start; }
.trail-entry-head h3 { margin: .18rem 0 .25rem; font-size: 1rem; }
.trail-entry-head p { margin: 0; color: var(--ink-soft); font-size: .78rem; line-height: 1.5; }
.trail-step-list { list-style: none; display: grid; gap: .45rem; margin: .8rem 0; padding: 0; }
.trail-step-list li { display: grid; grid-template-columns: 2rem minmax(0,1fr) auto; gap: .65rem; align-items: start; padding: .6rem 0; border-top: 1px solid rgba(26,66,75,.1); }
.trail-step-number { color: var(--gold-deep); font-family: var(--display); font-size: .85rem; }
.trail-step-list strong { display: block; font-size: .84rem; }
.trail-step-list small { display: block; margin-top: .2rem; color: var(--ink-soft); font-size: .67rem; line-height: 1.35; }
.trail-step-list p { margin: .3rem 0 0; color: var(--ink-soft); font-size: .72rem; line-height: 1.4; }
.trail-step-actions { display: inline-flex; gap: .15rem; align-items: center; flex-wrap: wrap; justify-content: flex-end; }
.trail-step-actions button { padding: .15rem .25rem; font-size: .68rem; }
.trail-step-actions button:disabled { opacity: .3; cursor: not-allowed; }
.trail-empty-step { grid-template-columns: 2rem minmax(0,1fr) !important; color: var(--ink-soft); }
.trail-empty-step p { margin: 0; }
.trail-add-row { display: flex; gap: .55rem; align-items: center; }
.trail-add-row select { min-width: 0; flex: 1; }
.trail-draft-comparison { margin-top: .8rem; border: 1px solid rgba(183,141,61,.28); border-radius: .6rem; background: rgba(183,141,61,.07); }
.trail-draft-comparison summary { display: flex; justify-content: space-between; gap: .8rem; align-items: center; padding: .75rem; cursor: pointer; list-style: none; }
.trail-draft-comparison summary::-webkit-details-marker { display: none; }
.trail-draft-comparison summary > span:first-child { display: grid; gap: .16rem; }
.trail-draft-comparison summary strong { font-size: .74rem; }
.trail-draft-comparison > div { display: grid; gap: .55rem; padding: .75rem; border-top: 1px solid rgba(183,141,61,.18); }
.trail-draft-comparison p, .trail-draft-comparison li { color: var(--ink-soft); font-size: .68rem; line-height: 1.45; }
.trail-draft-comparison p { margin: 0; }
.trail-draft-comparison ul { margin: 0; padding-left: 1rem; }
.trail-draft-comparison > div > div { display: grid; gap: .2rem; padding-top: .4rem; border-top: 1px solid rgba(26,66,75,.1); }
.trail-draft-comparison > div > div > span { color: var(--gold-deep); }
.trail-draft-comparison > div > div p { display: flex; justify-content: space-between; gap: .6rem; }
.trail-draft-comparison > div > div small { color: var(--ink-soft); }
.public-trail-comparison { margin-top: 1rem; border: 1px solid rgba(46,200,173,.24); border-radius: .6rem; background: rgba(46,200,173,.06); }
.public-trail-comparison summary { display: flex; justify-content: space-between; gap: .8rem; align-items: center; padding: .8rem; color: var(--ink); cursor: pointer; list-style: none; }.public-trail-comparison summary::-webkit-details-marker { display: none; }.public-trail-comparison summary > span { display: grid; gap: .18rem; }.public-trail-comparison summary strong { font-size: .74rem; }.public-trail-comparison summary small { color: var(--ink-soft); font-size: .63rem; }.public-trail-comparison-body { display: grid; gap: .55rem; padding: .8rem; border-top: 1px solid rgba(46,200,173,.18); }.public-trail-comparison-body p { margin: 0; color: var(--ink-soft); font-size: .72rem; line-height: 1.45; }.public-trail-comparison-body ul { margin: 0; padding-left: 1.1rem; color: var(--ink); font-size: .72rem; line-height: 1.5; }.public-trail-comparison-body > div { display: grid; gap: .2rem; padding-top: .45rem; border-top: 1px solid rgba(26,66,75,.1); }.public-trail-comparison-body > div > span { color: var(--teal-deep); }.public-trail-comparison-body > div p { display: flex; justify-content: space-between; gap: .7rem; }.public-trail-comparison-body > div p small { color: var(--ink-soft); }.public-trail-history { margin-top: 1rem; }
.public-trail-history summary { cursor: pointer; color: var(--teal-deep); font-size: .74rem; }.public-trail-history ol { display: grid; gap: .5rem; margin: .7rem 0 0; padding-left: 1.15rem; }.public-trail-history li { padding-left: .2rem; }.public-trail-history li strong, .public-trail-history li span, .public-trail-history li p { display: block; }.public-trail-history li strong { font-size: .72rem; }.public-trail-history li span { margin-top: .12rem; color: var(--ink-soft); font-size: .63rem; }.public-trail-history li p { margin: .18rem 0 0; color: var(--ink-soft); font-size: .68rem; line-height: 1.35; }
.public-trail-live-comparison { margin-top: 1rem; border: 1px solid rgba(232,173,89,.38); border-radius: .6rem; background: rgba(232,173,89,.08); }
.public-trail-live-comparison summary { display: flex; justify-content: space-between; gap: .8rem; align-items: center; padding: .8rem; color: var(--ink); cursor: pointer; list-style: none; }.public-trail-live-comparison summary::-webkit-details-marker { display: none; }.public-trail-live-comparison summary > span { display: grid; gap: .18rem; }.public-trail-live-comparison summary strong { font-size: .74rem; }.public-trail-live-comparison summary small { color: var(--ink-soft); font-size: .63rem; }.public-trail-live-comparison > div { display: grid; gap: .55rem; padding: .8rem; border-top: 1px solid rgba(232,173,89,.25); }.public-trail-live-comparison > div > p { margin: 0; color: var(--ink-soft); font-size: .72rem; line-height: 1.45; }.public-trail-live-issues { display: grid; gap: .4rem; }.public-trail-live-issues article { display: grid; gap: .15rem; padding: .45rem .55rem; background: rgba(255,255,255,.35); border-left: 2px solid var(--gold); }.public-trail-live-issues strong { color: var(--ink); font-size: .7rem; }.public-trail-live-issues small, .public-trail-check-time { color: var(--ink-soft); font-size: .63rem; line-height: 1.35; }
.service-mark-shelf { margin-top: 1.1rem; }
.service-mark-shelf .card-title-row { align-items: flex-start; }
.service-mark-list { display: grid; gap: .6rem; margin-top: .8rem; max-width: 58rem; }
.service-mark-row { display: grid; grid-template-columns: 2rem minmax(0,1fr); gap: .7rem; align-items: start; padding: .7rem .8rem; border: 1px solid rgba(26,66,75,.11); border-radius: 12px; background: rgba(247,244,232,.48); }
.service-mark-glyph { display: grid; place-items: center; width: 1.65rem; height: 1.65rem; border-radius: 50%; color: #7f5b20; background: rgba(203,166,88,.22); }
.service-mark-glyph img { width: 1.35rem; height: 1.35rem; object-fit: contain; }
.service-mark-row strong { display: block; font-size: .84rem; }
.service-mark-row small { display: block; margin-top: .16rem; color: var(--ink-soft); font-size: .67rem; }
.service-mark-row p { margin: .34rem 0 0; color: var(--ink-soft); font-size: .75rem; line-height: 1.45; }
.service-mark-history { margin-top: .55rem; padding-top: .45rem; border-top: 1px solid rgba(26,66,75,.12); }
.service-mark-history summary { display: flex; justify-content: space-between; gap: .6rem; cursor: pointer; color: var(--teal-deep); font-size: .67rem; font-weight: 700; }
.service-mark-history summary span { color: var(--ink-soft); font-weight: 600; }
.service-mark-history ol { display: grid; gap: .35rem; margin: .5rem 0 0 1rem; padding: 0; color: var(--ink-soft); font-size: .65rem; }
.service-mark-history li { padding-left: .15rem; }
.service-mark-history li strong, .service-mark-history li small { display: block; }
.service-mark-history li strong { color: var(--ink); font-size: .67rem; }
.service-mark-history li small { margin-top: .1rem; }
.service-mark-row .text-button { margin-top: .45rem; }
.service-mark-row.is-retired { opacity: .72; }
.service-mark-clarification { display: grid; gap: .2rem; padding: .45rem .55rem; border-left: 2px solid rgba(46,200,173,.35); background: rgba(46,200,173,.06); }
.service-mark-audit { margin-top: .6rem; padding-top: .55rem; border-top: 1px solid rgba(26,66,75,.1); }
.service-mark-audit summary { color: var(--teal-deep); cursor: pointer; font: 700 .68rem ui-sans-serif, system-ui, sans-serif; }
.service-mark-audit p { margin: .45rem 0; color: var(--ink-soft); font-size: .68rem; line-height: 1.4; }
.service-mark-audit textarea { width: 100%; min-height: 3.2rem; resize: vertical; padding: .5rem; color: var(--ink); background: rgba(255,252,242,.78); border: 1px solid var(--line); border-radius: .35rem; font: .7rem ui-sans-serif, system-ui, sans-serif; }
.service-mark-audit-actions { display: flex; flex-wrap: wrap; gap: .45rem; }
.service-mark-audit-actions .text-button { margin-top: .45rem; }
.danger-text { color: #8e4b43 !important; }
.service-mark-retired { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; margin-top: .5rem; }
.work-milestone-shelf { margin: 1.1rem 0; }
.work-milestone-shelf .card-title-row { align-items: flex-start; }
.work-milestone-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: .6rem; }
.work-milestone { display: grid; align-content: start; gap: .55rem; min-width: 0; padding: .75rem; border: 1px solid rgba(26,66,75,.11); border-radius: 12px; background: rgba(247,244,232,.48); }
.work-milestone.complete { border-color: rgba(177, 125, 47, .4); background: rgba(248, 238, 211, .72); }
.work-milestone-head { display: flex; align-items: flex-start; gap: .5rem; }
.work-milestone-head > div { min-width: 0; }
.work-milestone-glyph { display: grid; place-items: center; width: 1.5rem; height: 1.5rem; flex: 0 0 1.5rem; color: var(--gold-deep); background: rgba(232,173,89,.16); border-radius: 50%; }
.work-milestone-glyph img { width: 1.25rem; height: 1.25rem; object-fit: contain; }
.work-milestone strong, .work-milestone small { display: block; }
.work-milestone strong { color: var(--ink); font-size: .75rem; }
.work-milestone small { margin-top: .12rem; color: var(--ink-soft); font-size: .61rem; }
.work-milestone p { min-height: 3.3rem; margin: 0; color: var(--ink-soft); font-size: .68rem; line-height: 1.45; }
.work-milestone-track { height: .34rem; overflow: hidden; border-radius: 999px; background: rgba(31,65,67,.12); }
.work-milestone-track span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--teal-deep), var(--gold-deep)); }
@media (max-width: 980px) { .work-milestone-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 640px) { .work-milestone-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 430px) { .work-milestone-grid { grid-template-columns: 1fr; } .work-milestone p { min-height: 0; } }
.character-service-marks { margin-top: 1.1rem; }
.character-service-mark-list { display: grid; gap: .55rem; margin-top: .8rem; }
.character-service-mark { display: grid; grid-template-columns: 1.65rem minmax(0,1fr); gap: .6rem; padding: .65rem .7rem; border-left: 2px solid rgba(203,166,88,.55); background: rgba(232,214,182,.18); }
.character-service-mark strong, .character-service-mark small { display: block; }
.character-service-mark strong { color: var(--ink); font-size: .78rem; }
.character-service-mark small { margin-top: .14rem; color: var(--ink-soft); font-size: .63rem; }
.character-service-mark p { margin: .28rem 0 0; color: var(--ink-soft); font-size: .72rem; line-height: 1.4; }
.character-service-mark .service-mark-clarification { margin-top: .45rem; }
@media (max-width: 680px) { .trail-entry-head { flex-direction: column; gap: .35rem; } .trail-step-list li { grid-template-columns: 1.6rem minmax(0,1fr); } .trail-step-actions { grid-column: 2; justify-content: flex-start; } .trail-add-row { align-items: stretch; flex-direction: column; } .public-trail-search { grid-template-columns: 1fr; align-items: stretch; } .public-trail-discovery-grid { grid-template-columns: 1fr; } }
.songbook-card, .playlist-card { padding: 1.15rem; }
.songbook-now { display: grid; grid-template-columns: auto minmax(0,1fr) auto; gap: .85rem; align-items: center; }
.album-art { display: grid; place-items: center; width: 4.4rem; height: 4.4rem; color: var(--paper-2); border-radius: .7rem; font-size: 2.2rem; }
.album-art.teal { background: linear-gradient(145deg, #2b807e, #132b43); }
.songbook-now h2 { margin: .2rem 0 .2rem; font-size: 1.1rem; }
.songbook-now p { margin: 0; color: var(--ink-soft); font-size: .75rem; }
.play-button { display: grid; place-items: center; width: 2.4rem; height: 2.4rem; color: var(--night); background: var(--gold-light); border-radius: 50%; font-weight: 800; }
.player-controls { display: flex; flex-wrap: wrap; gap: .45rem; align-items: center; margin-top: 1rem; }
.player-controls button { padding: .45rem .6rem; color: var(--teal-deep); background: rgba(46,200,173,.08); border: 1px solid rgba(46,200,173,.24); border-radius: .4rem; font: 700 .68rem ui-sans-serif, system-ui, sans-serif; }
.player-controls .control-muted { color: var(--ink-soft); background: transparent; border-color: var(--line); }
.progress-line, .volume-track { height: .3rem; margin-top: 1rem; overflow: hidden; background: rgba(19,36,58,.13); border-radius: 99px; }
.progress-line span { display: block; width: 34%; height: 100%; background: var(--teal); border-radius: inherit; }
.songbook-volume { display: flex; gap: .6rem; align-items: center; margin-top: .75rem; color: var(--ink-soft); font-size: .7rem; }
.volume-track { flex: 1; margin-top: 0; }
.volume-track span { display: block; width: 72%; height: 100%; background: var(--gold); }
.songbook-volume button { color: var(--teal-deep); background: transparent; border: 0; font: 700 .68rem ui-sans-serif, system-ui, sans-serif; }
.media-note { margin: .9rem 0 0; color: var(--ink-soft); font-size: .7rem; line-height: 1.45; }
.character-gallery { margin-top: 1.15rem; }
.gallery-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(165px, 1fr)); gap: .75rem; margin-top: .85rem; }
.gallery-layout-masonry .gallery-grid { display: block; columns: 2 210px; column-gap: .75rem; }
.gallery-layout-masonry .gallery-card { break-inside: avoid; margin: 0 0 .75rem; }
.gallery-layout-pinboard .gallery-grid { padding: .7rem; background: rgba(19,36,58,.08); border: 1px solid rgba(125,102,65,.18); border-radius: .6rem; }
.gallery-layout-pinboard .gallery-card { box-shadow: 0 .35rem .8rem rgba(19,36,58,.12); transform: rotate(-.7deg); }
.gallery-layout-pinboard .gallery-card:nth-child(3n) { transform: rotate(.8deg); }
.gallery-layout-pinboard .gallery-card:nth-child(4n) { transform: rotate(-1.2deg); }
@media (prefers-reduced-motion: reduce) { .gallery-layout-pinboard .gallery-card, .gallery-layout-pinboard .gallery-card:nth-child(3n), .gallery-layout-pinboard .gallery-card:nth-child(4n) { transform: none; } }
.gallery-card { overflow: hidden; margin: 0; background: rgba(232,214,182,.24); border: 1px solid rgba(125,102,65,.18); border-radius: .6rem; }
.gallery-image { aspect-ratio: 4 / 3; overflow: hidden; background: linear-gradient(145deg, #183948, #4b7b79); }
.gallery-image img { display: block; width: 100%; height: 100%; object-fit: cover; }
.gallery-card figcaption { display: grid; gap: .2rem; padding: .55rem .6rem .65rem; }
.gallery-card figcaption strong { color: var(--ink); font-size: .72rem; line-height: 1.3; }
.gallery-card figcaption small { color: var(--ink-soft); font-size: .61rem; line-height: 1.35; }
.gallery-boundary-note { margin: .85rem 0 0; color: var(--ink-soft); font-size: .68rem; line-height: 1.4; }
.gallery-workshop { margin-top: 1rem; padding-top: .9rem; border-top: 1px solid var(--line); }
.gallery-workshop h3, .gallery-workshop h4 { margin: .18rem 0 0; color: var(--ink); }
.gallery-workshop h3 { font-size: .95rem; }.gallery-workshop h4 { font-size: .84rem; }
.gallery-workshop-form { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(0,1fr) minmax(0,1fr) auto; gap: .55rem; align-items: end; margin-top: .8rem; }
.gallery-workshop-list, .gallery-media-list { display: grid; gap: .45rem; margin-top: .8rem; }
.gallery-workshop-row { display: grid; grid-template-columns: 3.5rem minmax(0,1fr) auto; gap: .65rem; align-items: center; padding: .55rem; background: rgba(232,214,182,.2); border: 1px solid var(--line); border-radius: .5rem; }
.gallery-workshop-row > img, .gallery-media-thumb { width: 3.5rem; height: 2.65rem; object-fit: cover; border-radius: .35rem; background: linear-gradient(145deg, #183948, #4b7b79); }
.gallery-workshop-row strong, .gallery-workshop-row small { display: block; }.gallery-workshop-row strong { color: var(--ink); font-size: .7rem; }.gallery-workshop-row small { margin-top: .15rem; color: var(--ink-soft); font-size: .61rem; line-height: 1.3; }
.gallery-media-upload { margin-top: .9rem; padding: .8rem; background: rgba(46,200,173,.06); border: 1px solid rgba(46,200,173,.2); border-radius: .6rem; }
.gallery-media-upload-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr) minmax(0,1fr) auto; gap: .55rem; align-items: end; margin-top: .7rem; }
.gallery-media-row { grid-template-columns: 3.5rem minmax(0,1fr) auto auto; }
.gallery-media-thumb { display: grid; place-items: center; color: var(--gold-light); font-size: 1.25rem; }
.gallery-media-thumb img { width: 100%; height: 100%; object-fit: cover; border-radius: inherit; }
.gallery-media-actions { display: flex; gap: .3rem; align-items: center; flex-wrap: wrap; justify-content: flex-end; }
.media-provenance-disclosure { grid-column: 1 / -1; border-top: 1px solid rgba(37,58,61,.14); padding-top: .4rem; }
.media-provenance-disclosure summary { cursor: pointer; color: var(--gold-deep); font-size: .66rem; letter-spacing: .05em; }
.media-provenance-editor { display: grid; gap: .55rem; margin-top: .55rem; padding: .65rem; background: rgba(232,214,182,.16); border: 1px solid rgba(37,58,61,.12); border-radius: .45rem; }
.media-provenance-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .55rem; }
.media-context-fieldset { margin: 0; padding: .5rem; border: 1px solid rgba(37,58,61,.14); border-radius: .4rem; }
.media-context-fieldset legend { padding: 0 .25rem; color: var(--ink-soft); font-size: .62rem; letter-spacing: .04em; }
.media-context-options { display: flex; flex-wrap: wrap; gap: .4rem .7rem; }
.media-context-option { display: inline-flex; gap: .28rem; align-items: center; color: var(--ink-soft); font-size: .65rem; }
.media-context-option input { accent-color: var(--teal); }
.media-history-note { color: var(--gold-deep) !important; }
.media-upload-provenance { margin-top: .7rem; }
.presentation-settings { margin-top: 1.2rem; padding-top: 1rem; border-top: 1px solid var(--line); }
.presentation-settings .section-heading { margin-bottom: .35rem; }
.presentation-settings .setting-list { margin-top: .45rem; }
.digest-setting { margin-top: 1.2rem; padding: 1rem; border: 1px solid rgba(143,213,199,.34); background: linear-gradient(135deg, rgba(35,105,116,.08), rgba(232,214,182,.18)); }
.digest-setting .section-heading { margin-bottom: .65rem; }
.digest-setting h2 { margin: .18rem 0 0; color: var(--teal-deep); }
.digest-setting-controls { display: flex; align-items: end; justify-content: space-between; gap: 1rem; flex-wrap: wrap; }
.digest-watch-field { min-width: 12rem; margin: 0; }
.digest-watch-field select { min-height: 2rem; }
.digest-setting .form-hint { display: block; margin-top: .7rem; }
.account-export-shelf { margin-top: 1.2rem; padding: 1rem; border: 1px solid rgba(35,105,116,.22); background: linear-gradient(135deg, rgba(35,105,116,.06), rgba(232,214,182,.18)); }
.account-export-shelf .card-title-row { margin-bottom: .55rem; }
.account-export-shelf h2 { margin: .16rem 0 0; }
.account-export-shelf > .muted-copy { max-width: 72ch; line-height: 1.5; }
.account-closure-shelf { margin-top: 1.2rem; padding: 1rem; border: 1px solid rgba(158,81,75,.28); background: linear-gradient(135deg, rgba(158,81,75,.055), rgba(232,214,182,.2)); }
.account-closure-shelf .card-title-row { margin-bottom: .55rem; }
.account-closure-shelf h2 { margin: .16rem 0 0; }
.account-closure-shelf > .muted-copy { max-width: 68ch; line-height: 1.5; }
.account-closure-loading { display: flex; gap: .7rem; align-items: center; color: var(--ink-soft); font-size: .78rem; }
.account-closure-loading .loading-seal { width: 1.75rem; height: 1.75rem; font-size: 1rem; }
.active-hand-shelf { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin: .8rem 0 1rem; padding: .75rem; border: 1px solid rgba(35,105,116,.2); border-radius: .55rem; background: linear-gradient(135deg, rgba(35,105,116,.08), rgba(232,214,182,.16)); }
.active-hand-shelf > div { display: grid; gap: .15rem; }
.active-hand-shelf strong { color: var(--teal-deep); }
.active-hand-shelf small { color: var(--ink-soft); font-size: .72rem; }
.account-character-list { display: grid; gap: .55rem; }
.account-character-row { display: flex; align-items: stretch; gap: .7rem; padding: .55rem; border: 1px solid rgba(31,65,67,.12); border-radius: .55rem; background: rgba(255,255,255,.42); }
.account-character-open { display: flex; align-items: center; gap: .7rem; flex: 1; min-width: 0; padding: 0; border: 0; background: transparent; color: inherit; text-align: left; cursor: pointer; }
.account-character-open > span:nth-child(2) { display: grid; gap: .15rem; min-width: 0; flex: 1; }
.account-character-open strong, .account-character-open small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.account-character-open small { color: var(--ink-soft); font-size: .7rem; }
.account-character-identity { display: flex; align-items: center; justify-content: flex-end; min-width: 7.5rem; }
.active-hand-seal { white-space: nowrap; }
.closure-count-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .35rem; margin: .8rem 0; }
.closure-count-list > div { display: flex; justify-content: space-between; gap: .7rem; padding: .55rem .65rem; background: rgba(255,255,255,.46); border: 1px solid rgba(19,36,58,.1); border-radius: .4rem; color: var(--ink-soft); font-size: .7rem; }
.closure-count-list strong { color: var(--ink); }
.closure-preservation { margin: .8rem 0; padding: .7rem .8rem; background: rgba(46,200,173,.08); border-left: 3px solid var(--teal); border-radius: .35rem; }
.closure-preservation strong { display: block; color: var(--teal-deep); font-size: .74rem; }
.closure-preservation p { margin: .28rem 0 0; color: var(--ink-soft); font-size: .72rem; line-height: 1.45; }
.closure-confirm-field { max-width: 24rem; }
.closure-confirm-field input { border-color: rgba(158,81,75,.35); }
.closure-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .55rem; margin-top: .85rem; }
.danger-button { color: #fff5ee; background: #9e514b; border-color: #9e514b; }
.danger-button:hover { background: #7e3f3b; border-color: #7e3f3b; }
.gallery-media-row.is-superseded { opacity: .7; border-style: dashed; }
.media-replacement-banner { display: grid; grid-template-columns: 2.6rem minmax(0,1fr) auto; gap: .55rem; align-items: center; margin: .65rem 0; padding: .55rem; background: rgba(224,174,76,.1); border: 1px solid rgba(224,174,76,.32); border-radius: .5rem; }
.media-replacement-banner img { width: 2.6rem; height: 2.1rem; object-fit: cover; border-radius: .3rem; background: #183948; }
.media-replacement-banner strong, .media-replacement-banner small { display: block; }.media-replacement-banner strong { color: var(--ink); font-size: .68rem; }.media-replacement-banner small { margin-top: .12rem; color: var(--ink-soft); font-size: .59rem; line-height: 1.35; }
.playlist-card h2 { margin: .2rem 0 0; }
.playlist-track-stack { display: grid; gap: .65rem; margin: .9rem 0; }
.playlist-track-editor { margin: 0; padding: .7rem; border: 1px solid var(--line); border-radius: .55rem; background: rgba(232,214,182,.18); }
.playlist-track-editor legend { display: flex; justify-content: space-between; gap: .6rem; width: 100%; padding: 0 .25rem; color: var(--teal-deep); font: 700 .68rem ui-sans-serif, system-ui, sans-serif; }
.playlist-track-fields { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(0,1fr) minmax(7rem,.45fr) minmax(0,1.1fr) minmax(0,1.2fr); gap: .55rem; margin-top: .45rem; }
.playlist-track-meta { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.35fr); gap: .55rem; margin-top: .55rem; }
.playlist-track-meta textarea { min-height: 4.2rem; }
.songbook-track-details { margin-top: .8rem; padding-top: .7rem; border-top: 1px solid rgba(143, 213, 199, .18); color: var(--ink-muted, #a7b4b2); font-size: .72rem; line-height: 1.5; }
.songbook-track-details summary { cursor: pointer; color: var(--teal-light, #9ed3c8); font-weight: 700; }
.songbook-track-details p { margin: .45rem 0 0; }
.songbook-track-details strong { color: var(--ink, #e9eee9); }
.songbook-transcript { margin-top: .6rem; padding: .55rem .65rem; background: rgba(10, 19, 24, .18); border-left: 2px solid rgba(224, 174, 76, .55); }
.playlist-list { display: grid; gap: .3rem; margin-top: .7rem; }
.playlist-row { display: grid; grid-template-columns: 1.3rem minmax(0,1fr) auto; gap: .6rem; align-items: center; padding: .65rem .55rem; color: var(--ink); background: transparent; border: 1px solid transparent; border-radius: .45rem; text-align: left; }
.playlist-row:hover, .playlist-row.active { color: var(--teal-deep); background: rgba(46,200,173,.08); border-color: rgba(46,200,173,.2); }
.track-number { color: #889498; font: 700 .68rem ui-sans-serif, system-ui, sans-serif; }
.playlist-row strong, .playlist-row small { display: block; }
.playlist-row small { margin-top: .15rem; color: var(--ink-soft); font-size: .66rem; }
.playlist-row time { color: #7e8c90; font: .68rem ui-sans-serif, system-ui, sans-serif; }
.stats-banner { display: flex; align-items: center; gap: 1rem; padding: 1rem 1.15rem; color: var(--paper-2); background: linear-gradient(120deg, rgba(12,31,48,.99), rgba(22,72,75,.97)); border-radius: .75rem; }
.stats-banner .sheet-provenance-mark { width: 2.5rem; height: 2.5rem; flex: 0 0 auto; object-fit: contain; }
.stats-banner .character-portrait { width: 65px; height: 78px; border-width: 3px; border-radius: .65rem .65rem 1.1rem 1.1rem; font-size: 1.7rem; }
.stats-banner .character-portrait-art { object-position: center top; }
.stats-banner h2 { margin: .2rem 0; color: var(--gold-light); }
.stats-banner p { margin: 0; color: #c4d8d3; font-size: .8rem; }
.verified-badge { margin-left: auto; color: #9ed3c8; font: 700 .64rem ui-sans-serif, system-ui, sans-serif; }
.stats-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 1.15rem; margin-top: 1.15rem; }

.game-connection-dialog .draft-banner p {
  margin: .35rem 0 0;
}

.connection-boundary-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .75rem;
  margin: 1rem 0;
}

.connection-boundary-grid article,
.connection-checklist {
  padding: .8rem;
  border: 1px solid rgba(143, 213, 199, .18);
  border-radius: .55rem;
  background: rgba(10, 19, 24, .24);
}

.connection-boundary-grid h3 {
  margin: .3rem 0;
}

.connection-boundary-grid p,
.connection-checklist li {
  margin: 0;
  color: var(--ink-muted, #a7b4b2);
  line-height: 1.5;
}

.connection-checklist ul {
  display: grid;
  gap: .35rem;
  margin: .45rem 0 0;
  padding-left: 1.15rem;
}
.stat-list { display: grid; gap: .2rem; margin-top: .7rem; }
.stat-list > div { display: grid; grid-template-columns: .8fr 1fr; gap: .5rem; align-items: baseline; padding: .65rem 0; border-bottom: 1px solid var(--line); }
.stat-list span { color: var(--ink-soft); font: 700 .68rem ui-sans-serif, system-ui, sans-serif; text-transform: uppercase; letter-spacing: .06em; }
.stat-list strong { font-size: .86rem; }
.stat-list small { grid-column: 2; color: #7b898d; font-size: .66rem; }
.sheet-history { margin-top: 1.15rem; }
.sheet-history .card-title-row p { margin: .3rem 0 0; color: var(--ink-soft); font-size: .72rem; line-height: 1.4; }
.sheet-history .shelf-heading { align-items: start; }
.sheet-revision-row { display: grid; grid-template-columns: 1.3rem minmax(0,1fr) auto; gap: .55rem; align-items: start; padding: .65rem 0; border-top: 1px solid var(--line); }
.sheet-revision-mark { color: var(--teal-deep); font-size: .9rem; line-height: 1.2; }
.sheet-revision-mark img { width: 1.15rem; height: 1.15rem; display: block; object-fit: contain; }
.sheet-revision-row strong, .sheet-revision-row small, .sheet-revision-row p { display: block; }
.sheet-revision-row strong { color: var(--ink); font-size: .76rem; }
.sheet-revision-row small { margin-top: .12rem; color: var(--ink-soft); font-size: .62rem; }
.sheet-revision-row p { margin: .25rem 0 0; color: var(--ink-muted); font-size: .69rem; line-height: 1.4; }
.sheet-revision-actions { display: grid; justify-items: end; gap: .35rem; min-width: 4.3rem; }
.sheet-revision-actions .text-button { padding: 0; font-size: .66rem; }
.source-footnote { margin: .8rem 0 0; color: var(--ink-soft); font-size: .74rem; line-height: 1.45; }
@keyframes courier-beat { 0%,100% { transform: translateY(0) rotate(-4deg); } 50% { transform: translateY(-4px) rotate(4deg); } }

.empty-state { padding: 3rem 1.2rem; text-align: center; color: var(--ink-soft); background: rgba(255,255,255,.35); border: 1px dashed rgba(19,36,58,.25); border-radius: .8rem; }
.empty-state strong { display: block; margin-bottom: .45rem; color: var(--ink); font-size: 1.1rem; }
.campfire-report-shelf { margin-top: 1.25rem; padding-top: 1.1rem; border-top: 1px solid var(--line); }
.campfire-report-list { display: grid; gap: .7rem; }
.campfire-report-row { display: grid; grid-template-columns: auto minmax(0,1fr); gap: .75rem; padding: .8rem; background: rgba(232,214,182,.28); border: 1px solid var(--line); border-radius: .55rem; }
.report-status { align-self: start; padding: .3rem .45rem; color: var(--teal-deep); background: rgba(46,200,173,.12); border: 1px solid rgba(46,200,173,.26); border-radius: 99px; font: 700 .58rem ui-sans-serif, system-ui, sans-serif; text-transform: uppercase; letter-spacing: .05em; }
.report-status.dismissed { color: #7c5f57; background: rgba(164,111,91,.1); border-color: rgba(164,111,91,.24); }
.report-status.resolved { color: #6f5a2e; background: rgba(208,165,75,.16); border-color: rgba(208,165,75,.3); }
.campfire-report-row strong, .campfire-report-row small { display: block; }
.campfire-report-row small { margin-top: .18rem; color: var(--ink-soft); font-size: .67rem; line-height: 1.4; }
.campfire-report-row p { margin: .45rem 0; color: var(--ink-soft); font-size: .8rem; line-height: 1.45; }
.report-resolution { padding: .5rem .6rem; color: var(--ink-soft); background: rgba(255,255,255,.45); border-left: 2px solid var(--gold); font-size: .72rem; line-height: 1.45; }
.report-resolution span { display: block; margin-bottom: .15rem; color: var(--teal-deep); font: 700 .58rem ui-sans-serif, system-ui, sans-serif; text-transform: uppercase; letter-spacing: .06em; }
.report-note { width: 100%; margin-top: .5rem; padding: .55rem .65rem; color: var(--ink); background: rgba(255,255,255,.62); border: 1px solid var(--line); border-radius: .45rem; resize: vertical; font: .74rem/1.45 ui-sans-serif, system-ui, sans-serif; }
.campfire-report-actions { display: flex; flex-wrap: wrap; gap: .35rem; align-items: center; margin-top: .45rem; }
.small-button { padding: .45rem .6rem; font-size: .65rem; }

.modal-backdrop { position: fixed; z-index: 20; inset: 0; display: grid; place-items: center; padding: 1rem; background: rgba(4,12,23,.66); backdrop-filter: blur(8px); }
.modal { width: min(720px, 100%); max-height: 90vh; overflow: auto; background: var(--paper-2); border: 1px solid rgba(255,255,255,.3); border-radius: .9rem; box-shadow: 0 28px 90px rgba(0,0,0,.4); }
.modal-head { display: flex; justify-content: space-between; gap: 1rem; padding: 1.2rem 1.3rem; color: var(--paper-2); background: linear-gradient(115deg, var(--night-2), #1d4c50); }
.modal-head h2 { margin: .2rem 0 0; color: #f6dfad; }
.modal-head p { margin: 0; color: #bed2ce; font-size: .8rem; }
.modal-close { width: 2rem; height: 2rem; color: white; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.25); border-radius: 50%; }
.modal-body { padding: 1.3rem; }
.modal-body p { color: var(--ink-soft); line-height: 1.65; }
.record-modal-intro { display: flex; flex-wrap: wrap; gap: .65rem; align-items: center; }
.record-modal-intro p { flex: 1 1 20rem; margin: 0; }
.archive-lineage-badge { display: inline-flex; }
.archive-lifecycle-notice { display: grid; gap: .7rem; margin: 1rem 0; padding: .9rem 1rem; border: 1px solid rgba(142, 103, 47, .28); border-radius: .75rem; background: rgba(248, 238, 211, .5); }
.archive-lifecycle-head { display: flex; align-items: center; gap: .55rem; }
.archive-lifecycle-head img { width: 1.55rem; height: 1.55rem; flex: 0 0 auto; }
.archive-lifecycle-head strong { display: block; margin-top: .12rem; color: var(--ink); font-size: .78rem; }
.archive-lifecycle-notice > .muted-copy { margin: 0; }
.archive-lifecycle-list { display: grid; gap: .55rem; }
.archive-lifecycle-list article { padding-top: .55rem; border-top: 1px solid rgba(125, 102, 65, .18); }
.archive-lifecycle-list article p { margin: .3rem 0; color: var(--ink-soft); font-size: .7rem; line-height: 1.4; }
.archive-lifecycle-list details { margin-top: .35rem; }
.archive-lifecycle-list summary { color: var(--teal-deep); font-size: .65rem; font-weight: 700; cursor: pointer; }
.archive-lifecycle-list details p { margin: .3rem 0 0; }
.archive-lifecycle-list details small { color: var(--ink-soft); font-size: .6rem; }
.record-modal-passage { margin-top: .9rem; padding-top: .85rem; border-top: 1px solid var(--line); }
.record-modal-passage p { margin: .35rem 0 0; white-space: pre-wrap; }
.record-modal-boundary { margin: 1rem 0 0; padding-top: .8rem; border-top: 1px solid var(--line); font-size: .8rem; }
.record-ooc-view { margin: 1rem 0; border: 1px solid rgba(46,200,173,.25); border-radius: .55rem; background: rgba(46,200,173,.05); }
.record-ooc-view summary { display: flex; justify-content: space-between; gap: .8rem; align-items: center; padding: .75rem; cursor: pointer; list-style: none; }
.record-ooc-view summary::-webkit-details-marker { display: none; }
.record-ooc-view summary > span:first-child { display: grid; gap: .16rem; }
.record-ooc-view summary strong { color: var(--ink); font-size: .78rem; }
.record-ooc-body { padding: 0 .75rem .8rem; border-top: 1px solid rgba(46,200,173,.16); }
.record-ooc-body > p { margin: .7rem 0; font-size: .72rem; line-height: 1.5; }
.record-ooc-body dl { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: .55rem; margin: 0; }
.record-ooc-body dl div { display: grid; gap: .14rem; padding: .55rem; background: rgba(255,255,255,.42); border: 1px solid var(--line); border-radius: .4rem; }
.record-ooc-body dt { color: var(--ink-muted); font: 700 .54rem ui-sans-serif, system-ui, sans-serif; letter-spacing: .08em; text-transform: uppercase; }
.record-ooc-body dd { margin: 0; color: var(--ink); font-size: .68rem; line-height: 1.35; }
.record-known-sources { margin-top: .85rem; padding-top: .7rem; border-top: 1px solid rgba(46,200,173,.16); }
.record-known-sources .card-title-row { margin-bottom: .55rem; }
.record-known-sources h3 { margin: .18rem 0 0; font-size: .9rem; }
.record-source-list { display: grid; gap: .45rem; margin: 0; padding: 0; list-style: none; }
.record-source-list li { display: grid; grid-template-columns: auto minmax(0,1fr) auto; gap: .55rem; align-items: start; padding: .55rem; background: rgba(255,255,255,.38); border: 1px solid var(--line); border-radius: .4rem; }
.record-source-number { display: grid; place-items: center; width: 1.5rem; height: 1.5rem; color: var(--teal-deep); background: rgba(46,200,173,.12); border: 1px solid rgba(46,200,173,.24); border-radius: 50%; font: 700 .58rem ui-sans-serif, system-ui, sans-serif; }
.record-source-list strong, .record-source-list small { display: block; }
.record-source-list strong { color: var(--ink); font-size: .68rem; }
.record-source-list small { margin-top: .12rem; color: var(--teal-deep); font-size: .58rem; }
.record-source-list p { margin: .25rem 0 0; color: var(--ink-soft); font-size: .62rem; line-height: 1.4; }
.record-source-list .text-button { padding: 0; font-size: .62rem; }
.record-source-empty { margin: 0; color: var(--ink-muted); font-size: .68rem; }
.record-notable-shelf { margin-top: 1rem; padding: 1rem; border: 1px solid rgba(46, 126, 116, .2); border-radius: .8rem; background: rgba(235, 247, 242, .46); }
.record-notable-list { display: grid; gap: .45rem; margin-top: .75rem; }
.record-notable-row { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: .55rem; align-items: center; width: 100%; padding: .5rem .55rem; color: var(--ink); text-align: left; border: 1px solid rgba(46, 126, 116, .16); border-radius: .5rem; background: rgba(255,255,255,.42); cursor: pointer; }
.record-notable-row:hover, .record-notable-row:focus-visible { border-color: rgba(46, 126, 116, .5); background: rgba(255,255,255,.72); }
.record-notable-row > span:nth-child(2) { min-width: 0; }
.record-notable-row strong, .record-notable-row small { display: block; }
.record-notable-row strong { font-size: .72rem; }
.record-notable-row small { margin-top: .12rem; color: var(--ink-soft); font-size: .61rem; }
.record-notable-avatar { display: grid; place-items: center; width: 2.1rem; height: 2.1rem; overflow: hidden; border: 1px solid rgba(190, 136, 59, .45); border-radius: 50%; background: rgba(22, 57, 61, .12); }
.record-notable-avatar .character-portrait { width: 100%; height: 100%; min-height: 0; border: 0; border-radius: 0; }
.record-notable-avatar .character-portrait-art { width: 100%; height: 100%; object-fit: cover; }
.record-notable-row > span:last-child { color: var(--teal-deep); font-size: .9rem; }
.evidence-box { margin: 1rem 0; padding: 1rem; background: #f0e4ca; border-left: 3px solid var(--gold); border-radius: .15rem .55rem .55rem .15rem; }
.evidence-box p { margin: .4rem 0 0; font-size: .86rem; }
.modal-footer { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: .8rem; padding: 0 1.3rem 1.3rem; }
.modal-footer small { color: var(--ink-soft); }
.lineage-shelf, .lineage-shelf-work { margin-top: 1rem; padding: 1rem; border: 1px solid rgba(45, 102, 98, .2); border-radius: .8rem; background: rgba(233, 245, 239, .46); }
.lineage-public-row, .lineage-work-row { display: flex; align-items: flex-start; gap: .8rem; padding: .85rem 0; border-top: 1px solid rgba(31, 65, 67, .14); }
.lineage-public-row:first-of-type, .lineage-work-row:first-child { border-top: 0; }
.lineage-public-row > div, .lineage-work-row > div:first-of-type { flex: 1; min-width: 0; }
.lineage-public-row strong, .lineage-work-row h3 { display: block; color: var(--ink); }
.lineage-public-row p, .lineage-work-row p { margin: .2rem 0; color: var(--ink-soft); }
.lineage-public-row small, .lineage-work-row small { color: var(--ink-soft); }
.lineage-history { margin-top: .65rem; padding-top: .55rem; border-top: 1px solid var(--line); }
.lineage-history summary { display: flex; align-items: center; gap: .45rem; cursor: pointer; color: var(--teal-deep); font-size: .66rem; font-weight: 700; }
.lineage-history-mark { width: 1.15rem; height: 1.15rem; flex: 0 0 auto; object-fit: contain; }
.lineage-history ol { display: grid; gap: .4rem; margin: .55rem 0 0 1rem; padding: 0; }
.lineage-history li { padding-left: .1rem; color: var(--ink-soft); font-size: .64rem; }
.lineage-history li > div { display: flex; gap: .45rem; align-items: baseline; flex-wrap: wrap; }
.lineage-history li strong { color: var(--ink); font-size: .65rem; text-transform: capitalize; }
.lineage-history li small { color: var(--ink-soft); font-size: .58rem; }
.lineage-history li p { margin: .18rem 0 0; font-size: .62rem; line-height: 1.35; }
.lineage-mark { display: grid; width: 1.8rem; height: 1.8rem; flex: 0 0 1.8rem; place-items: center; border-radius: 50%; color: #7e5728; background: #f2d497; }
.lineage-review-path { display: flex; align-items: center; gap: .7rem; padding: .8rem; border: 1px solid rgba(45, 102, 98, .2); border-radius: .7rem; background: rgba(233, 245, 239, .65); color: var(--ink); font-weight: 700; }
.lineage-review-path span { flex: 1; }
.lineage-review-path b { color: #9c6928; }
.lineage-review-relation { display: flex; align-items: center; gap: .6rem; }
.lineage-work-list { margin-top: .8rem; }
.archive-comparison-shelf { margin-top: 1rem; padding: 1rem; border: 1px solid rgba(142, 103, 47, .24); border-radius: .8rem; background: rgba(248, 238, 211, .42); }
.archive-comparison-list { display: grid; gap: .55rem; margin-top: .75rem; }
.archive-comparison-card { overflow: hidden; border: 1px solid rgba(125, 102, 65, .18); border-radius: .55rem; background: rgba(255,255,255,.34); }
.archive-comparison-card summary { display: flex; align-items: center; gap: .65rem; padding: .7rem .75rem; color: var(--ink); cursor: pointer; list-style: none; }
.archive-comparison-card summary::-webkit-details-marker { display: none; }
.archive-comparison-card summary > span:nth-child(2) { flex: 1; min-width: 0; }
.archive-comparison-card summary strong, .archive-comparison-card summary small { display: block; }
.archive-comparison-card summary strong { font-size: .76rem; }
.archive-comparison-card summary small { margin-top: .14rem; color: var(--ink-soft); font-size: .64rem; }
.archive-comparison-body { padding: 0 .75rem .8rem; border-top: 1px solid rgba(125, 102, 65, .14); }
.archive-comparison-body > .muted-copy { margin: .65rem 0; }
.archive-comparison-panels { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .6rem; }
.archive-comparison-panels article { min-width: 0; padding: .7rem; border: 1px solid rgba(31, 65, 67, .14); border-radius: .45rem; background: rgba(255,255,255,.42); }
.archive-comparison-panels h4 { margin: .18rem 0; color: var(--ink); font-size: .82rem; }
.archive-comparison-subtitle { margin: .2rem 0 .5rem; color: var(--ink-soft); font-size: .67rem; }
.archive-comparison-passage { max-height: 14rem; overflow: auto; margin: 0; color: var(--ink); font: .72rem/1.55 ui-sans-serif, system-ui, sans-serif; white-space: pre-wrap; overflow-wrap: anywhere; }
.archive-comparison-clipped { display: block; margin-top: .45rem; color: var(--ink-soft); font-size: .59rem; }
.archive-comparison-empty { margin: .3rem 0 0; color: var(--ink-soft); font-size: .68rem; }
.archive-comparison-fields { margin-top: .65rem; padding-top: .65rem; border-top: 1px solid rgba(125, 102, 65, .14); }
.archive-comparison-fields summary { color: var(--teal-deep); font-size: .68rem; font-weight: 700; cursor: pointer; }
.archive-comparison-field-list { display: grid; gap: .5rem; margin-top: .55rem; }
.archive-comparison-field-list article { display: grid; grid-template-columns: minmax(7rem, .45fr) minmax(0, 1fr) minmax(0, 1fr); gap: .55rem; padding: .55rem; border: 1px solid rgba(31, 65, 67, .12); border-radius: .4rem; background: rgba(255,255,255,.34); }
.archive-comparison-field-list article > strong { color: var(--ink); font-size: .68rem; }
.archive-comparison-field-list article > div { min-width: 0; }
.archive-comparison-field-list article p { margin: .18rem 0 0; color: var(--ink-soft); font-size: .66rem; line-height: 1.4; overflow-wrap: anywhere; }
.archive-comparison-diff { margin-top: .65rem; }
.button-mark { width: 1rem; height: 1rem; margin-right: .25rem; vertical-align: -.2rem; }
.archive-bulk-modal { width: min(1120px, calc(100% - 2rem)); max-height: min(92vh, 980px); overflow: auto; }
.archive-bulk-intro { display: flex; align-items: flex-start; gap: .8rem; padding: .8rem; border: 1px solid rgba(142,103,47,.22); border-radius: .65rem; background: rgba(248,238,211,.45); }
.archive-bulk-intro img { width: 2.5rem; height: 2.5rem; flex: 0 0 auto; }
.archive-bulk-intro p { margin: 0; }
.archive-bulk-choices, .archive-bulk-read { margin-top: 1rem; }
.archive-bulk-choice { display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: .7rem; width: 100%; padding: .65rem .75rem; color: var(--ink); background: rgba(255,255,255,.4); border: 1px solid rgba(31,65,67,.14); border-radius: .45rem; text-align: left; }
.archive-bulk-choice + .archive-bulk-choice { margin-top: .4rem; }
.archive-bulk-choice:hover, .archive-bulk-choice.selected { border-color: rgba(45,102,98,.5); background: rgba(233,245,239,.7); }
.archive-bulk-choice > span:nth-child(2) { display: grid; gap: .12rem; min-width: 0; }
.archive-bulk-choice strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .72rem; }
.archive-bulk-choice small { color: var(--ink-soft); font-size: .62rem; }
.archive-bulk-choice > span:last-child { color: var(--teal-deep); font-size: 1rem; }
.archive-bulk-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .7rem; margin-top: .7rem; }
.archive-bulk-account { min-width: 0; padding: .8rem; border: 1px solid rgba(31,65,67,.14); border-radius: .55rem; background: rgba(255,255,255,.42); }
.archive-bulk-account header h3 { margin: .18rem 0; color: var(--ink); font-size: .88rem; }
.archive-bulk-account header p { margin: 0 0 .6rem; color: var(--ink-soft); font-size: .68rem; }
.archive-bulk-account dl { display: grid; gap: .4rem; margin: .6rem 0; }
.archive-bulk-account dl div { padding-top: .4rem; border-top: 1px solid rgba(31,65,67,.1); }
.archive-bulk-account dt { color: var(--teal-deep); font: 700 .6rem ui-sans-serif, system-ui, sans-serif; }
.archive-bulk-account dd { margin: .12rem 0 0; color: var(--ink-soft); font-size: .67rem; overflow-wrap: anywhere; }
.archive-bulk-fields { margin-top: .8rem; padding: .7rem; border: 1px solid rgba(31,65,67,.12); border-radius: .5rem; background: rgba(233,245,239,.34); }
.archive-bulk-fields summary { display: flex; justify-content: space-between; gap: .8rem; color: var(--teal-deep); font-size: .7rem; font-weight: 700; cursor: pointer; }
.archive-bulk-fields summary small { color: var(--ink-soft); font-size: .6rem; font-weight: 400; }
.archive-bulk-field-list { display: grid; gap: .55rem; margin-top: .65rem; }
.archive-bulk-field-list article { display: grid; gap: .4rem; padding: .55rem; border-top: 1px solid rgba(31,65,67,.12); }
.archive-bulk-field-list article > strong { color: var(--ink); font-size: .68rem; }
.archive-bulk-field-list article > div { padding-left: .4rem; border-left: 2px solid rgba(142,103,47,.25); }
.archive-bulk-field-list article p { margin: .15rem 0 0; color: var(--ink-soft); font-size: .66rem; overflow-wrap: anywhere; }
.archive-comparison-diff summary { color: var(--teal-deep); font-size: .68rem; font-weight: 700; cursor: pointer; }
@media (max-width: 680px) { .archive-library-grid { grid-template-columns: 1fr; } .archive-comparison-panels { grid-template-columns: 1fr; } .archive-comparison-field-list article { grid-template-columns: 1fr; gap: .25rem; } .archive-comparison-card summary > .tiny-label { display: none; } }
.warden-trend { display: flex; flex-wrap: wrap; gap: .8rem; margin: .9rem 0 1rem; padding: .75rem .85rem; border: 1px solid rgba(45, 102, 98, .18); border-radius: .7rem; background: rgba(239, 247, 244, .66); }
.warden-trend span { display: grid; gap: .12rem; min-width: 8rem; }
.warden-trend strong { color: var(--ink); }
.warden-trend small { color: var(--ink-soft); }
.warden-trend-heading { display: flex !important; flex: 1 1 100%; justify-content: space-between; align-items: center; gap: .6rem; min-width: 0 !important; }
.warden-trend-legend { display: flex !important; grid-auto-flow: column; grid-template-columns: auto auto auto auto; align-items: center; gap: .25rem; min-width: 0 !important; font-size: .62rem; }
.warden-trend-legend i { width: .5rem; height: .5rem; border-radius: 50%; background: var(--teal-deep); }
.warden-trend-legend i.closed { background: var(--gold-deep); }
.warden-trend-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); flex: 1 1 100%; gap: .6rem; align-items: end; min-height: 7rem; }
.warden-trend-week { display: grid; gap: .18rem; justify-items: center; min-width: 0; }
.warden-trend-bars { display: flex; align-items: end; justify-content: center; gap: .22rem; width: 100%; height: 4.5rem; padding-top: .2rem; border-bottom: 1px solid rgba(45,102,98,.2); }
.warden-trend-bar { display: block; width: min(1.1rem, 32%); min-height: 0; border-radius: .22rem .22rem 0 0; background: var(--teal-deep); }
.warden-trend-bar.closed { background: var(--gold-deep); }
.warden-trend-week strong { font: 700 .68rem ui-sans-serif, system-ui, sans-serif; color: var(--ink); }
.warden-trend-week small { font-size: .58rem; text-align: center; white-space: nowrap; }
.warden-trend-summary { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: .45rem; margin: -.45rem 0 1rem; }
.warden-trend-summary span { display: grid; gap: .1rem; padding: .45rem .55rem; border: 1px solid rgba(45,102,98,.12); border-radius: .45rem; background: rgba(255,255,255,.35); }
.warden-trend-summary strong { font-size: .85rem; }
.warden-trend-summary small { font-size: .6rem; }
.warden-queue-age { display: grid; gap: .55rem; margin: -.35rem 0 1rem; padding: .7rem .8rem; border: 1px solid rgba(45,102,98,.12); border-radius: .55rem; background: rgba(255,255,255,.3); }
.warden-queue-age-list { display: grid; gap: .42rem; }
.warden-queue-age-row { display: grid; grid-template-columns: 8.5rem minmax(0,1fr) auto; align-items: center; gap: .5rem; font-size: .68rem; }
.warden-queue-age-track { height: .42rem; overflow: hidden; border-radius: 999px; background: rgba(45,102,98,.1); }
.warden-queue-age-track i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--teal-deep), var(--gold-deep)); }
.warden-queue-age-row strong { min-width: 1.2rem; text-align: right; font-size: .7rem; }
.warden-case-types { display: grid; gap: .55rem; margin: -.35rem 0 1rem; padding: .7rem .8rem; border: 1px solid rgba(45,102,98,.12); border-radius: .55rem; background: rgba(255,255,255,.3); }
.warden-case-type-list { display: grid; gap: .42rem; }
.warden-case-type-row { display: grid; grid-template-columns: 10.5rem minmax(0,1fr) auto; align-items: center; gap: .5rem; font-size: .68rem; }
.warden-case-type-row strong { min-width: 1.2rem; text-align: right; font-size: .7rem; }
.warden-case-category { display: inline-block; margin: .35rem 0 .15rem; color: var(--ink-soft); }
.warden-case-type-trend { margin: -.35rem 0 1rem; border: 1px solid rgba(45,102,98,.12); border-radius: .55rem; background: rgba(255,255,255,.3); }
.warden-case-type-trend summary { padding: .7rem .8rem; color: var(--ink); font-size: .72rem; font-weight: 700; cursor: pointer; }
.warden-case-type-week-list { display: grid; gap: .45rem; padding: 0 .8rem .7rem; }
.warden-case-type-week { display: grid; grid-template-columns: 6.5rem minmax(0,1fr); gap: .55rem; font-size: .66rem; }
.warden-case-type-week > span { color: var(--ink-soft); }
.warden-case-type-week > div { display: flex; flex-wrap: wrap; gap: .25rem .65rem; }
.warden-case-type-week strong { color: var(--ink); }
.mail-appeal-shelf { display: grid; gap: .45rem; margin-top: .65rem; padding-top: .6rem; border-top: 1px solid rgba(45,102,98,.14); }
.mail-appeal-shelf > .shelf-heading { margin-bottom: .1rem; }
.mail-appeal-shelf > .shelf-heading strong { color: var(--ink); font-size: .78rem; }
.mail-appeal-row { display: grid; gap: .18rem; padding: .5rem .6rem; border-left: 2px solid var(--gold-deep); background: rgba(239,208,145,.1); border-radius: .35rem; }
.mail-appeal-row > div:first-child { display: flex; justify-content: space-between; gap: .5rem; align-items: baseline; }
.mail-appeal-row strong { color: var(--ink); font-size: .7rem; text-transform: capitalize; }
.mail-appeal-row small { color: var(--ink-soft); font-size: .6rem; }
.mail-appeal-row p { margin: .15rem 0 0; color: var(--ink-soft); font-size: .67rem; line-height: 1.4; white-space: pre-wrap; }
.warden-appeal-shelf { margin-bottom: 1rem; border-top: 2px solid var(--gold-deep); }
.warden-appeal-list { display: grid; gap: .65rem; }
.warden-appeal-row { display: grid; grid-template-columns: minmax(0,1fr) minmax(15rem,.7fr); gap: .8rem; padding: .75rem; border: 1px solid rgba(142,103,47,.22); border-radius: .55rem; background: rgba(239,208,145,.1); }
.warden-appeal-row h3 { margin: .2rem 0 .1rem; font-size: .85rem; }
.warden-appeal-row p { margin: .45rem 0 0; color: var(--ink-soft); font-size: .72rem; line-height: 1.45; white-space: pre-wrap; }
.warden-appeal-actions { display: grid; gap: .4rem; align-content: start; }
.warden-appeal-actions textarea { width: 100%; min-height: 4rem; resize: vertical; }
@media (max-width: 680px) { .warden-appeal-row { grid-template-columns: 1fr; } }
.correction-diff { margin-top: .65rem; border: 1px solid rgba(125,102,65,.16); border-radius: .45rem; background: rgba(255,255,255,.3); }
.correction-diff summary { cursor: pointer; padding: .45rem .55rem; color: var(--teal-deep); font-size: .68rem; font-weight: 700; }
.correction-diff-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: .6rem; padding: .1rem .55rem .55rem; }
.correction-diff-grid > div { display: grid; align-content: start; gap: .25rem; min-width: 0; }
.correction-diff-grid del, .correction-diff-grid ins { display: block; padding: .32rem .42rem; border-radius: .3rem; color: var(--ink); font-size: .68rem; line-height: 1.4; text-decoration: none; white-space: pre-wrap; overflow-wrap: anywhere; }
.correction-diff-grid del { background: rgba(168,86,73,.12); border-left: 2px solid #a85649; }
.correction-diff-grid ins { background: rgba(46,200,173,.12); border-left: 2px solid var(--teal-deep); }
.correction-diff-empty { margin: 0; color: var(--ink-soft); font-size: .66rem; }
@media (max-width: 680px) { .correction-diff-grid { grid-template-columns: 1fr; } }

.toast { position: fixed; z-index: 30; right: 1.2rem; bottom: 1.2rem; max-width: 320px; padding: .85rem 1rem; color: #eff8f4; background: var(--night-2); border: 1px solid rgba(46,200,173,.45); border-radius: .6rem; box-shadow: var(--shadow); font-size: .84rem; }
.notice-sync-mark { width: 2.15rem; height: 2.15rem; border-radius: .55rem; }

@media (max-width: 1000px) {
  .app-shell { grid-template-columns: 82px minmax(0,1fr); }
  .rail { padding: 1rem .65rem; }
  .brand { justify-content: center; }
  .brand > div:last-child, .rail-label, .nav-button span:not(.nav-icon), .notice-dot, .rail-footer { display: none; }
  .nav-button { justify-content: center; padding: .8rem .5rem; }
  .nav-icon { font-size: 1.25rem; }
  .hero-art { opacity: .65; }
}
/* Regional denizen group records */
.denizen-panel { display: grid; gap: 1rem; margin-top: 1.15rem; padding: 1.15rem; background: linear-gradient(145deg, rgba(28,57,70,.96), rgba(73,57,62,.94)); color: var(--paper-2); border-color: rgba(232,173,89,.3); }
.denizen-panel-head { display: flex; justify-content: space-between; gap: 1rem; align-items: start; }.denizen-panel-head h2 { margin: .2rem 0 .35rem; color: #f4e3b9; }.denizen-panel-head p { max-width: 68ch; margin: 0; color: #bfd4cf; font-size: .78rem; line-height: 1.5; }.denizen-section-list { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: .8rem; }.denizen-faction { min-width: 0; padding: .8rem; background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.13); border-radius: .6rem; }.denizen-faction-head { display: flex; justify-content: space-between; gap: .6rem; align-items: baseline; margin-bottom: .45rem; }.denizen-faction-head h3 { margin: 0; color: #f8e8ba; font-size: .82rem; }.denizen-list { display: grid; gap: .35rem; }.denizen-row, .denizen-related-row { display: grid; grid-template-columns: auto minmax(0,1fr) auto; gap: .55rem; align-items: center; min-width: 0; padding: .55rem; color: var(--paper-2); background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.12); border-radius: .45rem; text-align: left; }.denizen-row:hover, .denizen-row:focus-visible, .denizen-related-row:hover, .denizen-related-row:focus-visible { background: rgba(46,200,173,.16); border-color: rgba(143,213,199,.65); outline: none; }.denizen-emblem { display: grid; place-items: center; width: 1.9rem; height: 1.9rem; color: var(--night); background: var(--gold); border: 1px solid rgba(255,245,197,.7); border-radius: .38rem; font-size: .9rem; overflow: hidden; }.denizen-emblem.has-art { background: rgba(255,255,255,.12); }.denizen-emblem-art { display: block; width: 100%; height: 100%; object-fit: cover; }.denizen-emblem.teal { background: #61b8a7; }.denizen-emblem.violet { background: #a98eb0; }.denizen-emblem.rose { background: #d17b70; }.denizen-row strong, .denizen-row small, .denizen-related-row strong, .denizen-related-row small { display: block; min-width: 0; overflow-wrap: anywhere; }.denizen-row strong, .denizen-related-row strong { color: #f8e8ba; font-size: .7rem; }.denizen-row small, .denizen-related-row small { margin-top: .14rem; color: #b8cec8; font-size: .58rem; line-height: 1.25; }.denizen-arrow { color: #9ed6c8; font-size: .9rem; }.denizen-empty { grid-template-columns: minmax(0,1fr) auto; align-items: center; }.denizen-empty h2 { margin: .2rem 0 .35rem; color: #f4e3b9; }.denizen-empty p { max-width: 62ch; margin: 0; color: #bfd4cf; font-size: .78rem; line-height: 1.5; }
.denizen-record-mark.has-art { overflow: hidden; padding: 0; background: rgba(255,255,255,.12); }.denizen-record-mark.has-art .denizen-emblem-art { width: 100%; height: 100%; object-fit: cover; }
.denizen-place-list { display: grid; gap: .4rem; margin-top: .7rem; }.denizen-place-row { display: grid; grid-template-columns: auto minmax(0,1fr) auto; gap: .55rem; align-items: center; width: 100%; padding: .62rem .7rem; color: var(--ink); background: rgba(232,214,182,.2); border: 1px solid var(--line); border-radius: .45rem; text-align: left; }.denizen-place-row:hover, .denizen-place-row:focus-visible { color: var(--teal-deep); background: rgba(46,200,173,.08); border-color: rgba(46,200,173,.42); outline: none; }.denizen-place-mark { display: grid; place-items: center; width: 1.7rem; height: 1.7rem; color: var(--teal-deep); background: rgba(46,200,173,.12); border: 1px solid rgba(46,200,173,.3); border-radius: 50%; font-size: .75rem; }.denizen-place-row strong, .denizen-place-row small { display: block; overflow-wrap: anywhere; }.denizen-place-row strong { font-size: .7rem; }.denizen-place-row small { margin-top: .18rem; color: var(--ink-soft); font-size: .6rem; line-height: 1.35; }
.denizen-source-shelf > p { max-width: 68ch; }
.denizen-source-list { display: grid; gap: .45rem; margin-top: .7rem; }
.denizen-source-row { display: grid; grid-template-columns: auto minmax(0,1fr) auto; gap: .6rem; align-items: start; padding: .62rem .7rem; background: rgba(232,214,182,.2); border: 1px solid var(--line); border-radius: .45rem; }
.denizen-source-row > div { min-width: 0; }
.denizen-source-row strong, .denizen-source-row small { display: block; overflow-wrap: anywhere; }
.denizen-source-row strong { color: var(--ink); font-size: .7rem; }
.denizen-source-row small { margin-top: .16rem; color: var(--teal-deep); font-size: .6rem; line-height: 1.35; }
.denizen-source-row p { margin: .24rem 0 0; color: var(--ink-soft); font-size: .66rem; line-height: 1.35; }
.denizen-source-row .text-button { padding: 0; font-size: .64rem; }
.denizen-source-comparison { margin-top: .8rem; border: 1px solid rgba(46,200,173,.24); border-radius: .55rem; background: rgba(46,200,173,.05); }
.denizen-source-comparison summary { display: flex; justify-content: space-between; gap: .8rem; align-items: center; padding: .72rem; cursor: pointer; list-style: none; }
.denizen-source-comparison summary::-webkit-details-marker { display: none; }
.denizen-source-comparison summary > span:first-child { display: grid; gap: .16rem; }
.denizen-source-comparison summary strong { font-size: .74rem; }
.denizen-source-comparison-body { display: grid; gap: .65rem; padding: .75rem; border-top: 1px solid rgba(46,200,173,.16); }
.denizen-source-comparison-body > p { margin: 0; color: var(--ink-soft); font-size: .68rem; line-height: 1.45; }
.denizen-source-compare-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: .6rem; }
.denizen-source-compare-card { display: grid; gap: .45rem; min-width: 0; padding: .65rem; background: rgba(255,255,255,.42); border: 1px solid var(--line); border-radius: .45rem; }
.denizen-source-compare-head { display: flex; gap: .45rem; align-items: start; }
.denizen-source-compare-head img { width: 1.65rem; height: 1.65rem; flex: 0 0 auto; }
.denizen-source-compare-head h4 { margin: .18rem 0 0; color: var(--ink); font-size: .72rem; }
.denizen-source-compare-card dl { display: grid; gap: .35rem; margin: 0; }
.denizen-source-compare-card dl div { display: grid; gap: .13rem; }
.denizen-source-compare-card dt { color: var(--ink-muted); font: 700 .53rem ui-sans-serif, system-ui, sans-serif; letter-spacing: .08em; text-transform: uppercase; }
.denizen-source-compare-card dd { margin: 0; color: var(--ink-soft); font-size: .64rem; line-height: 1.4; }
.denizen-source-compare-card > small { color: var(--ink-muted); font-size: .57rem; line-height: 1.35; }
.denizen-source-compare-card .text-button { justify-self: start; padding: 0; font-size: .63rem; }
.denizen-notable-intro { max-width: 68ch; }.denizen-notable-list { display: grid; gap: .5rem; margin-top: .75rem; }.denizen-notable-card { display: grid; grid-template-columns: auto minmax(0,1fr) auto; gap: .7rem; align-items: start; width: 100%; padding: .72rem; color: var(--ink); background: linear-gradient(135deg, rgba(232,214,182,.32), rgba(255,255,255,.48)); border: 1px solid var(--line); border-radius: .55rem; text-align: left; }.denizen-notable-card:hover, .denizen-notable-card:focus-visible { color: var(--teal-deep); background: rgba(46,200,173,.08); border-color: rgba(46,200,173,.42); outline: none; }.denizen-notable-avatar { display: grid; place-items: center; width: 2.35rem; height: 2.35rem; color: var(--paper-2); background: #3f7f80; border: 2px solid rgba(211,155,79,.72); border-radius: 50%; box-shadow: 0 0 0 3px rgba(211,155,79,.1); font-family: Georgia, serif; font-size: 1rem; }.denizen-notable-avatar.gold { background: #756044; }.denizen-notable-avatar.violet { background: #655272; }.denizen-notable-avatar.rose { background: #704452; }.denizen-notable-copy { display: grid; gap: .16rem; min-width: 0; }.denizen-notable-copy strong, .denizen-notable-copy small, .denizen-notable-copy em, .denizen-notable-source { display: block; overflow-wrap: anywhere; }.denizen-notable-copy strong { color: var(--ink); font-size: .74rem; }.denizen-notable-copy small { color: var(--teal-deep); font-size: .62rem; line-height: 1.35; }.denizen-notable-copy em { color: var(--ink-soft); font-size: .62rem; font-style: normal; line-height: 1.4; }.denizen-notable-source { margin-top: .15rem; color: var(--ink-muted); font-size: .54rem; line-height: 1.3; }.denizen-notable-card:hover .denizen-notable-copy strong, .denizen-notable-card:focus-visible .denizen-notable-copy strong { color: var(--teal-deep); }
.denizen-encounter-list, .denizen-work-list { display: grid; gap: .55rem; margin-top: .75rem; }.denizen-encounter-card, .denizen-work-row { padding: .78rem; background: rgba(232,214,182,.22); border: 1px solid var(--line); border-radius: .5rem; }.denizen-encounter-card.is-private-note { background: rgba(211,155,79,.08); border-style: dashed; }.denizen-encounter-head { display: flex; justify-content: space-between; gap: .75rem; align-items: start; }.denizen-encounter-head h4 { margin: .28rem 0 0; color: var(--ink); font-size: .8rem; }.denizen-encounter-card > p, .denizen-work-row > div > p { margin: .55rem 0; color: var(--ink-soft); font-size: .72rem; line-height: 1.5; white-space: pre-wrap; }.denizen-encounter-card > small, .denizen-work-row small { color: var(--ink-muted); font-size: .58rem; line-height: 1.35; }.denizen-encounter-card .text-button { margin-top: .55rem; padding: 0; }.denizen-note-actions { display: flex; flex-wrap: wrap; gap: .7rem; }.denizen-encounter-action { display: flex; align-items: center; gap: .7rem; margin-top: .8rem; }.denizen-work-row { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 1rem; }.denizen-work-row h3 { margin: .28rem 0 0; font-size: .82rem; }.denizen-work-row .tiny-label { margin-left: .45rem; }.denizen-work-row.work-focus { border-color: rgba(46,200,173,.75); box-shadow: 0 0 0 3px rgba(46,200,173,.12); }.denizen-work-row .contribution-actions { display: flex; flex-wrap: wrap; align-content: start; justify-content: end; gap: .5rem; }.denizen-work-shelf { margin-top: 1rem; }.denizen-note-history { margin-top: .8rem; padding-top: .7rem; border-top: 1px solid var(--line); }.denizen-note-history summary { cursor: pointer; color: var(--ink-soft); font-size: .68rem; }.revision-history-list { display: grid; gap: .45rem; margin-top: .6rem; }.revision-history-row { padding: .6rem; background: rgba(232,214,182,.18); border: 1px solid var(--line); border-radius: .4rem; }.revision-history-row > div { display: flex; align-items: center; gap: .5rem; flex-wrap: wrap; }.revision-history-row strong { color: var(--ink); font-size: .68rem; }.revision-history-row p { margin: .35rem 0 0; color: var(--ink-soft); font-size: .65rem; line-height: 1.4; }.revision-history-row small { color: var(--ink-muted); font-size: .58rem; }.revision-change-summary { display: block; margin-top: .35rem; color: var(--teal); }
.denizen-discovery { display: grid; gap: 1rem; margin-top: 1.15rem; padding: 1.15rem; background: linear-gradient(145deg, rgba(232,214,182,.42), rgba(255,255,255,.55)); border-color: rgba(125,102,65,.22); }.denizen-discovery-header { display: flex; justify-content: space-between; gap: 1rem; align-items: start; }.denizen-discovery-header h2 { margin: .2rem 0 .35rem; }.denizen-discovery-header p { max-width: 68ch; margin: 0; color: var(--ink-soft); font-size: .76rem; line-height: 1.5; }.denizen-discovery-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: .65rem; }.denizen-discovery-card { display: grid; gap: .5rem; min-width: 0; padding: .78rem; background: rgba(255,255,255,.48); border: 1px solid var(--line); border-radius: .5rem; }.denizen-discovery-head { display: flex; justify-content: space-between; gap: .7rem; align-items: start; }.denizen-discovery-head h3 { margin: .28rem 0 0; color: var(--ink); font-size: .78rem; }.denizen-discovery-card > p { margin: 0; color: var(--ink-soft); font-size: .69rem; line-height: 1.45; }.denizen-discovery-meta { display: flex; flex-wrap: wrap; gap: .35rem .7rem; color: var(--teal-deep); font-size: .59rem; line-height: 1.35; }.denizen-discovery-card .text-button { justify-self: start; padding: 0; font-size: .64rem; }.denizen-discovery-foot { margin: 0; color: var(--ink-muted); font-size: .63rem; line-height: 1.4; }
.trail-body-changes { display: grid; gap: .5rem; margin-top: .7rem; }.trail-body-changes > span { color: var(--ink-muted); }.trail-body-changes article { display: grid; gap: .25rem; padding: .55rem; border: 1px solid var(--line); border-radius: .4rem; background: rgba(232,214,182,.16); }.trail-body-changes article strong { color: var(--ink); font-size: .68rem; }.trail-body-changes del, .trail-body-changes ins { display: block; padding: .25rem .4rem; font-size: .64rem; line-height: 1.4; white-space: pre-wrap; text-decoration: none; }.trail-body-changes del { color: #8c514a; background: rgba(155, 77, 67, .1); }.trail-body-changes ins { color: #276e5e; background: rgba(46, 200, 173, .12); }.trail-body-changes article small { color: var(--ink-muted); font-size: .58rem; }
.contribution-history { margin: .9rem 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.contribution-history summary { display: flex; justify-content: space-between; gap: .8rem; align-items: center; padding: .7rem 0; cursor: pointer; list-style: none; }
.contribution-history summary::-webkit-details-marker { display: none; }
.contribution-history summary > span:first-child { display: grid; gap: .18rem; }
.contribution-history-list { display: grid; gap: .45rem; padding: 0 0 .75rem; }
.contribution-history-list article { padding: .55rem .65rem; background: rgba(232,214,182,.16); border: 1px solid var(--line); border-radius: .4rem; }
.contribution-history-list article > div { display: flex; justify-content: space-between; gap: .7rem; }
.contribution-history-list article strong { font-size: .68rem; text-transform: capitalize; }
.contribution-history-list article small, .contribution-history-list article p { margin: .2rem 0 0; color: var(--ink-muted); font-size: .6rem; line-height: 1.4; }
.contribution-history-change { display: block; color: var(--ink); }
.contribution-history-unchanged { display: block; opacity: .78; }
.revision-source-diff { display: grid; gap: .15rem; }
.revision-source-diff span { display: block; }
.revision-diff { margin-top: .45rem; border-top: 1px solid var(--line); padding-top: .35rem; }
.revision-diff summary { cursor: pointer; color: var(--ink); font-size: .62rem; }
.revision-diff ul { list-style: none; margin: .35rem 0 0; padding: 0; display: grid; gap: .15rem; font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: .58rem; white-space: pre-wrap; overflow-wrap: anywhere; }
.revision-line { display: grid; grid-template-columns: 1rem 1fr; gap: .25rem; padding: .2rem .25rem; border-radius: .25rem; }
.revision-line-added { background: rgba(74, 124, 88, .12); color: #2f6840; }
.revision-line-removed { background: rgba(164, 76, 66, .1); color: #8e4039; }
.revision-diff > small { display: block; margin-top: .35rem; color: var(--ink-muted); font-size: .56rem; }
.denizen-proposal-review-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .55rem; margin: .85rem 0; }.denizen-proposal-review-facts span { display: grid; gap: .2rem; padding: .6rem; background: rgba(232,214,182,.2); border: 1px solid var(--line); border-radius: .45rem; color: var(--ink-soft); font-size: .68rem; }.denizen-proposal-review-facts b { color: var(--ink-muted); font-size: .55rem; letter-spacing: .08em; text-transform: uppercase; }.work-inline-actions { display: flex; flex-wrap: wrap; gap: .6rem; margin-top: .75rem; }
.denizen-proposal-history { margin: .85rem 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }.denizen-proposal-history summary { display: flex; justify-content: space-between; gap: .8rem; align-items: center; padding: .7rem 0; cursor: pointer; list-style: none; }.denizen-proposal-history summary::-webkit-details-marker { display: none; }.denizen-proposal-history summary > span:first-child { display: grid; gap: .2rem; }.denizen-proposal-history-list { display: grid; gap: .45rem; padding: 0 0 .75rem; }.denizen-proposal-history-list article { padding: .55rem .65rem; background: rgba(232,214,182,.16); border: 1px solid var(--line); border-radius: .4rem; }.denizen-proposal-history-list article > div { display: flex; justify-content: space-between; gap: .7rem; }.denizen-proposal-history-list article strong { font-size: .68rem; text-transform: capitalize; }.denizen-proposal-history-list article small, .denizen-proposal-history-list article p { margin: .2rem 0 0; color: var(--ink-muted); font-size: .6rem; line-height: 1.4; }

@media (max-width: 760px) {
  .app-shell { display: block; }
  .site-footer { padding: .85rem 1rem 5rem; }
  .rail { position: fixed; z-index: 10; left: 0; right: 0; bottom: 0; top: auto; display: flex; align-items: center; height: 66px; padding: .4rem .65rem; border-top: 1px solid var(--line-light); border-right: 0; }
  .brand, .rail-footer, .rail-label { display: none; }
  .nav-list { display: flex; justify-content: space-around; width: 100%; }
  .nav-button { width: auto; min-width: 3.2rem; padding: .45rem .65rem; }
  .nav-button span:not(.nav-icon) { display: none; }
  .content-wrap { padding-bottom: 66px; }
  .topbar { padding: .7rem .85rem; }
  .search-form { width: 100%; }
  .top-actions .profile-chip span { display: none; }
  main { padding: 1.15rem .85rem 2rem; }
  .hero { grid-template-columns: 1fr; min-height: auto; }
  .hero-art { position: absolute; right: -35px; bottom: -42px; opacity: .23; transform: scale(.75); }
  .dashboard-grid, .view-grid, .guild-detail-grid { grid-template-columns: 1fr; }
  .archive-library-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .chronicle-lane-strip { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .chronicle-charter { grid-template-columns: auto minmax(0,1fr); }
  .chronicle-charter > .seal { grid-column: 2; justify-self: start; }
  .chronicle-reading-law { display: grid; }
  .record-ooc-body dl { grid-template-columns: 1fr; }
  .record-source-list li { grid-template-columns: auto minmax(0,1fr); }
  .record-source-list li > .text-button { grid-column: 2; justify-self: start; }
  .mailbox-layout, .songbook-layout, .stats-grid { grid-template-columns: 1fr; }
  .gallery-layout-masonry .gallery-grid { columns: 1; }
  .missive-bulk-undo { display: grid; }
  .missive-bulk-undo-actions { justify-content: start; }
  .travel-panel, .destination-card { grid-template-columns: auto minmax(0,1fr); }
  .travel-panel > button, .destination-card > button { grid-column: 2; justify-self: start; }
  .verified-badge { margin-left: 0; }
  .letter-actions .text-button { margin-left: 0; }
  .record-strip { grid-template-columns: 1fr; }
  .guild-detail-hero { grid-template-columns: 1fr; }
  .guild-ledger-summary, .reconciliation-counts, .ledger-analytics-kpis, .ledger-analytics-months { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .ledger-analytics-variance { grid-template-columns: 1fr; }
  .guild-measure-row { grid-template-columns: 1fr 1fr; }
  .guild-measure-remove { justify-self: start; }
  .guild-measure-read-row { grid-template-columns: 1fr; gap: .15rem; }
  .view-header { display: block; }
  .view-tools { margin-top: .8rem; }
  .hall-grid { grid-template-columns: 1fr; }
  .ledger-card { grid-template-columns: 1fr; }
  .ledger-portrait { min-height: 150px; }
  .ledger-copy h2 { font-size: 1.7rem; }
  .ledger-distinction, .quiet-setting { align-items: flex-start; flex-direction: column; }
  .character-banner, .character-layout, .settings-layout { grid-template-columns: 1fr; }
  .closure-count-list { grid-template-columns: 1fr; }
  .closure-actions { justify-content: flex-start; }
  .character-portrait { width: 120px; height: 140px; }
  .notice-stale-banner { grid-template-columns: auto minmax(0,1fr); }
  .notice-stale-banner .outline-button { grid-column: 2; justify-self: start; }
  .notice-held-actions { grid-column: 2; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}

@media (max-width: 760px) {
  .featured-editor-row { grid-template-columns: auto auto minmax(0, 1fr) auto; }
  .featured-editor-row .danger-text { grid-column: 3 / -1; justify-self: start; }
  .featured-editor-add { grid-template-columns: 1fr; align-items: stretch; }
}

/* Character-first profile device and Campfire wall */
.profile-device { position: relative; padding: clamp(.8rem, 2vw, 1.25rem); background: linear-gradient(145deg, rgba(19,36,58,.08), rgba(46,200,173,.07)), rgba(251,245,232,.45); border: 1px solid rgba(19,36,58,.12); border-radius: 1.15rem; box-shadow: 0 16px 42px rgba(19,36,58,.11), inset 0 0 0 1px rgba(255,255,255,.45); }
.profile-device.texture-vellum { background-image: radial-gradient(rgba(105,73,42,.11) .55px, transparent .65px), linear-gradient(145deg, rgba(19,36,58,.08), rgba(46,200,173,.07)); background-size: 7px 7px, auto; }
.profile-device.texture-midnight { background-image: radial-gradient(rgba(255,255,255,.1) .6px, transparent .7px), linear-gradient(145deg, rgba(19,36,58,.2), rgba(46,200,173,.08)); background-size: 9px 9px, auto; }
.profile-device.texture-embers { background-image: radial-gradient(circle at 18% 22%, rgba(208,130,60,.18), transparent 23%), radial-gradient(rgba(132,70,45,.08) .55px, transparent .7px), linear-gradient(145deg, rgba(92,49,36,.08), rgba(46,200,173,.05)); background-size: auto, 8px 8px, auto; }
.profile-device.texture-verdant { background-image: repeating-linear-gradient(120deg, rgba(55,112,83,.06) 0 1px, transparent 1px 13px), linear-gradient(145deg, rgba(19,36,58,.06), rgba(46,200,173,.1)); }
.device-caption { display: flex; justify-content: space-between; gap: 1rem; padding: .15rem .45rem .85rem; color: #75868a; font: 700 .61rem ui-sans-serif, system-ui, sans-serif; letter-spacing: .12em; text-transform: uppercase; }
.device-caption span:last-child { color: var(--teal-deep); }
.profile-device .character-banner { margin-bottom: 1.15rem; }
.character-songbook { display: grid; grid-template-columns: auto minmax(0,1fr) auto auto; gap: .75rem; align-items: center; margin: -0.2rem 0 1.15rem; padding: .75rem .9rem; background: rgba(19,36,58,.96); border: 1px solid rgba(46,200,173,.28); border-radius: .7rem; box-shadow: var(--shadow-soft); }
.songbook-strip-mark { display: grid; place-items: center; width: 2.35rem; height: 2.35rem; color: var(--night); background: linear-gradient(145deg, var(--gold-light), var(--gold)); border-radius: .55rem; font-size: 1.25rem; }
.songbook-strip-copy { min-width: 0; display: grid; gap: .12rem; }
.songbook-strip-copy .eyebrow { margin: 0; color: #8fd5c7; font-size: .57rem; }
.songbook-strip-copy strong { overflow: hidden; color: #f4e3b9; text-overflow: ellipsis; white-space: nowrap; font-size: .88rem; }
.songbook-strip-copy small { overflow: hidden; color: #bfd5d0; text-overflow: ellipsis; white-space: nowrap; font-size: .68rem; }
.character-songbook .play-button { width: 2.2rem; height: 2.2rem; }
.songbook-strip-link { color: #b6ddd3; white-space: nowrap; }
.songbook-strip-link:hover { color: #fff; }
.empty-songbook { background: rgba(232,214,182,.34); border-color: var(--line); }.empty-songbook .songbook-strip-mark { color: var(--teal-deep); background: rgba(46,200,173,.12); }.empty-songbook .songbook-strip-copy strong { color: #f4e3b9; }.empty-songbook .songbook-strip-copy small { color: #bfd5d0; }.npc-songbook { opacity: .9; }
.profile-presence { display: inline-flex; align-items: center; padding: .55rem .75rem; color: #c8e8dc; background: rgba(46,200,173,.12); border: 1px solid rgba(46,200,173,.3); border-radius: .45rem; font: 700 .7rem ui-sans-serif, system-ui, sans-serif; }
.character-page .character-main { min-width: 0; }
.character-page .journal-feature { min-height: 560px; }
.character-page .journal-feature .journal-entry { min-height: 150px; }
.guild-device { display: grid; grid-template-columns: auto minmax(0,1fr); gap: 1rem; align-items: start; margin-bottom: 1.15rem; padding: 1.25rem; color: var(--paper-2); background: linear-gradient(125deg, rgba(12,31,48,.98), rgba(26,74,78,.96)); border: 1px solid rgba(46,200,173,.25); border-radius: .9rem; box-shadow: var(--shadow); }
.guild-device-mark { display: grid; place-items: center; width: 3.25rem; height: 3.25rem; color: var(--night); background: radial-gradient(circle, var(--gold-light) 0 35%, var(--gold) 36% 58%, transparent 59%), var(--teal); border-radius: 50%; font-size: 1.35rem; box-shadow: 0 0 0 7px rgba(232,173,89,.1); }
.guild-device h2 { margin: .25rem 0 .35rem; color: var(--gold-light); }
.guild-device p { max-width: 72ch; margin-bottom: .8rem; color: #c3d9d4; line-height: 1.55; }
.ledger-actions { display: flex; flex-wrap: wrap; gap: .55rem; align-items: center; }
.work-banner { display: grid; grid-template-columns: auto minmax(0,1fr); gap: 1rem; align-items: start; margin-bottom: 1.15rem; padding: 1.25rem; color: var(--paper-2); background: linear-gradient(125deg, rgba(12,31,48,.98), rgba(67,53,73,.96)); border: 1px solid rgba(232,173,89,.3); border-radius: .9rem; box-shadow: var(--shadow); }
.work-banner-mark { display: grid; place-items: center; width: 3.25rem; height: 3.25rem; color: var(--night); background: radial-gradient(circle, var(--gold-light) 0 35%, var(--gold) 36% 58%, transparent 59%), var(--teal); border-radius: 50%; font-size: 1.35rem; box-shadow: 0 0 0 7px rgba(232,173,89,.1); }
.work-banner h2 { margin: .25rem 0 .35rem; color: var(--gold-light); }
.work-banner p { max-width: 76ch; margin: 0; color: #c3d9d4; line-height: 1.55; }
.work-metrics { display: flex; flex-wrap: wrap; gap: .65rem; margin-top: 1rem; }
.work-metrics span { display: grid; gap: .12rem; min-width: 7.25rem; padding: .6rem .7rem; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.13); border-radius: .5rem; }
.work-metrics strong { color: #f4e3b9; font-size: 1.2rem; }
.work-metrics small { color: #a9c0bd; font-size: .65rem; }
.work-layout { display: grid; grid-template-columns: minmax(250px,.75fr) minmax(0,1.25fr); gap: 1.15rem; align-items: start; }
.work-role-shelf, .work-desk { min-width: 0; }
.work-role-list { display: grid; gap: .35rem; }
.work-role { display: grid; grid-template-columns: auto minmax(0,1fr) auto; gap: .65rem; align-items: center; width: 100%; padding: .7rem .55rem; color: var(--ink); background: transparent; border: 1px solid transparent; border-radius: .5rem; text-align: left; }
.work-role:hover, .work-role.active { color: var(--teal-deep); background: rgba(46,200,173,.09); border-color: rgba(46,200,173,.24); }
.work-role-icon { display: grid; place-items: center; width: 2rem; height: 2rem; color: var(--teal-deep); background: rgba(46,200,173,.11); border-radius: .45rem; font-size: 1rem; }
.work-role-icon img { display: block; width: 1.8rem; height: 1.8rem; }
.work-role strong, .work-role small { display: block; }
.work-role strong { font-size: .78rem; }
.work-role small { margin-top: .14rem; color: var(--ink-soft); font-size: .65rem; }
.work-role b { max-width: 6rem; color: #7e8c90; font: 700 .58rem/1.25 ui-sans-serif, system-ui, sans-serif; text-align: right; }
.work-shelf-note { margin: .85rem 0 0; padding-top: .75rem; color: var(--ink-soft); border-top: 1px solid var(--line); font-size: .7rem; line-height: 1.45; }
.work-desk-description { max-width: 62ch; color: var(--ink-soft); line-height: 1.6; }
.work-desk-actions { display: flex; flex-wrap: wrap; gap: .55rem; margin: 1rem 0 .5rem; }
.handover-note { margin: .85rem 0 1.1rem; padding: .85rem 1rem; border: 1px solid rgba(211,155,79,.35); background: rgba(211,155,79,.08); border-radius: 10px; }
.handover-note p { margin: .35rem 0; color: var(--ink-soft); line-height: 1.5; }
.handover-note small { color: #8b9898; font-size: .7rem; }
.work-queue-heading { margin: 1.2rem 0 .55rem; }
.work-queue-heading h3 { margin: .15rem 0 0; }
.work-task-list { display: grid; gap: .35rem; }
.work-task { display: grid; grid-template-columns: 2rem minmax(0,1fr) auto; gap: .65rem; align-items: center; width: 100%; padding: .72rem .6rem; color: var(--ink); background: rgba(232,214,182,.2); border: 1px solid var(--line); border-radius: .5rem; text-align: left; }
.work-task:hover { color: var(--teal-deep); border-color: rgba(46,200,173,.45); background: rgba(46,200,173,.08); }
.task-number { color: #9a7544; font: 700 .68rem ui-sans-serif, system-ui, sans-serif; }
.work-task strong, .work-task small { display: block; }
.work-task strong { font-size: .78rem; }
.work-task small { margin-top: .16rem; color: var(--ink-soft); font-size: .65rem; }
.work-task > span:last-child { color: var(--teal-deep); font-size: 1.1rem; }
.work-boundary { display: grid; grid-template-columns: auto minmax(0,1fr) auto; gap: 1rem; align-items: center; margin-top: 1.15rem; padding: 1rem 1.15rem; border-color: rgba(232,173,89,.34); background: rgba(232,214,182,.24); }
.work-boundary-mark { display: grid; place-items: center; width: 2.7rem; height: 2.7rem; color: var(--gold); background: rgba(232,173,89,.13); border: 1px solid rgba(232,173,89,.35); border-radius: 50%; font-size: 1.25rem; }
.work-boundary h2 { margin: .2rem 0 .35rem; color: var(--ink); font-size: 1.2rem; }
.work-boundary p { max-width: 72ch; margin: 0; color: var(--ink-soft); font-size: .78rem; line-height: 1.5; }
.ledger-dashboard-grid { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(300px,.9fr); gap: 1.15rem; }
.watched-fires, .ledger-guidance { min-width: 0; }
.watched-fire-list { display: grid; gap: .4rem; }
.watched-fire { display: grid; grid-template-columns: auto minmax(0,1fr) auto; gap: .65rem; align-items: center; padding: .72rem .25rem; border-bottom: 1px solid var(--line); }
.watched-fire:last-child { border-bottom: 0; }
.watched-fire small, .watched-fire p { display: block; margin: .15rem 0 0; color: var(--ink-soft); font-size: .7rem; line-height: 1.35; }
.watched-fire p { font-size: .73rem; }
.watch-name { padding: 0; color: var(--ink); background: transparent; border: 0; font-weight: 700; text-align: left; }
.watch-name:hover { color: var(--teal-deep); text-decoration: underline; }
.attendee-count { display: grid; place-items: center; min-width: 2.7rem; min-height: 2.7rem; color: var(--teal-deep); background: rgba(46,200,173,.1); border: 1px solid rgba(46,200,173,.2); border-radius: .6rem; font: 700 .92rem ui-sans-serif, system-ui, sans-serif; }
.attendee-count small { display: block; margin: 0; color: var(--ink-soft); font-size: .53rem; letter-spacing: .02em; }
.presence-watch-mark { width: 1.45rem; height: 1.45rem; flex: 0 0 auto; object-fit: contain; }
.mail-safety-shelf .card-title-row > .shelf-mark, .campfire-safety .card-title-row > .shelf-mark, .campfire-audit .card-title-row > .shelf-mark { width: 2rem; height: 2rem; flex: 0 0 auto; object-fit: contain; }
.ledger-drawer { display: flex; width: 100%; gap: .7rem; align-items: center; padding: .72rem 0; color: var(--ink); background: transparent; border: 0; border-bottom: 1px solid var(--line); text-align: left; }
.ledger-drawer:hover { color: var(--teal-deep); }
.ledger-drawer > span:first-child { display: grid; place-items: center; width: 1.8rem; height: 1.8rem; color: var(--teal-deep); background: rgba(46,200,173,.1); border-radius: .45rem; }
.ledger-drawer strong, .ledger-drawer small { display: block; }
.ledger-drawer small { margin-top: .16rem; color: var(--ink-soft); font-size: .68rem; }
.ledger-note { display: grid; gap: .18rem; margin-top: .9rem; padding: .75rem; color: var(--ink-soft); background: rgba(232,214,182,.28); border-left: 3px solid var(--gold); border-radius: .1rem .5rem .5rem .1rem; }
.ledger-note strong { color: var(--ink); font-size: .8rem; }
.ledger-note small { font-size: .68rem; line-height: 1.35; }
.campfire-wall { margin-top: 1.15rem; overflow: hidden; }
.wall-header { display: flex; justify-content: space-between; align-items: start; gap: 1rem; margin: -1.15rem -1.15rem 0; padding: 1.1rem 1.15rem; background: linear-gradient(110deg, rgba(233,203,150,.34), rgba(255,255,255,.12)); border-bottom: 1px solid var(--line); }
.wall-header h2 { margin: .2rem 0 .3rem; }
.wall-header p { margin: 0; color: var(--ink-soft); font-size: .82rem; line-height: 1.4; }
.wall-ownerbar, .wall-visitor-note { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .7rem; align-items: center; padding: .7rem .8rem; margin-top: .85rem; background: rgba(46,200,173,.07); border: 1px solid rgba(46,200,173,.18); border-radius: .55rem; }
.wall-ward-summary, .wall-visitor-note > span, .wall-away > div { display: flex; align-items: center; gap: .6rem; min-width: 0; }
.wall-ward-summary > span, .wall-visitor-note > span { display: grid; gap: .16rem; }
.campfire-reply-ward-mark { width: 2.25rem; height: 2.25rem; flex: 0 0 auto; object-fit: contain; }
.wall-away .campfire-reply-ward-mark { align-self: flex-start; }
.wall-revision-warning { display: flex; flex-wrap: wrap; align-items: center; gap: .55rem; margin-top: .65rem; padding: .6rem .7rem; border: 1px solid rgba(184,132,54,.38); border-left: 3px solid var(--gold-deep); border-radius: .45rem; background: rgba(184,132,54,.08); }.wall-revision-warning > div { display: grid; gap: .15rem; flex: 1 1 16rem; }.wall-revision-warning .shelf-mark { width: 2.1rem; height: 2.1rem; }
.wall-revision-warning strong { color: var(--ink); font-size: .76rem; }
.wall-revision-warning span { flex: 1 1 16rem; color: var(--ink-soft); font-size: .7rem; }
.wall-ownerbar > span { display: grid; gap: .16rem; }
.wall-ownerbar strong { font-size: .76rem; }
.wall-visitor-note { justify-content: flex-start; color: var(--ink-soft); font-size: .74rem; }
.wall-scroll { height: min(68vh, 680px); min-height: 560px; margin: .9rem -.1rem 0; overflow-y: auto; overscroll-behavior: contain; scroll-behavior: auto; background: rgba(255,255,255,.23); border: 1px solid rgba(19,36,58,.1); border-radius: .65rem; scrollbar-color: rgba(18,126,120,.45) rgba(19,36,58,.06); }
.wall-history-top { position: sticky; top: 0; z-index: 2; padding: .35rem .35rem 0; background: linear-gradient(var(--paper-2), rgba(251,245,232,.88) 70%, transparent); }
.wall-top-note { display: grid; gap: .15rem; margin: .4rem .45rem .65rem; padding: .8rem; color: #64757a; background: rgba(120,132,135,.08); border: 1px solid rgba(120,132,135,.2); border-radius: .5rem; }
.wall-top-note strong { color: var(--teal-deep); font-size: .75rem; }
.wall-top-note small { font-size: .68rem; }
.wall-archive-top { margin: .4rem .1rem .65rem; }
.wall-archive-stack { border-bottom: 1px solid var(--line); background: rgba(120,132,135,.035); }
.wall-message { display: grid; grid-template-columns: auto minmax(0,1fr); gap: .7rem; padding: .9rem 1rem; border-bottom: 1px solid var(--line); }
.wall-message.pinned { background: rgba(232,173,89,.08); }
.wall-message.hidden { background: rgba(140,151,154,.08); opacity: .78; }
.wall-message-body { min-width: 0; }
.wall-message-meta { display: flex; flex-wrap: wrap; align-items: center; gap: .45rem; }
.wall-message-meta strong { font-size: .82rem; }
.wall-message-meta time { color: #849195; font: .66rem ui-sans-serif, system-ui, sans-serif; }
.pin-mark { padding: .2rem .35rem; color: #986027; background: rgba(232,173,89,.17); border-radius: 99px; font: 700 .57rem ui-sans-serif, system-ui, sans-serif; text-transform: uppercase; }
.edited-mark, .hidden-mark { color: #8b9898; font: .62rem ui-sans-serif, system-ui, sans-serif; text-transform: uppercase; letter-spacing: .08em; }
.hidden-mark { color: #c86868; }
.wall-message p { margin: .3rem 0 .45rem; color: var(--ink-soft); font-size: .86rem; line-height: 1.5; }
.wall-message-actions { display: flex; flex-wrap: wrap; gap: .7rem; }
.wall-message-actions .text-button { font-size: .65rem; }
.danger-text { color: var(--rose); }
.letter-thread { display: grid; gap: .8rem; }
.thread-letter { padding: .9rem 1rem; border: 1px solid var(--line); border-radius: 10px; background: rgba(255,255,255,.03); }
.thread-letter.selected { border-color: rgba(211,155,79,.5); background: rgba(211,155,79,.07); }
.thread-letter-head { display: flex; align-items: center; gap: .6rem; margin-bottom: .55rem; }
.thread-letter-head div { display: grid; gap: .15rem; }
.thread-letter-head small { color: #8b9898; font-size: .7rem; }
.wall-composer { margin-top: .8rem; padding: .7rem 0 0; border-top: 1px solid var(--line); }
.wall-away { margin: .8rem 0 0; padding: .75rem .8rem; border-radius: .5rem; }
.wall-footer-note, .wall-scale-note { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .5rem; margin-top: .8rem; padding-top: .65rem; color: #7a898e; border-top: 1px solid var(--line); font: .68rem ui-sans-serif, system-ui, sans-serif; }
.wall-scale-note span:last-child { color: var(--teal-deep); }
.npc-campfire { min-height: 710px; }
.npc-campfire .wall-header { min-height: 120px; }
.quiet-presence { color: #7a898e; background: rgba(120,132,135,.1); border-color: rgba(120,132,135,.2); }
.npc-fire-empty { display: grid; place-items: center; gap: 1rem; min-height: 520px; padding: 2rem; color: var(--ink-soft); text-align: center; background: radial-gradient(circle at 50% 45%, rgba(120,132,135,.1), transparent 45%), rgba(120,132,135,.035); border-bottom: 1px solid var(--line); }
.empty-fire-mark { display: grid; place-items: center; width: 5.5rem; height: 5.5rem; color: #879396; border: 1px solid rgba(120,132,135,.35); border-radius: 50%; font-size: 2.5rem; filter: grayscale(1); opacity: .72; }
.npc-fire-empty h3 { margin: .6rem 0 .35rem; color: var(--ink); font-size: 1.35rem; }
.npc-fire-empty p { max-width: 38ch; margin: 0; line-height: 1.55; }
.npc-record-shell { min-height: 125px; }
.stats-widget { padding: .9rem; }
.stats-widget .card-title-row { margin-bottom: .7rem; }
.stats-widget .card-title-row h2 { font-size: 1.05rem; }
.mini-stat-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: .45rem; }
.mini-stat-grid > div { display: grid; gap: .18rem; padding: .55rem; background: rgba(255,255,255,.42); border: 1px solid var(--line); border-radius: .45rem; }
.mini-stat-grid span { color: var(--ink-soft); font: 700 .58rem ui-sans-serif, system-ui, sans-serif; letter-spacing: .08em; text-transform: uppercase; }
.mini-stat-grid strong { color: var(--ink); font-size: .8rem; }
.stats-widget-note { margin: .7rem 0; color: var(--ink-soft); font-size: .7rem; line-height: 1.45; }
.delete-dialog { width: min(520px, 100%); }
.delete-dialog .modal-head { background: linear-gradient(115deg, #392432, #6a3b43); }
.delete-dialog .modal-head h2 { color: #ffe1bd; }
.delete-confirm-button { background: #d17b70; border-color: #d17b70; }
.delete-confirm-button:hover { background: #e29584; }

/* Research desk, static Atlas, and Relationship Explorer */
.research-desk-hero { display: grid; grid-template-columns: auto minmax(0,1fr) minmax(220px,.65fr); gap: 1rem; align-items: start; margin-bottom: 1.15rem; padding: 1.25rem; color: var(--paper-2); background: linear-gradient(125deg, rgba(12,31,48,.98), rgba(73,58,57,.95)); border: 1px solid rgba(232,173,89,.32); border-radius: .9rem; box-shadow: var(--shadow); }
.desk-seal { display: grid; place-items: center; width: 3.4rem; height: 3.4rem; color: var(--night); background: radial-gradient(circle, var(--gold-light) 0 33%, var(--gold) 34% 58%, transparent 59%), var(--teal); border-radius: 50%; font-size: 1.35rem; box-shadow: 0 0 0 7px rgba(232,173,89,.1); }
.research-desk-hero h2 { margin: .25rem 0 .35rem; color: var(--gold-light); }
.research-desk-hero p { max-width: 70ch; margin: 0 0 .8rem; color: #d1dfd8; line-height: 1.55; }
.desk-status { display: grid; gap: .3rem; align-self: stretch; padding: .85rem; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.14); border-radius: .6rem; }
.desk-status strong { color: #f4e3b9; font-size: .82rem; line-height: 1.35; }
.desk-status small { color: #b9cfca; font-size: .68rem; }
.research-board { display: grid; grid-template-columns: minmax(0,1.4fr) minmax(290px,.6fr); gap: 1.15rem; align-items: start; }
.research-investigation { min-width: 0; padding: 1.15rem; background: linear-gradient(145deg, rgba(227,211,179,.45), rgba(255,255,255,.36)); border-color: rgba(125,102,65,.23); }
.research-question { margin: -.1rem 0 1rem; color: var(--ink-soft); font-style: italic; }
.research-board-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: .75rem; }
.desk-map-card, .desk-people-card, .desk-notes-card { min-width: 0; padding: .85rem; background: rgba(255,255,255,.45); border: 1px solid rgba(125,102,65,.2); border-radius: .65rem; }
.desk-notes-card { grid-column: 1 / -1; }
.desk-card-head { display: flex; justify-content: space-between; align-items: start; gap: .7rem; margin-bottom: .7rem; }
.desk-card-head h3 { margin: .2rem 0 0; font-size: 1rem; }
.icon-button.small { width: 2rem; height: 2rem; font-size: .95rem; }
.desk-map-thumb { position: relative; min-height: 145px; margin: 0 0 .7rem; overflow: hidden; background: linear-gradient(140deg, #cdbb91, #8ca49b 46%, #6f8179); border: 1px solid rgba(19,36,58,.18); border-radius: .5rem; }
.atlas-mini-art { background-image: radial-gradient(circle at 18% 28%, rgba(255,245,197,.65) 0 2%, transparent 2.5%), radial-gradient(circle at 74% 60%, rgba(255,245,197,.55) 0 1.5%, transparent 2%), linear-gradient(145deg, rgba(50,84,73,.2), transparent 38%), repeating-linear-gradient(28deg, rgba(68,70,49,.16) 0 1px, transparent 1px 17px); }
.map-route { position: absolute; height: 2px; background: rgba(115,73,42,.6); transform-origin: left; }
.route-one { left: 9%; top: 62%; width: 77%; transform: rotate(-13deg); }
.route-two { left: 22%; top: 80%; width: 58%; transform: rotate(-48deg); }
.map-dot { position: absolute; color: #a9564c; font-size: 2.2rem; line-height: 1; text-shadow: 0 1px 2px rgba(0,0,0,.35); }
.dot-one { left: 20%; top: 49%; }.dot-two { left: 66%; top: 29%; }.dot-three { left: 77%; top: 69%; }
.map-thumb-label { position: absolute; right: .45rem; bottom: .4rem; padding: .25rem .38rem; color: #f9edc9; background: rgba(19,36,58,.68); border-radius: .3rem; font: 700 .56rem ui-sans-serif, system-ui, sans-serif; letter-spacing: .08em; text-transform: uppercase; }
.desk-map-card p { min-height: 3rem; color: var(--ink-soft); font-size: .72rem; line-height: 1.4; }
.desk-portrait-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: .4rem; margin-bottom: .75rem; }
.desk-portrait { display: grid; gap: .3rem; justify-items: center; min-width: 0; padding: .45rem .2rem; color: var(--ink); background: rgba(232,214,182,.28); border: 1px solid transparent; border-radius: .5rem; text-align: center; }
.desk-portrait:hover { border-color: rgba(46,200,173,.38); background: rgba(46,200,173,.08); }
.desk-portrait strong, .desk-portrait small { display: block; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.desk-portrait strong { font-size: .62rem; }.desk-portrait small { color: var(--ink-soft); font-size: .56rem; }
.desk-portrait .mini-portrait { pointer-events: none; }
.desk-note-list { display: grid; gap: .4rem; margin: 0 0 .8rem; padding: 0; list-style: none; }
.desk-note-list li { display: grid; grid-template-columns: 1.5rem minmax(0,1fr); gap: .45rem; align-items: start; padding: .35rem 0; border-bottom: 1px solid rgba(125,102,65,.17); }
.desk-note-list li:last-child { border-bottom: 0; }.desk-note-list span { color: #9a7544; font: 700 .63rem ui-sans-serif, system-ui, sans-serif; }.desk-note-list p { margin: 0; color: var(--ink-soft); font-size: .72rem; line-height: 1.35; }
.research-side { display: grid; gap: 1.15rem; min-width: 0; }.research-side .watched-fires, .research-side .ledger-drawers { padding: 1.15rem; }
.atlas-view-header { align-items: start; }.atlas-header-tools { display: flex; align-items: center; gap: .55rem; }
.world-map-button { color: var(--gold-light); background: linear-gradient(145deg, #1d5360, #173044); border-color: rgba(232,173,89,.4); box-shadow: 0 0 0 5px rgba(232,173,89,.08); }
.atlas-breadcrumbs { display: flex; flex-wrap: wrap; align-items: center; gap: .42rem; margin: -.2rem 0 .85rem; color: var(--ink-soft); font-size: .73rem; }.atlas-breadcrumbs .current { color: var(--ink); font-weight: 700; text-decoration: none; pointer-events: none; }
.atlas-shell { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(290px,.65fr); gap: 1.15rem; padding: 1rem; background: linear-gradient(145deg, rgba(227,211,179,.47), rgba(255,255,255,.45)); border-color: rgba(125,102,65,.24); }
.atlas-map-column { min-width: 0; }.atlas-map-surface { position: relative; min-height: 560px; overflow: hidden; background: #9baf9e; border: 1px solid rgba(19,36,58,.18); border-radius: .75rem; box-shadow: inset 0 0 50px rgba(19,36,58,.18); }
.atlas-map-surface.atlas-drill-in { animation: atlasDrillIn .52s ease both; }@keyframes atlasDrillIn { from { opacity: .2; transform: scale(.94); } to { opacity: 1; transform: scale(1); } }
.atlas-map-caption { position: absolute; right: .75rem; bottom: .7rem; left: .75rem; z-index: 4; display: flex; justify-content: space-between; gap: .8rem; align-items: center; padding: .55rem .7rem; color: #f9edc9; background: rgba(19,36,58,.78); border: 1px solid rgba(255,255,255,.18); border-radius: .45rem; }.atlas-map-caption strong { font-size: .7rem; font-weight: 600; }
.atlas-map-key { display: flex; flex-wrap: wrap; gap: .8rem; padding: .65rem .15rem 0; color: var(--ink-soft); font-size: .63rem; }.atlas-map-key span { display: inline-flex; align-items: center; gap: .3rem; }.atlas-map-key i { display: inline-block; width: .7rem; height: .7rem; border-radius: 50%; }.key-region { background: #1f7770; }.key-pin { background: #a85649; }.key-community { background: var(--gold); }
.atlas-folio { min-width: 0; padding: .95rem; background: rgba(255,255,255,.45); border: 1px solid rgba(125,102,65,.2); border-radius: .65rem; }.atlas-folio > p { color: var(--ink-soft); font-size: .79rem; line-height: 1.5; }.atlas-region-list { display: grid; gap: .35rem; margin-top: .8rem; }.atlas-region-row { display: flex; justify-content: space-between; gap: .7rem; align-items: center; padding: .7rem; color: var(--ink); background: rgba(232,214,182,.3); border: 1px solid var(--line); border-radius: .5rem; text-align: left; }.atlas-region-row:hover { color: var(--teal-deep); border-color: rgba(46,200,173,.4); }.atlas-region-row strong, .atlas-region-row small { display: block; }.atlas-region-row strong { font-size: .76rem; }.atlas-region-row small { margin-top: .15rem; color: var(--ink-soft); font-size: .64rem; line-height: 1.3; }.atlas-pin-preview { display: grid; gap: .65rem; }.atlas-pin-image { display: grid; place-items: center; min-height: 135px; color: #f8e8ba; background: linear-gradient(145deg, #1b4251, #6e8171); border-radius: .55rem; font-size: 3rem; }.atlas-pin-image.teal { background: linear-gradient(145deg, #1e535d, #718e7c); }.atlas-pin-image.violet { background: linear-gradient(145deg, #4c3d59, #9f8d7e); }.atlas-pin-image.gold { background: linear-gradient(145deg, #68543c, #bf9c65); }.atlas-pin-preview p { margin: 0; color: var(--ink-soft); font-size: .78rem; line-height: 1.5; }.atlas-folio-note { margin-top: 1rem; padding-top: .75rem; border-top: 1px solid var(--line); }.atlas-folio-note p { margin: .25rem 0 0; color: var(--ink-soft); font-size: .68rem; line-height: 1.4; }
.atlas-text-itinerary { display: grid; grid-template-columns: minmax(210px,.55fr) minmax(0,1.45fr); gap: 1rem; margin-top: 1.15rem; padding: 1rem 1.15rem; }.atlas-text-itinerary h2 { margin: .2rem 0 .35rem; }.atlas-text-itinerary p { margin: 0; color: var(--ink-soft); font-size: .76rem; line-height: 1.45; }.atlas-itinerary-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .4rem; }.atlas-itinerary-list button { display: grid; gap: .2rem; padding: .65rem; color: var(--ink); background: rgba(232,214,182,.25); border: 1px solid var(--line); border-radius: .45rem; text-align: left; }.atlas-itinerary-list button:hover { color: var(--teal-deep); border-color: rgba(46,200,173,.42); }.atlas-itinerary-list strong { font-size: .75rem; }.atlas-itinerary-list small { color: var(--ink-soft); font-size: .64rem; line-height: 1.3; }
.relationship-layout { display: grid; grid-template-columns: minmax(0,1.3fr) minmax(300px,.7fr); gap: 1.15rem; align-items: start; }.relationship-board { min-width: 0; padding: 1.15rem; background: linear-gradient(145deg, rgba(28,57,70,.98), rgba(73,57,62,.96)); color: var(--paper-2); border-color: rgba(232,173,89,.32); }.relationship-board-head { display: flex; justify-content: space-between; gap: 1rem; align-items: start; padding-bottom: 1rem; border-bottom: 1px solid rgba(255,255,255,.14); }.relationship-board h2 { margin: .2rem 0 .2rem; color: #f4e3b9; }.relationship-board p { margin: 0; color: #bfd4cf; font-size: .78rem; }.relationship-tree { min-height: 520px; padding: 2rem .8rem 1.3rem; background: radial-gradient(circle at 50% 0, rgba(232,173,89,.18), transparent 38%); }.relationship-root-node { display: flex; justify-content: center; }.relationship-branches { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .55rem; margin-top: 2.3rem; }.relationship-branch { position: relative; display: grid; gap: .55rem; align-content: start; min-width: 0; padding-top: 1.4rem; }.relation-connector { position: absolute; top: -.1rem; left: 50%; width: 1px; height: 1.35rem; background: rgba(244,227,185,.68); }.relation-connector::before { content: ''; position: absolute; top: 0; left: -.9rem; width: 1.8rem; height: 1px; background: rgba(244,227,185,.68); }.relationship-branch-copy { display: grid; gap: .18rem; padding: .5rem .4rem; text-align: center; }.relation-label { color: #f4e3b9; font-size: .7rem; line-height: 1.25; }.relationship-branch-copy small { color: #a6c2ba; font-size: .58rem; }.relationship-node { display: flex; gap: .55rem; align-items: center; min-width: 0; padding: .55rem; color: var(--paper-2); background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.15); border-radius: .55rem; text-align: left; }.relationship-node:hover, .relationship-node:focus-visible { background: rgba(46,200,173,.18); border-color: rgba(143,213,199,.75); outline: none; }.relationship-node.pc { border-color: rgba(232,173,89,.55); }.relationship-node.npc { border-color: rgba(143,213,199,.38); }.relation-portrait { display: grid; place-items: center; flex: 0 0 auto; width: 2.4rem; height: 2.4rem; color: var(--night); background: var(--gold); border: 2px solid rgba(255,245,197,.78); border-radius: 50%; font-weight: 800; }.relation-portrait.teal { background: #3faaa0; }.relation-portrait.violet { background: #9b7fac; }.relation-portrait.rose { background: #d17b70; }.relationship-node strong, .relationship-node small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.relationship-node strong { color: #f8e8ba; font-size: .68rem; }.relationship-node small { margin-top: .16rem; color: #b8cec8; font-size: .56rem; }.relationship-legend { display: flex; flex-wrap: wrap; gap: .75rem; padding-top: .9rem; color: #b8cec8; border-top: 1px solid rgba(255,255,255,.14); font-size: .62rem; }.relationship-legend span { display: inline-flex; align-items: center; gap: .3rem; }.legend-line { display: inline-block; width: 1rem; height: 2px; background: #8fd5c7; }.legend-line.authored { background: var(--gold); }.legend-line.proposed { background: #d17b70; border-top: 1px dashed #f4e3b9; }
.relationship-node > span:last-child { min-width: 0; }.relationship-node strong, .relationship-node small { white-space: normal; overflow-wrap: anywhere; }
.relationship-fallback-pair { display: grid; gap: .35rem; align-items: center; }.relationship-fallback-arrow { display: grid; place-items: center; color: #f4e3b9; font-size: .8rem; }
.relationship-side { display: grid; gap: 1.15rem; min-width: 0; }.relationship-builder, .relationship-side-note { padding: 1.15rem; }.relationship-builder > p, .relationship-side-note p { color: var(--ink-soft); font-size: .75rem; line-height: 1.5; }.relationship-targets { display: grid; gap: .65rem; }.relationship-target { padding: .6rem; background: rgba(232,214,182,.22); border: 1px solid var(--line); border-radius: .5rem; }.relationship-target .relationship-node { color: var(--ink); background: rgba(255,255,255,.42); border-color: var(--line); }.relationship-target .relationship-node strong { color: var(--ink); }.relationship-target .relationship-node small { color: var(--ink-soft); }.relation-actions { display: flex; flex-wrap: wrap; gap: .3rem; margin-top: .45rem; }.relation-chip { padding: .32rem .42rem; color: var(--teal-deep); background: rgba(46,200,173,.08); border: 1px solid rgba(46,200,173,.25); border-radius: 99px; font: 700 .58rem ui-sans-serif, system-ui, sans-serif; }.relation-chip:hover { background: rgba(46,200,173,.18); border-color: rgba(46,200,173,.55); }.draft-relations { display: grid; gap: .35rem; margin-top: .8rem; padding-top: .7rem; border-top: 1px solid var(--line); }.draft-relations > div { display: grid; grid-template-columns: 1fr auto 1fr; gap: .35rem; align-items: center; padding: .45rem; background: rgba(232,214,182,.24); border-radius: .35rem; }.draft-relations strong { font-size: .62rem; }.draft-relations span { color: var(--teal-deep); font-size: .59rem; text-align: center; }.draft-relations small { grid-column: 1 / -1; color: var(--ink-soft); font-size: .58rem; }.relationship-side-note { background: linear-gradient(135deg, rgba(46,200,173,.08), rgba(232,173,89,.12)); border-color: rgba(46,200,173,.23); }.relationship-side-note h3 { margin: .2rem 0 .35rem; }.relationship-history-shelf { display: grid; gap: .7rem; padding: 1.15rem; background: rgba(232,214,182,.18); border: 1px solid var(--line); border-radius: .65rem; }.relationship-history-shelf h3 { margin: .2rem 0 .1rem; }.relationship-history-card { display: grid; gap: .55rem; padding: .7rem; background: rgba(255,255,255,.55); border: 1px solid var(--line); border-radius: .5rem; }.relationship-history-pair { display: grid; grid-template-columns: minmax(0,1fr) auto minmax(0,1fr); gap: .45rem; align-items: center; color: var(--teal-deep); font-size: .68rem; }.relationship-history-pair strong { overflow-wrap: anywhere; }.relationship-history-card p { margin: 0; color: var(--ink-soft); font-size: .68rem; }.relationship-history-card details { border-top: 1px solid var(--line); padding-top: .45rem; }.relationship-history-card summary { cursor: pointer; color: var(--teal-deep); font: 700 .62rem ui-sans-serif, system-ui, sans-serif; }.relationship-history-list { display: grid; gap: .4rem; margin-top: .5rem; }.relationship-history-row { display: grid; grid-template-columns: .55rem minmax(0,1fr); gap: .45rem; align-items: start; }.history-dot { width: .45rem; height: .45rem; margin-top: .2rem; background: var(--teal); border-radius: 50%; }.history-dot.revised { background: var(--gold); }.history-dot.withdrawn { background: #b36a60; }.relationship-history-row strong, .relationship-history-row small { display: block; }.relationship-history-row strong { color: var(--ink); font-size: .62rem; }.relationship-history-row small { margin-top: .12rem; color: var(--ink-soft); font-size: .56rem; }.relationship-history-row p { margin-top: .25rem; font-size: .6rem; }.relationship-history-actions { display: flex; flex-wrap: wrap; gap: .4rem; align-items: center; }.danger-text { color: #9e514b; }.relationship-history-card .seal { justify-self: start; }
.page-revisions { display: grid; gap: .65rem; margin-top: 1rem; padding-top: .9rem; border-top: 1px solid var(--line); }
.pattern-folio-shelf { display: grid; gap: .7rem; margin: 0 0 1rem; padding: .85rem; background: linear-gradient(145deg, rgba(46,200,173,.08), rgba(232,173,89,.1)); border: 1px solid rgba(46,200,173,.24); border-radius: .6rem; }
.pattern-folio-shelf > header { display: flex; justify-content: space-between; gap: .7rem; align-items: flex-start; }
.pattern-folio-shelf h3 { margin: .15rem 0 .2rem; font-size: .86rem; }
.pattern-folio-shelf p { margin: 0; color: var(--ink-soft); font-size: .68rem; line-height: 1.45; }
.pattern-folio-list { display: grid; gap: .45rem; }
.pattern-folio-row { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: .65rem; align-items: center; padding: .6rem .65rem; background: rgba(255,255,255,.46); border: 1px solid var(--line); border-radius: .45rem; }
.pattern-folio-row > div { min-width: 0; }
.pattern-folio-row strong, .pattern-folio-row small { display: block; overflow-wrap: anywhere; }
.pattern-folio-row strong { color: var(--ink); font-size: .68rem; }
.pattern-folio-row small { margin-top: .18rem; color: var(--ink-soft); font-size: .58rem; line-height: 1.35; }
.pattern-folio-actions { display: flex; flex-wrap: wrap; gap: .35rem; justify-content: flex-end; }
.pattern-folio-dialog { width: min(560px, calc(100vw - 2rem)); }
.pattern-folio-dialog .modal-body { display: grid; gap: .85rem; }
.pattern-folio-snapshot { display: grid; gap: .55rem; padding: .75rem; background: rgba(232,214,182,.25); border: 1px solid var(--line); border-radius: .5rem; }
.pattern-folio-snapshot strong { font-size: .74rem; }
.pattern-folio-snapshot small { color: var(--ink-soft); font-size: .62rem; line-height: 1.4; }
.pattern-folio-composition { display: flex; flex-wrap: wrap; gap: .35rem; }
.pattern-folio-composition span { padding: .3rem .45rem; color: var(--teal-deep); background: rgba(46,200,173,.08); border: 1px solid rgba(46,200,173,.24); border-radius: 999px; font: 700 .58rem ui-sans-serif, system-ui, sans-serif; }
.pattern-folio-boundary { padding: .65rem .75rem; color: var(--ink-soft); background: rgba(19,36,58,.05); border-left: 3px solid var(--gold); font-size: .64rem; line-height: 1.45; }
.pattern-folio-boundary strong { color: var(--ink); }
.page-workshop-state { display: flex; align-items: center; gap: .65rem; margin-bottom: .9rem; padding: .65rem .75rem; background: rgba(46,200,173,.08); border: 1px solid rgba(46,200,173,.24); border-radius: .5rem; }
.page-workshop-state > div { display: grid; gap: .15rem; }
.page-workshop-state strong { color: var(--ink); font-size: .76rem; }
.page-workshop-state small { color: var(--ink-soft); font-size: .64rem; line-height: 1.35; }
.page-preview-banner { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: .75rem; margin: 0 0 1rem; padding: .8rem .95rem; border: 1px solid rgba(211,155,79,.55); border-radius: .55rem; background: linear-gradient(120deg, rgba(39,61,65,.96), rgba(59,49,52,.92)); box-shadow: 0 10px 28px rgba(0,0,0,.18); }
.page-preview-banner:focus { outline: 2px solid var(--gold); outline-offset: 3px; }
.page-preview-banner > img { width: 2rem; height: 2rem; object-fit: contain; }
.page-preview-banner > div:nth-child(2) { display: grid; gap: .12rem; }
.page-preview-banner strong { color: var(--ink); font-size: .82rem; }
.page-preview-banner p { margin: 0; color: var(--ink-soft); font-size: .68rem; line-height: 1.45; }
.page-preview-actions { display: flex; align-items: center; gap: .45rem; flex-wrap: wrap; justify-content: flex-end; }
.preview-viewport-controls { display: flex; align-items: center; gap: .25rem; padding-right: .35rem; border-right: 1px solid rgba(248,232,186,.22); }
.preview-viewport-controls .tiny-label { margin-right: .2rem; }
.preview-viewport-controls .text-button.active { color: var(--gold); font-weight: 700; }
.preview-audience-controls { display: flex; align-items: center; gap: .25rem; padding-right: .35rem; border-right: 1px solid rgba(248,232,186,.22); }
.preview-audience-controls .tiny-label { margin-right: .2rem; }
.preview-audience-controls .text-button.active { color: var(--gold); font-weight: 700; }
.preview-viewport-compact { max-width: 440px; margin-inline: auto; box-shadow: 0 0 0 1px rgba(211,155,79,.34), 0 22px 44px rgba(0,0,0,.22); }
.preview-viewport-compact .character-layout { grid-template-columns: 1fr; }
.preview-viewport-compact .character-side { order: 2; }
.preview-campfire-boundary { border-color: rgba(211,155,79,.4); }
.page-preview-boundary { display: flex; align-items: flex-start; gap: 1rem; padding: 1rem; margin: 1rem 0; border: 1px dashed rgba(211,155,79,.4); background: rgba(8,20,31,.24); }
.page-preview-boundary img { width: 2.4rem; height: 2.4rem; object-fit: contain; opacity: .85; }
.page-preview-boundary h3 { margin: .35rem 0 .25rem; }
.page-preview-boundary p { margin: 0; max-width: 62ch; }
.accessibility-inspection { margin-top: 1.25rem; padding-top: 1rem; border-top: 1px solid rgba(248,232,186,.18); }
.module-order-help { margin: .55rem 0 .75rem; }
.module-order-row { display: flex; align-items: center; justify-content: space-between; gap: .75rem; margin: .35rem 0; padding: .55rem .65rem; border: 1px solid rgba(19,36,58,.16); border-radius: .45rem; background: rgba(255,255,255,.34); cursor: grab; transition: border-color .16s ease, background .16s ease, opacity .16s ease, transform .16s ease; }
.module-order-row:active { cursor: grabbing; }
.module-order-row:focus-visible { outline: 2px solid var(--teal); outline-offset: 2px; }
.module-order-row.is-dragging { opacity: .48; transform: scale(.99); }
.module-order-row.is-drag-target { border-color: rgba(46,126,116,.7); background: rgba(46,200,173,.12); }
.module-order-name { display: flex; align-items: center; gap: .45rem; min-width: 0; color: var(--ink); font-size: .72rem; }
.module-order-name b { color: var(--teal-deep); font-size: .62rem; }
.module-drag-grip { color: var(--gold-deep); font-size: 1rem; line-height: 1; }
.module-order-actions { display: flex; align-items: center; gap: .3rem; flex-wrap: wrap; justify-content: flex-end; }
.module-order-actions select { min-width: 5.5rem; }
@media (prefers-reduced-motion: reduce) { .module-order-row { transition: none; } }
.accessibility-inspection h3 { margin: .2rem 0 0; }
.inspection-list { display: grid; gap: .55rem; margin: .9rem 0 0; padding: 0; list-style: none; }
.inspection-item { display: flex; align-items: flex-start; gap: .65rem; padding: .65rem .75rem; border: 1px solid rgba(248,232,186,.14); background: rgba(8,20,31,.18); }
.inspection-item.is-ready { border-color: rgba(143,213,199,.26); }
.inspection-item.needs-attention { border-color: rgba(221,157,89,.52); }
.inspection-status { display: grid; place-items: center; flex: 0 0 1.35rem; width: 1.35rem; height: 1.35rem; border-radius: 50%; color: var(--ink); background: rgba(143,213,199,.78); font-weight: 800; }
.needs-attention .inspection-status { background: rgba(221,157,89,.9); }
.inspection-item strong, .inspection-item small { display: block; }
.inspection-item small { margin-top: .18rem; color: var(--muted); line-height: 1.45; }
.relationship-published-shelf { margin-top: 1rem; }
.relationship-history-card.published { border-color: rgba(211,155,79,.34); }
@media (max-width: 760px) { .page-preview-banner { grid-template-columns: auto minmax(0, 1fr); } .page-preview-actions { grid-column: 1 / -1; justify-content: flex-start; } }
.page-revisions h3 { margin: .2rem 0 0; color: var(--ink); font-size: .9rem; }
.page-revision-detail { overflow: hidden; background: rgba(232,214,182,.2); border: 1px solid var(--line); border-radius: .5rem; }
.page-revision-detail summary { display: flex; justify-content: space-between; gap: .8rem; align-items: center; padding: .7rem; color: var(--ink); cursor: pointer; list-style: none; }.page-revision-detail summary::-webkit-details-marker { display: none; }.page-revision-detail summary::after { content: '＋'; color: var(--teal-deep); font-size: .8rem; }.page-revision-detail[open] summary::after { content: '−'; }.page-revision-detail summary > span:first-child { display: grid; gap: .2rem; min-width: 0; }.page-revision-detail summary strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .68rem; }.page-revision-detail summary small { color: var(--ink-soft); font-size: .58rem; }
.page-revision-audit { display: grid; gap: .35rem; padding: .7rem; background: rgba(255,255,255,.38); border-top: 1px solid var(--line); }.page-revision-audit > small { color: var(--teal-deep); font-size: .62rem; line-height: 1.35; }.page-revision-audit p { margin: 0; color: var(--ink-soft); font-size: .66rem; line-height: 1.35; }.page-revision-audit p strong { color: var(--ink); }

@media (max-width: 760px) {
  .gallery-workshop-form, .gallery-media-upload-grid, .playlist-track-fields, .media-provenance-grid { grid-template-columns: 1fr; align-items: stretch; }
  .gallery-media-row { grid-template-columns: 3.5rem minmax(0,1fr); }
  .gallery-media-row > .tiny-label, .gallery-media-actions { grid-column: 2; justify-content: flex-start; }
  .denizen-discovery-grid { grid-template-columns: 1fr; }
  .denizen-discovery-header { display: grid; }
}

@media (max-width: 760px) {
  .device-caption { display: grid; gap: .25rem; }
  .guild-device, .ledger-dashboard-grid, .work-layout, .research-desk-hero, .research-board, .atlas-shell, .relationship-layout, .denizen-record-layout { grid-template-columns: 1fr; }
  .research-board-grid, .atlas-text-itinerary { grid-template-columns: 1fr; }
  .research-recommendation { grid-template-columns: 2.4rem minmax(0,1fr); }
  .research-recommendation > .text-button { grid-column: 2; justify-self: start; }
  .desk-notes-card { grid-column: auto; }
  .guild-device-mark { width: 2.7rem; height: 2.7rem; }
  .work-boundary { grid-template-columns: auto minmax(0,1fr); }
  .work-boundary .text-button { grid-column: 2; justify-self: start; }
  .character-songbook { grid-template-columns: auto minmax(0,1fr) auto; }
  .songbook-strip-link { grid-column: 2 / -1; justify-self: start; }
  .wall-header { display: grid; }
  .wall-scroll { min-height: 470px; height: 62vh; }
  .npc-campfire { min-height: 620px; }
  .npc-fire-empty { min-height: 420px; }
  .wall-ownerbar { align-items: flex-start; }
  .mini-stat-grid { grid-template-columns: 1fr 1fr; }
  .atlas-map-surface { min-height: 430px; }
  .atlas-map-caption { display: grid; gap: .25rem; }
  .atlas-itinerary-list { grid-template-columns: 1fr; }
  .denizen-section-list, .denizen-fact-grid, .denizen-source-compare-grid { grid-template-columns: 1fr; }
  .denizen-panel-head, .denizen-empty { display: grid; }
  .relationship-branches { grid-template-columns: 1fr; }
  .relationship-branch { grid-template-columns: auto minmax(0,1fr); align-items: center; padding: .4rem 0 .4rem 1.4rem; }
  .relation-connector { top: 50%; left: .45rem; width: .85rem; height: 1px; }
  .relation-connector::before { top: -.45rem; left: .84rem; width: 1px; height: .9rem; }
  .relationship-branch-copy { text-align: left; }
}
.event-audience { display: inline-flex; align-items: center; gap: .3rem; border: 1px solid rgba(123, 186, 173, .28); border-radius: 999px; padding: .24rem .5rem; color: var(--ink-soft); font-size: .68rem; letter-spacing: .06em; text-transform: uppercase; }
.event-audience img { width: .95rem; height: .95rem; object-fit: contain; }
.event-state-mark { width: 2rem; height: 2rem; flex: 0 0 auto; object-fit: contain; border-radius: .45rem; box-shadow: 0 2px 7px rgba(19,36,58,.11); }
.event-invitee-shelf { display: grid; gap: .55rem; margin: .85rem 0; border: 1px solid var(--line); border-radius: 12px; padding: .8rem; background: rgba(255,255,255,.02); }
.event-invitee-shelf legend { padding: 0 .35rem; color: var(--ink); font-size: .8rem; font-weight: 700; }
.event-invitee-option { display: flex; align-items: center; gap: .65rem; padding: .45rem .5rem; border-radius: 8px; background: rgba(255,255,255,.025); }
.event-invitee-option span { display: grid; gap: .12rem; }
.event-invitee-option small { color: var(--ink-soft); }
.event-invitee-readback { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem; margin: .65rem 0; }
.event-invitee-chip { display: inline-flex; align-items: center; gap: .35rem; border: 1px solid var(--line); border-radius: 999px; padding: .28rem .45rem .28rem .6rem; background: rgba(255,255,255,.025); }
.event-invitee-chip small { color: var(--ink-soft); text-transform: capitalize; }
.event-invitee-chip .text-button { padding: 0 .15rem; font-size: .68rem; }
/* Treasurer evidence folios: deliberately compact, text-first, and officer-scoped. */
.ledger-media-fieldset { border: 1px solid var(--line, rgba(255,255,255,.12)); border-radius: 12px; padding: .8rem; margin: 1rem 0; }
.ledger-media-fieldset legend { padding: 0 .35rem; color: var(--gold, #d8b06a); font-size: .76rem; letter-spacing: .08em; text-transform: uppercase; }
.ledger-media-options { display: grid; gap: .45rem; max-height: 11rem; overflow: auto; }
.media-attachment-option { display: flex; gap: .6rem; align-items: flex-start; padding: .55rem .65rem; border-radius: 8px; background: rgba(255,255,255,.035); }
.media-attachment-option input { margin-top: .18rem; }
.media-attachment-option span { display: grid; gap: .16rem; }
.media-attachment-option small { color: var(--muted, #9da8b8); }
.guild-ledger-media { margin-top: .75rem; border-top: 1px solid var(--line, rgba(255,255,255,.1)); padding-top: .55rem; }
.guild-ledger-media summary { cursor: pointer; display: flex; gap: .45rem; align-items: center; color: var(--gold, #d8b06a); font-size: .78rem; }
.guild-ledger-media summary img { width: 1rem; height: 1rem; }
.guild-ledger-media-list { display: grid; gap: .55rem; margin-top: .65rem; }
.guild-ledger-media-row { display: grid; grid-template-columns: minmax(3rem, 5rem) 1fr auto; gap: .65rem; align-items: center; padding: .55rem; border: 1px solid var(--line, rgba(255,255,255,.1)); border-radius: 8px; }
.guild-ledger-media-row > span:nth-child(2) { display: grid; gap: .15rem; }
.guild-ledger-media-row small { color: var(--muted, #9da8b8); }
.guild-ledger-media-preview { min-width: 0; }
.guild-ledger-media-preview img { display: block; width: 4rem; height: 3rem; object-fit: cover; border-radius: 5px; }
.guild-ledger-media-preview audio { width: 100%; max-width: 14rem; }
.guild-ledger-media-row.is-unavailable { grid-template-columns: auto 1fr; color: var(--muted, #9da8b8); }
@media (max-width: 640px) { .guild-ledger-media-row { grid-template-columns: 3.5rem 1fr; } .guild-ledger-media-row .text-button { grid-column: 2; justify-self: start; } }
@media (max-width: 720px) { .archive-bulk-grid { grid-template-columns: 1fr; } .archive-bulk-intro { align-items: flex-start; } }
.ledger-receipt-fieldset { margin: 1rem 0; padding: .8rem; border: 1px solid rgba(37,58,61,.16); border-radius: .55rem; background: rgba(232,214,182,.14); }
.ledger-receipt-fieldset legend { padding: 0 .35rem; color: var(--gold-deep); font-size: .76rem; letter-spacing: .08em; text-transform: uppercase; }
.ledger-receipt-add { display: grid; grid-template-columns: minmax(6rem,.6fr) minmax(8rem,1fr) minmax(7rem,1fr) minmax(9rem,1.2fr) minmax(10rem,1.3fr) auto; gap: .45rem; align-items: end; }
.ledger-receipt-add .form-field { gap: .2rem; }
.ledger-receipt-add input, .ledger-receipt-add select { min-width: 0; }
.ledger-receipt-note { min-width: 0; }
.ledger-receipt-list, .guild-ledger-receipt-list { display: grid; gap: .35rem; }
.ledger-receipt-list { margin-top: .65rem; }
.ledger-receipt-row { display: grid; grid-template-columns: auto minmax(0,1fr) auto; gap: .55rem; align-items: center; padding: .45rem .5rem; border-left: 2px solid rgba(211,155,79,.5); background: rgba(255,255,255,.28); }
.ledger-receipt-row > span:nth-child(2) { display: grid; gap: .12rem; min-width: 0; }
.ledger-receipt-row strong, .ledger-receipt-row small { overflow-wrap: anywhere; }
.ledger-receipt-row strong { color: var(--ink); font-size: .7rem; }
.ledger-receipt-row small { color: var(--ink-soft); font-size: .62rem; line-height: 1.35; }
.ledger-receipt-mark { display: inline-grid; place-items: center; width: 1.35rem; height: 1.35rem; color: var(--gold-deep); font-size: .9rem; }
.guild-ledger-receipts { margin-top: .75rem; border-top: 1px solid var(--line, rgba(37,58,61,.13)); padding-top: .55rem; }
.guild-ledger-receipts summary { display: flex; justify-content: space-between; align-items: center; gap: .6rem; color: var(--teal-deep); cursor: pointer; list-style: none; }
.guild-ledger-receipts summary::-webkit-details-marker { display: none; }
.guild-ledger-receipt-list { margin-top: .55rem; }
.guild-ledger-receipt { padding: .55rem .65rem; border-left: 2px solid rgba(211,155,79,.5); background: rgba(255,255,255,.22); }
.guild-ledger-receipt-head { display: flex; justify-content: space-between; gap: .6rem; color: var(--ink); font-size: .7rem; }
.guild-ledger-receipt-head span { color: var(--gold-deep); font: 700 .62rem ui-sans-serif, system-ui, sans-serif; }
.guild-ledger-receipt p { margin: .25rem 0 0; color: var(--ink-soft); font-size: .64rem; line-height: 1.35; }
.guild-ledger-receipt small { display: block; margin-top: .2rem; color: var(--ink-muted); font-size: .6rem; line-height: 1.35; }
@media (max-width: 900px) { .ledger-receipt-add { grid-template-columns: repeat(2, minmax(0,1fr)); } .ledger-receipt-add .ledger-receipt-note { grid-column: 1 / -1; } .ledger-receipt-add > .outline-button { justify-self: start; } }
@media (max-width: 540px) { .ledger-receipt-add { grid-template-columns: 1fr; } .ledger-receipt-add .ledger-receipt-note { grid-column: auto; } }
.hall-kind-mark {
  color: var(--teal, #8fd5c7);
  font-size: .68rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  margin: .7rem 0 .35rem;
}

.circle-hall-card {
  border-color: rgba(143, 213, 199, .35);
  background: linear-gradient(145deg, rgba(38, 66, 70, .96), rgba(19, 29, 35, .98));
}

.circle-page-banner {
  border-color: rgba(143, 213, 199, .45);
}

.circle-rules {
  border-left: 3px solid var(--teal, #8fd5c7);
}

.circle-rules p,
.hall-rules-preview {
  white-space: pre-wrap;
}

.hall-rules-preview {
  color: var(--ink-muted, #a7b4b2);
  margin: .75rem 0 0;
  font-size: .88rem;
}

.hall-rules-preview .tiny-label {
  display: block;
  margin-bottom: .2rem;
}

.hall-filters {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem;
}

.circle-collection-shelf {
  border-color: rgba(143, 213, 199, .4);
}

.circle-collection-list {
  display: grid;
  gap: .65rem;
  margin: 1rem 0;
}

.circle-collection-item {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding: .8rem;
  border: 1px solid rgba(143, 213, 199, .17);
  border-radius: .55rem;
  background: rgba(10, 19, 24, .28);
}

.circle-collection-item h3 {
  margin: .35rem 0 .2rem;
}

.circle-collection-item p {
  margin: 0;
  color: var(--ink-muted, #a7b4b2);
}

.circle-collection-item small {
  display: block;
  margin-top: .4rem;
  color: var(--ink-muted, #a7b4b2);
}

.circle-collection-add {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto;
  gap: .55rem;
  align-items: center;
}

.circle-collection-history {
  margin-top: 1rem;
  color: var(--ink-muted, #a7b4b2);
}

.circle-collection-history summary {
  cursor: pointer;
  color: var(--ink, #edf4ee);
}

.circle-collection-history summary span {
  margin-left: .4rem;
  color: var(--gold, #f2c779);
}

.circle-collection-history p {
  margin: .4rem 0;
  font-size: .8rem;
}

.circle-discussions {
  border-color: rgba(242, 199, 121, .35);
}

.circle-stewardship {
  border-color: rgba(242, 199, 121, .3);
}

.circle-stewardship > .muted-copy {
  max-width: 78ch;
}

.circle-steward-current,
.circle-steward-appointment {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .8rem;
  padding: .7rem;
  border: 1px solid rgba(242, 199, 121, .18);
  border-radius: .55rem;
  background: rgba(55, 39, 20, .17);
}

.circle-steward-current-list {
  display: grid;
  gap: .45rem;
}

.contribution-assignment-note {
  margin: .45rem 0 0;
  border-left-color: var(--teal, #2ec8ad);
}

.assignment-intro {
  display: flex;
  gap: .8rem;
  align-items: center;
  margin-bottom: 1rem;
  padding: .8rem;
  border: 1px solid var(--line);
  border-radius: .65rem;
  background: rgba(232, 214, 182, .18);
}

.assignment-intro img {
  width: 3rem;
  height: 3rem;
  flex: 0 0 auto;
}

.assignment-intro strong,
.assignment-intro p {
  display: block;
}

.assignment-intro strong {
  margin-top: .2rem;
}

.assignment-intro p {
  margin: .25rem 0 0;
  color: var(--ink-soft);
  font-size: .68rem;
}

.contribution-assignment-history {
  margin-top: .5rem;
  border-top: 1px solid var(--line);
  padding-top: .4rem;
}

.contribution-assignment-history summary {
  cursor: pointer;
  color: var(--teal-deep);
  font: 700 .62rem ui-sans-serif, system-ui, sans-serif;
}

.contribution-assignment-history ol {
  display: grid;
  gap: .4rem;
  margin: .5rem 0 0 1rem;
  padding: 0;
}

.contribution-assignment-history li {
  padding-left: .15rem;
  color: var(--ink-soft);
  font-size: .62rem;
}

.contribution-assignment-history li strong,
.contribution-assignment-history li span {
  display: block;
}

.contribution-assignment-history li strong {
  color: var(--ink);
}

.contribution-assignment-history li p {
  margin: .2rem 0 0;
}

.circle-steward-current {
  justify-content: flex-start;
  margin: .8rem 0;
}

.circle-steward-current span:last-child,
.circle-steward-appointment > div {
  display: grid;
  gap: .2rem;
}

.circle-steward-current small,
.circle-steward-appointment small,
.circle-steward-appointment p {
  color: var(--ink-muted, #a7b4b2);
}

.circle-steward-appointment p {
  margin: .2rem 0 0;
  font-size: .8rem;
}

.circle-steward-offer {
  display: grid;
  grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr) auto;
  gap: .55rem;
  align-items: end;
  margin: .8rem 0;
}

.circle-steward-appointments {
  display: grid;
  gap: .5rem;
  margin-top: .7rem;
}

.circle-steward-appointment-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .4rem;
  align-items: center;
}

.circle-discussions > .muted-copy {
  max-width: 72ch;
}

.circle-discussion-create {
  display: grid;
  grid-template-columns: minmax(180px, .8fr) minmax(0, 1fr) minmax(0, 1.4fr) auto;
  gap: .65rem;
  align-items: end;
  margin: 1rem 0 1.2rem;
  padding: .85rem;
  border: 1px solid rgba(242, 199, 121, .22);
  border-radius: .65rem;
  background: rgba(55, 39, 20, .2);
}

.circle-discussion-create h3 {
  margin: .2rem 0;
}

.circle-discussion-create p {
  margin: 0;
  color: var(--ink-muted, #a7b4b2);
  font-size: .8rem;
}

.circle-discussion-list {
  display: grid;
  gap: .9rem;
}

.circle-discussion-card {
  padding: 1rem;
  border: 1px solid rgba(143, 213, 199, .2);
  border-radius: .65rem;
  background: rgba(10, 19, 24, .24);
}

.circle-discussion-card.is-pinned {
  border-color: rgba(242, 199, 121, .48);
  box-shadow: inset 3px 0 0 rgba(242, 199, 121, .7);
}

.circle-discussion-card.is-closed {
  opacity: .82;
}

.circle-discussion-heading {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
}

.circle-discussion-heading h3 {
  margin: .45rem 0 .25rem;
}

.circle-discussion-heading p {
  max-width: 78ch;
  margin: 0 0 .45rem;
  color: var(--ink-muted, #a7b4b2);
  line-height: 1.55;
}

.circle-discussion-heading small,
.circle-discussion-entry small {
  color: var(--ink-muted, #a7b4b2);
}

.circle-discussion-meta,
.circle-discussion-actions,
.circle-discussion-entry-head {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
  align-items: center;
}

.circle-discussion-entries {
  display: grid;
  gap: .6rem;
  margin: 1rem 0;
  padding-top: .8rem;
  border-top: 1px solid rgba(143, 213, 199, .12);
}

.circle-discussion-entry {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: .65rem;
  padding: .65rem;
  border-radius: .45rem;
  background: rgba(255, 255, 255, .025);
}

.circle-discussion-entry p {
  margin: .25rem 0 0;
  white-space: pre-wrap;
  line-height: 1.5;
}

.circle-discussion-reply {
  display: grid;
  grid-template-columns: minmax(160px, .35fr) minmax(0, 1fr) auto;
  gap: .55rem;
  align-items: end;
  padding-top: .75rem;
  border-top: 1px solid rgba(143, 213, 199, .12);
}

.circle-discussion-history {
  margin-top: .8rem;
  color: var(--ink-muted, #a7b4b2);
}

.circle-discussion-history summary {
  cursor: pointer;
  color: var(--ink, #edf4ee);
}

.circle-discussion-history summary span {
  margin-left: .35rem;
  color: var(--gold, #f2c779);
}

.circle-discussion-history p {
  margin: .35rem 0;
  font-size: .78rem;
}

.circle-history-shelf {
  border-color: rgba(143, 213, 199, .25);
}

.circle-history-shelf details > summary {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: center;
  cursor: pointer;
  list-style: none;
}

.circle-history-shelf details > summary::-webkit-details-marker {
  display: none;
}

.circle-history-shelf details > summary strong {
  display: block;
  margin-top: .2rem;
}

.circle-history-list {
  display: grid;
  gap: .55rem;
  margin-top: .9rem;
}

.circle-history-list article {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: .65rem;
  padding: .65rem;
  border-top: 1px solid rgba(143, 213, 199, .12);
}

.circle-history-list article > div {
  min-width: 0;
}

.circle-history-meta {
  display: flex;
  flex-wrap: wrap;
  gap: .4rem;
  align-items: center;
}

.circle-history-list small,
.circle-history-list p {
  color: var(--ink-muted, #a7b4b2);
}

.circle-history-list small {
  display: block;
  margin-top: .25rem;
}

.circle-history-list p {
  margin: .25rem 0 0;
  font-size: .8rem;
}

@media (max-width: 720px) {
  .connection-boundary-grid { grid-template-columns: 1fr; }
  .playlist-track-meta { grid-template-columns: 1fr; }
  .circle-collection-add { grid-template-columns: 1fr; }
  .circle-collection-item { align-items: flex-start; flex-direction: column; }
  .circle-steward-offer { grid-template-columns: 1fr; align-items: stretch; }
  .circle-steward-appointment { align-items: flex-start; flex-direction: column; }
  .circle-discussion-create,
  .circle-discussion-reply { grid-template-columns: 1fr; align-items: stretch; }
  .circle-discussion-heading { flex-direction: column; }
  .circle-history-shelf details > summary { align-items: flex-start; flex-direction: column; }
}

/* Rights-reviewed static world art: visual support, never the only source label. */
.guild-crest-art { width: 2.25rem; height: 2.25rem; flex: 0 0 auto; object-fit: contain; opacity: .92; filter: drop-shadow(0 2px 4px rgba(0,0,0,.24)); }
.stats-widget-heading { display: flex; align-items: center; gap: .5rem; }
.class-stat-mark { width: 2rem; height: 2rem; object-fit: contain; border-radius: .35rem; box-shadow: 0 2px 8px rgba(19,36,58,.16); }
.denizen-record-art { width: 4.2rem; height: 4.2rem; flex: 0 0 auto; object-fit: contain; border: 1px solid rgba(255,245,197,.62); border-radius: 50%; background: rgba(255,255,255,.08); }
.hall-kind-mark { display: flex; align-items: center; gap: .45rem; }

/* Page Workshop atmosphere: bounded visual layers with a readable text-first fallback. */
.profile-device { isolation: isolate; overflow: hidden; }
.page-background-layer { position: absolute; z-index: 0; inset: 0; pointer-events: none; background-position: center; background-size: cover; opacity: .16; mix-blend-mode: multiply; }
.profile-device > :not(.page-background-layer) { position: relative; z-index: 1; }
.page-background-layer.background-alliance, .page-workshop-canvas-backdrop.background-alliance { background-image: linear-gradient(135deg, rgba(19,36,58,.7), rgba(46,200,173,.18)), url('/assets/scenes/alliance.webp'); }
.page-background-layer.background-announcement, .page-workshop-canvas-backdrop.background-announcement { background-image: linear-gradient(135deg, rgba(19,36,58,.64), rgba(232,173,89,.18)), url('/assets/scenes/announcement.webp'); }
.page-background-layer.background-darkportal, .page-workshop-canvas-backdrop.background-darkportal { background-image: linear-gradient(135deg, rgba(12,16,31,.76), rgba(116,52,74,.18)), url('/assets/scenes/darkportal.webp'); }
.page-background-layer.background-gryphon, .page-workshop-canvas-backdrop.background-gryphon { background-image: linear-gradient(135deg, rgba(19,36,58,.66), rgba(232,173,89,.2)), url('/assets/scenes/gryphon.webp'); }
.page-background-layer.background-humanfemalebackground, .page-workshop-canvas-backdrop.background-humanfemalebackground { background-image: linear-gradient(135deg, rgba(19,36,58,.62), rgba(226,160,160,.15)), url('/assets/scenes/humanfemalebackground.webp'); }
.page-background-layer.background-ironforge, .page-workshop-canvas-backdrop.background-ironforge { background-image: linear-gradient(135deg, rgba(19,36,58,.68), rgba(125,102,65,.2)), url('/assets/scenes/ironforge.webp'); }
.page-background-layer.background-nightelves, .page-workshop-canvas-backdrop.background-nightelves { background-image: linear-gradient(135deg, rgba(12,31,48,.7), rgba(46,126,116,.18)), url('/assets/scenes/nightelves.webp'); }
.page-background-layer.background-stormwindmap, .page-workshop-canvas-backdrop.background-stormwindmap { background-image: linear-gradient(135deg, rgba(19,36,58,.74), rgba(232,214,182,.16)), url('/assets/scenes/stormwindmap.webp'); }
.page-background-layer.background-tauren, .page-workshop-canvas-backdrop.background-tauren { background-image: linear-gradient(135deg, rgba(19,36,58,.66), rgba(173,125,69,.18)), url('/assets/scenes/tauren.webp'); }
.page-background-layer.background-alliance-gathering, .page-workshop-canvas-backdrop.background-alliance-gathering { background-image: linear-gradient(135deg, rgba(19,36,58,.67), rgba(46,200,173,.18)), url('/assets/scenes/alliance-gathering.webp'); }
.page-background-layer.background-ancient-protector, .page-workshop-canvas-backdrop.background-ancient-protector { background-image: linear-gradient(135deg, rgba(19,36,58,.7), rgba(55,112,83,.18)), url('/assets/scenes/ancient-protector.webp'); }
.profile-device.cursor-raven { cursor: url('/assets/ui/raven-seal.svg') 9 9, default; }
.profile-device.cursor-quill { cursor: url('/assets/ui/ledger-folio.svg') 9 9, text; }
.profile-device.cursor-compass { cursor: url('/assets/ui/atlas-compass.svg') 9 9, crosshair; }
.app-shell.plain-record .profile-device.cursor-raven, .app-shell.plain-record .profile-device.cursor-quill, .app-shell.plain-record .profile-device.cursor-compass { cursor: default; }
.page-reveal-compartment { margin: 0 0 1.15rem; border: 1px solid rgba(232,173,89,.35); border-radius: .7rem; background: rgba(232,214,182,.22); overflow: hidden; }
.page-reveal-compartment summary { display: grid; grid-template-columns: auto minmax(0,1fr) auto; gap: .65rem; align-items: center; padding: .68rem .8rem; color: var(--ink); cursor: pointer; list-style: none; }
.page-reveal-compartment summary::-webkit-details-marker { display: none; }
.page-reveal-compartment summary:hover, .page-reveal-compartment[open] summary { background: rgba(232,173,89,.1); }
.page-reveal-compartment summary > span:nth-child(2) { display: grid; gap: .14rem; }
.page-reveal-compartment summary strong { font-size: .76rem; }
.page-reveal-compartment summary small { color: var(--ink-soft); font-size: .64rem; }
.page-reveal-object { display: grid; place-items: center; width: 2.1rem; height: 2.1rem; padding: .28rem; border-radius: .5rem; background: rgba(19,36,58,.9); }
.page-reveal-object img { width: 100%; height: 100%; object-fit: contain; }
.page-reveal-body { padding: .75rem .85rem .85rem; border-top: 1px solid rgba(232,173,89,.24); background: rgba(255,255,255,.35); }
.page-reveal-body p { margin: 0; color: var(--ink); line-height: 1.55; white-space: pre-wrap; }
.page-reveal-body small { display: block; margin-top: .6rem; color: var(--ink-soft); font-size: .62rem; }
.page-workshop-appearance { display: grid; gap: .42rem; margin-bottom: .8rem; padding: .8rem; border: 1px solid rgba(232,173,89,.28); border-radius: .65rem; background: linear-gradient(145deg, rgba(232,173,89,.08), rgba(46,200,173,.05)); }
.page-workshop-appearance h3 { margin: .15rem 0 0; color: var(--ink); font-size: .88rem; }
.page-workshop-appearance .form-field { margin: 0; }
.page-reveal-editor { margin: .35rem 0 0; padding: .65rem; }
.page-reveal-editor textarea { min-height: 5rem; resize: vertical; }
.checkbox-field { display: flex; gap: .45rem; align-items: center; color: var(--ink); font-size: .69rem; }
.checkbox-field input { accent-color: var(--teal); }
.page-workshop-canvas-device { position: relative; isolation: isolate; overflow: hidden; }
.page-workshop-canvas-device > :not(.page-workshop-canvas-backdrop) { position: relative; z-index: 1; }
.page-workshop-canvas-backdrop { position: absolute; z-index: 0; inset: 0; pointer-events: none; background-position: center; background-size: cover; opacity: .28; mix-blend-mode: multiply; }
.page-workshop-canvas-reveal { display: grid; gap: .15rem; margin-top: .7rem; padding: .55rem .65rem; border: 1px solid rgba(232,173,89,.35); border-radius: .45rem; background: rgba(255,255,255,.18); }
.page-workshop-canvas-reveal strong { color: var(--paper-2); font-size: .7rem; }
@media (pointer: coarse) { .profile-device.cursor-raven, .profile-device.cursor-quill, .profile-device.cursor-compass { cursor: auto; } }
@media (prefers-reduced-motion: reduce) { .page-background-layer, .page-workshop-canvas-backdrop { opacity: .1; } }
/* Research Library: a quiet source index that keeps provenance close without turning the Archive into an article wall. */
.research-library-header { align-items: flex-start; }
.research-library-header > div:first-child { max-width: 52rem; }
.research-library-charter { display: grid; grid-template-columns: auto minmax(0,1fr) auto; gap: 1rem; align-items: center; margin: 1.1rem 0; padding: 1.1rem 1.2rem; border: 1px solid rgba(46,126,116,.22); background: linear-gradient(135deg, rgba(235,247,242,.76), rgba(248,238,211,.44)); }
.research-library-mark { display: grid; place-items: center; width: 3rem; height: 3rem; border: 1px solid rgba(142,103,47,.35); border-radius: 50%; color: var(--gold-deep); font-size: 1.6rem; background: rgba(255,255,255,.48); }
.research-library-charter h2 { margin: .18rem 0 .25rem; font-family: Georgia, serif; font-size: 1.18rem; }
.research-library-charter p { max-width: 58rem; margin: 0; color: var(--ink-soft); font-size: .75rem; line-height: 1.55; }
.research-source-filters { display: flex; flex-wrap: wrap; gap: .45rem; margin: 1rem 0; }
.research-source-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.research-source-card { display: grid; gap: .65rem; min-width: 0; padding: 1rem; }
.research-source-card-head { display: flex; align-items: center; justify-content: space-between; gap: .6rem; }
.research-source-card h3 { margin: 0; color: var(--ink); font-family: Georgia, serif; font-size: 1.05rem; line-height: 1.25; }
.research-source-card > p { margin: 0; color: var(--ink-soft); font-size: .72rem; line-height: 1.5; }
.research-source-meta { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: .5rem; margin: 0; }
.research-source-meta div { padding: .55rem .6rem; border: 1px solid var(--line); border-radius: .45rem; background: rgba(255,255,255,.42); }
.research-source-meta dt { color: var(--ink-muted); font: 700 .52rem ui-sans-serif, system-ui, sans-serif; letter-spacing: .08em; text-transform: uppercase; }
.research-source-meta dd { margin: .18rem 0 0; color: var(--ink); font-size: .67rem; overflow-wrap: anywhere; }
.research-source-links { padding-top: .65rem; border-top: 1px solid var(--line); }
.research-source-links > div { display: grid; gap: .35rem; margin-top: .4rem; }
.research-source-record { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: .5rem; align-items: center; padding: .42rem .5rem; border: 1px solid rgba(46,126,116,.16); border-radius: .4rem; color: var(--ink); text-align: left; background: rgba(235,247,242,.38); cursor: pointer; }
.research-source-record:hover, .research-source-record:focus-visible { border-color: rgba(46,126,116,.5); background: rgba(235,247,242,.7); }
.research-source-record span, .research-source-record small { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.research-source-record span { font-size: .67rem; font-weight: 700; }
.research-source-record small { color: var(--teal-deep); font-size: .56rem; }
.research-source-more, .research-source-empty { display: block; margin-top: .45rem; color: var(--ink-muted); font-size: .62rem; }
.research-source-actions { display: flex; justify-content: flex-end; padding-top: .15rem; }
.research-source-actions .outline-button { padding: .4rem .65rem; font-size: .62rem; }
@media (max-width: 780px) {
  .research-library-charter { grid-template-columns: auto minmax(0,1fr); }
  .research-library-charter > .seal { grid-column: 2; justify-self: start; }
  .research-source-grid { grid-template-columns: 1fr; }
}

/* Phase 5 denizen shelf */
.denizen-filter-wrap { display: grid; gap: .45rem; padding: .7rem .75rem; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.12); border-radius: .55rem; }
.denizen-filter-bar { display: flex; flex-wrap: wrap; gap: .4rem; }
.denizen-filter { display: inline-flex; align-items: center; gap: .45rem; padding: .42rem .58rem; color: #d6e7df; background: rgba(9,28,42,.34); border: 1px solid rgba(255,255,255,.18); border-radius: 999px; font: 700 .61rem ui-sans-serif, system-ui, sans-serif; cursor: pointer; }
.denizen-filter b { display: grid; place-items: center; min-width: 1.25rem; height: 1.25rem; padding: 0 .2rem; color: #173047; background: rgba(255,244,193,.86); border-radius: 999px; font-size: .55rem; }
.denizen-filter:hover, .denizen-filter:focus-visible, .denizen-filter.active { color: #fff5d2; background: rgba(46,200,173,.2); border-color: rgba(143,213,199,.8); outline: none; }
.denizen-filter-caption { margin: 0; color: #b8cec8; font-size: .62rem; line-height: 1.4; }
.denizen-filter-empty { display: grid; gap: .35rem; padding: 1rem; background: rgba(255,255,255,.06); border: 1px dashed rgba(255,255,255,.2); border-radius: .55rem; }
.denizen-filter-empty strong { color: #f8e8ba; font-family: Georgia, serif; font-size: .95rem; }
.denizen-filter-empty p { margin: 0; color: #bfd4cf; font-size: .7rem; line-height: 1.45; }
.denizen-filter-empty .text-button { justify-self: start; padding: 0; color: #9ed6c8; }
.archive-denizen-card { grid-template-columns: minmax(0, 1fr) auto; }
.archive-denizen-heading { display: flex; align-items: center; gap: .65rem; }
.archive-denizen-heading h3 { margin-top: .25rem; }
.archive-denizen-mark { display: grid; place-items: center; width: 2.55rem; height: 2.55rem; flex: 0 0 auto; color: var(--night); background: rgba(216,170,89,.75); border: 1px solid rgba(211,155,79,.78); border-radius: .5rem; overflow: hidden; }
.archive-denizen-mark.has-art { background: rgba(44,73,84,.13); }
.archive-denizen-mark .denizen-emblem-art { width: 100%; height: 100%; object-fit: cover; }
.archive-denizen-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .5rem; margin: .75rem 0 .6rem; }
.archive-denizen-facts span { display: grid; gap: .15rem; min-width: 0; padding: .5rem .55rem; background: rgba(232,214,182,.22); border: 1px solid var(--line); border-radius: .4rem; }
.archive-denizen-facts strong { color: var(--ink); font-size: .64rem; line-height: 1.3; overflow-wrap: anywhere; }
.archive-denizen-card .record-aside { align-self: center; }
@media (max-width: 760px) {
  .archive-denizen-facts { grid-template-columns: 1fr; }
  .archive-denizen-card { grid-template-columns: 1fr; }
  .archive-denizen-card .record-aside { justify-self: start; }
}

.denizen-archive-controls { display: grid; gap: .8rem; margin-bottom: 1rem; padding: 1rem; }
.denizen-archive-controls-head { display: flex; justify-content: space-between; gap: 1rem; align-items: start; }
.denizen-archive-controls-head h2 { margin: .2rem 0 .35rem; }
.denizen-archive-controls-head p { max-width: 70ch; margin: 0; color: var(--ink-soft); font-size: .72rem; line-height: 1.5; }
.denizen-archive-filter-group { display: grid; gap: .4rem; padding-top: .7rem; border-top: 1px solid var(--line); }
.denizen-archive-regions, .denizen-archive-modes { display: flex; flex-wrap: wrap; gap: .4rem; }
.denizen-archive-controls .filter-chip { display: inline-flex; align-items: center; gap: .35rem; }
.denizen-archive-controls .filter-chip b, .denizen-archive-mode b { font-size: .56rem; }
.denizen-archive-modes { display: flex; flex-wrap: wrap; gap: .4rem; }
.denizen-archive-mode { display: inline-flex; align-items: center; gap: .45rem; padding: .45rem .6rem; color: var(--ink-soft); background: rgba(232,214,182,.18); border: 1px solid var(--line); border-radius: 999px; font: 700 .61rem ui-sans-serif, system-ui, sans-serif; cursor: pointer; }
.denizen-archive-mode:hover, .denizen-archive-mode:focus-visible, .denizen-archive-mode.active { color: var(--teal-deep); background: rgba(46,200,173,.1); border-color: rgba(46,126,116,.5); outline: none; }
.denizen-archive-mode b { display: grid; place-items: center; min-width: 1.2rem; height: 1.2rem; padding: 0 .2rem; color: var(--teal-deep); background: rgba(46,200,173,.12); border-radius: 999px; }
.denizen-archive-filter-copy { margin: 0; color: var(--ink-muted); font-size: .63rem; line-height: 1.4; }
@media (max-width: 760px) {
  .denizen-archive-controls-head { display: grid; }
}
