/* Existing Merrywick illustrations, presented without replacing game sprites. */
:root { --storybook-ink:#263f32; --storybook-paper:#f5eddb; --storybook-line:#cbbd9f; }
.storybook-hero { display:grid; grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr); overflow:hidden; border:1px solid var(--storybook-line); border-radius:24px; background:var(--storybook-paper); color:var(--storybook-ink); }
.storybook-copy { display:flex; flex-direction:column; justify-content:center; align-items:flex-start; padding:clamp(24px,3.4vw,48px); }
.storybook-copy h1 { font-family:Georgia,'Times New Roman',serif; font-size:clamp(43px,5.3vw,72px); font-weight:500; letter-spacing:-.045em; line-height:1.02; margin:0 0 22px; }
.storybook-copy h1 span { color:var(--storybook-ink); }
.storybook-copy p { font-size:18px; line-height:1.6; max-width:31ch; margin:0 0 24px; }
.storybook-copy .hero-actions { display:flex; flex-wrap:wrap; gap:12px; }
.storybook-copy .button.primary { background:var(--storybook-ink); border-color:var(--storybook-ink); color:#fff9ed; }
.storybook-copy .button.light { background:#fffaf0; color:var(--storybook-ink); border-color:var(--storybook-line); }
.storybook-scene { margin:0; align-self:center; }
.storybook-scene img { display:block; width:100%; height:auto; aspect-ratio:3/2; }
.storybook-scene figcaption { padding:12px 18px; font-size:13px; line-height:1.5; text-align:center; color:#4f5c49; background:#ede4ce; }
.bakery-feature { margin-top:52px; margin-bottom:52px; display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); gap:36px; align-items:center; color:var(--storybook-ink); }
.bakery-feature figure { margin:0; }
.bakery-feature img { display:block; width:100%; height:auto; border:1px solid var(--storybook-line); border-radius:16px; }
.bakery-feature h2,.bakery-preview h2 { font-family:Georgia,'Times New Roman',serif; font-size:clamp(30px,3.3vw,46px); line-height:1.12; font-weight:500; letter-spacing:-.025em; margin:12px 0 18px; }
.bakery-feature p,.bakery-preview p { font-size:17px; line-height:1.65; }
.bakery-feature .button { min-height:48px; display:inline-flex; align-items:center; padding:12px 20px; background:var(--storybook-ink); color:#fffaf0; border:1px solid var(--storybook-ink); border-radius:10px; font-weight:bold; text-decoration:none; }
.bakery-status { display:inline-block; color:#4d513b; background:#ebe2cb; padding:6px 11px; border-radius:5px; font-size:13px!important; font-weight:bold; letter-spacing:.02em; }
.bakery-availability { font-size:14px!important; color:#555c4e; }
.bakery-preview { scroll-margin-top:24px; margin:40px 0 56px; padding:28px; background:#f5eddb; border:1px solid var(--storybook-line); border-radius:18px; color:var(--storybook-ink); }
.bakery-preview .bakery-specs { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); padding:0; margin:24px 0; gap:14px; list-style:none; }
.bakery-specs li { border-top:1px solid var(--storybook-line); padding-top:12px; font-size:15px; line-height:1.5; }
.bakery-specs strong { display:block; font-size:22px; }
.bakery-preview figure { margin:0; min-width:0; }
.bakery-preview img { width:100%; height:auto; display:block; border-radius:8px; border:1px solid var(--storybook-line); background:#fffaf0; }
.bakery-preview figcaption { font-size:14px; line-height:1.5; padding:9px 0 18px; }
.bakery-preview figcaption a { color:var(--storybook-ink); text-decoration:underline; text-underline-offset:3px; display:inline-flex; align-items:center; min-height:48px; }
.bakery-preview details { margin:12px 0; }
.bakery-preview summary { cursor:pointer; font-weight:bold; min-height:48px; padding:14px 0; text-decoration:underline; text-underline-offset:4px; }
.bakery-gallery { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; padding-top:18px; }
.bakery-preview .bakery-note { font-size:14px; border-top:1px solid var(--storybook-line); padding-top:18px; margin-bottom:0; }
img.friend-portrait { display:block; width:100%; height:auto; object-fit:cover; border-radius:18px; }
.friends-home .friend-mini { background:#f0e8d7; overflow:hidden; min-height:260px; gap:18px; padding:0 18px 0 0; }
.friends-home .friend-mini img.friend-portrait { width:46%; height:auto; border-radius:0; flex:none; object-fit:cover; object-position:center; }
.friends-profiles .profile-art { background:#e7decb; border-radius:20px; padding:18px; display:flex; justify-content:center; align-items:center; height:auto; min-height:0; overflow:hidden; }
.friends-profiles .profile-art img.friend-portrait { width:min(100%,280px); height:auto; aspect-ratio:2/3; object-fit:contain; }
.friends-profiles .friend-profile { background:#f4ecdc; }
.world-note .storybook-world { width:100%; height:auto; border-radius:20px; }
.bakery-feature a:focus-visible,.bakery-preview a:focus-visible,.bakery-preview summary:focus-visible { outline:3px solid #a46632; outline-offset:5px; }
@media(max-width:900px) {
 .storybook-hero { grid-template-columns:1fr; }
 .storybook-scene { grid-row:1; }
 .storybook-copy { padding:30px; }
 .storybook-copy h1 { font-size:clamp(44px,8vw,64px); }
 .storybook-copy p { max-width:45ch; }
 .bakery-feature { gap:24px; }
 .friends-home .friend-mini { min-height:auto; }
 .friends-home .friend-mini img.friend-portrait { height:auto; }
}
@media(max-width:620px) {
 .storybook-hero { border-radius:18px; }
 .storybook-copy { padding:26px 22px; }
 .storybook-copy p { font-size:17px; }
 .storybook-copy .hero-actions { width:100%; }
 .storybook-copy .hero-actions .button { width:100%; justify-content:center; min-height:48px; }
 .storybook-scene figcaption { font-size:12px; padding:9px 12px; }
 .bakery-feature { grid-template-columns:1fr; margin-top:36px; margin-bottom:36px; gap:20px; }
 .bakery-feature h2 { font-size:34px; }
 .bakery-preview { padding:18px 14px; margin:30px 0 40px; }
 .bakery-preview h2 { font-size:32px; }
 .bakery-preview .bakery-specs { gap:9px; }
 .bakery-specs li { font-size:13px; }
 .bakery-specs strong { font-size:20px; }
 .bakery-gallery { grid-template-columns:1fr; gap:14px; }
 .friends-home .friend-mini { min-height:auto; }
 .friends-home .friend-mini img.friend-portrait { height:auto; }
}
@media(prefers-reduced-motion:reduce) { .storybook-hero *,.bakery-preview * { scroll-behavior:auto; } }
