/* ===== patch 2026-10-06: header stats, booth header, booth crop, caption, sprite off text ===== */
/* save bar: three lines that carry the thesis, number + label per line, no empty dark corners. each jumps to its section */
.save{display:block;padding:6px 150px 7px 12px;font-size:21.333px}
.save li{display:block}
.pg .save a{display:grid;grid-template-columns:74px auto;justify-content:start;column-gap:7px;align-items:baseline;padding:2px 0;color:#ffd3ec;text-decoration:none;line-height:1;white-space:nowrap}
.save b{font-size:28.333px;line-height:.95;color:var(--yel);text-align:right}
@media(max-width:389px){.save{font-size:16px}.pg .save a{grid-template-columns:60px auto}.save b{font-size:22.667px}}
/* booth header: the original chunky font, back. same 3px pixel as the site title, one line edge to edge (no dead block beside it).
   outline is exactly one font pixel, so letter holes read as clean dots instead of plus signs */
.bth{font-size:32px;line-height:1;white-space:nowrap;word-spacing:6px;color:#ff8ecb;margin:18px 0 12px 0;transform:rotate(-3deg);transform-origin:left;position:relative;z-index:4;
 text-shadow:-3px -3px 0 var(--ink),3px -3px 0 var(--ink),-3px 3px 0 var(--ink),3px 3px 0 var(--ink),0 -3px 0 var(--ink),0 3px 0 var(--ink),-3px 0 0 var(--ink),3px 0 0 var(--ink),6px 7px 0 var(--plum2)}
@media(max-width:389px){.bth{font-size:8.1vw}}
/* booth hero: show what the caption describes */
.slot.hero .akf-win>img{object-position:50% var(--fy,100%)}
/* caption card: bigger words, less empty card */
.bcap{font-size:32px;line-height:.86;padding:8px 6px 18px 20px;overflow-wrap:anywhere}
.bcap>b{font-size:34px}
/* say cheese: was a vertical strip eating 20px of the text column. now a tag stuck on the bottom corner */
.bcap .vt{writing-mode:horizontal-tb;transform:rotate(-4deg);right:8px;bottom:8px;font-size:10.667px;line-height:1;white-space:nowrap;background:var(--hot);color:#fff;border:2px solid var(--ink);padding:5px 6px 4px;z-index:5}
/* sparkle lives on the card corner, never on words */
.bcap>.st{right:8px!important;top:-13px!important}
/* sticker book: frames at 1:1 art pixels, three across, allowed to overlap like real stickers */
.grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:0}
/* #12: frame mirrored so the bubble pile sits over bare shoulder, not over the neck. crop pulled down to keep eye + neck both in the window */
.slot.hero{--fy:75%}
.slot.hero .akf{transform:scaleX(-1)}
.slot.hero .akf-win>img{transform:scaleX(-1)}
/* tabs: equal width, 5.5 on screen so the next one always peeks. the row snaps, so the left tab is never sliced, and a half-tab end cap lets the last stop land clean too */
.nav{padding:10px 0 6px 4px;scroll-snap-type:x mandatory;scroll-padding-left:4px;scrollbar-width:none}
