/* init comics — editorial, responsive static site. No external fonts or libraries. */
:root {
  --paper: #f7f6f0;
  --ink: #252621;
  --muted: #6b6c65;
  --line: #d9d9ce;
  --accent: #c8442d;
  --accent-soft: #f2ddd3;
  --yellow: #f3d977;
  --pink: #ecc0c3;
  --blue: #b6d3dd;
  --lavender: #c9c3df;
  --sans: "Hiragino Kaku Gothic ProN", "Yu Gothic", "Noto Sans CJK JP", Meiryo, sans-serif;
  --latin: Arial, Helvetica, sans-serif;
  --max: 1200px;
}
.manga-entry-list { list-style:none; padding:0; margin:0; display:grid; grid-template-columns:repeat(auto-fill,minmax(min(230px,100%),380px)); gap:16px; }
.manga-entry-list li { min-width:0; }
.manga-entry-list a { display:flex; align-items:center; gap:16px; min-height:116px; padding:12px; border:1px solid var(--line); background:#fff; font-size:1.05rem; font-weight:700; }
.manga-entry-list img { width:66px; height:92px; object-fit:cover; flex:none; }
.manga-entry-list small { display:block; color:var(--accent); font-size:.9rem; font-weight:500; }
.manga-entry-list a:hover,.manga-entry-list a:focus-visible { border-color:var(--accent); }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 110px; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: var(--sans); font-size: 15px; line-height: 1.8; -webkit-font-smoothing: antialiased; }
body.modal-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
button, input { font: inherit; }
button { color: inherit; }
img, video { max-width: 100%; display: block; }
img { height: auto; }
h1,h2,h3,p,figure { margin: 0; }
button,a { -webkit-tap-highlight-color: transparent; touch-action: manipulation; }
button { cursor: pointer; }
[hidden] { display: none !important; }
::selection { background: var(--accent-soft); color: var(--ink); }
:focus-visible { outline: 3px solid #ab341f; outline-offset: 5px; border-radius: 3px; }
.wrap { width: min(var(--max), calc(100% - 96px)); margin-inline: auto; }
.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; }
.skip-link { position: fixed; z-index: 200; left: 16px; top: -80px; background: white; padding: 12px 20px; }
.skip-link:focus { top: 10px; }
.site-header { position: sticky; top: 0; z-index: 30; background: rgba(247,246,240,.97); border-bottom: 1px solid var(--line); }
.header-inner { min-height: 86px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.brand { display: inline-flex; align-items: center; gap: 12px; flex-shrink:0; font: 700 26px/1 var(--latin); letter-spacing:-1.2px; }
.brand b { font-weight: 400; }
.brand i { color: var(--accent); font-style: normal; }
.brand-mark { position: relative; width: 33px; height: 36px; display: grid; place-items: center; border: 2px solid var(--ink); border-radius: 3px; font: 800 29px/.8 Georgia, serif; letter-spacing: 0; padding-bottom:4px; }
.brand-mark::after { content: ""; width: 8px; height: 8px; position: absolute; bottom: -5px; left: 6px; border-left: 2px solid var(--ink); border-bottom: 2px solid var(--ink); background: var(--paper); transform: skewY(-30deg); }
.site-nav { display: flex; align-items: center; gap: 24px; font-size: 12px; font-weight: 700; }
.site-nav a { padding: 10px 0; }
.site-nav a:hover, .footer-socials a:hover { color: var(--accent); }
.button { min-height: 52px; display: inline-flex; align-items: center; justify-content: center; gap: 22px; background: var(--ink); border: 1px solid var(--ink); color: #fff; padding: 12px 21px; border-radius: 5px; font-size: 13px; font-weight: 700; line-height: 1.5; transition: background .18s ease, transform .18s ease; text-align:center; }
a.button:hover { background: #41423a; transform: translateY(-2px); }
.button>span:last-child { font-family:var(--latin); font-size:20px; font-weight:400; }
.button-small { min-height: 44px; padding: 10px 15px; font-size: 12px; gap: 13px; }
.button-accent { background: var(--accent); border-color:var(--accent); }
a.button-accent:hover { background: #a43624; }
.button-outline { color:var(--ink); background:transparent; }
a.button-outline:hover { background:#ebe9e0; }
.button-light { background:var(--paper); border-color:var(--paper); color:var(--ink); }
a.button-light:hover { background:white; }
.is-pending { cursor: default; }
.button.is-pending { background: transparent; border-color: #b9b9ae; color:#62635b; }
.text-link { display:inline-flex; align-items:center; justify-content:space-between; gap:12px; min-height:44px; font-size:12px; font-weight:700; text-underline-offset:5px; }
.text-link:hover { text-decoration:underline; }
button.text-link { border:0; background:none; padding:0; }
.eyebrow { font: 700 10px/1.6 var(--latin); letter-spacing: 1.6px; }
.hero { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; align-items: center; padding-block: 43px 46px; }
.hero-copy { position: relative; z-index: 2; padding-bottom: 4px; }
.hero-copy>.eyebrow { display:flex; align-items:center; gap:9px; font:700 11px/1.6 var(--sans); letter-spacing:.04em; }
.accent-dot { width: 7px; height: 7px; border-radius:50%; background:var(--accent); flex-shrink:0; }
h1 { font-size:clamp(42px, 4.7vw, 66px); line-height:1.38; letter-spacing:-.067em; font-weight:800; margin:25px 0 18px; }
h1>span { position:relative; }
h1>span::after { content:""; position:absolute; height:10px; background:var(--accent-soft); bottom:2px; left:2px; right:-6px; z-index:-1; transform:rotate(-1.5deg); }
.hero-text { font-size:14px; line-height:2.05; color:#5c5d55; letter-spacing:.025em; }
.hero-actions { display:flex; flex-wrap:wrap; align-items:center; gap:18px; margin-top:26px; }
.hero-note { color:var(--muted); font-size:10px; margin-top:19px; letter-spacing:.055em; display:flex; gap:8px; align-items:center; }
.hero-art { height:470px; min-width:0; position:relative; background-image:radial-gradient(#d5d2c6 .65px, transparent .65px); background-size:12px 12px; border-radius:2px; }
.hero-art::before { content:""; position:absolute; border-radius:50%; width:360px; height:360px; top:42px; right:38px; background:#eee4d6; opacity:.7; }
.art-caption { position:relative; display:flex; justify-content:space-between; font:700 9px/1 var(--latin); letter-spacing:1.7px; padding:13px 10px; color:#67685f; }
.hero-book { position:absolute; width:36%; max-width:182px; box-shadow:-5px 8px 0 rgba(72,67,56,.1), 0 14px 26px rgba(44,40,32,.13); transition:transform .2s ease; border-radius:2px; }
.hero-book .cover-art { border:1px solid rgba(50,48,40,.2); }
.hero-book .cover-art::after { content:""; position:absolute; top:0; bottom:0; left:4px; width:2px; background:#fff6; }
.hero-book:hover { transform:rotate(0deg) translateY(-8px); z-index:5; }
.art-bottom { position:absolute; bottom:0; left:5px; right:5px; display:flex; align-items:center; justify-content:space-between; gap:10px; font-size:10px; letter-spacing:.1em; }
.hand-arrow { font:40px/1 Georgia,serif; transform:rotate(-8deg); }
.art-star { color:var(--accent); font:40px/1 var(--latin); }
.cover-art { width:100%; aspect-ratio:3/4; position:relative; overflow:hidden; background:var(--cover-bg); }
.theme-yellow { --cover-bg: var(--yellow); --cover-ink:#564326; background-color:var(--cover-bg); }
.theme-pink { --cover-bg: var(--pink); --cover-ink:#793b47; background-color:var(--cover-bg); }
.theme-blue { --cover-bg: var(--blue); --cover-ink:#32556a; background-color:var(--cover-bg); }
.theme-lavender { --cover-bg: var(--lavender); --cover-ink:#4d446f; background-color:var(--cover-bg); }
.cover-art img { width:100%; height:100%; object-fit:contain; position:absolute; inset:0; }
.cover-art.has-image { background:#eeeae2; }
.cover-art.has-image .cover-type { visibility:hidden; }
.cover-image-title { position:absolute; inset:auto 0 0; display:block; padding:12px 10px 14px; background:#292633ed; color:#fff; text-align:center; font-size:18px; font-weight:700; line-height:1.35; overflow-wrap:anywhere; }
.cover-type { height:100%; width:100%; display:flex; flex-direction:column; align-items:center; padding:16px 15px; position:relative; color:var(--cover-ink); }
.cover-top { width:100%; display:flex; justify-content:space-between; align-items:center; font:700 8px/1 var(--latin); letter-spacing:1.2px; }
.cover-top b { font-size:16px; letter-spacing:0; }
.cover-symbol { position:relative; display:block; width:53%; aspect-ratio:1; margin:9% 0 6%; }
.theme-yellow .cover-symbol { border:2px solid currentColor; border-radius:16%; transform:rotate(-8deg); box-shadow:7px 7px 0 #fff5; }
.theme-yellow .cover-symbol::before { content:"!"; position:absolute; inset:0; display:grid; place-items:center; font:900 72px/1 var(--latin); }
.theme-pink .cover-symbol { background:currentColor; clip-path:polygon(50% 18%,62% 4%,80% 2%,96% 17%,100% 37%,94% 55%,50% 96%,6% 55%,0 37%,4% 17%,20% 2%,38% 4%); transform:rotate(9deg); opacity:.8; }
.theme-blue .cover-symbol { width:37%; aspect-ratio: .62; border:3px solid currentColor; border-radius:13%; margin-top:7%; margin-bottom:4%; transform:rotate(11deg); box-shadow:7px 7px 0 #fff5; }
.theme-blue .cover-symbol::before { content:""; position:absolute; background:currentColor; width:65%; height:55%; top:15%; left:20%; clip-path:polygon(48% 0,60% 0,44% 46%,100% 39%,42% 100%,55% 52%,0 59%); }
.theme-blue .cover-symbol::after { content:""; position:absolute; width:25%; height:3px; border-radius:4px; background:currentColor; left:38%; bottom:7%; }
.theme-lavender .cover-symbol { width:65%; border:2px solid currentColor; border-radius:50%; transform:rotate(-26deg) scaleY(.75); }
.theme-lavender .cover-symbol::before { content:""; position:absolute; inset:14%; border:2px solid currentColor; border-radius:50%; transform:rotate(50deg) scaleY(1.5); }
.theme-lavender .cover-symbol::after { content:""; position:absolute; width:22px; height:22px; background:currentColor; border-radius:50%; right:-2px; top:12%; }
.cover-title { position:relative; font-size:clamp(18px,2.35vw,32px); line-height:1.27; font-weight:900; letter-spacing:-.05em; text-align:center; z-index:1; }
.theme-lavender .cover-title { font-size:clamp(17px,1.8vw,25px); letter-spacing:-.08em; }
.cover-genre { font-size:8px; letter-spacing:.06em; margin-top:10px; text-align:center; }
.cover-preview { font-size:8px; margin-top:auto; padding-top:7px; letter-spacing:.12em; }
.hero-book .cover-type { padding:12px 10px; }
.hero-book .cover-title { font-size:24px; }
.hero-book.theme-lavender .cover-title, .hero-book .theme-lavender .cover-title { font-size:19px; }
.hero-book .cover-top { font-size:6px; }
.hero-book .cover-top b { font-size:12px; }
.hero-book .cover-genre { font-size:6px; margin-top:7px; }
.hero-book .cover-preview { font-size:6px; }
.hero-book .theme-yellow .cover-symbol::before { font-size:48px; }
.collection-bar { display:flex; align-items:center; justify-content:space-between; gap:20px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding-block:14px; font:700 9px/1.4 var(--latin); letter-spacing:1.3px; }
.collection-bar>span:nth-child(2) { font:500 10px/1.4 var(--sans); letter-spacing:.1em; color:var(--muted); }
.section { padding-block:66px 62px; }
.section-heading { display:flex; justify-content:space-between; gap:24px; align-items:flex-end; margin-bottom:32px; }
.section-number { color:var(--accent); margin-bottom:11px; }
h2 { font-size:29px; line-height:1.5; letter-spacing:-.045em; font-weight:800; }
.section-description { font-size:11px; color:var(--muted); line-height:1.95; padding-bottom:2px; }
.works-grid { display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:24px; }
.work-card { min-width:0; scroll-margin-top:110px; display:flex; flex-direction:column; }
.work-image { padding:20px 25px; background:#eeeee6; border:1px solid #e2e2d8; border-radius:5px; }
.work-image .cover-art { box-shadow:-3px 4px 0 #0000000b,0 8px 14px #29241818; border:1px solid #00000012; border-radius:1px; }
.work-info { padding-top:20px; display:flex; flex-direction:column; flex-grow:1; }
.work-genre { color:var(--muted); font-size:9px; letter-spacing:.03em; margin-bottom:6px; }
.work-info h3 { font-size:17px; line-height:1.65; letter-spacing:-.055em; }
.work-description { font-size:11px; line-height:1.9; color:var(--muted); margin-top:8px; margin-bottom:20px; }
.work-actions { margin-top:auto; }
.amazon-button { width:100%; min-height:48px; justify-content:space-between; padding:11px 15px; font-size:12px; gap:8px; }
.secondary-links,.volume-links { display:flex; flex-wrap:wrap; column-gap:16px; row-gap:0; font-size:10px; line-height:1.5; margin-top:5px; }
.secondary-links { color:var(--muted); }
.secondary-links a,.volume-links a { display:flex; align-items:center; gap:5px; min-height:40px; }
.secondary-links a:hover,.volume-links a:hover { text-decoration:underline; text-underline-offset:4px; }
.catalog-note { font-size:10px; color:var(--muted); margin-top:22px; text-align:right; }
.gallery-section { background:#eeeee6; border-top:1px solid #e3e3d8; border-bottom:1px solid #e3e3d8; }
.gallery-empty { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.empty-slot { position:relative; display:flex; align-items:center; gap:28px; min-height:238px; border:1px solid #dadacf; border-radius:5px; padding:32px; overflow:hidden; }
.empty-illustration { background:#f2e4dc; }
.empty-animation { background:#dde7e6; }
.empty-kicker { font:700 9px/1.3 var(--latin); letter-spacing:1.7px; color:#626459; }
.empty-slot h3 { font-size:16px; margin-top:12px; letter-spacing:-.035em; }
.empty-slot p { font-size:10px; margin-top:8px; color:#696b61; }
.empty-frame { position:relative; display:grid; place-items:center; width:100px; height:130px; border:1px solid #ba9f8d; background:#f8eee7; transform:rotate(-7deg); box-shadow:7px 7px 0 #e0c9ba; flex-shrink:0; }
.empty-frame::before { content:""; position:absolute; inset:9px; border:1px solid #cbb19f; }
.empty-frame span { font:300 46px/1 var(--latin); color:#9d7763; }
.empty-play { width:97px; height:97px; border:1px solid #a6bcb6; border-radius:50%; display:grid; place-items:center; padding-left:5px; color:#668980; font:32px/1 var(--latin); background:#e8eeea; box-shadow:0 0 0 11px #d3e0da; flex-shrink:0; }
.soon-tag { position:absolute; top:17px; right:18px; font-size:8px; letter-spacing:.08em; border:1px solid #999d9270; border-radius:20px; padding:3px 8px; color:#686b62; }
.gallery-filters { display:flex; gap:8px; margin-top:-10px; margin-bottom:24px; flex-wrap:wrap; }
.gallery-filters button { background:transparent; border:1px solid #b6b8ab; border-radius:99px; padding:10px 17px; min-height:44px; font-size:11px; }
.gallery-filters button[aria-pressed=true] { background:var(--ink); color:white; border-color:var(--ink); }
.gallery-grid { display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:28px 24px; }
.gallery-card { min-width:0; }
.gallery-open { display:block; }
.gallery-visual { width:100%; aspect-ratio:4/3; position:relative; border-radius:5px; overflow:hidden; background:#e2e2d8; }
.gallery-visual>img { width:100%; height:100%; object-fit:contain; transition:transform .2s ease; }
a.gallery-open:hover .gallery-visual>img { transform:scale(1.025); }
.gallery-type-art { width:100%; height:100%; display:grid; place-items:center; color:var(--cover-ink); }
.gallery-type-art>span { font:72px/1 var(--latin); }
.media-kind { position:absolute; top:12px; left:12px; background:var(--paper); padding:4px 9px; font-size:9px; border-radius:2px; }
.play-badge { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:52px; height:52px; display:grid; place-items:center; border:1px solid #fff; background:#252621aa; color:#fff; padding-left:3px; border-radius:50%; }
.gallery-caption { padding-top:12px; }
.gallery-caption>span { font-size:9px; color:var(--muted); }
.gallery-caption h3 { font-size:14px; margin-top:3px; }
.asset-note { font-size:10px; color:var(--muted); }
.no-filter-result { padding:22px 0; font-size:13px; }
.reading-section { border-bottom:1px solid var(--line); }
.reading-list { display:grid; gap:24px; }
.reading-card { display:grid; grid-template-columns: 38% 1fr; border:1px solid var(--line); border-radius:5px; overflow:hidden; background:#faf9f5; }
.reading-thumbnail { position:relative; min-height:230px; max-height:310px; overflow:hidden; background:#eae8df; }
.reading-thumbnail>img { width:100%; height:100%; object-fit:cover; object-position:top; }
.reading-tag { position:absolute; bottom:13px; left:14px; font-size:9px; padding:5px 10px; background:var(--paper); border-radius:2px; }
.reading-info { padding:40px 44px; align-self:center; }
.reading-info>.eyebrow { font-size:9px; letter-spacing:.9px; color:var(--muted); }
.reading-info h3 { font-size:25px; margin-top:10px; letter-spacing:-.04em; }
.reading-info p { color:var(--muted); font-size:12px; margin-top:10px; }
.reading-actions { display:flex; gap:24px; align-items:center; flex-wrap:wrap; margin-top:22px; }
.reading-placeholder { position:absolute; width:210px; height:410px; padding:16px; left:50%; top:25px; transform:translateX(-50%) rotate(-8deg); display:grid; grid-template-rows:repeat(4,1fr); gap:8px; background:#faf9f3; border:1px solid #cecdbf; box-shadow:9px 7px 0 #0000000a; }
.reading-placeholder>span { border:1px solid #cac9bc; background:#efeee6; }
.reading-preview-label { position:absolute; top:45%; left:50%; transform:translate(-50%,-50%); white-space:nowrap; padding:7px 12px; background:var(--paper); color:#737266; font-size:11px; }
.simple-empty { border:1px solid var(--line); padding:30px; font-size:13px; }
.about-section { display:grid; grid-template-columns:1fr 1fr; gap:100px; padding-block:76px; }
.about-wordmark { align-self:center; position:relative; max-width:400px; padding:26px 0 22px; font:700 91px/.88 var(--latin); letter-spacing:-7px; }
.about-wordmark em { font-weight:400; font-style:normal; }
.about-wordmark::before { content:""; position:absolute; width:200px; height:200px; border:1px solid #d1cdc0; border-radius:50%; top:0; right:0; z-index:-1; }
.about-wordmark::after { content:"✳"; position:absolute; color:var(--accent); font:70px/1 var(--latin); top:-10px; right:30px; }
.about-wordmark>span { display:block; margin-top:26px; font:700 9px/1.2 var(--latin); letter-spacing:1.6px; }
.about-copy>.eyebrow { color:var(--accent); margin-bottom:10px; }
.about-copy h2 { font-size:26px; line-height:1.65; margin-bottom:18px; }
.about-copy>p:not(.eyebrow) { font-size:12px; line-height:2; color:var(--muted); margin-bottom:12px; }
.production-note { font-size:11px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); margin:18px 0 9px; }
.production-note summary { display:flex; align-items:center; justify-content:space-between; padding:14px 0; cursor:pointer; list-style:none; min-height:48px; }
.production-note summary::-webkit-details-marker { display:none; }
.production-note[open] summary>span { transform:rotate(45deg); }
.production-note p { color:var(--muted); margin-bottom:14px; }
.closing-section { background:var(--ink); color:var(--paper); padding-block:41px; }
.closing-inner { display:flex; justify-content:space-between; align-items:center; gap:30px; }
.closing-inner .eyebrow { color:#b7b8aa; font-size:8px; margin-bottom:10px; }
.closing-inner h2 { font-size:24px; font-weight:700; }
.mobile-break { display:none; }
.site-footer { padding-block:32px 20px; }
.footer-top { display:flex; align-items:center; justify-content:space-between; gap:24px; }
.footer-top .brand { font-size:23px; }
.footer-top .brand-mark { width:27px; height:29px; font-size:24px; }
.footer-socials { display:flex; flex-wrap:wrap; gap:8px 23px; font-size:10px; }
.footer-socials a { padding-block:10px; }
.footer-bottom { display:flex; align-items:center; justify-content:space-between; gap:20px; border-top:1px solid var(--line); margin-top:28px; padding-top:17px; font-size:9px; color:var(--muted); }
.footer-bottom>a { min-height:44px; display:inline-flex; align-items:center; gap:12px; font:700 9px/1 var(--latin); letter-spacing:1px; }
.mobile-dock { display:none; }
.media-dialog { max-width:min(980px, calc(100vw - 40px)); width:980px; max-height:90dvh; padding:0; border:0; border-radius:8px; color:var(--ink); background:var(--paper); box-shadow:0 20px 80px #0003; }
.media-dialog::backdrop { background:rgba(20,22,19,.83); }
.dialog-top { position:sticky; top:0; z-index:2; background:var(--paper); border-bottom:1px solid var(--line); display:flex; align-items:center; justify-content:space-between; gap:16px; padding:18px 25px; }
.dialog-top .eyebrow { color:var(--muted); font-size:10px; }
.dialog-top h2 { font-size:19px; margin-top:4px; }
.icon-button { min-width:44px; height:44px; border:1px solid var(--line); border-radius:50%; background:transparent; font:28px/1 var(--latin); }
.dialog-content { padding:20px; background:#e9e8df; }
.dialog-content>img,.dialog-content>video { max-height:72dvh; margin:auto; object-fit:contain; width:100%; }
.dialog-content>video { background:#151614; }
.dialog-footer { padding:20px 25px; display:flex; justify-content:space-between; gap:24px; }
.dialog-footer>div:first-child { display:flex; flex-direction:column; align-items:flex-start; }
.dialog-book-link { min-width:210px; max-width:280px; }
.dialog-book-link>span { display:block; font-size:10px; color:var(--muted); margin-bottom:8px; }
.copy-status { font-size:11px; }
.reader-pages { max-width:760px; margin-inline:auto; }
.reader-pages img { width:100%; height:auto; background:white; }
.reader-pages figure+figure { margin-top:16px; }
.reader-pages figcaption { text-align:center; padding:6px 0; font:11px/1.5 var(--latin); color:var(--muted); }
.media-description { padding:16px 4px 0; font-size:13px; white-space:pre-wrap; }
@media(min-width:1400px) { .hero { gap:55px; } .hero-art { margin-left:10px; } }
@media(max-width:1100px) {
  .wrap { width:calc(100% - 64px); }
  .site-nav { gap:16px; font-size:11px; }
  .site-nav a:last-child { display:none; }
  .header-cta { font-size:11px; }
  .hero { gap:15px; }
  .hero-art { height:410px; }
  .hero-book { max-width:152px; }
  .hero-book .cover-title { font-size:20px; }
  .hero-book .theme-lavender .cover-title { font-size:16px; }
  .hero-book .cover-genre { font-size:5px; }
  .hero-art::before { width:280px; height:280px; right:30px; }
  .works-grid { gap:18px; }
  .work-image { padding:15px; }
  .work-info h3 { font-size:15px; }
  .work-info .amazon-button { font-size:10px; padding:10px 12px; }
  .empty-slot { padding:27px; gap:22px; min-height:225px; }
  .empty-frame { width:70px; height:98px; }
  .empty-play { width:70px; height:70px; }
  .empty-slot h3 { font-size:13px; }
  .empty-slot p { font-size:9px; }
  .about-section { gap:60px; }
  .about-wordmark { font-size:76px; }
}
@media(max-width:820px) {
  .header-inner { min-height:74px; gap:15px; }
  .site-nav { gap:14px; }
  .site-nav a:nth-child(3) { display:none; }
  .header-cta { min-height:42px; }
  .brand { font-size:23px; gap:9px; }
  .hero { padding-block:32px; }
  h1 { font-size:42px; }
  .hero-copy>.eyebrow { font-size:9px; }
  .hero-text { font-size:12px; }
  .hero-actions { gap:10px; margin-top:20px; }
  .hero-actions .button { font-size:11px; gap:15px; padding:12px 16px; }
  .hero-actions .text-link { font-size:10px; }
  .hero-art { height:342px; }
  .hero-art::before { width:225px; height:225px; }
  .art-caption { font-size:7px; letter-spacing:1px; }
  .hero-book { max-width:123px; }
  .hero-book .cover-type { padding:9px; }
  .hero-book .cover-title { font-size:17px; }
  .hero-book .theme-lavender .cover-title { font-size:13px; }
  .hero-book .cover-top { font-size:5px; letter-spacing:.5px; }
  .hero-book .cover-preview { font-size:5px; }
  .hero-book .theme-yellow .cover-symbol::before { font-size:36px; }
  .hero-book .cover-genre { display:none; }
  .art-bottom { font-size:8px; }
  .collection-bar>span:last-child { display:none; }
  .section { padding-block:52px; }
  h2 { font-size:26px; }
  .section-description { font-size:10px; }
  .works-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px 24px; }
  .work-image { padding:23px 43px; }
  .cover-title { font-size:30px; }
  .theme-lavender .cover-title { font-size:24px; }
  .work-info h3 { font-size:19px; }
  .work-description { font-size:12px; }
  .work-info .amazon-button { font-size:12px; }
  .gallery-empty { gap:17px; }
  .empty-slot { flex-direction:column; align-items:flex-start; padding:44px 25px 25px; min-height:290px; }
  .empty-slot h3 { font-size:14px; }
  .empty-slot p { font-size:10px; }
  .empty-frame { width:74px; height:88px; }
  .empty-play { margin:6px 10px 12px; }
  .gallery-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .reading-info { padding:28px; }
  .reading-info h3 { font-size:22px; }
  .reading-actions { gap:8px; }
  .about-section { gap:42px; padding-block:55px; }
  .about-wordmark { font-size:62px; letter-spacing:-5px; }
  .about-wordmark::before { width:150px; height:150px; }
  .about-wordmark::after { font-size:54px; }
  .about-wordmark>span { font-size:7px; }
  .about-copy h2 { font-size:23px; }
  .closing-inner h2 { font-size:21px; }
  .footer-top { align-items:flex-start; }
  .footer-socials { justify-content:flex-end; column-gap:12px; }
  .footer-bottom { flex-wrap:wrap; gap:5px 20px; }
}
@media(max-width:600px) {
  html { scroll-padding-top:86px; }
  body { padding-bottom:calc(77px + env(safe-area-inset-bottom)); }
  .wrap { width:calc(100% - 40px); }
  .header-inner { min-height:69px; gap:10px; }
  .brand { font-size:23px; gap:9px; letter-spacing:-1px; }
  .brand-mark { width:27px; height:30px; font-size:25px; }
  .site-nav { display:none; }
  .header-cta { font-size:10px; gap:7px; padding:9px 11px; min-height:40px; }
  .header-cta>span:last-child { font-size:17px; }
  .hero { display:flex; flex-direction:column; align-items:stretch; gap:24px; padding-block:30px 22px; }
  .hero-copy>.eyebrow { font-size:10px; }
  h1 { font-size:clamp(39px,10.9vw,57px); line-height:1.35; margin:20px 0 16px; letter-spacing:-.064em; }
  .hero-text { font-size:13px; line-height:1.95; }
  .hero-actions { margin-top:22px; gap:16px; }
  .hero-actions .button { font-size:12px; min-height:49px; padding:12px 16px; }
  .hero-actions .text-link { font-size:10px; gap:8px; }
  .hero-note { margin-top:14px; font-size:9px; }
  .hero-art { height:240px; width:100%; margin:0; overflow:hidden; }
  .hero-art::before { width:230px; height:230px; top:0; left:60px; }
  .art-caption { padding-top:10px; padding-bottom:0; font-size:6px; }
  .hero-book { width:27%; max-width:none; }
  .hero-book .cover-type { padding:8px 6px; }
  .hero-book .cover-title { font-size:16px; }
  .hero-book .theme-lavender .cover-title { font-size:12px; }
  .hero-book .cover-top { font-size:4px; }
  .hero-book .cover-top b { font-size:8px; }
  .hero-book .cover-preview { font-size:4px; }
  .hero-book .cover-symbol { margin-top:8%; margin-bottom:5%; }
  .hero-book .theme-yellow .cover-symbol::before { font-size:31px; }
  .hero-book .theme-lavender .cover-symbol::after { width:11px; height:11px; }
  .art-bottom { bottom:1px; font-size:8px; }
  .hand-arrow { font-size:27px; }
  .art-star { font-size:29px; }
  .collection-bar { font-size:7px; letter-spacing:1px; padding-block:12px; gap:10px; }
  .collection-bar>span:nth-child(2) { font-size:8px; }
  .section { padding-block:40px; }
  .section-heading { display:block; margin-bottom:24px; }
  .section-heading h2 { font-size:25px; }
  .section-number { font-size:9px; margin-bottom:7px; }
  .section-description { margin-top:11px; font-size:11px; line-height:1.85; }
  .section-description br { display:none; }
  .works-grid { grid-template-columns:1fr; gap:26px; }
  .work-card { display:grid; grid-template-columns:112px minmax(0,1fr); gap:17px; padding-bottom:24px; border-bottom:1px solid var(--line); scroll-margin-top:90px; }
  .work-card:last-child { border-bottom:0; padding-bottom:0; }
  .work-image { align-self:start; padding:10px; }
  .work-image .cover-type { padding:8px 6px; }
  .work-image .cover-title { font-size:15px; line-height:1.35; }
  .work-image .theme-lavender .cover-title { font-size:10px; }
  .work-image .cover-top { font-size:4px; letter-spacing:.3px; }
  .work-image .cover-top b { font-size:8px; }
  .work-image .cover-preview { font-size:4px; }
  .work-image .cover-genre { display:none; }
  .work-image .theme-yellow .cover-symbol::before { font-size:30px; }
  .work-image .theme-lavender .cover-symbol::after { width:11px; height:11px; }
  .work-info { padding:0; }
  .work-genre { font-size:8px; margin-bottom:4px; }
  .work-info h3 { font-size:17px; line-height:1.55; letter-spacing:-.04em; }
  .work-description { font-size:11px; line-height:1.9; margin-top:7px; margin-bottom:12px; }
  .work-info .amazon-button { min-height:44px; padding:10px; font-size:10px; gap:5px; }
  .work-info .amazon-button>span:last-child { font-size:16px; }
  .secondary-links { gap:12px; font-size:9px; }
  .secondary-links a { min-height:40px; }
  .catalog-note { font-size:9px; text-align:left; margin-top:21px; }
  .gallery-empty { grid-template-columns:1fr; gap:14px; }
  .empty-slot { min-height:176px; padding:36px 23px 23px; flex-direction:row; align-items:center; gap:25px; }
  .empty-slot h3 { font-size:12px; margin-top:8px; }
  .empty-slot p { font-size:9px; margin-top:5px; }
  .empty-kicker { font-size:8px; }
  .empty-frame { width:60px; height:83px; }
  .empty-play { width:56px; height:56px; margin:8px 5px; font-size:22px; box-shadow:0 0 0 7px #d3e0da; }
  .soon-tag { top:12px; right:13px; font-size:7px; padding:1px 6px; }
  .gallery-grid { gap:22px 14px; }
  .gallery-caption h3 { font-size:12px; }
  .gallery-caption>span { font-size:8px; }
  .media-kind { font-size:7px; top:8px; left:8px; padding:3px 6px; }
  .gallery-filters { gap:6px; margin-top:-4px; margin-bottom:19px; }
  .gallery-filters button { padding:9px 13px; font-size:10px; }
  .play-badge { width:40px; height:40px; font-size:12px; }
  .reading-card { grid-template-columns:1fr; }
  .reading-thumbnail { min-height:190px; max-height:230px; }
  .reading-info { padding:23px; }
  .reading-info h3 { font-size:23px; }
  .reading-info p { font-size:11px; }
  .reading-actions { gap:14px; margin-top:18px; }
  .reading-actions .button { font-size:11px; min-height:47px; padding:11px 14px; }
  .reading-actions .text-link { font-size:10px; }
  .reading-placeholder { top:19px; }
  .about-section { grid-template-columns:1fr; gap:30px; padding-block:43px; }
  .about-wordmark { padding:17px 0 0; max-width:300px; font-size:61px; }
  .about-wordmark::before { width:145px; height:145px; top:-7px; right:0; }
  .about-wordmark::after { right:33px; }
  .about-wordmark>span { font-size:7px; margin-top:22px; }
  .about-copy h2 { font-size:24px; }
  .about-copy>p:not(.eyebrow) { font-size:11px; }
  .closing-section { padding-block:29px; }
  .closing-inner { align-items:flex-start; flex-direction:column; gap:20px; }
  .closing-inner h2 { font-size:23px; line-height:1.65; }
  .closing-inner .button { min-height:46px; font-size:12px; }
  .mobile-break { display:inline; }
  .footer-top { flex-direction:column; gap:19px; }
  .footer-socials { justify-content:flex-start; column-gap:16px; row-gap:0; font-size:9px; }
  .footer-bottom { flex-direction:column; align-items:flex-start; margin-top:18px; padding-top:15px; font-size:8px; }
  .footer-bottom>a { align-self:flex-end; margin-top:2px; }
  .mobile-dock { position:fixed; bottom:0; left:0; right:0; z-index:25; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 20px calc(12px + env(safe-area-inset-bottom)); background:rgba(247,246,240,.98); border-top:1px solid var(--line); box-shadow:0 -5px 20px #00000006; }
  .mobile-dock>span { font-size:10px; color:var(--muted); }
  .mobile-dock .button { min-height:43px; font-size:11px; padding:10px 15px; gap:16px; }
  .media-dialog { width:100vw; max-width:100vw; max-height:100dvh; height:100dvh; border-radius:0; margin:0; }
  .dialog-top { padding:15px 17px; }
  .dialog-top h2 { font-size:17px; }
  .dialog-top .eyebrow { font-size:8px; }
  .dialog-content { padding:10px; }
  .dialog-content>img,.dialog-content>video { max-height:66dvh; }
  .dialog-footer { flex-direction:column-reverse; gap:17px; padding:19px; padding-bottom:calc(20px + env(safe-area-inset-bottom)); }
  .dialog-book-link { width:100%; max-width:none; }
  .reader-pages figure+figure { margin-top:12px; }
}
@media(max-width:359px) {
  .wrap { width:calc(100% - 30px); }
  .brand { font-size:20px; }
  .header-cta { padding:8px; font-size:9px; }
  .hero-actions { gap:6px; }
  .hero-actions .button { font-size:11px; }
  .work-card { grid-template-columns:93px minmax(0,1fr); gap:14px; }
  .work-image { padding:7px; }
  .work-info h3 { font-size:15px; }
  .work-image .cover-title { font-size:13px; }
  .work-image .theme-lavender .cover-title { font-size:9px; }
  .empty-slot { padding-inline:18px; gap:20px; }
  .empty-slot h3 { font-size:11px; }
  .mobile-dock { padding-inline:15px; }
  .mobile-dock>span { font-size:9px; }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation:none !important; transition:none !important; }
}
@media print {
  .site-header,.mobile-dock,.hero-art,.closing-section { display:none; }
  body { padding:0; background:white; }
  .wrap { width:100%; }
  .section { padding-block:20px; }
  .works-grid { grid-template-columns:repeat(2,1fr); }
  .work-card { break-inside:avoid; }
}
/* Readability refinements. Keep small type for decorative labels only. */
@media(min-width:1101px) {
  .work-info h3 { font-size:19px; }
}
.work-description { font-size:13px; }
.work-genre { font-size:10px; }
.section-description { font-size:12px; }
.secondary-links,.volume-links { font-size:11px; }
.catalog-note { font-size:11px; }
.empty-slot p { font-size:12px; }
.about-copy>p:not(.eyebrow) { font-size:13px; }
.production-note { font-size:12px; }
.footer-bottom { font-size:10px; }
@media(max-width:1100px) and (min-width:601px) { .empty-slot p { font-size:11px; } }
@media(max-width:600px) {
  .work-description { font-size:12px; line-height:1.85; }
  .work-genre { font-size:9px; }
  .work-info .amazon-button { font-size:11px; }
  .section-description { font-size:12px; }
  .secondary-links,.volume-links { font-size:10px; }
  .catalog-note { font-size:10px; }
  .empty-slot p { font-size:10px; }
  .reading-info p { font-size:12px; }
  .about-copy>p:not(.eyebrow) { font-size:12px; }
  .production-note { font-size:11px; }
  .footer-bottom { font-size:9px; }
}
@media(min-width:601px) { .work-actions { min-height:93px; } }

/* v2 — a growing bookshelf. No slot-specific layout or four-work limit. */
:root { --sage:#c6d6be; --peach:#eac5ad; }
.theme-sage { --cover-bg:var(--sage); --cover-ink:#3b5843; background-color:var(--cover-bg); }
.theme-peach { --cover-bg:var(--peach); --cover-ink:#794b36; background-color:var(--cover-bg); }
.theme-sage .cover-symbol { width:70%; }
.theme-sage .cover-symbol::before,.theme-sage .cover-symbol::after { content:""; position:absolute; border:2px solid currentColor; width:68%; height:67%; border-radius:50% 50% 4% 50%; }
.theme-sage .cover-symbol::before { top:0; left:0; transform:rotate(-12deg); background:#f7f6f044; }
.theme-sage .cover-symbol::after { bottom:0; right:0; transform:rotate(165deg); background:var(--sage); }
.theme-peach .cover-symbol { border:2px solid currentColor; border-radius:48% 48% 14% 14%; transform:rotate(-9deg); box-shadow:9px 6px 0 #fff5; }
.theme-peach .cover-symbol::before { content:"✳"; display:grid; place-items:center; width:100%; height:100%; font:64px/1 var(--latin); }
.hero { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
.hero-art { height:auto; min-width:0; align-self:center; overflow:visible; }
.hero-art::before { width:85%; height:auto; aspect-ratio:1; max-width:355px; top:46px; right:28px; }
.art-caption { align-items:center; font-size:9px; padding:12px 8px; }
.art-caption>span:last-child { font-family:var(--sans); font-size:10px; letter-spacing:.1em; }
.art-caption b { font:700 18px/1 var(--latin); margin:0 3px; }
.book-shelf { position:relative; width:100%; display:flex; gap:26px; padding:44px 22px 26px; overflow-x:auto; overflow-y:hidden; scroll-snap-type:x mandatory; scroll-padding-inline:22px; scrollbar-width:thin; scrollbar-color:#c9c8ba transparent; overscroll-behavior-inline:contain; }
.book-shelf .hero-book { position:relative; inset:auto; display:block; flex:0 0 39%; width:39%; max-width:208px; box-shadow:none; scroll-snap-align:start; border-radius:2px; transform:none; }
.book-shelf .hero-book .cover-art { box-shadow:-4px 5px 0 #4843381a,0 12px 22px #2c282021; border:1px solid #32302833; transition:transform .2s; transform:rotate(-7deg); }
.book-shelf .hero-book:nth-child(3n+2) .cover-art { transform:translateY(-16px) rotate(6deg); }
.book-shelf .hero-book:nth-child(3n) .cover-art { transform:translateY(4px) rotate(-3deg); }
.book-shelf .hero-book:hover .cover-art,.book-shelf .hero-book:focus-visible .cover-art { transform:translateY(-8px) rotate(0); }
.shelf-book-caption { display:block; text-align:center; font-size:10px; line-height:1.6; margin-top:25px; letter-spacing:.015em; overflow-wrap:anywhere; }
.book-shelf .hero-book .cover-title { font-size:clamp(18px,1.75vw,25px); }
.book-shelf .hero-book .theme-lavender .cover-title { font-size:clamp(14px,1.38vw,20px); }
.book-shelf .hero-book .cover-genre { display:block; }
.shelf-footer { position:relative; display:flex; align-items:center; justify-content:space-between; gap:14px; padding:13px 8px 0; }
.shelf-hint { display:flex; align-items:center; gap:14px; font-size:11px; letter-spacing:.06em; }
.shelf-hint .hand-arrow { font-size:29px; }
.shelf-controls { display:flex; gap:8px; }
.shelf-controls button { width:42px; height:42px; border:1px solid var(--line); background:var(--paper); border-radius:50%; font:20px/1 var(--latin); }
.shelf-controls button:not(:disabled):hover { color:var(--paper); background:var(--ink); border-color:var(--ink); }
.shelf-controls button:disabled { opacity:.35; cursor:default; }
.works-grid { grid-template-columns:repeat(auto-fill,minmax(min(100%,290px),1fr)); gap:42px 28px; }
.work-image { position:relative; padding:24px 38px; }
.work-badge { position:absolute; top:12px; right:12px; font:700 10px/1 var(--latin); letter-spacing:.12em; color:var(--paper); background:var(--accent); padding:8px 10px; border-radius:3px; }
.work-info h3 { overflow-wrap:anywhere; }
.catalog-tools { margin:0 0 30px; }
.catalog-tool-row,.catalog-filter-row { display:flex; align-items:center; justify-content:space-between; gap:20px; }
.catalog-tool-row { padding:18px 0; border-top:1px solid var(--line); }
.catalog-total { font:700 10px/1.5 var(--latin); letter-spacing:.12em; display:flex; align-items:center; gap:22px; white-space:nowrap; }
.catalog-total>span { font:400 11px/1.5 var(--sans); letter-spacing:.02em; }
.catalog-total b { font:700 22px/1 var(--latin); margin:0 3px; }
.catalog-search { width:310px; display:flex; align-items:center; gap:10px; background:#fff8; border:1px solid var(--line); padding:0 12px; border-radius:5px; }
.catalog-search svg { flex-shrink:0; fill:none; stroke:var(--muted); stroke-width:1.5; }
.catalog-search input { width:100%; min-width:0; min-height:44px; border:0; background:transparent; color:var(--ink); font-size:12px; outline:none; }
.catalog-search:focus-within { outline:2px solid var(--accent); outline-offset:3px; }
.work-filters { display:flex; flex-wrap:wrap; gap:8px; }
.work-filters button { min-height:40px; background:transparent; border:1px solid var(--line); border-radius:99px; padding:7px 16px; font-size:11px; line-height:1.5; }
.work-filters button>span { margin-left:7px; font:11px/1 var(--latin); opacity:.68; }
.work-filters button[aria-pressed=true] { background:var(--ink); color:var(--paper); border-color:var(--ink); }
.work-filters button:hover { border-color:var(--ink); }
.catalog-results { flex-shrink:0; color:var(--muted); font-size:11px; }
.catalog-empty { border:1px dashed var(--line); padding:42px 20px; text-align:center; font-size:13px; }
.catalog-empty p { margin-bottom:8px; }
.catalog-more { text-align:center; margin-top:38px; }
.catalog-more .button { min-width:240px; }
.catalog-more>p { font-size:11px; color:var(--muted); margin-top:10px; }
.gallery-toolbar { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:16px; margin-bottom:24px; }
.gallery-toolbar .gallery-filters { margin:0; }
.gallery-work-label { display:flex; align-items:center; gap:12px; font-size:11px; color:var(--muted); max-width:100%; }
.gallery-work-label select { min-height:44px; max-width:min(250px,65vw); min-width:0; border:1px solid #b6b8ab; background:var(--paper); color:var(--ink); border-radius:5px; padding:8px 10px; font:12px var(--sans); }
@media(min-width:1500px) { .book-shelf .hero-book { flex-basis:39%; } }
@media(min-width:601px) and (max-width:1100px) {
  .book-shelf { gap:20px; padding:36px 17px 22px; scroll-padding-inline:17px; }
  .book-shelf .hero-book { flex-basis:43%; width:43%; max-width:none; }
  .book-shelf .hero-book .cover-title { font-size:18px; }
  .book-shelf .hero-book .theme-lavender .cover-title { font-size:14px; }
  .book-shelf .hero-book .cover-genre { display:none; }
  .shelf-book-caption { font-size:9px; }
  .shelf-hint { font-size:9px; gap:8px; }
  .shelf-controls { gap:5px; }
  .shelf-controls button { width:36px; height:36px; }
  .works-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:600px) {
  .hero { display:flex; }
  .hero-art { height:auto; overflow:visible; }
  .hero-art::before { top:18px; left:50px; right:auto; width:220px; height:220px; }
  .art-caption { padding:9px 3px; font-size:7px; }
  .art-caption>span:last-child { font-size:9px; }
  .art-caption b { font-size:15px; }
  .book-shelf { gap:22px; padding:30px 17px 18px; scroll-padding-inline:17px; }
  .book-shelf .hero-book { flex:0 0 38%; width:38%; max-width:160px; }
  .book-shelf .hero-book .cover-title { font-size:clamp(16px,4.4vw,22px); }
  .book-shelf .hero-book .theme-lavender .cover-title { font-size:clamp(12px,3.2vw,16px); }
  .book-shelf .hero-book .cover-type { padding:10px 8px; }
  .book-shelf .hero-book .cover-top { font-size:5px; }
  .book-shelf .hero-book .cover-top b { font-size:10px; }
  .book-shelf .hero-book .cover-genre { font-size:5px; margin-top:7px; }
  .book-shelf .hero-book .cover-preview { font-size:5px; }
  .shelf-book-caption { font-size:9px; margin-top:21px; }
  .shelf-footer { padding:9px 3px 0; gap:8px; }
  .shelf-hint { font-size:9px; letter-spacing:.02em; gap:8px; }
  .shelf-hint .hand-arrow { font-size:23px; }
  .shelf-controls button { width:36px; height:36px; }
  .works-grid { grid-template-columns:1fr; gap:26px; }
  .work-image { padding:10px; }
  .work-badge { top:5px; right:5px; padding:5px 6px; font-size:8px; }
  .catalog-tools { margin-bottom:25px; }
  .catalog-tool-row { flex-direction:column; align-items:stretch; gap:15px; }
  .catalog-total { justify-content:space-between; font-size:9px; }
  .catalog-total b { font-size:20px; }
  .catalog-search { width:100%; }
  .catalog-search input { font-size:16px; }
  .catalog-search input::placeholder { font-size:12px; }
  .catalog-filter-row { align-items:flex-start; flex-direction:column; gap:12px; }
  .work-filters { gap:6px; }
  .work-filters button { font-size:10px; padding:7px 12px; }
  .catalog-results { align-self:flex-end; font-size:10px; }
  .gallery-toolbar { align-items:flex-start; flex-direction:column; }
}
@media(max-width:359px) {
  .work-image { padding:7px; }
  .shelf-hint { font-size:8px; }
  .shelf-controls { gap:5px; }
  .book-shelf .hero-book .cover-genre { display:none; }
}
@media print {
  .catalog-tools,.catalog-more,.catalog-empty { display:none!important; }
  .work-card[hidden] { display:flex!important; }
}

/* Touch controls retain a generous hit target at narrow widths. */
.shelf-controls button { width:44px; height:44px; }
.work-filters button { min-height:44px; max-width:100%; overflow-wrap:anywhere; }

/* Full covers and square key art share one book silhouette without cropping. */
.catalog-first { --paper:#fff; --line:#e1e3e5; --brand-yellow:#ffce32; background:#fff; padding-bottom:0; }
.catalog-first * { letter-spacing:0; }
.catalog-first .site-header { background:#fffffff5; }
.catalog-first .header-inner { min-height:72px; }
.catalog-first .site-nav { display:flex; gap:24px; font-size:14px; flex-wrap:wrap; }
.catalog-first .site-nav a { display:block; }
.catalog-first .section { padding-block:32px 44px; }
.catalog-first .section-heading { margin-bottom:18px; align-items:center; }
.catalog-first .works-section>.section-heading { flex-direction:row; }
.catalog-first h1,.catalog-first h2 { font-size:26px; line-height:1.4; margin:0; }
.catalog-count { font-size:15px; color:var(--muted); }
.catalog-first .catalog-tools { display:flex; flex-direction:column; gap:12px; margin-bottom:24px; }
.catalog-first .catalog-tool-row { padding:0; border:0; }
.catalog-first .catalog-total,.catalog-first .catalog-results { display:none; }
.catalog-first .catalog-search { width:100%; max-width:400px; background:#f6f7f8; }
.catalog-first .catalog-search input,.catalog-first .catalog-search input::placeholder { font-size:16px; }
.catalog-first .work-filters button,.catalog-first .gallery-filters button { font-size:14px; }
.catalog-first .work-filters button>span { font-size:13px; }
.catalog-first .work-filters button[aria-pressed=true],
.catalog-first .gallery-filters button[aria-pressed=true] { background:var(--brand-yellow); color:#252621; border-color:#e6b624; }
.catalog-first .site-nav a:hover { color:var(--ink); text-decoration:underline; text-decoration-color:var(--brand-yellow); text-decoration-thickness:3px; text-underline-offset:7px; }
.catalog-first .text-link { font-size:15px; }
.catalog-first .gallery-caption>span { font-size:14px; }
.catalog-first .footer-bottom { font-size:12px; line-height:1.8; }
.catalog-first .works-grid { grid-template-columns:repeat(5,minmax(0,1fr)); gap:24px; align-items:start; }
.catalog-first .work-card { display:block; border:0; padding:0; min-width:0; }
.catalog-first .work-image { padding:0; border:0; background:none; }
.catalog-first .work-image .cover-art { box-shadow:2px 2px 0 #e8e8e5,3px 3px 0 #d7d8d5,0 6px 12px #00000016; }
.catalog-first .work-image .cover-art::after { content:""; position:absolute; inset:0 auto 0 0; width:9px; background:linear-gradient(90deg,#00000020, #ffffff35 35%,#00000010 65%,transparent); pointer-events:none; z-index:2; }
.work-details summary { display:block; cursor:pointer; list-style:none; }
.work-details summary::-webkit-details-marker { display:none; }
.work-details summary:hover .cover-art { outline:2px solid var(--ink); outline-offset:2px; }
.work-details summary h3 { font-size:15px; line-height:1.5; margin-top:12px; overflow-wrap:anywhere; }
.work-details summary .work-genre { display:block; margin-top:5px; font-size:11px; }
.catalog-first .work-info { display:block; margin-top:10px; padding:12px 0 0; border-top:1px solid var(--line); }
.catalog-first .work-info>.work-genre { display:none; }
.catalog-first .work-actions { min-height:0; }
.catalog-first .amazon-button { font-size:11px; padding:10px; gap:5px; }
.catalog-first .gallery-section { background:#f5f6f7; border-color:var(--line); }
.catalog-about { padding-block:24px; border-top:1px solid var(--line); font-size:16px; line-height:1.9; }
.catalog-about summary { cursor:pointer; padding-block:12px; font-weight:700; }
.catalog-about p { max-width:760px; margin-top:10px; }
.brand-icon { width:40px; height:40px; flex-shrink:0; object-fit:contain; }
.about-header { width:100%; max-width:960px; height:auto; aspect-ratio:3/1; object-fit:contain; margin-block:20px; }
.trial-links { list-style:none; padding:0; margin:0; }
.trial-links li { display:flex; align-items:center; justify-content:space-between; gap:12px 24px; flex-wrap:wrap; padding:16px 0; border-bottom:1px solid var(--line); }
.trial-links h3 { font-size:17px; line-height:1.6; }
.trial-services { display:flex; gap:12px 28px; flex-wrap:wrap; }
@media(max-width:1000px) {
  .catalog-first .works-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px 18px; }
}
@media(max-width:600px) {
  .catalog-first .header-inner { min-height:64px; gap:12px; flex-wrap:wrap; padding-block:12px; }
  .catalog-first .brand { font-size:22px; gap:8px; }
  .catalog-first .brand-mark { width:24px; height:28px; font-size:23px; }
  .catalog-first .site-nav { gap:16px; font-size:14px; width:100%; }
  .catalog-first .section { padding-block:24px 32px; }
  .catalog-first h1,.catalog-first h2 { font-size:23px; }
  .catalog-first .works-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px 16px; }
  .catalog-first .catalog-tools { gap:10px; margin-bottom:20px; }
  .catalog-first .catalog-filter-row { display:block; }
  .catalog-first .work-details summary h3 { font-size:14px; }
  .catalog-first .work-image .cover-heading strong { font-size:17px; }
  .catalog-first .work-image .theme-lavender .cover-heading strong { font-size:12px; }
}
.cover-art { aspect-ratio:5/8; }
.cover-art.has-image { background:#fff; }
.cover-art.cover-editorial { display:grid; grid-template-rows:minmax(0,1fr) auto; background:#f4f7f2; color:#254537; }
.cover-art.cover-editorial.theme-lavender { background:#18191d; color:#fff; }
.cover-heading { display:flex; flex-direction:column; justify-content:center; gap:8px; padding:10px 7%; min-width:0; text-align:center; }
.cover-heading small { font:600 8px/1.4 var(--latin); letter-spacing:0; }
.work-cover-link { display:block; }
a.work-cover-link:hover .cover-art { outline:2px solid var(--ink); outline-offset:2px; }
.work-cover-link h3 { font-size:17px; line-height:1.6; margin-top:12px; overflow-wrap:anywhere; }
.work-cover-link>.work-genre { display:block; margin-top:5px; font-size:13px; line-height:1.7; }
.gallery-video-launch { display:block; }
.gallery-video-launch:hover .gallery-visual>img { transform:scale(1.025); }
.inline-video { width:100%; aspect-ratio:16/9; object-fit:contain; background:#17191a; border-radius:5px; }
.cover-heading strong { font-size:24px; line-height:1.35; letter-spacing:0; }
.theme-lavender .cover-heading strong { font-size:21px; }
.cover-illustration { position:relative; width:100%; aspect-ratio:1; grid-row:2; min-height:0; }
.cover-colophon { display:grid; place-items:center; padding:6px; font-size:9px; line-height:1.4; letter-spacing:0; text-align:center; }
.hero-book .cover-heading strong { font-size:20px; }
.hero-book .theme-lavender .cover-heading strong { font-size:16px; }
.hero-book .cover-heading small { font-size:7px; }
.hero-book .cover-colophon { font-size:7px; }
.work-media-link { margin-top:10px; min-height:44px; font-size:12px; gap:8px; }
.gallery-card[data-media-kind="video"] .gallery-visual { aspect-ratio:16/9; background:#17191a; }
.gallery-grid:has(> .gallery-card:only-child) { grid-template-columns:minmax(0,760px); }
.gallery-card[data-media-kind="video"] .gallery-caption h3 { font-size:20px; }
.dialog-content>video { aspect-ratio:16/9; }
@media(max-width:1100px) and (min-width:601px) {
  .hero-book .cover-heading strong { font-size:16px; }
  .hero-book .theme-lavender .cover-heading strong { font-size:12px; }
  .hero-book .cover-heading { gap:4px; padding:7px 5%; }
}
@media(max-width:600px) {
  .cover-heading { padding:6px 5%; gap:3px; }
  .cover-heading strong,.hero-book .cover-heading strong { font-size:16px; }
  .theme-lavender .cover-heading strong,.hero-book .theme-lavender .cover-heading strong { font-size:11px; }
  .cover-heading small,.hero-book .cover-heading small { font-size:6px; }
  .cover-colophon,.hero-book .cover-colophon { font-size:6px; padding:4px; }
  .work-image .cover-heading strong { font-size:12px; }
  .work-image .theme-lavender .cover-heading strong { font-size:9px; }
  .work-image .cover-colophon { font-size:5px; }
  .work-media-link { font-size:11px; }
  .gallery-card[data-media-kind="video"] .gallery-caption h3 { font-size:19px; }
}
.character-link { display:inline-flex; align-items:center; min-height:48px; margin-top:8px; font-size:15px; text-underline-offset:4px; }
.manga-entry-list a[data-resume] { padding:12px 0; font-size:16px; }
.manga-entry-list a[hidden] { display:none; }
.work-resume { display:flex; flex-direction:column; gap:4px; min-height:44px; margin-top:12px; padding:10px 12px; border-left:3px solid var(--accent); background:#f1f6f4; text-decoration:none; overflow-wrap:anywhere; }
.work-resume[hidden] { display:none; }
.work-resume strong { font-size:15px; }
.work-resume span { font-size:13px; line-height:1.5; color:var(--muted); }
.work-resume:hover { background:#e4eeea; }
.character-entry-list { list-style:none; padding:0; margin:0; display:grid; grid-template-columns:repeat(auto-fill,minmax(min(260px,100%),1fr)); gap:12px; }
.character-entry-list li { min-width:0; }
.character-entry-list .character-link { display:flex; align-items:center; gap:14px; min-height:106px; margin:0; padding:12px; border:1px solid var(--line); border-radius:6px; background:#fff; text-decoration:none; font-size:16px; font-weight:700; line-height:1.5; transition:border-color .18s ease, background .18s ease; }
.character-entry-list img { width:80px; height:80px; object-fit:contain; flex:none; border-radius:6px; }
.character-entry-list span { min-width:0; overflow-wrap:anywhere; }
.character-entry-list .character-link::after { content:"→"; margin-left:auto; flex:none; color:var(--accent); font:20px/1 var(--latin); }
.character-entry-list .character-link:hover,.character-entry-list .character-link:focus-visible { border-color:var(--accent); background:#fffaf7; }
.catalog-first .section { scroll-margin-top:var(--header-offset,180px); }
.privacy-footer { text-align:center; padding:16px 20px; font-size:14px; }
.privacy-link { display:inline-flex; align-items:center; min-height:44px; text-underline-offset:4px; }
.privacy-main { max-width:800px; padding-block:24px 48px; overflow-wrap:anywhere; }
.privacy-main h1 { font-size:28px; line-height:1.5; }
.privacy-main h2 { font-size:20px; margin:28px 0 12px; }
.privacy-main p { font-size:16px; line-height:1.9; margin:12px 0; }
.privacy-main a { text-decoration:underline; }
.privacy-home { display:inline-flex; align-items:center; min-height:60px; }
.privacy-page { background:#fff; letter-spacing:0; }
.privacy-page h1,.privacy-page h2,.privacy-page p,.privacy-page a { letter-spacing:0; }
