/*
 * Yabu Meizan Archive 1.2.0: Satsuma colour layer.
 * Colours taken from Meiji Satsuma enamels: gold, cobalt/lapis, cinnabar, celadon, wisteria, on crackled cream.
 * Kept light. Text colours meet WCAG AA on their backgrounds.
 */
:root {
	--ys-cream: #FAF7F0;
	--ys-ivory: #FFFDF8;
	--ys-gold: #C5A059;
	--ys-gold-bright: #D4AF37;
	--ys-gold-ink: #7a5c22;   /* 5.6:1 on cream */
	--ys-lapis: #1F4E8C;      /* 7.4:1 on cream */
	--ys-lapis-tint: #E7EEF8;
	--ys-cinnabar: #A8322D;   /* 6.0:1 on cream */
	--ys-cinnabar-tint: #F8E6E1;
	--ys-celadon: #2F6B5A;    /* 6.2:1 on cream */
	--ys-celadon-tint: #E3F0EA;
	--ys-wisteria: #4A2E4B;
	--ys-wisteria-tint: #EFE6F1;
	--ys-ink: #2a2522;
	--ys-muted: #5f574f;
	--ys-enamel: linear-gradient(90deg, #1F4E8C 0%, #2F6B5A 22%, #D4AF37 45%, #A8322D 70%, #6B4A8E 100%);
}

/* Tone helpers */
.yl-tone--lapis { --tone: var(--ys-lapis); --tone-tint: var(--ys-lapis-tint); }
.yl-tone--cinnabar { --tone: var(--ys-cinnabar); --tone-tint: var(--ys-cinnabar-tint); }
.yl-tone--celadon { --tone: var(--ys-celadon); --tone-tint: var(--ys-celadon-tint); }
.yl-tone--gold { --tone: var(--ys-gold-ink); --tone-tint: #F6EDD6; }
.yl-tone--wisteria { --tone: var(--ys-wisteria); --tone-tint: var(--ys-wisteria-tint); }

/* ---------- Landing: enamel accents ---------- */
.yabu-landing .yl-rule { background: var(--ys-enamel) !important; height: 3px !important; width: 7rem !important; border-radius: 3px; }
.yabu-landing .yl-hero__rule { background: var(--ys-enamel) !important; height: 2px; }
.yabu-landing .yl-hero { background:
	radial-gradient(ellipse at 12% 18%, rgba(31, 78, 140, 0.10), transparent 45%),
	radial-gradient(ellipse at 88% 22%, rgba(168, 50, 45, 0.09), transparent 45%),
	radial-gradient(ellipse at 20% 92%, rgba(47, 107, 90, 0.10), transparent 45%),
	radial-gradient(ellipse at 85% 90%, rgba(107, 74, 142, 0.10), transparent 45%),
	var(--ys-cream); }
.yabu-landing .yl-eyebrow { color: var(--ys-cinnabar); }
.yabu-landing .yl-eyebrow--gold { color: var(--ys-gold-ink); }
.yabu-landing .yl-title-ja { color: var(--ys-lapis); }

/* Studio band: warm celadon wash */
.yabu-landing .yl-studio { background: linear-gradient(180deg, var(--ys-cream) 0%, #EEF5F0 100%); }
.yabu-landing .yl-quote { border-left-color: var(--ys-cinnabar) !important; }

/* Masterpieces mosaic */
.yl-masterpieces { padding: clamp(4.5rem, 9vw, 8rem) 0; background:
	linear-gradient(180deg, #EEF5F0 0%, #F7F1E4 30%, #F3ECF5 100%); position: relative; }
.yl-masterpieces::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 4px; background: var(--ys-enamel); }
.yl-masterpieces__lede { text-align: center; max-width: 44rem; margin: -1.5rem auto 2.6rem !important; color: var(--ys-muted); }
.yl-mosaic { list-style: none; margin: 0; padding: 0; columns: 4 240px; column-gap: 1.25rem; }
.yl-mosaic__item { break-inside: avoid; margin: 0 0 1.25rem; }
.yabu-landing .yl-mosaic__link { display: block; text-decoration: none; color: var(--ys-ink); background: var(--ys-ivory); border: 1px solid rgba(197, 160, 89, 0.55); box-shadow: 0 18px 34px -28px rgba(42, 37, 34, 0.55); transition: transform .5s cubic-bezier(.2,.7,.2,1), box-shadow .5s; position: relative; overflow: hidden; }
.yl-mosaic__link::after { content: ""; position: absolute; inset: 7px; border: 1px solid var(--ys-gold-bright); opacity: 0; transition: opacity .5s; pointer-events: none; }
.yl-mosaic__mat { display: block; padding: 0.9rem; background: radial-gradient(ellipse at 50% 35%, #fff, var(--tone-tint) 78%); border-bottom: 3px solid var(--tone); }
.yl-mosaic__mat img { display: block; width: 100%; height: auto; mix-blend-mode: multiply; transition: transform .8s cubic-bezier(.2,.7,.2,1); }
.yl-mosaic__cap { display: flex; flex-direction: column; gap: .15rem; padding: .85rem 1rem 1rem; }
.yl-mosaic__tag { font-family: "Cormorant Garamond", Garamond, serif; font-variant-caps: all-small-caps; letter-spacing: .2em; font-weight: 700; font-size: .95rem; color: var(--tone); }
.yl-mosaic__title { font-family: "Cormorant Garamond", Garamond, serif; font-size: 1.2rem; line-height: 1.2; color: #121212; }
.yl-mosaic__venue { font-size: .88rem; color: var(--ys-muted); line-height: 1.35; }
.yl-mosaic__credit { font-size: .74rem; color: var(--ys-muted); letter-spacing: .02em; }
.yl-mosaic__link:hover, .yl-mosaic__link:focus-visible { transform: translateY(-6px); box-shadow: 0 30px 50px -28px rgba(42, 37, 34, 0.55), 0 0 0 1px var(--ys-gold-bright), 0 0 36px -6px rgba(212, 175, 55, .55); }
.yl-mosaic__link:hover::after, .yl-mosaic__link:focus-visible::after { opacity: 1; }
.yl-mosaic__link:hover img { transform: scale(1.04); }

/* Stats: four enamel colours */
.yabu-landing .yl-stats { background: linear-gradient(90deg, var(--ys-lapis-tint), #F6EDD6 35%, var(--ys-cinnabar-tint) 65%, var(--ys-celadon-tint)); }
.yabu-landing .yl-stat:nth-child(1) .yl-stat__num { color: var(--ys-lapis); }
.yabu-landing .yl-stat:nth-child(2) .yl-stat__num { color: var(--ys-cinnabar); }
.yabu-landing .yl-stat:nth-child(3) .yl-stat__num { color: var(--ys-celadon); }
.yabu-landing .yl-stat:nth-child(4) .yl-stat__num { color: var(--ys-wisteria); }

/* Timeline: coloured enamel nodes */
.yabu-landing .yl-timeline { background: linear-gradient(180deg, #FFFDF8, #F7F0E3); }
.yabu-landing .yl-tl__item .yl-tl__year { color: var(--tone, var(--ys-gold-ink)); }
.yabu-landing .yl-tl__item .yl-tl__node::after { background: var(--tone-tint, #fff); border-color: var(--tone, var(--ys-gold)); width: 14px; height: 14px; top: 0; }
.yabu-landing .yl-tl__item:hover .yl-tl__node::after { background: var(--tone); box-shadow: 0 0 0 6px var(--tone-tint); }
.yabu-landing .yl-tl__node::before { background: var(--ys-enamel); opacity: .55; height: 2px; }

/* Section cards: each motif its own enamel */
.yabu-landing .yl-cards { background: linear-gradient(180deg, #F3ECF5 0%, var(--ys-cream) 40%); }
.yl-card--biography { --tone: var(--ys-cinnabar); --tone-tint: var(--ys-cinnabar-tint); }
.yl-card--history { --tone: var(--ys-gold-ink); --tone-tint: #F6EDD6; }
.yl-card--catalogue { --tone: var(--ys-lapis); --tone-tint: var(--ys-lapis-tint); }
.yl-card--marks { --tone: var(--ys-cinnabar); --tone-tint: var(--ys-cinnabar-tint); }
.yl-card--museums { --tone: var(--ys-celadon); --tone-tint: var(--ys-celadon-tint); }
.yl-card--auctions { --tone: var(--ys-gold-ink); --tone-tint: #F6EDD6; }
.yl-card--bibliography { --tone: var(--ys-wisteria); --tone-tint: var(--ys-wisteria-tint); }
.yl-card--family { --tone: var(--ys-celadon); --tone-tint: var(--ys-celadon-tint); }
.yl-card--library { --tone: var(--ys-lapis); --tone-tint: var(--ys-lapis-tint); }
.yl-card--shop { --tone: var(--ys-wisteria); --tone-tint: var(--ys-wisteria-tint); }
.yabu-landing .yl-card__link { border-top: 4px solid var(--tone, var(--ys-gold)) !important; }
.yabu-landing .yl-card__media { background: radial-gradient(ellipse at 50% 40%, #fff, var(--tone-tint, #efe6d4)); }
.yabu-landing .yl-card__ja { color: var(--tone, var(--ys-gold-ink)); }
.yabu-landing .yl-card__more { color: var(--tone, var(--ys-wisteria)); }

/* Records & museums */
.yabu-landing .yl-records { background: linear-gradient(180deg, var(--ys-lapis-tint), #F8F4EA 60%); }
.yabu-landing .yl-record__amount { color: var(--ys-cinnabar); }
.yabu-landing .yl-museums { background: linear-gradient(180deg, var(--ys-cream), var(--ys-celadon-tint)); }
.yabu-landing .yl-museums__count { color: var(--ys-celadon); }

/* CTA: from dark plum to a luminous wisteria-lapis enamel (white text stays AA) */
.yabu-landing .yl-cta { background: radial-gradient(ellipse at 20% 0%, rgba(212,175,55,.25), transparent 50%), linear-gradient(135deg, #4A2E4B 0%, #3d3a78 55%, #1F4E8C 100%); }

@media (max-width: 760px) { .yl-mosaic { columns: 2 150px; column-gap: .8rem; } .yl-mosaic__item { margin-bottom: .8rem; } .yl-mosaic__cap { padding: .6rem .7rem .75rem; } .yl-mosaic__title { font-size: 1.02rem; } .yl-mosaic__credit { display: none; } }
@media (prefers-reduced-motion: reduce) { .yl-mosaic__link, .yl-mosaic__mat img { transition: none; } .yl-mosaic__link:hover { transform: none; } }

/* ---------- Archive & content pages ---------- */
.yabu-archive__header { position: relative; padding-bottom: 1.4rem; }
.yabu-archive__header::after { content: ""; display: block; width: 8rem; height: 3px; margin: 1.1rem auto 0; background: var(--ys-enamel); border-radius: 3px; }
.yabu-archive h1, .yabu-archive__title { color: #121212; }
.yabu-archive .entry-content h2, .yabu-archive__page h2 { color: var(--ys-lapis); }
.yabu-archive .entry-content h2::after, .yabu-archive__page h2::after { content: ""; display: block; width: 3.2rem; height: 2px; margin-top: .45rem; background: linear-gradient(90deg, var(--ys-cinnabar), var(--ys-gold-bright)); }
.yabu-chip[aria-pressed="true"] { background: var(--ys-lapis) !important; border-color: var(--ys-lapis) !important; color: #fff !important; }
.yabu-chip:hover { border-color: var(--ys-cinnabar) !important; color: var(--ys-cinnabar); }
.yabu-chip[aria-pressed="true"]:hover { color: #fff; }
.yabu-grid .yabu-card:nth-child(5n+1) { --tone: var(--ys-lapis); }
.yabu-grid .yabu-card:nth-child(5n+2) { --tone: var(--ys-cinnabar); }
.yabu-grid .yabu-card:nth-child(5n+3) { --tone: var(--ys-celadon); }
.yabu-grid .yabu-card:nth-child(5n+4) { --tone: var(--ys-gold-ink); }
.yabu-grid .yabu-card:nth-child(5n+5) { --tone: var(--ys-wisteria); }
.yabu-grid .yabu-card__link { border-top: 3px solid var(--tone, var(--ys-gold)); transition: box-shadow .4s, transform .4s; }
.yabu-grid .yabu-card__link:hover { transform: translateY(-4px); box-shadow: 0 0 0 1px var(--ys-gold-bright), 0 20px 36px -24px rgba(0,0,0,.45); }
.yabu-grid .yabu-card__meta { color: var(--tone, var(--ys-muted)); }

/* Family tree and figures (content pages) */
.ym-tree { display: grid; gap: 0; justify-items: center; margin: 2.2rem auto 2.6rem; padding: 2rem 1rem; background: radial-gradient(ellipse at 50% 0%, var(--ys-celadon-tint), transparent 70%), var(--ys-ivory); border: 1px solid rgba(197,160,89,.5); max-width: 760px; }
.ym-tree__gen { display: flex; flex-wrap: wrap; justify-content: center; gap: 1rem; position: relative; padding: 0 0 1.6rem; }
.ym-tree__gen:not(:last-child)::after { content: ""; position: absolute; left: 50%; bottom: .2rem; width: 2px; height: 1.2rem; background: var(--ys-gold); }
.ym-tree__node, .ym-tree__spouse { display: flex; flex-direction: column; align-items: center; text-align: center; min-width: 12rem; padding: .8rem 1.1rem; background: #fff; border: 1px solid rgba(197,160,89,.6); border-top: 3px solid var(--ys-lapis); }
.ym-tree__node b, .ym-tree__spouse b { font-family: "Cormorant Garamond", Garamond, serif; font-size: 1.25rem; font-weight: 600; color: #121212; }
.ym-tree__node small, .ym-tree__spouse small { color: var(--ys-muted); font-size: .85rem; line-height: 1.35; }
.ym-tree__node [lang="ja"] { color: var(--ys-cinnabar); }
.ym-tree__node--gold { border-top-color: var(--ys-gold-bright); box-shadow: 0 0 0 4px #F6EDD6; }
.ym-tree__node--adopt { border-top-color: var(--ys-celadon); border-style: dashed solid solid; }
.ym-tree__spouse { border-top-color: var(--ys-wisteria); }
.ym-figures { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 1.2rem; margin: 1.6rem 0 2rem; }
.ym-figures > br, .ym-figures > p:empty { display: none; }
.ym-figure { margin: 0; background: var(--ys-ivory); border: 1px solid rgba(197,160,89,.5); border-bottom: 3px solid var(--ys-celadon); }
.ym-figure img { display: block; width: 100%; height: auto; }
.ym-figure picture { display: block; padding: .6rem; background: #fff; }
.ym-figure figcaption { display: flex; flex-direction: column; gap: .1rem; padding: .6rem .8rem .8rem; font-size: .9rem; line-height: 1.35; }
.ym-figure__title { font-family: "Cormorant Garamond", Garamond, serif; font-size: 1.08rem; color: #121212; }
.ym-figure__venue, .ym-figure__credit { color: var(--ys-muted); font-size: .8rem; }
.ym-ja { margin-top: 3rem; padding: 1.6rem 1.8rem; background: var(--ys-wisteria-tint); border-left: 4px solid var(--ys-wisteria); }

/* ---------- Gallery Shop ---------- */
.ys-shop { --g: 1.4rem; }
.ys-shop__intro { text-align: center; max-width: 46rem; margin: 0 auto 2rem; }
.ys-eyebrow { font-family: "Cormorant Garamond", Garamond, serif; font-variant-caps: all-small-caps; letter-spacing: .3em; font-weight: 700; color: var(--ys-cinnabar); margin: 0 0 .6rem; }
.ys-shop__lede { font-size: 1.15rem; color: var(--ys-muted); }
.ys-btn { display: inline-block; padding: .9rem 2rem; font-family: "Cormorant Garamond", Garamond, serif; font-variant-caps: all-small-caps; letter-spacing: .22em; font-weight: 700; font-size: 1.05rem; text-decoration: none !important; border: 1px solid var(--ys-gold); transition: background .3s, color .3s, box-shadow .3s; }
.ys-btn--gold { background: linear-gradient(135deg, #E2C46E, #C5A059 55%, #A9853F); color: #1a140a !important; }
.ys-btn--gold:hover, .ys-btn--gold:focus-visible { box-shadow: 0 0 0 3px #fff, 0 0 0 4px var(--ys-gold-bright), 0 10px 30px -10px rgba(212,175,55,.8); }
.ys-empty { position: relative; text-align: center; max-width: 52rem; margin: 1rem auto 3rem; padding: clamp(2.5rem, 6vw, 4.5rem) clamp(1.2rem, 5vw, 4rem); background:
	radial-gradient(ellipse at 15% 10%, rgba(31,78,140,.10), transparent 50%), radial-gradient(ellipse at 85% 15%, rgba(168,50,45,.09), transparent 50%),
	radial-gradient(ellipse at 50% 100%, rgba(47,107,90,.12), transparent 55%), var(--ys-ivory);
	border: 1px solid rgba(197,160,89,.6); box-shadow: inset 0 0 0 8px var(--ys-ivory), inset 0 0 0 9px rgba(212,175,55,.6); }
.ys-empty__ornament { display: flex; justify-content: center; gap: .5rem; margin-bottom: 1.4rem; }
.ys-empty__ornament span { width: 12px; height: 12px; transform: rotate(45deg); }
.ys-empty__ornament span:nth-child(1) { background: var(--ys-lapis); } .ys-empty__ornament span:nth-child(2) { background: var(--ys-celadon); }
.ys-empty__ornament span:nth-child(3) { background: var(--ys-gold-bright); width: 16px; height: 16px; } .ys-empty__ornament span:nth-child(4) { background: var(--ys-cinnabar); }
.ys-empty__ornament span:nth-child(5) { background: #6B4A8E; }
.ys-empty__ja { font-family: "Shippori Mincho", "Noto Serif JP", serif; letter-spacing: .4em; color: var(--ys-cinnabar); margin: 0 0 .4rem; }
.ys-empty__title { font-family: "Cormorant Garamond", Garamond, serif; font-weight: 400; font-size: clamp(2rem, 4vw, 3rem); line-height: 1.1; margin: 0 0 1rem; color: #121212; }
.ys-empty__text { max-width: 36rem; margin: 0 auto 1.8rem; color: var(--ys-muted); font-size: 1.08rem; }
.ys-promises { list-style: none; padding: 0; margin: 2rem 0 0; display: flex; flex-wrap: wrap; justify-content: center; gap: .6rem 1.6rem; font-size: .95rem; color: var(--ys-celadon); }
.ys-promises li::before { content: "◆"; color: var(--ys-gold); margin-right: .45rem; font-size: .7em; vertical-align: .15em; }
.ys-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: var(--g); }
.ys-card__link { display: flex; flex-direction: column; height: 100%; text-decoration: none; color: var(--ys-ink); background: var(--ys-ivory); border: 1px solid rgba(197,160,89,.5); border-top: 3px solid var(--ys-gold); transition: transform .4s, box-shadow .4s; }
.ys-card__link:hover, .ys-card__link:focus-visible { transform: translateY(-5px); box-shadow: 0 0 0 1px var(--ys-gold-bright), 0 0 32px -6px rgba(212,175,55,.5); }
.ys-card__media { position: relative; display: block; aspect-ratio: 1; background: radial-gradient(ellipse at 50% 40%, #fff, #F3EBDB); overflow: hidden; }
.ys-card__media img { width: 100%; height: 100%; object-fit: contain; }
.ys-card__placeholder { position: absolute; inset: 0; display: grid; place-items: center; font-size: 5rem; color: var(--ys-gold); }
.ys-badges { position: absolute; top: .7rem; left: .7rem; display: flex; flex-wrap: wrap; gap: .35rem; }
.ys-badge { padding: .2rem .6rem; font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; background: #fff; color: var(--ys-lapis); border: 1px solid currentColor; }
.ys-badge--reserved { background: var(--ys-gold-bright); color: #1a140a; border-color: var(--ys-gold-bright); }
.ys-badge--sold { background: var(--ys-cinnabar); color: #fff; border-color: var(--ys-cinnabar); }
.ys-card__body { display: flex; flex-direction: column; gap: .2rem; padding: 1rem 1.1rem 1.2rem; flex: 1; }
.ys-card__title { font-family: "Cormorant Garamond", Garamond, serif; font-size: 1.3rem; line-height: 1.2; color: #121212; }
.ys-card__ja { color: var(--ys-cinnabar); font-size: .95rem; }
.ys-card__meta { color: var(--ys-muted); font-size: .9rem; }
.ys-card__price { margin-top: auto; padding-top: .6rem; font-family: "Cormorant Garamond", Garamond, serif; font-size: 1.25rem; color: var(--ys-lapis); }
.ys-card__price.is-request { font-style: italic; color: var(--ys-wisteria); }
.ys-card--sold .ys-card__media img { filter: saturate(.6); }
.ys-shop__note { margin-top: 2rem; text-align: center; color: var(--ys-muted); font-size: .95rem; }
.ys-buybox { float: right; width: min(100%, 300px); margin: 0 0 1.2rem 1.6rem; padding: 1.3rem 1.4rem; background: var(--ys-ivory); border: 1px solid rgba(197,160,89,.6); border-top: 3px solid var(--ys-gold-bright); }
.ys-buybox__status { margin: 0; font-variant-caps: all-small-caps; letter-spacing: .2em; font-weight: 700; color: var(--ys-celadon); }
.ys-buybox__status--reserved { color: var(--ys-gold-ink); } .ys-buybox__status--sold { color: var(--ys-cinnabar); }
.ys-buybox__price { font-family: "Cormorant Garamond", Garamond, serif; font-size: 1.8rem; margin: .2rem 0 1rem; color: #121212; }
@media (max-width: 700px) { .ys-buybox { float: none; margin: 0 0 1.2rem; width: 100%; } }

/* ---------- Library ---------- */
.ylib__shelf { list-style: none; margin: 1.4rem 0 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 460px), 1fr)); gap: 1.4rem; }
.ylib__book { display: grid; grid-template-columns: 132px 1fr; gap: 1.2rem; padding: 1.2rem; background: var(--ys-ivory); border: 1px solid rgba(197,160,89,.45); box-shadow: 0 16px 30px -26px rgba(0,0,0,.45); position: relative; }
.ylib__book.is-key { border-color: var(--ys-gold); box-shadow: 0 0 0 1px rgba(212,175,55,.5), 0 16px 30px -26px rgba(0,0,0,.45); }
.ylib__cover { position: relative; align-self: start; aspect-ratio: 2 / 3; background: #eee; box-shadow: 6px 8px 14px -6px rgba(0,0,0,.45), inset 4px 0 0 rgba(0,0,0,.12); overflow: hidden; transition: transform .45s; }
.ylib__book:hover .ylib__cover { transform: translateY(-4px) rotate(-1deg); }
.ylib__cover img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ylib__cover--lapis { background: linear-gradient(160deg, #2a5fa3, #173c6d); }
.ylib__cover--cinnabar { background: linear-gradient(160deg, #b94038, #7f2420); }
.ylib__cover--wisteria { background: linear-gradient(160deg, #6a4870, #3b2440); }
.ylib__cover--celadon { background: linear-gradient(160deg, #3f8571, #23503f); }
.ylib__cover--gold { background: linear-gradient(160deg, #b08a3e, #6e5320); }
.ylib__type { position: absolute; inset: 8px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .35rem; text-align: center; border: 1px solid rgba(232,207,140,.85); padding: .5rem; color: #fff8e6; }
.ylib__type-rule { width: 2.2rem; height: 2px; background: #E8CF8C; }
.ylib__type-title { font-family: "Cormorant Garamond", Garamond, serif; font-size: .82rem; line-height: 1.15; font-weight: 600; display: -webkit-box; -webkit-line-clamp: 6; -webkit-box-orient: vertical; overflow: hidden; }
.ylib__type-author { font-size: .62rem; letter-spacing: .08em; text-transform: uppercase; opacity: .9; }
.ylib__type-year { font-family: "Cormorant Garamond", serif; font-size: .8rem; color: #E8CF8C; }
.ylib__flag { position: absolute; left: 0; bottom: .6rem; padding: .15rem .5rem; background: var(--ys-gold-bright); color: #1a140a; font-size: .62rem; letter-spacing: .12em; text-transform: uppercase; }
.ylib__cat { margin: 0 0 .25rem; font-variant-caps: all-small-caps; letter-spacing: .18em; font-weight: 700; font-size: .9rem; color: var(--ys-cinnabar); }
.ylib__title { font-family: "Cormorant Garamond", Garamond, serif; font-size: 1.3rem; line-height: 1.2; font-weight: 500; margin: 0 0 .25rem; color: #121212; }
.ylib__ja { margin: 0 0 .3rem; color: var(--ys-lapis); font-family: "Shippori Mincho", "Noto Serif JP", serif; font-size: .95rem; }
.ylib__meta { margin: 0 0 .5rem; font-size: .88rem; color: var(--ys-muted); line-height: 1.45; }
.ylib__note { margin: 0 0 .6rem; font-size: .96rem; line-height: 1.5; }
.ylib__links { display: flex; flex-wrap: wrap; gap: .4rem; margin: 0; }
.ylib__links a { padding: .2rem .65rem; font-size: .8rem; text-decoration: none; border: 1px solid var(--ys-lapis); color: var(--ys-lapis); transition: background .25s, color .25s; }
.ylib__links a:first-child { background: var(--ys-lapis); color: #fff; }
.ylib__links a:hover, .ylib__links a:focus-visible { background: var(--ys-cinnabar); border-color: var(--ys-cinnabar); color: #fff; }
.ylib__credit { margin-top: 2rem; font-size: .82rem; color: var(--ys-muted); text-align: center; }
.yabu-chip__ja { font-size: .85em; opacity: .85; }
@media (max-width: 520px) { .ylib__book { grid-template-columns: 96px 1fr; gap: .9rem; padding: .9rem; } .ylib__title { font-size: 1.12rem; } }

/* Archive tokens for shortcodes used on ordinary pages */
.ylib, .ys-shop {
	--yabu-cream: #FAF7F0;
	--yabu-black: #121212;
	--yabu-gold: #C5A059;
	--yabu-gold-bright: #D4AF37;
	--yabu-wisteria: #4A2E4B;
	--yabu-ink: #2a2522;
	--yabu-muted: #6b625a;
	--yabu-line: rgba(197, 160, 89, 0.45);
	--yabu-radius: 2px;
	--yabu-font-display: "Cormorant Garamond", "Cormorant", Garamond, "Times New Roman", serif;
	--yabu-font-body: "EB Garamond", Garamond, Georgia, serif;
	--yabu-font-ui: Inter, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	--yabu-font-ja: "Shippori Mincho", "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", serif;
	--yabu-zoom-height: min(75vh, 760px);

}
