
:root{
  --paper:#f7f1e6;
  --paper-2:#efe6d3;
  --ink:#1f180f;
  --muted:#6c5a43;
  --line:#786753;
  --line-soft:rgba(72,52,31,.18);
  --accent:#251a11;
  --serif: Georgia, "Times New Roman", Times, serif;
  --sans: Arial, Helvetica, sans-serif;
  --tex-1:url("assets/gazette/texture.png");
  --tex-2:url("assets/gazette/texture2.png");
  --divider:url("assets/gazette/divider1.png");
  --shadow:0 10px 28px rgba(0,0,0,.08);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:var(--serif);
  color:var(--ink);
  background:linear-gradient(180deg, rgba(255,255,255,.26), rgba(231,219,192,.42)), var(--tex-1) center/cover fixed;
}
.paper-noise{position:fixed; inset:0; pointer-events:none; opacity:.06; background:radial-gradient(rgba(0,0,0,.06) .6px, transparent .8px); background-size:18px 18px; mix-blend-mode:multiply}
.masthead,.page-shell,.site-footer{width:min(1500px, calc(100% - 20px)); margin-inline:auto}
.masthead{margin-top:10px; background:linear-gradient(180deg, rgba(250,246,237,.56), rgba(241,233,216,.40)); border:1px solid var(--line); box-shadow:var(--shadow); padding:10px 16px 12px; backdrop-filter: blur(1px)}
.edition-line{display:grid; grid-template-columns:1fr auto 1fr; gap:12px; align-items:center; font:600 .62rem/1 var(--sans); letter-spacing:.16em; text-transform:uppercase; color:var(--muted); padding:2px 0 8px; border-bottom:3px double var(--line)}
.edition-line span:nth-child(2){text-align:center}.edition-line span:last-child{text-align:right}
.brand-lockup{padding:10px 0 8px; text-align:center; border-bottom:3px double var(--line)}
.eyebrow,.subhead,.kicker,.article-kicker,.microcopy{font-family:var(--sans); letter-spacing:.14em; text-transform:uppercase}
.eyebrow{margin:0; font-size:.66rem; color:var(--muted); font-weight:700}
.brand-lockup h1{margin:.1rem 0 .25rem; font-size:clamp(2.2rem,4vw,4rem); line-height:.92; text-transform:uppercase; letter-spacing:.05em}
.subhead{margin:0 auto; max-width:1000px; font-size:.66rem; color:var(--muted); line-height:1.45}
.brand-lockup::after{content:""; display:block; width:min(420px, 68%); height:22px; margin:8px auto 0; background:var(--divider) center/contain no-repeat; opacity:.72}
.search-strip{display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px; align-items:center; padding:10px 0 0}
.search-box{display:grid; grid-template-columns:minmax(0,1fr) 96px; gap:8px}
#searchInput,#clearSearch,.top-nav button,.stacked-links button,.badge{font-family:var(--sans)}
#searchInput{padding:10px 12px; font-size:.96rem; border:1px solid var(--line); background:rgba(255,252,246,.4); color:var(--ink); min-width:0}
#clearSearch{border:1px solid var(--accent); background:var(--accent); color:#f6eeda; font-size:.72rem; letter-spacing:.12em; text-transform:uppercase; cursor:pointer}
.microcopy{margin:0; font-size:.58rem; color:var(--muted); white-space:nowrap}
.stamp-strip{display:flex; flex-wrap:wrap; justify-content:center; gap:10px 16px; padding:8px 0 0}
.stamp-strip img{height:24px; width:auto; object-fit:contain; mix-blend-mode:multiply; opacity:.86}
.top-nav{display:flex; flex-wrap:wrap; gap:6px; padding-top:10px}
.top-nav button{border:1px solid var(--line-soft); background:rgba(255,250,241,.20); color:var(--ink); padding:7px 10px; cursor:pointer; text-transform:uppercase; letter-spacing:.11em; font-size:.68rem}
.top-nav button.active{background:var(--accent); color:#f4ead7; border-color:var(--accent)}
.page-shell{margin-top:10px; margin-bottom:12px; display:grid; gap:12px}
.panel{background:transparent; min-width:0}
.news-strip{display:grid; grid-template-columns:1.05fr .65fr .85fr .9fr; gap:12px; align-items:start; border:1px solid var(--line); box-shadow:var(--shadow); background:linear-gradient(180deg, rgba(248,242,230,.20), rgba(232,222,198,.16)); padding:12px 14px}
.news-brief,.news-map{min-width:0}
.kicker{margin:0 0 6px; color:var(--muted); font-size:.62rem; font-weight:700}
.news-brief h2{margin:0 0 .35rem; font-size:1.08rem; line-height:1.05; text-transform:uppercase; letter-spacing:.03em}
.news-brief p{margin:.2rem 0; line-height:1.45; font-size:.92rem}
.news-brief{position:relative}
.news-brief + .news-brief, .news-map{border-left:1px solid var(--line-soft); padding-left:12px}
.stat-list{margin:0; padding-left:16px; font-size:.88rem}
.stat-list li{margin:.2rem 0}
.stacked-links{display:grid; gap:7px}
.stacked-links button{text-align:left; border:1px solid var(--line-soft); background:rgba(255,249,239,.18); padding:8px 10px; cursor:pointer}
.stacked-links button strong{display:block; font-size:.88rem; margin-bottom:2px}
.stacked-links button small{display:block; font-size:.72rem; color:var(--muted); line-height:1.35}
.news-map{margin:0}
.news-map img{display:block; width:100%; height:180px; object-fit:cover; border:1px solid var(--line-soft)}
.news-map figcaption{font-size:.74rem; color:var(--muted); line-height:1.35; padding-top:6px}
.main-layout{display:grid; grid-template-columns:minmax(320px, 38%) minmax(0, 62%); gap:14px; align-items:start}
.search-panel,.article-shell{border:1px solid var(--line); box-shadow:var(--shadow); background:linear-gradient(180deg, rgba(248,242,230,.18), rgba(232,222,198,.12)); position:relative}
.search-panel{padding:12px 14px}
.article-shell{padding:14px 18px; position:sticky; top:10px; overflow:hidden}
.section-title-row{display:flex; justify-content:space-between; gap:12px; align-items:end; border-bottom:3px double var(--line); padding-bottom:8px; margin-bottom:10px}
.section-title-row h2{margin:0; font-size:1.1rem; text-transform:uppercase; letter-spacing:.04em}
#searchMeta{margin:0; color:var(--muted); font-size:.76rem; text-align:right}
.results{display:grid; gap:10px}
.result-card{position:relative; border:1px solid var(--line-soft); padding:11px 12px 12px; background:rgba(255,250,241,.12); cursor:pointer; transition:transform .14s ease, border-color .14s ease, background .14s ease}
.result-card:hover{transform:translateY(-1px); border-color:var(--line)}
.result-card.active{border-color:var(--accent); background:rgba(255,247,234,.22)}
.result-card::after{content:""; position:absolute; right:8px; top:8px; width:88px; height:28px; background:var(--stamp-img) center/contain no-repeat; opacity:.08; pointer-events:none}
.result-head{display:flex; gap:10px; justify-content:space-between; align-items:start}
.result-title{margin:0 0 4px; font-size:1rem; line-height:1.05; text-transform:uppercase; letter-spacing:.03em}
.result-head p{margin:0; font-size:.86rem; line-height:1.38}
.badge{border:1px solid var(--line-soft); padding:4px 7px; font-size:.63rem; letter-spacing:.1em; text-transform:uppercase; background:rgba(255,255,255,.2); white-space:nowrap}
.result-snippets{margin:8px 0 0; padding-left:18px; font-size:.84rem; line-height:1.42}
.result-snippets li{margin:.15rem 0}
.article-shell::before{content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(255,255,255,.08), rgba(0,0,0,0)); pointer-events:none}
.article-shell::after{content:""; position:absolute; right:10px; top:12px; width:110px; height:34px; background:var(--header-stamp) center/contain no-repeat; opacity:.11; pointer-events:none}
.article-header{border-bottom:3px double var(--line); padding-bottom:10px; margin-bottom:12px}
.article-kicker{margin:0 0 6px; color:var(--muted); font-weight:700; font-size:.62rem}
#articleTitle{margin:0 0 6px; font-size:clamp(1.55rem,2vw,2.25rem); line-height:1; text-transform:uppercase; letter-spacing:.04em}
.article-strapline{margin:0; color:var(--muted); font-size:.9rem; line-height:1.45}
.article-body{font-size:1rem; line-height:1.7}
.article-body h2,.article-body h3,.article-body h4{margin:1.1rem 0 .4rem; line-height:1.1; text-transform:uppercase; letter-spacing:.03em}
.article-body h2{font-size:1.3rem}
.article-body h3{font-size:1.05rem}
.article-body h4{font-size:.9rem; letter-spacing:.08em}
.article-body p,.article-body ul,.article-body ol,.article-body blockquote,.article-body .table-wrap,.article-body .note-card,.article-body .placeholder-art,.article-body .ledger-section{margin:.7rem 0}
.article-body p:first-child::first-letter{font-size:2.7em; line-height:.82; float:left; padding-right:.12em; font-weight:700}
.article-body blockquote{margin-left:0; padding-left:14px; border-left:3px solid var(--line); color:#433525; font-style:italic}
.article-divider{height:22px; border:none; margin:1rem auto; background:var(--divider) center/contain no-repeat; opacity:.65}
.article-list{padding-left:20px}
.article-list li{margin:.25rem 0}
.note-card,.placeholder-art,.table-wrap table,.ledger-card{background:rgba(255,250,241,.10)}
.note-card{padding:10px 12px; border:1px solid var(--line-soft)}
.note-card strong{display:block; text-transform:uppercase; letter-spacing:.07em; font-size:.76rem; margin-bottom:4px}
.placeholder-art{padding:14px; border:1px dashed var(--line); text-align:center; font-size:.9rem; color:var(--muted)}
.table-wrap{overflow:auto; border:1px solid var(--line-soft)}
table{width:100%; border-collapse:collapse; font-size:.94rem}
th,td{padding:9px 10px; border-bottom:1px solid var(--line-soft); vertical-align:top; text-align:left}
thead th{font-family:var(--sans); font-size:.7rem; letter-spacing:.12em; text-transform:uppercase; background:rgba(0,0,0,.03)}
mark{background:rgba(255,235,130,.5); color:inherit; padding:0 .08em}
.article-source,.empty-state{font-size:.84rem; color:var(--muted)}
.ledger-section + .ledger-section{margin-top:1.25rem; padding-top:1.1rem; border-top:3px double var(--line)}
.ledger-section-head h2{margin:0 0 .4rem; font-size:1.08rem}
.ledger-intro p{font-size:.95rem}
.ledger-cards{display:grid; gap:12px}
.ledger-card{border:1px solid var(--line-soft); padding:12px 13px}
.ledger-card-head{display:flex; align-items:start; justify-content:space-between; gap:12px; border-bottom:1px solid var(--line-soft); padding-bottom:8px; margin-bottom:10px}
.ledger-card-head h3{margin:0; font-size:1rem}
.ledger-code{margin:0 0 4px; font:700 .66rem/1 var(--sans); letter-spacing:.15em; text-transform:uppercase; color:var(--muted)}
.ledger-grid{display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:8px 12px; margin:0}
.ledger-row{display:grid; grid-template-columns:120px minmax(0,1fr); gap:8px; padding:8px 0; border-top:1px solid rgba(0,0,0,.06)}
.ledger-row:first-child{border-top:none; padding-top:0}
.ledger-row.wide{grid-column:1 / -1}
.ledger-row dt{font:700 .67rem/1.2 var(--sans); letter-spacing:.12em; text-transform:uppercase; color:var(--muted)}
.ledger-row dd{margin:0; font-size:.95rem; line-height:1.45}
.ledger-extra{margin-top:10px; padding-top:8px; border-top:1px solid rgba(0,0,0,.06)}
.site-footer{margin-bottom:18px; color:var(--muted); font-size:.76rem; text-align:center}
body.site-footer-enabled{padding-bottom:78px}
.site-global-footer{
  position:fixed;
  left:50%;
  transform:translateX(-50%);
  bottom:14px;
  z-index:40;
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  width:min(calc(100% - 56px),980px);
  margin:0 auto;
  padding:9px 14px;
  font-size:.78rem;
  font-weight:800;
  color:#fff;
  background:rgba(0,0,0,.72);
  border:1px solid rgba(255,255,255,.18);
  box-shadow:0 10px 28px rgba(0,0,0,.35);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  text-shadow:none;
}
.site-global-footer a{
  color:#fff;
  text-decoration:underline;
  text-underline-offset:3px;
}
.site-global-footer a:hover{color:#d9c7ff}
.sr-only{position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0}
@media (max-width: 1100px){
  .news-strip{grid-template-columns:1fr 1fr}
  .news-brief + .news-brief, .news-map{border-left:none; padding-left:0}
  .main-layout{grid-template-columns:1fr}
  .article-shell{position:relative; top:auto}
}
@media (max-width: 780px){
  .masthead,.page-shell,.site-footer{width:min(100%, calc(100% - 12px))}
  .edition-line{grid-template-columns:1fr; text-align:center}
  .edition-line span:last-child,.edition-line span:nth-child(2){text-align:center}
  .search-strip{grid-template-columns:1fr}
  .search-box{grid-template-columns:1fr}
  .microcopy{white-space:normal}
  .brand-lockup h1{font-size:2rem}
  .stamp-strip img{height:20px}
  .news-strip{grid-template-columns:1fr}
  .main-layout{grid-template-columns:1fr}
  .section-title-row{display:block}
  #searchMeta{text-align:left; margin-top:6px}
  .result-head{display:block}
  .badge{display:inline-block; margin-top:6px}
  .ledger-grid{grid-template-columns:1fr}
  .ledger-row.wide{grid-column:auto}
  .site-global-footer{width:min(calc(100% - 24px),980px);bottom:10px}
}


/* Trimmed newspaper pass */
.page-shell{margin-top:8px}
.main-layout{grid-template-columns:minmax(320px, 38%) minmax(0, 62%); gap:12px; align-items:start}
.search-panel,.article-shell{background:linear-gradient(180deg, rgba(248,242,230,.12), rgba(232,222,198,.08));}
.search-panel{padding:12px 14px}
.article-shell{padding:14px 18px}
.top-nav{padding-top:8px; border-top:1px solid var(--line-soft); margin-top:8px}
.site-footer{margin-top:10px}
@media (max-width: 980px){
  .main-layout{grid-template-columns:1fr}
  .article-shell{position:static}
}


.hidden{display:none !important}
.home-view,.browse-view{display:grid;gap:14px}
.landing-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.75fr);gap:14px;align-items:start}
.landing-lead,.landing-side,.browse-header,.section-launcher,.search-panel,.article-shell{border:1px solid var(--line);box-shadow:var(--shadow);background:linear-gradient(180deg, rgba(248,242,230,.12), rgba(232,222,198,.08));}
.landing-lead,.landing-side,.browse-header,.section-launcher,.search-panel,.article-shell{padding:14px 16px}
.quickstart-strip{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;border:1px solid var(--line);box-shadow:var(--shadow);background:linear-gradient(180deg, rgba(248,242,230,.14), rgba(232,222,198,.10));padding:14px 16px}
.quickstart-strip h2{margin:.1rem 0 .35rem;font-size:1.2rem;text-transform:uppercase;letter-spacing:.04em}
.quickstart-strip p{margin:0;line-height:1.55}
.quickstart-button{border:1px solid var(--accent);background:var(--accent);color:#f6eeda;font:700 .72rem/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;padding:12px 16px;cursor:pointer;white-space:nowrap}
.landing-lead h2,.browse-header h2{margin:.1rem 0 .45rem;font-size:1.45rem;text-transform:uppercase;letter-spacing:.04em}
.landing-lead p,.landing-side p,.browse-description{line-height:1.55}
.landing-notes{display:grid;gap:8px;margin-top:12px;padding-top:10px;border-top:3px double var(--line)}
.thin-divider{height:1px;background:var(--line-soft);margin:10px 0}
.small-note{font-size:.86rem;color:var(--muted)}
.section-title-row.compact{align-items:start}
.section-title-row.compact p:last-child{margin:0;color:var(--muted);max-width:34ch;text-align:right}
.section-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.section-card{border:1px solid var(--line-soft);background:rgba(255,250,241,.12);padding:12px;text-align:left;cursor:pointer;display:grid;gap:5px;min-height:150px}
.section-card:hover{border-color:var(--line);transform:translateY(-1px)}
.section-card-kicker,.back-button{font:700 .66rem/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.section-card strong{font-size:1rem;text-transform:uppercase;letter-spacing:.03em}
.section-card small{font-size:.84rem;line-height:1.45;color:#413425}
.section-card em{font-style:normal;font-size:.74rem;color:var(--muted);margin-top:auto}
.browse-header{display:grid;gap:10px}
.back-button{border:1px solid var(--line-soft);background:rgba(255,250,241,.14);padding:8px 10px;cursor:pointer;justify-self:start}
.results-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.result-card{min-height:150px}
.result-summary{margin:.65rem 0 0;font-size:.88rem;line-height:1.48;color:#3f3223}
.empty-results{padding:16px}
@media (max-width: 980px){
  .landing-grid{grid-template-columns:1fr}
  .quickstart-strip{grid-template-columns:1fr}
  .quickstart-button{width:100%}
  .section-cards,.results-grid{grid-template-columns:1fr}
}


/* Readability pass: black highlight bars for entry separation */
#articleTitle,
.result-title,
.article-body h2,
.article-body h3,
.article-body h4,
.ledger-card-head h3,
.section-card strong,
.landing-lead h2,
.browse-header h2,
.section-title-row h2{
  display:inline-block;
  background:#1a140d;
  color:#f7f0e0;
  padding:.18rem .48rem .22rem;
  box-shadow:0 0 0 1px rgba(255,255,255,.06) inset;
}

#articleTitle{margin-bottom:.55rem; line-height:1.05}
.section-title-row h2,
.landing-lead h2,
.browse-header h2{margin-bottom:.35rem}
.result-title{font-size:1rem; margin:0 0 .5rem; line-height:1.15}
.article-body h2,.article-body h3,.article-body h4{margin:1.35rem 0 .7rem; line-height:1.2}
.article-body h2{font-size:1.08rem}
.article-body h3{font-size:.98rem}
.article-body h4{font-size:.82rem}
.article-body .note-card strong,
.ledger-code,
.result-head .badge,
.back-button,
.kicker,
.article-kicker,
.section-card-kicker{
  letter-spacing:.14em;
}
.result-card{
  padding:12px 13px 13px;
  border-left:4px solid rgba(37,26,17,.22);
}
.result-card.active{border-left-color:#1a140d}
.result-card .badge{
  background:#1a140d;
  color:#f4ead7;
  border-color:#1a140d;
}
.result-head{align-items:flex-start; gap:12px}
.result-head p{margin:0}
.result-summary{
  margin-top:.7rem;
  padding-top:.72rem;
  border-top:1px solid rgba(72,52,31,.14);
}
.results-grid{gap:12px}
.article-body p,
.article-body ul,
.article-body ol,
.article-body blockquote,
.article-body .table-wrap,
.article-body .note-card,
.article-body .placeholder-art,
.article-body .ledger-section{margin:.82rem 0}
.article-body p{max-width:100ch}
.article-body .note-card{
  padding:12px 13px;
  border-left:4px solid rgba(37,26,17,.22);
}
.ledger-section + .ledger-section{
  margin-top:1.6rem;
  padding-top:1.25rem;
}
.ledger-card{
  padding:13px 14px;
  border-left:4px solid rgba(37,26,17,.18);
}
.ledger-card-head{
  padding-bottom:10px;
  margin-bottom:12px;
}
.ledger-grid{gap:10px 14px}
.ledger-row{
  padding:9px 0;
}
.section-card{
  min-height:138px;
  padding:12px 12px 13px;
}
.search-panel,.article-shell,.landing-lead,.landing-side,.browse-header,.section-launcher{
  backdrop-filter:blur(.5px);
}


/* Entry-card readability pass */
.entry-card{
  border:1px solid rgba(45,32,20,.28);
  padding:14px 16px;
  margin:1rem 0 1.25rem;
  background:rgba(255,255,255,.08);
  box-shadow:0 1px 0 rgba(0,0,0,.04);
}
.entry-card > h3:first-child{margin-top:0}
.entry-card .article-field:first-of-type,
.entry-card .field-label-solo:first-of-type,
.entry-card p:first-of-type{margin-top:.15rem}
.article-field{
  display:grid;
  grid-template-columns:140px minmax(0,1fr);
  gap:10px;
  align-items:start;
  padding:.42rem 0;
  border-top:1px solid rgba(72,52,31,.10);
}
.article-field strong{
  font:700 .72rem/1.25 var(--sans);
  text-transform:uppercase;
  letter-spacing:.12em;
  color:var(--muted);
}
.article-field span{display:block; font-size:1rem; line-height:1.5}
.field-label-solo{
  margin:.55rem 0 .2rem;
  font:700 .75rem/1.2 var(--sans);
  text-transform:uppercase;
  letter-spacing:.14em;
  color:var(--muted);
}
@media (max-width: 780px){
  .article-field{grid-template-columns:1fr; gap:4px}
}


.rarity-legend{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin:16px 0 18px}
.rarity-pill{display:flex;gap:12px;align-items:flex-start;border:1px solid var(--line);padding:12px 14px;box-shadow:var(--shadow)}
.rarity-pill p{margin:.3rem 0 0;font-size:.94rem;line-height:1.45}
.rarity-emoji{font-size:1.25rem;line-height:1.2}
.rarity-common{color:#6e6e6e}
.rarity-rare,.rarity-pill.rarity-rare{color:#103857;background:#d8ebff}
.rarity-melanistic,.rarity-pill.rarity-melanistic{color:#241914;background:#d9b3a1}
.rarity-legendary,.rarity-pill.rarity-legendary{color:#4b2a00;background:#f6d36f}
.rarity-pill.rarity-common{background:rgba(255,255,255,.55)}
.animal-matrix{margin:18px 0 22px;padding:14px;border:1px solid var(--line);background:linear-gradient(180deg,rgba(255,250,241,.88),rgba(244,234,212,.74));box-shadow:var(--shadow)}
.animal-matrix-head{display:flex;justify-content:space-between;gap:12px;align-items:end;border-bottom:1px solid var(--line-soft);padding-bottom:8px;margin-bottom:12px}
.animal-matrix-head h4{margin:0;font-size:1.1rem;text-transform:uppercase;letter-spacing:.08em}
.animal-matrix-head p{margin:0;color:var(--muted);font-size:.92rem}
.animal-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}
.animal-card{border:1px solid var(--line);background:rgba(255,255,255,.72);padding:12px}
.animal-card h5{margin:0 0 10px;font-size:1.08rem}
.animal-rarity-list{list-style:none;padding:0;margin:0;display:grid;gap:7px}
.animal-rarity-list li{padding:7px 9px;border-radius:8px;border:1px solid rgba(0,0,0,.08);font-family:var(--sans);font-size:.92rem}
.animal-rarity-list li.rarity-common{border-color:transparent;padding-left:0;background:transparent}
.animal-trophy{margin:12px 0 0;font-size:.95rem;line-height:1.45}
@media (max-width: 720px){.animal-matrix-head{display:block}.animal-matrix-head p{margin-top:6px}}


.animal-foundin{margin:.35rem 0 .6rem;font-size:.88rem;color:#4f4231;line-height:1.45;}
.animal-foundin strong{color:#2f2418;}
