:root {
  --paper: #f6f8fb;
  --surface: rgba(255,255,255,.86);
  --surface-strong: #ffffff;
  --ink: #101527;
  --muted: #536079;
  --line: #d8e0eb;
  --teal: #008a93;
  --blue: #2c66d6;
  --plum: #6b4acb;
  --coral: #dd5a43;
  --green: #197c54;
  --red: #b72d45;
  --shadow: 0 22px 55px rgba(34,47,67,.13);
  --shadow-sm: 0 12px 26px rgba(34,47,67,.10);
  --font: "Inter", system-ui, sans-serif;
  --serif: "Newsreader", Georgia, serif;
  --mono: "IBM Plex Mono", ui-monospace, monospace;
}
* { box-sizing: border-box; }
html { color-scheme: light; }
body {
  margin: 0;
  color: var(--ink);
  font-family: var(--font);
  background:
    radial-gradient(circle at 8% 8%, rgba(44,102,214,.12), transparent 28%),
    radial-gradient(circle at 86% 18%, rgba(0,138,147,.14), transparent 26%),
    linear-gradient(115deg, #f8fbff 0%, #eef7fb 48%, #fbfbff 100%);
}
a { color: inherit; }
.skip-link { position:absolute; left:-999px; top:10px; }
.skip-link:focus { left:10px; z-index:10; padding:8px 10px; background:#fff; border:1px solid var(--line); }
.topbar {
  position: sticky;
  top: 0;
  z-index: 20;
  display: flex;
  align-items: center;
  gap: 18px;
  min-height: 64px;
  padding: 10px clamp(18px, 4vw, 48px);
  background: rgba(246,248,251,.88);
  border-bottom: 1px solid rgba(216,224,235,.86);
  backdrop-filter: blur(16px);
}
.brand { display:flex; align-items:center; gap:10px; font-weight:800; text-decoration:none; }
.brand-mark { display:grid; place-items:center; width:34px; height:34px; border-radius:50%; color:#fff; background:linear-gradient(135deg,var(--plum),var(--teal)); font-family:var(--mono); }
.top-search { display:flex; align-items:center; width:min(440px, 36vw); min-width:220px; margin-left:auto; border:1px solid var(--line); border-radius:999px; background:#fff; overflow:hidden; }
.top-search input, .hero-search input { min-width:0; flex:1; border:0; outline:0; padding:13px 16px; font:inherit; background:transparent; }
.top-search button, .hero-search button { min-height:40px; border:0; border-radius:999px; padding:0 18px; margin:3px; color:#fff; background:var(--ink); font-weight:800; cursor:pointer; }
nav { display:flex; gap:20px; align-items:center; }
nav a, .section-head a, .source-link { color:var(--muted); font-weight:800; text-decoration:none; }
nav a:hover, .section-head a:hover, .source-link:hover { color:var(--teal); }
main { width:min(1280px, calc(100% - 32px)); margin:0 auto; }
.eyebrow { margin:0 0 9px; color:var(--teal); font:700 12px/1.2 var(--mono); text-transform:uppercase; }
h1,h2,h3,p { margin-top:0; }
h1 { max-width:760px; margin-bottom:16px; font:800 clamp(44px, 6vw, 88px)/.88 var(--serif); letter-spacing:0; }
h2 { margin-bottom:8px; font:800 30px/1 var(--serif); letter-spacing:0; }
.lead { max-width:700px; color:var(--muted); font-size:18px; line-height:1.55; }
.cover-hero { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(360px,.72fr); gap:20px; padding:32px 0 26px; align-items:stretch; }
.hero-copy, .shelf-stage, .page-card, .market-band, .reading-list, .country-note, .history-panel, .meta-card {
  border:1px solid rgba(204,216,230,.95);
  border-radius:18px;
  background:var(--surface);
  box-shadow:var(--shadow);
}
.hero-copy { padding:clamp(26px,4vw,48px); }
.hero-search { display:flex; align-items:center; width:min(650px,100%); margin:24px 0 20px; border:1px solid var(--line); border-radius:999px; background:#fff; overflow:hidden; }
.stats { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
.stat { min-height:92px; padding:14px; border-left:3px solid var(--teal); border-radius:12px; background:rgba(255,255,255,.72); }
.stat span { color:var(--muted); font-size:12px; font-weight:800; }
.stat strong { display:block; margin-top:8px; font:800 25px/1 var(--mono); }
.stat em { display:block; margin-top:6px; color:var(--muted); font-style:normal; font-size:12px; }
.shelf-stage { position:relative; display:grid; grid-template-rows:auto minmax(260px,1fr) auto; padding:22px; overflow:hidden; background:linear-gradient(160deg,rgba(255,255,255,.92),rgba(238,247,251,.78)); }
.shelf-head { display:flex; align-items:start; justify-content:space-between; gap:14px; }
.shelf-head span, .list-head span { color:var(--teal); font:700 12px/1.2 var(--mono); text-transform:uppercase; }
.shelf-head strong { max-width:240px; text-align:right; font-size:20px; }
.cover-rail { position:relative; display:flex; align-items:center; justify-content:center; min-height:300px; margin:12px 0; padding:24px 16px 34px; border-bottom:16px solid rgba(16,21,39,.12); }
.shelf-book { position:relative; flex:0 0 auto; margin-left:-24px; text-decoration:none; transition:transform .2s ease; }
.shelf-book:first-child { margin-left:0; }
.shelf-book:hover { transform:translateY(-10px) rotate(0deg) scale(1.03); z-index:8; }
.shelf-book:nth-child(1) { z-index:6; }
.shelf-book:nth-child(2) { z-index:5; }
.shelf-book:nth-child(3) { z-index:4; }
.shelf-book:nth-child(4) { z-index:3; }
.shelf-book:nth-child(5) { z-index:2; }
.shelf-book:nth-child(n+6) { display:none; }
.shelf-book span { position:absolute; left:8px; top:8px; padding:4px 6px; border-radius:999px; color:#fff; background:rgba(16,21,39,.74); font:700 11px/1 var(--mono); }
.tilt-0 { transform:rotate(-4deg); } .tilt-1 { transform:rotate(3deg); } .tilt-2 { transform:rotate(-2deg); } .tilt-3 { transform:rotate(5deg); } .tilt-4 { transform:rotate(-5deg); }
.shelf-note { position:relative; z-index:7; display:grid; grid-template-columns:auto auto; gap:4px 10px; align-items:end; width:max-content; padding:12px 14px; border-radius:14px; background:#fff; box-shadow:var(--shadow-sm); }
.shelf-note span { grid-column:1/-1; color:var(--muted); font-size:12px; font-weight:800; }
.shelf-note b { font:800 30px/1 var(--mono); }
.shelf-note em { color:var(--muted); font-style:normal; font-size:13px; }
.book-cover { display:inline-block; width:60px; aspect-ratio:2/3; border-radius:5px 9px 9px 5px; border:1px solid rgba(15,25,35,.10); background:linear-gradient(135deg,rgba(44,102,214,.15),rgba(0,138,147,.14)),#e9eef5; background-size:cover; background-position:center; box-shadow:0 16px 28px rgba(21,30,48,.18); }
.book-cover.tiny { width:42px; border-radius:4px 7px 7px 4px; box-shadow:0 10px 18px rgba(21,30,48,.13); }
.book-cover.sm { width:50px; }
.book-cover.md { width:72px; }
.book-cover.lg { width:112px; }
.book-cover.xl { width:172px; }
.book-cover.xxl { width:min(220px,38vw); }
.book-cover.placeholder { display:inline-grid; place-items:center; }
.market-band { margin:20px 0 28px; padding:18px; }
.section { padding:28px 0; }
.section-head { display:flex; align-items:end; justify-content:space-between; gap:16px; margin-bottom:14px; }
.market-strip { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
.market-tile { display:flex; gap:12px; align-items:center; min-height:70px; padding:12px; border:1px solid var(--line); border-radius:14px; background:#fff; text-decoration:none; transition:transform .18s ease, box-shadow .18s ease; }
.market-tile:hover { transform:translateY(-2px); box-shadow:var(--shadow-sm); }
.market-tile span { min-width:0; }
.market-tile strong, .market-tile em { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.market-tile em { color:var(--muted); font-style:normal; font-size:12px; }
.dual-reading { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; padding:4px 0 28px; }
.reading-list { padding:18px; }
.list-head { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:12px; }
.list-head strong { max-width:260px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:14px; }
.spine-list { display:grid; gap:9px; }
.spine-row { display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:10px 12px; align-items:center; min-height:70px; padding:10px; border:1px solid var(--line); border-radius:14px; background:#fff; text-decoration:none; transition:transform .18s ease, border-color .18s ease; }
.spine-row:hover { transform:translateX(3px); border-color:rgba(0,138,147,.35); }
.spine-row span { min-width:0; }
.spine-row strong, .spine-row em { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.spine-row em { color:var(--muted); font-style:normal; font-size:12px; }
.spine-row b { font:800 13px/1 var(--mono); }
.spine-row i { grid-column:2/-1; height:5px; overflow:hidden; border-radius:999px; background:#e4eaf2; }
.spine-row i u { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,var(--plum),var(--teal)); }
.book-grid, .country-grid, .history-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.book-card { display:grid; grid-template-columns:auto minmax(0,1fr); gap:14px; min-height:150px; padding:14px; border:1px solid var(--line); border-radius:16px; background:rgba(255,255,255,.82); box-shadow:0 10px 25px rgba(21,30,48,.06); }
.cover-link { line-height:0; }
.book-card h3 { margin:8px 0 5px; font-size:18px; line-height:1.22; }
.book-card h3 a { text-decoration:none; }
.book-card p { margin-bottom:6px; color:var(--muted); font-size:13px; }
.book-card small { color:var(--muted); font-size:12px; font-weight:700; }
.rank-line { display:flex; flex-wrap:wrap; gap:6px; align-items:center; color:var(--muted); font-size:12px; font-weight:800; }
.rank-line span, .movement, .status { display:inline-flex; align-items:center; gap:5px; min-height:22px; padding:3px 7px; border-radius:999px; background:#edf2f7; }
.movement.up, .movement.new, .status.ok { color:var(--green); background:#e8f5ee; }
.movement.down, .status.bad { color:var(--red); background:#fde9ed; }
.two-lanes { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.stack { display:grid; gap:12px; }
.page-title { padding:42px 0 24px; }
.page-title p:not(.eyebrow) { max-width:720px; color:var(--muted); font-size:18px; line-height:1.55; }
.country-card, .history-card { display:grid; gap:12px; padding:16px; border:1px solid var(--line); border-radius:16px; background:#fff; text-decoration:none; }
.country-name { display:flex; align-items:center; gap:9px; }
.country-covers { display:flex; gap:6px; min-height:64px; align-items:end; }
.country-covers a { line-height:0; }
.country-links { display:flex; flex-wrap:wrap; gap:8px; }
.country-links a, .country-links span, .tabs a { min-height:34px; padding:8px 10px; border:1px solid var(--line); border-radius:999px; color:var(--muted); background:#f8fbff; font-size:12px; font-weight:800; text-decoration:none; }
.country-links a:hover, .tabs a:hover, .tabs a.active { color:#fff; background:var(--ink); border-color:var(--ink); }
.country-board { display:grid; grid-template-columns:minmax(0,1fr) minmax(260px,360px); gap:18px; padding:42px 0 20px; align-items:end; }
.country-note { padding:18px; }
.country-note span { color:var(--muted); font-size:12px; font-weight:800; }
.country-note strong { display:block; margin:8px 0; font:800 32px/1 var(--mono); }
.country-note em { color:var(--muted); font-style:normal; }
.tabs { display:flex; flex-wrap:wrap; gap:10px; margin-top:16px; }
.rank-table { display:grid; gap:10px; padding-bottom:42px; }
.rank-row { display:grid; grid-template-columns:70px auto minmax(0,1fr) auto; gap:14px; align-items:center; padding:12px 14px; border:1px solid var(--line); border-radius:16px; background:#fff; text-decoration:none; }
.rank-number { color:var(--plum); font:800 22px/1 var(--mono); }
.rank-row strong, .rank-row em { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.rank-row em { color:var(--muted); font-style:normal; margin-top:4px; }
.book-profile { display:grid; gap:22px; padding:34px 0 46px; }
.profile-hero { display:grid; grid-template-columns:auto minmax(0,1fr); gap:28px; align-items:center; padding:30px; border-radius:22px; background:linear-gradient(135deg,rgba(255,255,255,.90),rgba(238,247,251,.78)); border:1px solid var(--line); box-shadow:var(--shadow); }
.profile-hero h1 { font-size:clamp(44px,5vw,76px); }
.detail-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:18px; }
.primary-link { display:inline-flex; align-items:center; min-height:44px; padding:10px 16px; border-radius:999px; color:#fff; background:var(--ink); font-weight:800; text-decoration:none; }
.profile-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(320px,420px); gap:18px; align-items:start; }
.history-panel, .meta-card { padding:18px; }
.trend-card-head { display:flex; justify-content:space-between; gap:16px; margin-bottom:16px; }
.trend-card-head p { color:var(--muted); margin-bottom:0; }
.trend-summary { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:8px; min-width:240px; }
.trend-summary span { display:grid; gap:3px; min-width:96px; padding:8px 10px; border:1px solid var(--line); border-radius:12px; background:#fff; }
.trend-summary small { color:var(--muted); font:800 10px/1 var(--font); text-transform:uppercase; }
.trend-summary strong { font:700 12px/1.25 var(--mono); }
.app-trend-layout { display:grid; grid-template-columns:minmax(190px,250px) minmax(0,1fr); gap:16px; }
.market-list { display:grid; align-content:start; gap:8px; max-height:330px; overflow-y:auto; padding-right:4px; }
.market-option { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:5px 10px; min-height:64px; padding:10px; border:1px solid var(--line); border-radius:12px; background:#fff; color:var(--ink); font:inherit; text-align:left; cursor:pointer; }
.market-option.active { box-shadow:inset 4px 0 0 var(--teal); border-color:rgba(0,138,147,.36); }
.market-option span { display:flex; align-items:center; gap:7px; min-width:0; }
.market-option strong, .market-option em { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.market-option em { grid-column:1; color:var(--muted); font-style:normal; font-size:12px; }
.market-option b { grid-column:2; grid-row:1 / span 2; align-self:center; color:var(--plum); font:800 16px/1 var(--mono); }
.trend-chart-box { min-height:330px; min-width:0; padding:12px; border:1px solid var(--line); border-radius:14px; background:#fff; }
.trend-chart-box canvas { min-height:300px; max-height:300px; }
dl { display:grid; grid-template-columns:120px minmax(0,1fr); gap:12px; margin:0; }
dt { color:var(--muted); font-weight:800; }
dd { margin:0; min-width:0; }
.table-wrap { overflow:auto; border:1px solid var(--line); border-radius:16px; background:#fff; }
table { width:100%; border-collapse:collapse; min-width:760px; }
th, td { padding:13px 14px; border-bottom:1px solid var(--line); text-align:left; vertical-align:top; }
th { color:var(--muted); font-size:12px; font-weight:800; }
td { font-size:14px; }
.flag-icon { display:inline-block; width:20px; height:15px; border:1px solid rgba(15,25,35,.16); border-radius:2px; object-fit:contain; vertical-align:-2px; background:#fff; }
.flag-icon.md { width:24px; height:18px; }
.flag-icon.lg { width:40px; height:30px; border-radius:3px; }
.empty { padding:18px; border:1px dashed var(--line); border-radius:14px; color:var(--muted); background:rgba(255,255,255,.62); }
.prose { max-width:860px; margin:44px auto; padding:28px; }
.prose h1 { font-size:clamp(40px,5vw,70px); }
.prose p { color:var(--muted); font-size:17px; line-height:1.65; }
.footer { border-top:1px solid var(--line); padding:26px clamp(16px,4vw,48px); color:var(--muted); font-size:13px; }
.footer nav { margin-top:12px; margin-left:0; flex-wrap:wrap; }
.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:1040px) {
  .cover-hero, .country-board, .profile-grid { grid-template-columns:1fr; }
  .market-strip, .book-grid, .country-grid, .history-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .top-search { width:min(420px,42vw); }
}
@media (max-width:760px) {
  .topbar { position:static; flex-direction:column; align-items:stretch; }
  .top-search { width:100%; }
  nav { overflow-x:auto; }
  main { width:min(100% - 24px,1280px); }
  h1 { font-size:clamp(42px,13vw,60px); }
  .stats, .dual-reading, .two-lanes, .market-strip, .book-grid, .country-grid, .history-grid, .pulse-grid { grid-template-columns:1fr; }
  .shelf-stage { min-height:460px; }
  .profile-hero { grid-template-columns:1fr; }
  .app-trend-layout, .trend-card-head { grid-template-columns:1fr; display:grid; }
  .trend-summary { justify-content:stretch; min-width:0; }
  .rank-row { grid-template-columns:54px auto minmax(0,1fr); }
  .rank-row .rank-meta { grid-column:3; }
  dl { grid-template-columns:1fr; }
}
@media (max-width:430px) {
  main { width:min(100% - 20px,1280px); }
  .hero-copy, .shelf-stage, .profile-hero { padding:20px; border-radius:16px; }
  .hero-search { border-radius:18px; align-items:stretch; }
  .hero-search button, .top-search button { padding:0 13px; }
}

/* Site005 editorial refresh: bookshop/newspaper rather than dashboard. */
:root {
  --paper: #f3eadb;
  --surface: #fffaf1;
  --surface-strong: #fffdf8;
  --ink: #241810;
  --muted: #786954;
  --line: #d8c5a7;
  --teal: #2f8079;
  --blue: #3b5a7d;
  --plum: #7b4f78;
  --coral: #b65335;
  --green: #47745d;
  --red: #9f3b3f;
  --shadow: 0 28px 54px rgba(83, 55, 30, .16);
  --shadow-sm: 0 12px 24px rgba(83, 55, 30, .11);
}
body {
  background:
    linear-gradient(90deg, rgba(36,24,16,.035) 1px, transparent 1px),
    linear-gradient(180deg, #fbf4e8 0%, #f2e4cf 42%, #edf4ef 100%);
  background-size: 28px 28px, auto;
}
.topbar {
  position: sticky;
  min-height: 74px;
  padding-block: 12px;
  background: rgba(255, 250, 241, .92);
  border-bottom: 2px solid #241810;
  box-shadow: 0 8px 0 rgba(36,24,16,.04);
}
.brand {
  min-width: 230px;
  font-family: var(--serif);
  font-size: 24px;
  font-weight: 800;
}
.brand-mark {
  width: 38px;
  height: 38px;
  border-radius: 4px 12px 12px 4px;
  background: linear-gradient(135deg, #241810, #74432d);
  box-shadow: 5px 0 0 #d8c5a7;
}
.top-search {
  order: 3;
  width: min(360px, 30vw);
  border: 2px solid #241810;
  border-radius: 0;
  background: #fffdf8;
  box-shadow: 5px 5px 0 rgba(36,24,16,.10);
}
.top-search input {
  padding: 12px 14px;
}
.top-search button,
.hero-search button {
  min-height: 38px;
  border-radius: 0;
  background: #241810;
}
.topbar nav {
  margin-left: auto;
  gap: 6px;
}
.topbar nav a {
  min-height: 38px;
  padding: 9px 10px;
  border-bottom: 2px solid transparent;
  color: #241810;
  font-family: var(--mono);
  font-size: 12px;
  text-transform: uppercase;
}
.topbar nav a:hover {
  color: var(--coral);
  border-bottom-color: var(--coral);
}
main {
  width: min(1380px, calc(100% - 40px));
}
.editorial-hero {
  display: grid;
  grid-template-columns: minmax(0, .82fr) minmax(520px, 1.18fr);
  min-height: 560px;
  padding: 34px 0 24px;
  gap: 26px;
}
.hero-edition {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(28px, 5vw, 62px);
  border: 2px solid #241810;
  background:
    linear-gradient(180deg, rgba(255,255,255,.46), transparent 42%),
    #fffaf1;
  box-shadow: 9px 9px 0 rgba(36,24,16,.10), var(--shadow);
  min-width: 0;
  overflow: hidden;
}
.hero-edition h1 {
  max-width: 680px;
  margin-bottom: 20px;
  color: #20140d;
  font-size: clamp(48px, 5.6vw, 88px);
  line-height: .88;
  overflow-wrap: break-word;
}
.hero-edition .lead {
  max-width: 590px;
  color: #5f503e;
  font-size: 20px;
}
.hero-search {
  width: min(610px, 100%);
  margin: 30px 0 22px;
  border: 2px solid #241810;
  border-radius: 0;
  background: #fffdf8;
  box-shadow: 6px 6px 0 rgba(36,24,16,.10);
}
.hero-search input {
  padding: 16px 18px;
}
.issue-meta {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
  max-width: 610px;
}
.issue-meta span {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  min-height: 44px;
  padding: 10px 0;
  border-top: 1px solid #d8c5a7;
  color: #786954;
  font-family: var(--mono);
  font-size: 12px;
}
.issue-meta b {
  color: #241810;
  font-size: 16px;
}
.window-display {
  position: relative;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  overflow: hidden;
  min-width: 0;
  border: 2px solid #241810;
  background:
    repeating-linear-gradient(90deg, rgba(255,255,255,.28) 0 28px, rgba(216,197,167,.18) 28px 30px),
    linear-gradient(155deg, #f8e9d2, #edf4ef 58%, #d9e7e1);
  box-shadow: 9px 9px 0 rgba(36,24,16,.10), var(--shadow);
}
.window-display:after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 54px;
  height: 26px;
  background: linear-gradient(180deg, #7d4b31, #3f2a1d);
  box-shadow: 0 10px 0 rgba(36,24,16,.16);
}
.window-caption {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 70px;
  padding: 18px 22px;
  border-bottom: 2px solid #241810;
  background: rgba(255,253,248,.72);
}
.window-caption span,
.issue-list-head span {
  color: var(--coral);
  font-family: var(--mono);
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
}
.window-caption strong {
  max-width: 380px;
  overflow: hidden;
  color: #241810;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.cover-marquee {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  gap: 18px;
  min-width: max-content;
  min-height: 430px;
  padding: 40px 28px 82px;
  animation: shelfDrift 24s linear infinite alternate;
}
.cover-marquee:hover {
  animation-play-state: paused;
}
.marquee-book {
  position: relative;
  display: block;
  flex: 0 0 auto;
  color: inherit;
  text-decoration: none;
  transform: translateY(0);
  transition: transform .22s ease;
  animation: bookRise .45s ease both;
  animation-delay: var(--delay);
}
.marquee-book:nth-child(3n) {
  transform: translateY(-34px);
}
.marquee-book:nth-child(4n) {
  transform: translateY(22px);
}
.marquee-book:hover {
  transform: translateY(-18px) scale(1.03);
}
.marquee-book em {
  position: absolute;
  left: -8px;
  top: -10px;
  display: grid;
  place-items: center;
  min-width: 36px;
  min-height: 36px;
  border: 2px solid #241810;
  border-radius: 50%;
  background: #fffdf8;
  font-style: normal;
  font: 800 12px/1 var(--mono);
}
@keyframes shelfDrift {
  from { transform: translateX(0); }
  to { transform: translateX(-220px); }
}
@keyframes bookRise {
  from { opacity: 0; transform: translateY(28px); }
  to { opacity: 1; }
}
.front-page {
  display: grid;
  grid-template-columns: 1fr;
  gap: 24px;
  align-items: start;
  padding: 20px 0 34px;
}
.feature-story,
.issue-list,
.market-ledger,
.shelf-column {
  border: 2px solid #241810;
  background: rgba(255,250,241,.86);
  box-shadow: 7px 7px 0 rgba(36,24,16,.10);
}
.feature-story {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 26px;
  align-items: center;
  min-height: 460px;
  padding: clamp(22px, 4vw, 42px);
}
.feature-cover {
  line-height: 0;
  transform: rotate(-3deg);
}
.feature-story h2 {
  max-width: 720px;
  margin-bottom: 12px;
  font-size: clamp(38px, 4.2vw, 72px);
  line-height: .92;
}
.feature-story h2 a {
  color: inherit;
  text-decoration: none;
}
.feature-story p {
  color: #5f503e;
  font-size: 18px;
}
.feature-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 18px;
}
.feature-tags span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 32px;
  padding: 7px 10px;
  border: 1px solid #d8c5a7;
  background: #fffdf8;
  font: 800 12px/1 var(--mono);
}
.issue-stack {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}
.issue-list {
  padding: 16px;
}
.issue-list-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding-bottom: 10px;
  border-bottom: 2px solid #241810;
}
.issue-list-head a,
.ledger-link {
  color: #241810;
  font-family: var(--mono);
  font-size: 12px;
  font-weight: 800;
  text-decoration: none;
  text-transform: uppercase;
}
.issue-row {
  display: grid;
  grid-template-columns: 42px auto minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  padding: 13px 0;
  border-bottom: 1px solid #d8c5a7;
  text-decoration: none;
}
.issue-row:last-child {
  border-bottom: 0;
}
.issue-row b {
  color: var(--coral);
  font: 800 17px/1 var(--mono);
}
.issue-row strong,
.issue-row em,
.shelf-line strong,
.shelf-line em {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.issue-row em,
.shelf-line em {
  color: #786954;
  font-style: normal;
  font-size: 13px;
}
.market-ledger {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px 20px;
  align-items: end;
  margin: 6px 0 34px;
  padding: 20px;
}
.market-ledger h2 {
  margin: 0;
}
.country-ribbon {
  grid-column: 1 / -1;
  display: flex;
  gap: 10px;
  overflow-x: auto;
  padding: 6px 0 2px;
  scrollbar-width: thin;
}
.country-ribbon a {
  display: grid;
  grid-template-columns: auto auto;
  gap: 2px 8px;
  flex: 0 0 auto;
  min-width: 168px;
  padding: 12px;
  border: 1px solid #d8c5a7;
  background: #fffdf8;
  color: inherit;
  text-decoration: none;
}
.country-ribbon .flag-icon {
  grid-row: 1 / span 2;
  align-self: center;
}
.country-ribbon span {
  color: #786954;
  font-size: 12px;
}
.shelf-columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  padding-bottom: 34px;
}
.shelf-column {
  padding: 20px;
}
.shelf-column-title {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 14px;
  border-bottom: 2px solid #241810;
}
.shelf-column-title h2 {
  margin-bottom: 12px;
  font-size: clamp(34px, 3.4vw, 54px);
}
.shelf-table {
  display: grid;
}
.shelf-line {
  display: grid;
  grid-template-columns: 52px auto minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  min-height: 76px;
  padding: 12px 0;
  border-bottom: 1px solid #d8c5a7;
  color: inherit;
  text-decoration: none;
}
.shelf-line:last-child {
  border-bottom: 0;
}
.shelf-line > b {
  color: var(--coral);
  font: 800 20px/1 var(--mono);
}
.shelf-line i {
  color: #786954;
  font-style: normal;
  font-size: 12px;
  white-space: nowrap;
}
.newspaper-lanes {
  display: grid;
  grid-template-columns: 1fr;
  gap: 22px;
  padding-bottom: 44px;
}
.editorial-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.book-card {
  border-radius: 0;
  border-color: #d8c5a7;
  background: #fffdf8;
  box-shadow: none;
}
.book-card:hover,
.issue-row:hover,
.shelf-line:hover,
.country-ribbon a:hover {
  background: #fff5df;
}
.book-cover {
  border-radius: 3px 8px 8px 3px;
  box-shadow: 8px 12px 0 rgba(36,24,16,.08), 0 16px 26px rgba(36,24,16,.16);
}
.book-cover.tiny {
  box-shadow: 4px 6px 0 rgba(36,24,16,.07), 0 10px 16px rgba(36,24,16,.11);
}
.book-cover.xxl {
  width: min(230px, 32vw);
}
.page-title,
.country-board,
.book-profile {
  padding-top: 44px;
}
.history-panel,
.meta-card,
.country-note,
.page-card,
.table-wrap {
  border: 2px solid #241810;
  border-radius: 0;
  background: #fffaf1;
  box-shadow: 7px 7px 0 rgba(36,24,16,.10);
}
.profile-hero {
  border: 2px solid #241810;
  border-radius: 0;
  background: #fffaf1;
  box-shadow: 9px 9px 0 rgba(36,24,16,.10);
}
.profile-hero h1,
.page-title h1,
.country-board h1 {
  color: #20140d;
}
@media (prefers-reduced-motion: reduce) {
  .cover-marquee,
  .marquee-book {
    animation: none;
  }
}
@media (max-width: 1120px) {
  .editorial-hero,
  .front-page,
  .shelf-columns {
    grid-template-columns: 1fr;
  }
  .window-display {
    min-height: 470px;
  }
  .editorial-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 760px) {
  .topbar {
    align-items: stretch;
  }
  .brand {
    min-width: 0;
  }
  .topbar nav {
    margin-left: 0;
  }
  .top-search {
    order: 0;
    width: 100%;
  }
  main {
    width: min(100% - 24px, 1380px);
  }
  .editorial-hero {
    min-height: 0;
    padding-top: 18px;
  }
  .hero-edition,
  .window-display,
  .front-page,
  .feature-story,
  .market-ledger,
  .shelf-column,
  .newspaper-lanes,
  .book-grid {
    min-width: 0;
  }
  .hero-edition,
  .window-display,
  .feature-story,
  .issue-list,
  .market-ledger,
  .shelf-column {
    box-shadow: 5px 5px 0 rgba(36,24,16,.10);
  }
  .hero-edition h1 {
    font-size: clamp(40px, 11.2vw, 56px);
    line-height: .92;
  }
  .issue-meta,
  .feature-story,
  .market-ledger,
  .shelf-line,
  .issue-row {
    grid-template-columns: 1fr;
  }
  .cover-marquee {
    width: 100%;
    min-width: 0;
    justify-content: center;
    min-height: 360px;
    padding: 28px 14px 82px;
    animation: none;
  }
  .cover-marquee .book-cover.xl {
    width: 146px;
  }
  .cover-marquee .book-cover.lg {
    width: 92px;
  }
  .issue-meta span {
    display: grid;
    justify-content: start;
    gap: 3px;
  }
  .marquee-book:nth-child(n+3) {
    display: none;
  }
  .feature-cover {
    transform: none;
  }
  .book-cover.xxl {
    width: min(210px, 58vw);
  }
  .shelf-line i {
    grid-column: 3;
    white-space: normal;
  }
  .issue-row {
    grid-template-columns: 42px auto minmax(0, 1fr);
  }
  .shelf-line {
    grid-template-columns: 42px auto minmax(0, 1fr);
  }
  .editorial-grid {
    grid-template-columns: 1fr;
  }
}

/* Stability pass: static catalog layout, no clipped carousel behavior. */
.editorial-hero {
  grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr);
  min-height: 0;
  align-items: start;
}
.hero-edition {
  min-height: 0;
}
.hero-edition h1 {
  max-width: 640px;
  font-size: clamp(48px, 4.9vw, 72px);
  line-height: .92;
}
.window-display {
  align-self: start;
  min-height: 0;
}
.window-display:after {
  display: none;
}
.cover-marquee {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
  min-width: 0;
  min-height: 0;
  align-content: start;
  align-items: start;
  justify-items: center;
  padding: 24px;
  animation: none;
}
.marquee-book,
.marquee-book:nth-child(3n),
.marquee-book:nth-child(4n) {
  display: grid;
  gap: 9px;
  justify-items: center;
  width: 100%;
  min-width: 0;
  transform: none;
  animation: none;
}
.marquee-book:nth-child(n+13) {
  display: none;
}
.marquee-book:hover {
  transform: translateY(-4px);
}
.marquee-book .book-cover {
  width: 118px;
  max-width: 118px;
}
.marquee-book .book-cover.xl {
  width: 132px;
  max-width: 132px;
}
.marquee-book em {
  left: 6px;
  top: 6px;
  min-width: 30px;
  min-height: 30px;
}
.feature-story {
  min-height: 0;
}
.feature-story .book-cover.xxl {
  width: min(180px, 24vw);
}
@media (max-width: 1120px) {
  .cover-marquee {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}
@media (max-width: 760px) {
  .editorial-hero {
    grid-template-columns: 1fr;
    gap: 18px;
  }
  .hero-edition {
    padding: 24px 28px 28px;
  }
  .hero-edition h1 {
    font-size: clamp(38px, 10.5vw, 52px);
  }
  .hero-edition .lead {
    font-size: 18px;
    line-height: 1.55;
  }
  .window-caption {
    display: grid;
    grid-template-columns: 1fr;
    gap: 6px;
    min-height: 0;
  }
  .window-caption strong {
    max-width: none;
    text-align: left;
  }
  .cover-marquee {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    min-height: 0;
    padding: 18px 20px 22px;
  }
  .cover-marquee .marquee-book:nth-child(-n+4) {
    display: grid;
  }
  .cover-marquee .marquee-book:nth-child(n+5) {
    display: none;
  }
  .marquee-book .book-cover,
  .marquee-book .book-cover.xl,
  .marquee-book .book-cover.lg {
    width: 132px;
    max-width: 132px;
  }
  .feature-story {
    grid-template-columns: 1fr;
  }
  .issue-stack {
    grid-template-columns: 1fr;
  }
  .feature-story .book-cover.xxl {
    width: min(210px, 70vw);
  }
}

.search-results {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
  width: min(1040px, 100%);
  padding: 0 0 48px;
}
.search-results .book-card {
  align-items: start;
  min-height: 0;
  padding: 16px;
}
.search-results .book-card h3 {
  max-width: 900px;
  margin-top: 6px;
}
.search-results .book-card p,
.search-results .book-card small {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
}
.search-results .book-card p {
  -webkit-line-clamp: 2;
  max-width: 920px;
}
.search-results .book-card small {
  -webkit-line-clamp: 1;
}
.search-results .book-card .book-cover.md {
  width: 76px;
}
@media (min-width: 900px) {
  .search-results .book-card {
    grid-template-columns: auto minmax(0, 1fr);
  }
}
@media (max-width: 760px) {
  .search-results .book-card {
    grid-template-columns: auto minmax(0, 1fr);
  }
  .search-results .book-card .book-cover.md {
    width: 72px;
  }
}
