/* Pocket guide for iPhone: one work per screen, scroll snapping, black and white with one red accent. */
:root {
  --paper: #ffffff; --ink: #111111; --muted: #5c5c5c; --red: #d0021b; --hair: #d9d9d9; --tint: #f2f2f2;
  --font: "Helvetica Neue", Helvetica, Arial, sans-serif;
}
@media (prefers-color-scheme: dark) {
  :root { --paper: #111111; --ink: #f2f2f2; --muted: #a8a8a8; --red: #ff5c50; --hair: #333333; --tint: #1c1c1c; color-scheme: dark; }
}
* { box-sizing: border-box; }
html { scroll-snap-type: y proximity; }
@media (prefers-reduced-motion: no-preference) { html { scroll-behavior: smooth; } }
body { margin: 0; background: var(--paper); color: var(--ink); font: 400 1rem/1.45 var(--font); -webkit-text-size-adjust: 100%; }
a { color: inherit; text-underline-offset: 0.18em; }
:focus-visible { outline: 3px solid var(--red); outline-offset: 2px; }
h1, h2, p, figure, ol { margin: 0; }
.guide { max-width: 30rem; margin: 0 auto; padding: 0 max(16px, env(safe-area-inset-right)) env(safe-area-inset-bottom) max(16px, env(safe-area-inset-left)); }

.intro { min-height: 100svh; display: flex; flex-direction: column; justify-content: center; gap: 1rem; padding-block: max(1.5rem, env(safe-area-inset-top)) 2rem; scroll-snap-align: start; }
.crumbs { font-size: 0.85rem; }
.crumbs a { display: inline-block; padding-block: 0.6rem; }
.kick { font-size: 0.82rem; font-weight: 700; border-top: 2px solid var(--ink); padding-top: 0.5rem; }
h1 { font-size: clamp(3rem, 16vw, 4.5rem); font-weight: 700; line-height: 0.92; letter-spacing: -0.04em; }
h1 span { color: var(--red); }
.lede { font-size: 1.2rem; line-height: 1.35; }
.tip { font-size: 0.85rem; color: var(--muted); }
.toc summary { cursor: pointer; font-weight: 700; min-height: 44px; display: flex; align-items: center; }
.toc ol { padding-left: 1.4rem; }
.toc li { padding-block: 0.35rem; }
.toc a { display: inline-block; padding-block: 0.3rem; }

.work { min-height: 100svh; display: flex; flex-direction: column; justify-content: center; gap: 1.1rem; padding-block: max(1rem, env(safe-area-inset-top)) 1.5rem; border-top: 2px solid var(--ink); scroll-snap-align: start; }
.work figure { background: var(--tint); }
.work img { display: block; width: 100%; height: min(52svh, 30rem); -webkit-user-drag: none; user-select: none; }
.fit-contain img { object-fit: contain; }
.fit-cover img { object-fit: cover; }
.haiku { font-size: clamp(1.45rem, 6.6vw, 1.9rem); font-weight: 700; line-height: 1.22; letter-spacing: -0.02em; }
.label { border-top: 1px solid var(--hair); padding-top: 0.5rem; }
.no { font-size: 0.8rem; font-weight: 700; color: var(--red); }
.label h2 { font-size: 1rem; line-height: 1.35; font-weight: 400; margin-top: 0.2rem; }
.label h2 span { display: block; }
.label .artist { font-weight: 700; }
.label .title { font-style: italic; }
.note { font-size: 0.78rem; color: var(--muted); margin-top: 0.35rem; }
.end { padding-block: 3rem calc(3rem + env(safe-area-inset-bottom)); border-top: 2px solid var(--ink); font-size: 0.85rem; color: var(--muted); display: grid; gap: 1rem; }
.end a { color: var(--ink); display: inline-block; padding-block: 0.6rem; }
