@font-face{font-family:"Caprasimo";font-style:normal;font-weight:400;font-display:swap;src:url(assets/fonts/caprasimo-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:"Figtree";font-style:normal;font-weight:400;font-display:swap;src:url(assets/fonts/figtree-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:"Figtree";font-style:normal;font-weight:600;font-display:swap;src:url(assets/fonts/figtree-latin-600-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:"Figtree";font-style:normal;font-weight:700;font-display:swap;src:url(assets/fonts/figtree-latin-700-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
/* Pickasaurus Rex × Imagine — "Imagine Mobile" design (Organic design system, dark tuning).
   Source of truth for the look: design/Imagine Mobile.dc.html + design/_ds/organic-*/styles.css */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; color-scheme: dark only; }
:root {
  /* Organic tokens (dark tuning from the dc.html) */
  --color-bg: #1b1730;
  --color-surface: #2d2545;
  --color-text: #f5ecdc;
  --color-divider: color-mix(in srgb, #f5ecdc 16%, transparent);
  --color-accent: #e2712f;
  --color-accent-2: #6b7c46;
  --color-neutral-100: #efe9f5; --color-neutral-200: #d8d0e6; --color-neutral-300: #bcb2d0;
  --color-neutral-400: #a094b8; --color-neutral-500: #857aa0; --color-neutral-600: #635785;
  --color-neutral-700: #42385e; --color-neutral-800: #2d2545; --color-neutral-900: #1b1730;
  --color-accent-100: #fce3cd; --color-accent-200: #f7c49b; --color-accent-300: #efa669;
  --color-accent-400: #e78943; --color-accent-500: #e2712f; --color-accent-600: #c65c22;
  --color-accent-700: #9c471b; --color-accent-800: #6b3118; --color-accent-900: #431e10;
  --gold: #d9ab55; --gold-200: #f0d9a6;
  --color-accent-2-100: #e6ecd3; --color-accent-2-200: #c9d5a9; --color-accent-2-300: #aabd80;
  --color-accent-2-400: #8b9f5d; --color-accent-2-500: #6b7c46; --color-accent-2-600: #586639;
  --color-accent-2-700: #44502d; --color-accent-2-800: #2e3821; --color-accent-2-900: #1e2416;
  --font-heading: "Caprasimo", "Cooper Black", system-ui, sans-serif;
  --font-heading-weight: 400;
  --font-body: "Figtree", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;
  --radius-sm: 8px; --radius-md: 16px; --radius-lg: 28px;
  --shadow-sm: 0 1px 2px color-mix(in srgb, #0f0c1c 34%, transparent);
  --shadow-md: 0 3px 10px color-mix(in srgb, #0f0c1c 36%, transparent);
  --shadow-lg: 0 12px 32px color-mix(in srgb, #0f0c1c 42%, transparent);
  /* motion tokens — design/motion/motion-tokens.json; Motion.swift mirrors these.
     Every animation below is described in design/motion/motion-spec.json by its m-<id> name. */
  --m-curve-standard: cubic-bezier(.2,0,0,1);
  --m-curve-exit: cubic-bezier(.4,0,1,1);
  --m-curve-spring-soft: cubic-bezier(.2,1.1,.4,1);
  --m-curve-spring-bouncy: cubic-bezier(.2,1.45,.35,1);
  --m-curve-linear: linear;
  --m-dur-quick: 120ms; --m-dur-base: 180ms; --m-dur-slow: 320ms; --m-dur-hero: 650ms; --m-dur-stampede: 2000ms; --m-dur-rollcall: 3000ms;
  /* theme tokens — DORMANT since the Light/Dark toggle was removed (2026-08-31): the page is
     island-dusk for everyone. Kept as the seam where a real light theme would re-map tokens. */
  --page-bg: var(--color-bg);
  --page-fg: var(--color-text);
}
body {
  margin: 0; background: var(--page-bg); color: var(--page-fg);
  font-family: var(--font-body); font-size: 15px; line-height: 1.55;
}
img { display: block; max-width: 100%; }
p { margin: 0; }
h3 { font-family: var(--font-heading); font-weight: var(--font-heading-weight); line-height: 1.12; letter-spacing: -0.015em; margin: 0; }
a { color: var(--color-accent-300); text-underline-offset: 3px; }
a:hover { color: var(--color-accent-200); }
button { font: inherit; color: inherit; background: none; border: none; cursor: pointer; -webkit-tap-highlight-color: transparent; padding: 0; }
:focus { outline: none; }
:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 2px; }
::selection { background: color-mix(in srgb, var(--color-accent) 30%, transparent); }
.text-muted { color: color-mix(in srgb, var(--color-text) 55%, transparent); }
.washed { filter: saturate(.92) contrast(.96) brightness(.96); }

/* — Organic components (subset in use) — */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 6px;
  cursor: pointer; text-decoration: none;
  font-family: var(--font-heading); font-weight: var(--font-heading-weight);
  font-size: 14px; line-height: 1.2; color: var(--color-text);
  background: transparent; border: 1px solid transparent;
  padding: 9px 16px; border-radius: 999px;
}
.btn svg { display: block; }
.btn:disabled { opacity: .45; cursor: not-allowed; }
.btn-primary { background: var(--color-accent); color: var(--color-bg); }
.btn-primary:hover { background: var(--color-accent-600); }
.btn-primary:active { background: var(--color-accent-700); }
.btn-secondary { border-color: var(--color-divider); }
.btn-secondary:hover, .btn-secondary:active { background: color-mix(in srgb, var(--color-text) 10%, transparent); }
.btn-secondary { transition: transform var(--m-dur-quick) var(--m-curve-standard); } /* m-press (Motion Menu pick) */
.btn-secondary:active { transform: scale(.96); }
.btn-ghost { color: var(--color-accent-300); padding-inline: 6px; }
.btn-ghost:hover, .btn-ghost:active { background: color-mix(in srgb, var(--color-accent) 14%, transparent); }
.btn-block { width: 100%; margin-top: 9px; }
.input {
  width: 100%; min-height: 44px; padding: 6px 14px; font: inherit; font-size: 15px;
  color: var(--color-text); caret-color: var(--color-accent);
  background: var(--color-surface); border: 1px solid var(--color-divider); border-radius: 999px;
}
.input::placeholder { color: color-mix(in srgb, var(--color-text) 45%, transparent); }
.input:focus-visible { border-color: var(--color-accent); outline-offset: 0; }
.tag {
  display: inline-flex; align-items: center; font-size: 11px; letter-spacing: .02em;
  padding: 3px 10px; border-radius: 999px;
}
.tag-outline { border: 1px solid var(--color-accent); color: var(--color-accent-300); }
.tag-neutral { background: var(--color-neutral-800); color: var(--color-neutral-200); }
.card {
  display: flex; flex-direction: column; gap: 0;
  padding: 14px 16px; border-radius: calc(var(--radius-lg) * 1.15);
  background: var(--color-surface);
}
.elev-sm { box-shadow: var(--shadow-sm); }
.seg { display: flex; width: 100%; overflow: hidden; border: 1px solid var(--color-divider); border-radius: 999px; background: var(--color-surface); }
.seg-opt {
  flex: 1; display: inline-flex; align-items: center; justify-content: center; flex-direction: column; gap: 0;
  padding: 8px 4px; min-height: 48px; font-size: 13px; cursor: pointer;
  -webkit-tap-highlight-color: transparent; user-select: none; -webkit-user-select: none;
}
.seg-opt + .seg-opt { border-left: 1px solid var(--color-divider); }
.seg-opt input { position: absolute; opacity: 0; width: 0; height: 0; pointer-events: none; }
.seg-opt:has(input:checked) { background: var(--color-accent); color: var(--color-bg); }
.seg-opt:has(input:focus-visible) { outline: 2px solid var(--color-accent-300); outline-offset: -2px; }
.seg-opt .d1 { font-weight: 700; font-size: 15px; line-height: 1.2; }
.seg-opt .d2 { font-size: 10.5px; letter-spacing: .08em; opacity: .75; text-transform: uppercase; }

/* — venue tags (dark tuning) — */
.vt-main { background: var(--color-accent-800); color: var(--color-accent-200); }
.vt-dome { background: var(--color-accent-2-800); color: var(--color-accent-2-200); }
.vt-yoga { background: var(--color-neutral-700); color: var(--color-neutral-200); }
.vt-council { border: 1px solid var(--color-accent-600); color: var(--color-accent-300); background: transparent; }
.vt-xavi { background: var(--color-accent-700); color: var(--color-accent-100); }
.vt-lawn { background: var(--color-accent-2-700); color: var(--color-accent-2-100); }
.vt-otter { border: 1px solid var(--color-accent-2-600); color: var(--color-accent-2-300); background: transparent; }
.vt-spa { background: var(--color-neutral-800); color: var(--color-neutral-300); }

/* — app shell — */
.shell { min-height: 100dvh; background: var(--page-bg); color: var(--page-fg); font-family: var(--font-body); }
.card, .dlg, .gearpanel, .rawrdemo, .standing, .perk { color: var(--color-text); } /* surfaces keep their own ink whatever the page ground */
.col { max-width: 430px; margin: 0 auto; padding: 0 0 110px; }
.hdr { position: sticky; top: calc(env(safe-area-inset-top) * -1 - 2px); z-index: 30; filter: drop-shadow(0 3px 4px rgba(15,12,28,.35)); }
.woodsign {
  background-size: 100% 100%; background-repeat: no-repeat; background-position: center;
  container-type: inline-size; position: relative;
  padding: calc(env(safe-area-inset-top) + 36px) 30px 50px;
  display: flex; flex-direction: column; gap: 14px;
}
.wtitles { display: flex; flex-direction: column; align-items: center; gap: 2px; text-align: center; position: relative; }
.wt1 { font-family: var(--font-heading); font-size: 9.4cqi; line-height: 1.05; white-space: nowrap; color: #fbf3e4; text-shadow: 0 2px 3px rgba(30,16,6,.6); }
.wt2 { font-family: var(--font-heading); font-size: 6.2cqi; line-height: 1.15; white-space: nowrap; color: #fbf3e4; text-shadow: 0 2px 3px rgba(30,16,6,.6); }
.ratedbadge { position: absolute; right: -8px; top: -22px; transform: rotate(7deg); background: var(--color-accent); color: #fff7ea; font-weight: 800; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; border-radius: 999px; padding: 6px 12px; box-shadow: 0 2px 4px rgba(30,16,6,.4); }
.ratedbadge .nstar { font-size: 15px; line-height: 0; vertical-align: -2px; margin-left: 1px; }
.dayrow { display: flex; align-items: center; gap: 8px; width: 100%; padding: 0 8px; }
.dayarrow { flex: none; display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; color: #fbf3e4; filter: drop-shadow(0 2px 2px rgba(30,16,6,.55)); }
.dayarrow:active { color: var(--color-accent-200); }
.dayarrow[disabled] { opacity: .4; cursor: default; }
.daypills { flex: 1; display: flex; align-items: center; justify-content: center; gap: 6px; }
.daypill { min-height: 44px; padding: 0 18px; border: 1.5px solid rgba(251,243,228,.55); border-radius: 999px; background: rgba(58,36,18,.22); color: #f0dcbe; font-family: var(--font-heading); font-size: 16px; }
.daypill:hover { background: rgba(58,36,18,.38); }
.daypill[data-on="true"] { border-color: transparent; background: var(--color-accent); color: #fff7ea; box-shadow: 0 2px 4px rgba(30,16,6,.35); }
/* a 320 px phone (SE, Mini in zoomed display): the sign's 30 px side padding leaves 260 px for two 44 px
   arrows and three pills -- tighter pills and gaps, arrows stay 40+ px tap targets (SITE-REVIEW-FINDINGS #4) */
@media (max-width: 359px) {
  .dayrow { gap: 4px; padding: 0; }
  .dayarrow { width: 40px; }
  .daypills { gap: 4px; }
  .daypill { padding: 0 11px; font-size: 15px; }
}
.tznote { text-align: center; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: color-mix(in srgb, var(--color-text) 50%, transparent); margin: 0 0 10px; }
.pencil { position: absolute; right: -14px; top: -18px; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; opacity: .45; border-radius: 50%; color: #fbf3e4; }
.pencil:hover, .pencil:active { opacity: .9; background: color-mix(in srgb, var(--color-text) 8%, transparent); }
.pencil svg { width: 17px; height: 17px; fill: currentColor; }
.edit .pencil { display: none; }
.view { padding: 6px 16px 0; }
/* m-ferry-ride (kind: transition, Motion Menu pick): the new day's cards arrive one by one from the
   far edge, direction follows the day index; --i is the card's index within the day */
.view.m-day-fwd .actcard { animation: m-ferry-ride var(--m-dur-hero) var(--m-curve-spring-soft) calc(160ms + 60ms * var(--i, 0)) both; }
.view.m-day-back .actcard { animation: m-ferry-ride-back var(--m-dur-hero) var(--m-curve-spring-soft) calc(160ms + 60ms * var(--i, 0)) both; }
.view.m-day-fwd .comicimg, .view.m-day-back .comicimg, .view.m-day-fwd .noterow, .view.m-day-back .noterow { animation: m-fade-in var(--m-dur-slow) var(--m-curve-standard) both; }
@keyframes m-ferry-ride { from { opacity: 0; transform: translateX(100%); } to { opacity: 1; transform: none; } }
@keyframes m-ferry-ride-back { from { opacity: 0; transform: translateX(-100%); } to { opacity: 1; transform: none; } }
/* m-settle (with m-slam-shut): the schedule underneath settles from 1.04x when a takeover slams shut */
.view.m-settle { animation: m-settle var(--m-dur-slow) var(--m-curve-standard) both; transform-origin: 50% 20%; }
@keyframes m-settle { from { transform: scale(1.04); } to { transform: none; } }
/* m-unfurl (kind: transition, Motion Menu pick): the map opens like a folded chart */
.view.m-unfurl { animation: m-unfurl var(--m-dur-hero) var(--m-curve-spring-bouncy) both; transform-origin: 50% 30%; }
@keyframes m-unfurl { from { opacity: 0; transform: scale(.86) rotate(-3deg); } to { opacity: 1; transform: none; } }
.comicimg { width: 100%; border-radius: var(--radius-lg); }
.legendrow { display: flex; align-items: center; gap: 8px; margin: 12px 2px 14px; flex-wrap: wrap; }
.legendrow p { font-size: 13px; flex: 1; min-width: 180px; line-height: 1.45; }
.scibtn { min-height: 44px; font-size: 14px; }
.footnote { text-align: center; font-size: 13px; line-height: 1.7; margin: 18px 0 8px; }
.editnote { display: none; text-align: center; font-size: 12.5px; line-height: 1.5; margin: 0 2px 12px; color: color-mix(in srgb, var(--color-text) 55%, transparent); }
.edit .editnote { display: block; }

/* — act cards — */
.actcard { margin-bottom: 10px; padding: 0; overflow: hidden; }
/* m-card-enter: cards rise in as they scroll into view (IntersectionObserver adds .in) */
.js .actcard { transition: opacity var(--m-dur-slow) var(--m-curve-standard), transform var(--m-dur-slow) var(--m-curve-standard); }
.js .actcard:not(.in) { opacity: 0; transform: translateY(14px); }
.actcard[data-past="true"] { opacity: .55; }
.actcard.dropped { opacity: .45; }
.actcard.dropped .acname { text-decoration: line-through; text-decoration-color: var(--color-accent-400); text-decoration-thickness: 2px; }
.achead { display: flex; gap: 12px; align-items: flex-start; min-height: 44px; padding: 14px 16px 12px; }
.achead.tappable { cursor: pointer; }
.actime { flex: none; width: 50px; text-align: center; padding-top: 3px; }
.actime .t { font-weight: 700; font-size: 17px; font-variant-numeric: tabular-nums; line-height: 1.1; }
.actime .ap { font-size: 10.5px; letter-spacing: .14em; margin-top: 1px; color: color-mix(in srgb, var(--color-text) 55%, transparent); }
.acmain { flex: 1; min-width: 0; }
.acname { font-family: var(--font-heading); font-size: 19px; line-height: 1.18; text-wrap: pretty; }
.acsub { font-size: 13px; font-weight: 600; margin-top: 2px; color: color-mix(in srgb, var(--color-text) 55%, transparent); }
.actags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; align-items: center; }
.tag.vtag { font-weight: 600; }
.nowchip {
  display: inline-flex; align-items: center; gap: 5px; background: var(--color-accent); color: var(--color-bg);
  font-size: 10px; font-weight: 700; letter-spacing: .08em; padding: 3px 9px; border-radius: 999px; text-transform: uppercase;
}
.nowdot { width: 6px; height: 6px; border-radius: 50%; background: currentColor; animation: m-now-pulse 1.6s var(--m-curve-standard) infinite; }
@keyframes m-now-pulse { 50% { opacity: .2; } }
.acside { flex: none; display: flex; flex-direction: column; align-items: flex-end; gap: 8px; padding-top: 3px; }
.ministars { display: flex; gap: 2px; }
.ministars .rawr { width: 22px; filter: drop-shadow(0 1px 2px rgba(0,0,0,.25)); }
.rawr { background: var(--rawrimg) center/contain no-repeat; display: block; aspect-ratio: 540/568; height: auto; }
.mini-part { position: relative; width: 22px; }
.mini-part .rawr { position: relative; z-index: 2; width: 22px; }
.mini-part .ghostunder { position: absolute; inset: 0; z-index: 1; opacity: .18; filter: grayscale(1); clip-path: none; width: 22px; }
.chev { transition: transform var(--m-dur-base) var(--m-curve-standard); flex: none; }
.chev[data-open="true"] { transform: rotate(180deg); }
/* m-card-expand (kind: layout) — the body is always in the DOM; the wrap's grid row
   animates 0fr -> 1fr, the web analogue of SwiftUI animating a frame change. */
.acbodywrap { display: grid; grid-template-rows: 0fr; visibility: hidden; transition: grid-template-rows var(--m-dur-slow) var(--m-curve-spring-bouncy), visibility var(--m-dur-slow); }
/* m-roar (Motion Menu pick): the card wobbles ±1° as it opens while the stickers fly out */
.actcard.m-roar { animation: m-roar var(--m-dur-hero) var(--m-curve-standard); }
@keyframes m-roar { 20% { transform: rotate(1deg); } 45% { transform: rotate(-1deg); } 70% { transform: rotate(.5deg); } 100% { transform: none; } }
.acbodywrap.open { grid-template-rows: 1fr; visibility: visible; }
.acbodywrap > .acbody { min-height: 0; overflow: hidden; padding-bottom: 0; } /* border-box padding would hold the closed row open */
.acbodywrap > .acbody::after { content: ""; display: block; height: 4px; }  /* + the 10px gap = the 14px the body used to pad */
.acbody { padding: 0 16px 14px; display: flex; flex-direction: column; gap: 10px; }
.acblurb { font-size: 15px; line-height: 1.55; color: color-mix(in srgb, var(--color-text) 80%, transparent); text-wrap: pretty; }
.ttn { color: var(--color-accent-300); font-weight: 600; font-size: 13.5px; }
.scoreline { font-size: 12px; letter-spacing: .06em; text-transform: uppercase; font-weight: 600; color: color-mix(in srgb, var(--color-text) 55%, transparent); }
.scoreline b { color: var(--color-accent-300); }
.acbtns { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
.acbtns .btn { min-height: 44px; }

/* member vote row */
.voterow {
  display: flex; align-items: center; gap: 6px;
  background: color-mix(in srgb, var(--color-text) 5%, transparent);
  border-radius: var(--radius-md); padding: 8px 12px;
}
.voterow .vlbl { font-size: 11px; letter-spacing: .08em; text-transform: uppercase; font-weight: 600; flex: 1; color: color-mix(in srgb, var(--color-text) 55%, transparent); }
.vslot { min-width: 44px; min-height: 44px; display: flex; align-items: center; justify-content: center; padding: 2px; }
.vslot .rawr { width: 38px; transition: transform var(--m-dur-quick) var(--m-curve-standard), opacity var(--m-dur-base) var(--m-curve-standard); }
.vslot:active .rawr { transform: scale(.88); }
/* m-triple-roar (Motion Menu pick): stickers pop lit, staggered; copies fly out of the row (rawrFly) */
.vslot .rawr.lit.m-triple-roar { animation: m-triple-roar var(--m-dur-slow) var(--m-curve-spring-bouncy) calc(170ms * var(--i, 0)) both; }
@keyframes m-triple-roar { from { opacity: .22; transform: scale(.6); } 60% { transform: scale(1.2); } to { opacity: 1; transform: none; } }
/* m-meteor (Motion Menu pick): on 0, each sticker drops and tumbles out, the dim ghosts settle back, the 0 pulses */
.vslot .rawr.dim.m-meteor { animation: m-meteor var(--m-dur-hero) var(--m-curve-exit) calc(70ms * var(--i, 0)) both; }
@keyframes m-meteor { 0% { opacity: 1; filter: none; transform: none; } 60% { opacity: .4; transform: translateY(34px) rotate(18deg); } 100% { opacity: .22; transform: none; } }
.vzero.m-meteor { animation: m-zero-pulse var(--m-dur-slow) var(--m-curve-spring-bouncy) 420ms; }
@keyframes m-zero-pulse { 40% { transform: scale(1.18); } }
/* m-tally (Motion Menu pick): when the blended score moves, full stickers hop in turn, then the sliver pops in */
.ministars.m-tally > .rawr { animation: m-tally-hop var(--m-dur-slow) var(--m-curve-spring-bouncy) calc(90ms * var(--i, 0)); }
.ministars.m-tally .mini-part > .rawr:not(.ghostunder) { animation: m-sprout var(--m-dur-hero) var(--m-curve-spring-bouncy) calc(90ms * var(--i, 2)) both; transform-origin: 20% 80%; }
@keyframes m-tally-hop { 40% { transform: translateY(-6px); } }
@keyframes m-sprout { from { transform: scale(0); } to { transform: none; } }
.vslot .rawr.dim { opacity: .22; filter: grayscale(1); }
.vslot .rawr.lit { opacity: 1; filter: drop-shadow(0 1px 3px rgba(0,0,0,.3)); }
/* a half RAWR in the edit-mode canon row: the lit sticker clipped to its left half over a dim ghost */
.vslot .vhalf { position: relative; width: 38px; }
.vslot .vhalf .rawr { width: 38px; }
.vslot .vhalf .rawr.ghost { position: absolute; inset: 0; z-index: 0; }
.vslot .vhalf .rawr.lit { position: relative; z-index: 1; }
.vzero {
  min-width: 44px; min-height: 44px; border-radius: 999px; border: 1px solid var(--color-divider);
  color: color-mix(in srgb, var(--color-text) 60%, transparent); font-weight: 700; font-size: 15px;
}
.vzero.onz { background: var(--color-neutral-700); color: var(--color-neutral-100); border-color: var(--color-neutral-700); }

/* Pickasaurus canon row (edit mode) */
.canonrow { display: flex; align-items: center; gap: 6px; margin-top: 10px; }
.canonrow .vlbl { font-size: 11px; letter-spacing: .08em; text-transform: uppercase; font-weight: 600; flex: 1; color: var(--color-accent-300); }
.droptag { display: none; }
.edit .actcard.dropped .droptag { display: inline-flex; }

/* empty day */
.emptyday { border: 1.5px dashed var(--color-divider); border-radius: var(--radius-lg); padding: 36px 22px; text-align: center; margin-top: 8px; }
.emptyday .big { font-family: var(--font-heading); font-size: 18px; margin-bottom: 6px; }
.emptyday .sm { font-size: 14px; color: color-mix(in srgb, var(--color-text) 55%, transparent); }

/* — map view — */
.mapwrap { overflow: auto; -webkit-overflow-scrolling: touch; border-radius: var(--radius-lg); max-height: calc(100dvh - 290px); background: var(--color-surface); }
.mapwrap img { display: block; }

/* — saRAWRity view — */
.rawrview { display: flex; flex-direction: column; gap: 18px; padding: 2px 20px 130px; }
.rawrview .crest { width: 124px; height: 124px; object-fit: cover; border-radius: 999px; align-self: center; box-shadow: 0 6px 22px rgba(0,0,0,.35); }
.rawrview h3 { font-size: 26px; text-align: center; }
.rawrview .lead { font-size: 15px; line-height: 1.55; }
.rawrview .lead b, .rawrview .mut b { color: var(--color-accent-300); }
.rawrview .mut { font-size: 14px; line-height: 1.55; color: color-mix(in srgb, var(--color-text) 55%, transparent); }
.pledgebtn { min-height: 54px; font-size: 16.5px; letter-spacing: .04em; }
/* pinned CTA — always visible, on a scrim so text scrolling underneath stays readable */
.rawrcta {
  position: fixed; left: 50%; transform: translateX(-50%); bottom: 0; z-index: 35;
  width: min(430px, 100%); padding: 34px 18px calc(env(safe-area-inset-bottom) + 18px);
  background: linear-gradient(180deg, rgba(27,23,48,0), rgba(27,23,48,.9) 46%, var(--color-bg));
  pointer-events: none;
}
.rawrcta .joinnote { margin: 0 0 8px; text-align: center; font-size: 12.5px; line-height: 1.4; color: color-mix(in srgb, var(--color-text) 70%, transparent); pointer-events: none; }
.rawrcta .btn { pointer-events: auto; box-shadow: 0 10px 26px rgba(226,113,47,.3); }

/* — bottom nav — */
.absbar { position: fixed; left: 50%; transform: translateX(-50%); bottom: calc(env(safe-area-inset-bottom) + 6px); z-index: 40; width: min(430px, 100%); height: 93px; overflow-x: clip; }   /* the shelf overhangs 10 px each side: clipped, never a sideways scroll */
/* the Dino Scroll Bar shelf (replaces the abs-bar art): a green curved ledge the dinos peek over */
.absshelf { position: absolute; left: -10px; right: -10px; bottom: -30px; top: 24px; border-radius: 50% 50% 0 0 / 60% 60% 0 0; background: var(--color-accent-2); box-shadow: 0 -6px 18px rgba(30,20,5,.2); pointer-events: none; }
.dinotab { justify-content: flex-end; padding-top: 0; }
.dinostage { position: relative; width: 110px; height: 91px; margin-top: -32px; overflow: hidden; pointer-events: none; -webkit-mask-image: linear-gradient(to right, transparent 0, #000 18%, #000 82%, transparent 100%); mask-image: linear-gradient(to right, transparent 0, #000 18%, #000 82%, transparent 100%); }
.dinofig { position: absolute; left: 0; bottom: 0; width: 100%; height: 100%; object-fit: contain; object-position: center bottom; opacity: 0; filter: drop-shadow(0 2px 3px rgba(0,0,0,.35)); will-change: transform, opacity; backface-visibility: hidden; -webkit-user-drag: none; }
.dinowarm { position: absolute; left: 0; top: 0; width: 1px; height: 1px; opacity: 0; pointer-events: none; }   /* hidden decode pool */
/* m-dino-conveyor (kind: custom, rAF spring in app.js — not CSS keyframes, so a fling can retarget mid-flight) */
.tabrow[data-tab="1"] .tabhalo { opacity: 0; } /* the dino IS the indicator on the middle tab */
.tabrow { --tabs: 3; --tab: 0; --tabh: 64px; position: absolute; inset: 0; display: flex; align-items: center; padding: 0 14px; }
.tabbtn { flex: 1; height: var(--tabh); display: flex; flex-direction: column; align-items: center; justify-content: flex-start; padding-top: 6px; gap: 1px; font-size: 15px; font-weight: 700; letter-spacing: .1px; font-family: var(--font-body); color: #fbf2e6; position: relative; z-index: 1; text-shadow: 0 1px 2px rgba(20,8,2,.98), 0 0 7px rgba(20,8,2,.85); }
.tabbtn svg { filter: drop-shadow(0 1px 2px rgba(20,8,2,.98)); }
.tabbtn .ic { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 999px; }
.tabbtn[data-on="true"] { color: #fff; text-shadow: 0 1px 2px rgba(20,8,2,.98), 0 0 8px rgba(20,8,2,.95); }
/* m-tab-indicator (kind: layout): ONE halo shared by the tabs slides to the selected one —
   the same element moving, which is what matchedGeometryEffect does natively. */
.tabhalo { transition: transform var(--m-dur-base) var(--m-curve-standard), opacity var(--m-dur-base); position: absolute; left: 14px; top: calc(50% - var(--tabh) / 2 + 6px); width: calc((100% - 28px) / var(--tabs)); height: 34px; pointer-events: none; transform: translateX(calc(var(--tab) * 100%)); transition: transform var(--m-dur-base) var(--m-curve-standard); }
.tabhalo::after { content: ""; display: block; width: 34px; height: 34px; margin: 0 auto; border-radius: 999px; background: var(--color-accent); box-shadow: 0 0 0 2px rgba(255,248,238,.9); }
.edit .absbar { display: none; }

/* — rawr fly — */
.rawrfly {
  position: fixed; left: 0; top: 0; z-index: 80; width: 84px; height: 84px; margin: -42px 0 0 -42px;
  background: var(--rawrflyimg, var(--rawrimg)) center/contain no-repeat; pointer-events: none; /* the member's character, rawr pose */
  filter: drop-shadow(0 8px 22px rgba(0,0,0,.35));
  /* m-rawr-fly (kind: keyframes). 900ms = hero x1.4 on purpose: the flight needs the travel time. */
  animation: m-rawr-fly .9s var(--m-curve-spring-soft) forwards;
}
.rawrfly::after {
  content: "RAWR!"; position: absolute; left: 50%; top: -13px; transform: translateX(-50%) rotate(-8deg);
  font-family: var(--font-heading); font-size: 13px; color: var(--color-accent-300);
  opacity: 0; animation: m-rawr-fly-text .9s var(--m-curve-standard) forwards;
}
@keyframes m-rawr-fly {
  0% { transform: translate(var(--sx), var(--sy)) scale(.22) rotate(var(--rot)); opacity: 0; }
  12% { opacity: 1; } 78% { opacity: 1; }
  100% { transform: translate(var(--ex), var(--ey)) scale(5.4) rotate(0deg); opacity: 0; }
}
@keyframes m-rawr-fly-text {
  0%, 20% { opacity: 0; } 38% { opacity: 1; } 80% { opacity: 1; }
  100% { opacity: 0; transform: translateX(-50%) translateY(-26px) rotate(-8deg); }
}

/* — edit mode chrome — */
.editbar {
  display: none; position: fixed; left: 50%; transform: translateX(-50%);
  bottom: calc(env(safe-area-inset-bottom) + 12px); z-index: 55;
  width: min(402px, calc(100% - 28px)); gap: 6px;
  background: var(--color-surface); border-radius: 999px; padding: 6px; box-shadow: var(--shadow-lg);
}
.edit .editbar { display: flex; }
.pubbtn {
  position: relative; flex: 1.4; min-height: 52px; border-radius: 999px;
  font-family: var(--font-heading); font-weight: var(--font-heading-weight); font-size: 15px;
  background: var(--color-accent); color: var(--color-bg);
}
.pubbtn:active { background: var(--color-accent-700); }
.pubbtn[disabled] { opacity: .55; }
.pubbtn .dirty { position: absolute; top: 2px; right: 6px; width: 12px; height: 12px; border-radius: 50%; background: var(--color-accent-2-300); display: none; }
.pubbtn.isdirty .dirty { display: block; }
.ebtn {
  flex: 1; min-height: 52px; border-radius: 999px; font-size: 12px; font-weight: 700;
  letter-spacing: .04em; text-transform: uppercase;
  color: color-mix(in srgb, var(--color-text) 70%, transparent);
  display: inline-flex; align-items: center; justify-content: center; text-decoration: none;
}
.ebtn:active { background: color-mix(in srgb, var(--color-text) 10%, transparent); }
.mvr { display: none; flex-direction: row; gap: 6px; margin-top: 10px; }
.edit .mvr { display: flex; }
.mvr button { flex: 1; height: 34px; border-radius: 999px; border: 1px solid var(--color-divider); color: color-mix(in srgb, var(--color-text) 60%, transparent); font-size: .85rem; font-weight: 800; }
.mvr button:active { background: color-mix(in srgb, var(--color-text) 12%, transparent); }
.edit [data-ed] { border-radius: 6px; }
.edit [data-ed]:focus { outline: 2px dashed color-mix(in srgb, var(--color-accent) 60%, transparent); outline-offset: 3px; }
.edit .imghot { position: relative; cursor: pointer; }
.edit img.imghot, .edit .imghot img { outline: 2px dashed color-mix(in srgb, var(--color-accent) 45%, transparent); outline-offset: -2px; }

/* — dialogs (sheet + desk) — */
.dlgback {
  position: fixed; inset: 0; z-index: 70; display: none; place-items: center; padding: 18px;
  background: color-mix(in srgb, #14120e 55%, transparent);
}
.dlgback.open { display: grid; animation: m-dialog-scrim var(--m-dur-base) var(--m-curve-standard) both; }
/* m-dialog-open (kind: transition): sheet + desk settle in from slightly below */
.dlgback.open .dlg { animation: m-dialog-open var(--m-dur-slow) var(--m-curve-spring-soft) both; }
@keyframes m-dialog-scrim { from { opacity: 0; } }
@keyframes m-dialog-open { from { opacity: 0; transform: translateY(10px) scale(.97); } }
.dlg {
  width: min(440px, 100%); max-height: calc(100dvh - 60px); overflow: auto;
  display: flex; flex-direction: column; gap: 12px;
  padding: 20px 18px; border-radius: calc(var(--radius-lg) * 1.15);
  background: var(--color-surface); box-shadow: var(--shadow-lg);
}
.dlg h3 { font-size: 20px; }
.dlg p { font-size: 14px; line-height: 1.5; color: color-mix(in srgb, var(--color-text) 80%, transparent); }
.dlg .pubbtn { width: 100%; flex: none; }
.dlg .ebtn { width: 100%; flex: none; border: 1px solid var(--color-divider); }
.msub { font-size: 10.5px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: color-mix(in srgb, var(--color-text) 50%, transparent); }
.csvbox {
  width: 100%; height: 160px; font: 12px/1.4 ui-monospace, Menlo, monospace;
  color: var(--color-text); background: var(--color-bg);
  border: 1px solid var(--color-divider); border-radius: var(--radius-md); padding: 10px;
}

/* — toast — */
.toast {
  position: fixed; left: 50%; bottom: calc(env(safe-area-inset-bottom) + 112px); transform: translateX(-50%);
  z-index: 90; max-width: min(92vw, 400px); text-align: center;
  background: var(--color-neutral-800); border: 1px solid var(--color-divider); color: var(--color-text);
  font-size: 14px; font-weight: 600; padding: 12px 18px; border-radius: 999px; box-shadow: var(--shadow-lg);
  opacity: 0; transition: opacity var(--m-dur-slow) var(--m-curve-standard); pointer-events: none;
}
.toast.show { opacity: 1; }
.toast.gold { background: var(--color-accent); color: var(--color-bg); border-color: var(--color-accent); }

/* — saRAWRity takeover (three-screen flow; the bottom nav is hidden throughout) — */
.rawrtake { min-height: 100dvh; }
.rawrbar { position: sticky; top: 0; z-index: 36; display: flex; justify-content: space-between; align-items: center; padding: calc(env(safe-area-inset-top) + 10px) 14px 8px; background: linear-gradient(180deg, var(--color-bg) 55%, transparent); }
.rawrx {
  width: 44px; height: 44px; flex: none; display: flex; align-items: center; justify-content: center;
  border-radius: 999px; background: color-mix(in srgb, var(--color-surface) 82%, transparent);
  border: 1px solid var(--color-divider); color: var(--color-text); box-shadow: var(--shadow-sm);
}
.rawrx:hover, .rawrx:active { background: var(--color-neutral-700); }
.rawrspacer { width: 44px; }
.col.rawrcol { padding-bottom: 0; } /* the nav (and its clearance) is gone during the flow */
/* m-step-slide (kind: transition): forward enters from the right, back from the left */
.rawrstep.slidefwd { animation: m-step-slide-fwd var(--m-dur-slow) var(--m-curve-standard) both; }
.rawrstep.slideback { animation: m-step-slide-back var(--m-dur-slow) var(--m-curve-standard) both; }
@keyframes m-step-slide-fwd { from { opacity: 0; transform: translateX(28px); } }
@keyframes m-step-slide-back { from { opacity: 0; transform: translateX(-28px); } }
/* m-takeover-enter (kind: transition): the saRAWRity takeover rises over the schedule.
   Only the step and the bar move — never .rawrtake itself (a transform there would re-anchor the fixed CTA). */
.rawrstep.slideup { animation: m-takeover-enter var(--m-dur-slow) var(--m-curve-spring-soft) both; }
.rawrtake.m-enter .rawrbar { animation: m-fade-in var(--m-dur-slow) var(--m-curve-standard) both; }
@keyframes m-takeover-enter { from { opacity: 0; transform: translateY(36px); } }
@keyframes m-fade-in { from { opacity: 0; } }
/* m-cta-rise (kind: transition): the pinned CTA follows the takeover up, a beat behind */
.rawrtake.m-enter .rawrcta { animation: m-cta-rise var(--m-dur-slow) var(--m-curve-spring-soft) 120ms both; }
@keyframes m-cta-rise { from { transform: translate(-50%, 110%); } }
/* m-slam-shut (kind: transition, Motion Menu pick): the takeover shrinks to .9 and drops 80px fast; the schedule settles from 1.04 (m-settle) */
.rawrtake.m-leave .rawrstep, .rawrtake.m-leave .rawrbar { animation: m-slam-shut var(--m-dur-slow) var(--m-curve-exit) both; transform-origin: 50% 100%; }
.rawrtake.m-leave .rawrcta { animation: m-cta-drop var(--m-dur-slow) var(--m-curve-exit) both; }
@keyframes m-slam-shut { to { opacity: 0; transform: scale(.9) translateY(80px); } }
@keyframes m-cta-drop { to { transform: translate(-50%, 110%); } }
/* m-crest-idle: the crest breathes on the explain screen (ambient, 4s) */
.rawrview > .crest { animation: m-crest-idle 4s var(--m-curve-standard) infinite alternate; }
@keyframes m-crest-idle { to { transform: scale(1.03); } }
/* m-demo-pop: the 1-vs-3 demo stickers pop in, staggered 90ms after the step lands */
.rdstack .rawr { animation: m-demo-pop var(--m-dur-slow) var(--m-curve-spring-bouncy) calc(200ms + var(--i, 0) * 90ms) both; }
@keyframes m-demo-pop { from { opacity: 0; transform: scale(.5); } }
/* m-field-shake (kind: keyframes): a rejected field shakes its head once */
.input.m-shake { animation: m-field-shake var(--m-dur-slow) var(--m-curve-standard); }
@keyframes m-field-shake { 20% { transform: translateX(-5px); } 40% { transform: translateX(5px); } 60% { transform: translateX(-3px); } 80% { transform: translateX(3px); } }
.crestsub { text-align: center; font-size: 11.5px; letter-spacing: .14em; text-transform: uppercase; color: color-mix(in srgb, var(--color-text) 55%, transparent); margin-top: -6px; }
/* explain: the 1-vs-3 sticker demo */
.rawrdemo { background: var(--color-surface); border-radius: 24px; padding: 16px 14px 13px; display: flex; flex-direction: column; gap: 12px; }
.rdcols { display: flex; align-items: stretch; }
.rdcol { flex: 1; display: flex; flex-direction: column; align-items: center; gap: 7px; }
.rdcol.wide { flex: 1.2; }
.rddiv { width: 1px; background: var(--color-divider); }
.rdstack { display: flex; align-items: flex-end; justify-content: center; min-height: 42px; }
.rawrdemo .rawr { width: 48px; filter: drop-shadow(0 3px 8px rgba(0,0,0,.35)); }
.rdstack .rawr + .rawr { margin-left: -16px; }
.rdk { font-family: var(--font-heading); font-size: 16px; }
.rdk.hot { color: var(--color-accent-300); }
.rds { font-size: 12px; color: color-mix(in srgb, var(--color-text) 55%, transparent); }
.rdcap { font-size: 13px; line-height: 1.5; text-align: center; color: color-mix(in srgb, var(--color-text) 72%, transparent); text-wrap: pretty; }
.rsplit { font-size: 15px; line-height: 1.55; text-align: center; padding: 0 6px; color: color-mix(in srgb, var(--color-text) 85%, transparent); text-wrap: pretty; }
.rsplit b { color: var(--color-text); }
.rsplit b.hot { color: var(--color-accent-300); }
/* explain: returning-member standing */
.standing { background: var(--color-surface); border-radius: 24px; padding: 18px 16px; display: flex; flex-direction: column; align-items: center; gap: 10px; }
.standchip { display: inline-flex; padding: 5px 14px; border: 1px solid var(--gold); border-radius: 999px; color: var(--gold-200); font-size: 10.5px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.standing p { font-size: 15px; line-height: 1.55; text-align: center; color: color-mix(in srgb, var(--color-text) 85%, transparent); }
.standing p b { color: var(--color-text); }
.rmind { font-size: 14.5px; line-height: 1.55; text-align: center; padding: 0 12px; color: color-mix(in srgb, var(--color-text) 72%, transparent); }
.rmind b { color: var(--color-text); }
.input.bad { border-color: var(--color-accent-400); }
/* each field reserves its error line — errors never shift the layout */
/* — celebration: flanking pair + trio, the crest stamps, the five sisters arrive — */
.rawrdone { align-items: center; text-align: center; padding-top: 0; }
.donestage { position: relative; width: 100%; height: 600px; overflow-x: clip; overflow-y: visible; margin-top: -8px; }
.sisters { position: absolute; inset: 0; z-index: 3; }
/* m-sisters-rise: one motion, staggered 110ms per sister, positional left -> right */
.sis { position: absolute; opacity: 0; filter: drop-shadow(0 8px 20px rgba(0,0,0,.4)); animation: m-sisters-rise var(--m-dur-hero) var(--m-curve-spring-soft) forwards; }
/* stagger is positional, left to right — never by letter */
.sis-pink   { left: -54px; top: 252px; width: 172px; z-index: 7; animation-delay: .45s; }
.sis-green  { left: calc(50% - 129px); top: 14px; width: 96px; --sisop: .8; animation-delay: .56s; }
.sis-gold   { left: calc(50% - 50px); top: -12px; width: 100px; --sisop: .85; animation-delay: .67s; }
.sis-purple { left: calc(50% + 33px); top: 14px; width: 96px; --sisop: .8; animation-delay: .78s; }
.sis-teal   { right: -54px; top: 252px; width: 172px; z-index: 7; animation-delay: .89s; }
@keyframes m-sisters-rise {
  0% { opacity: 0; transform: translateY(70px); }
  70% { opacity: var(--sisop, 1); transform: translateY(-6px); }
  100% { opacity: var(--sisop, 1); transform: none; }
}
.sealwrap { position: absolute; left: 50%; top: 100px; transform: translateX(-50%); width: 206px; z-index: 6; }
.sealwrap .crest { width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; max-width: none; border-radius: 999px; box-shadow: 0 14px 40px rgba(0,0,0,.5); }
/* m-crest-stamp (kind: keyframes): the seal lands, overshoots, settles */
.crest.stamped { animation: m-crest-stamp var(--m-dur-hero) var(--m-curve-spring-bouncy) both; }
@keyframes m-crest-stamp {
  0% { transform: scale(1.75) rotate(-8deg); opacity: 0; }
  55% { transform: scale(.955) rotate(1deg); opacity: 1; }
  78% { transform: scale(1.025) rotate(-.4deg); }
  100% { transform: none; opacity: 1; }
}
.shimmer { position: absolute; inset: 0; overflow: hidden; border-radius: 999px; pointer-events: none; }
.shimmer::after {
  content: ""; position: absolute; top: -25%; bottom: -25%; left: 0; width: 42%;
  transform: skewX(-18deg) translateX(-160%); mix-blend-mode: screen;
  background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--gold-200) 75%, transparent), transparent);
  animation: m-crest-shimmer 1.3s var(--m-curve-standard) .5s both; /* m-crest-shimmer (kind: custom: blend mode + circular mask) */
}
@keyframes m-crest-shimmer { to { transform: skewX(-18deg) translateX(420%); } }
.donettl { font-size: 27px; margin-top: -260px; position: relative; z-index: 8; text-shadow: 0 2px 14px rgba(27,23,48,.9); }
.donesub { max-width: 32ch; position: relative; z-index: 8; text-shadow: 0 2px 10px rgba(27,23,48,.9); }
/* m-done-copy: the headline and subline arrive after the sisters have settled */
.donettl { animation: m-done-copy var(--m-dur-slow) var(--m-curve-standard) 1000ms both; }
.donesub { animation: m-done-copy var(--m-dur-slow) var(--m-curve-standard) 1120ms both; }
@keyframes m-done-copy { from { opacity: 0; transform: translateY(12px); } }
/* the celebration plays once — re-renders while the page sits open must not replay it */
.rawrdone.settled .sis { animation: none; opacity: var(--sisop, 1); }
.rawrdone.settled .crest.stamped { animation: none; }
.rawrdone.settled .shimmer { display: none; }
.rawrdone.settled .donettl, .rawrdone.settled .donesub { animation: none; }

/* — m-stomp (Motion Menu pick, first load only): the wood sign stamps down like a foot, the screen shudders, the rest fades up — */
.m-open .hdr { animation: m-stomp var(--m-dur-hero) var(--m-curve-spring-bouncy) both; transform-origin: 50% 20%; }
.m-open .col { animation: m-shudder var(--m-dur-slow) var(--m-curve-standard) 360ms; }
.m-open .view, .m-open .absbar { animation: m-fade-in var(--m-dur-slow) var(--m-curve-standard) 460ms both; }
@keyframes m-stomp { 0% { opacity: 0; transform: scale(1.6) rotate(-4deg); } 60% { opacity: 1; transform: scale(.97) rotate(1deg); } 100% { opacity: 1; transform: none; } }
@keyframes m-shudder { 0%, 100% { transform: none; } 25% { transform: translateX(4px); } 50% { transform: translateX(-3px); } 75% { transform: translateX(2px); } }
/* — m-wink (Motion Menu pick): the footnote's asterisk turns 90° and back before the takeover opens — */
.notebtn .nstar { display: inline-block; }
.notebtn .nstar.m-wink { animation: m-wink var(--m-dur-quick) var(--m-curve-standard) 2 alternate; }
@keyframes m-wink { to { transform: rotate(90deg); } }

/* — saRAWRity explain: the Pick-yer-pickasaurus perk card — */
.perk { display: flex; align-items: center; gap: 12px; background: color-mix(in srgb, var(--gold) 12%, transparent); border: 1px solid color-mix(in srgb, var(--gold) 45%, transparent); border-radius: 20px; padding: 12px 14px; }
.perkpeek { display: flex; flex: none; }
.perkimg { display: block; width: 44px; aspect-ratio: 540/465; background: center/contain no-repeat; filter: drop-shadow(0 3px 8px rgba(0,0,0,.35)); }
.perkimg + .perkimg { margin-left: -14px; }
.perktxt { flex: 1; min-width: 0; }
.perktxt p { font-size: 14.5px; line-height: 1.45; }
.perktxt b { color: var(--gold-200); }
.perklink { display: inline-flex; align-items: center; gap: 4px; min-height: 32px; margin-top: 2px; font-size: 14px; font-weight: 600; color: var(--color-accent-300); text-decoration: underline; text-underline-offset: 3px; }
.perklink:hover, .perklink:active { color: var(--color-accent-200); }

/* — Pick-yer-pickasaurus takeover (the "9C" layout, Sept 7): a strip of round thumbs, the dino
   frameless on a glow, the name in gold breaking a dashed rule that echoes the one under the title — */
.pickview { display: flex; flex-direction: column; gap: 8px; padding: 0 0 calc(env(safe-area-inset-bottom) + 22px); }
.pickhead { display: flex; flex-direction: column; align-items: center; gap: 8px; margin-top: -16px; padding: 0 44px 2px; }
.pickhead h3 { font-size: 28px; text-align: center; }
/* the two dashed rules share one dash: 6 on, 6 off */
.pickview { --pick-dash: repeating-linear-gradient(90deg, color-mix(in srgb, var(--color-text) 28%, transparent) 0 6px, transparent 6px 12px); }
/* under the title: the dashed rule, then the slide hint with its arrows */
.slidehint { display: flex; align-items: center; justify-content: center; gap: 10px; width: 100%; padding-top: 10px; background: var(--pick-dash) top / 100% 2px no-repeat; font-size: 11.5px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: color-mix(in srgb, var(--color-text) 55%, transparent); }
.slidehint svg { flex: none; }
/* the strip: one row of round thumbs, the pick snapped into the centre; the edges fade out.
   Half-width bookends let the first and last thumb reach the centre too. */
.thumbs { position: relative; display: flex; gap: 8px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; -webkit-overflow-scrolling: touch; overscroll-behavior-x: contain; padding: 6px 0; -webkit-mask-image: linear-gradient(to right, transparent 0, #000 16%, #000 84%, transparent 100%); mask-image: linear-gradient(to right, transparent 0, #000 16%, #000 84%, transparent 100%); }
.thumbs::-webkit-scrollbar { display: none; }
.thumbs::before, .thumbs::after { content: ""; flex: none; width: calc(50% - 32px); }
.thumb { position: relative; flex: none; width: 48px; height: 48px; border-radius: 999px; scroll-snap-align: center; background: var(--color-surface); box-shadow: 0 0 0 1px var(--color-divider); display: flex; align-items: center; justify-content: center; transition: box-shadow var(--m-dur-base) var(--m-curve-standard), transform var(--m-dur-quick) var(--m-curve-standard); }
.thumb:active { transform: scale(.92); }
.thumbimg { display: block; width: 42px; aspect-ratio: 540/465; background: center/contain no-repeat; }
.thumb[data-on="true"] { box-shadow: 0 0 0 2px var(--gold), 0 3px 10px rgba(0,0,0,.4); }
.thumbcheck { display: none; position: absolute; right: -3px; bottom: -3px; width: 18px; height: 18px; border-radius: 999px; background: var(--gold); box-shadow: 0 1px 3px rgba(0,0,0,.4); }
.thumbcheck::after { content: ""; position: absolute; left: 5px; top: 4px; width: 6px; height: 4px; border: solid #1b1730; border-width: 0 0 2.5px 2.5px; transform: rotate(-45deg); }
.thumb[data-mine="true"] .thumbcheck { display: block; }
/* the stage: the carousel spans the column, the chevrons float at the edges */
.pickstage { position: relative; margin-top: 2px; }
.carrow { position: absolute; top: 50%; transform: translateY(-50%); z-index: 2; width: 44px; height: 56px; display: flex; align-items: center; justify-content: center; color: var(--page-fg); filter: drop-shadow(0 2px 2px rgba(15,12,28,.55)); }
.carrow[data-carnav="-1"] { left: 2px; }
.carrow[data-carnav="1"] { right: 2px; }
.carrow:active { color: var(--color-accent-200); transform: translateY(-50%) scale(.9); }
/* thumb-snap (kind: layout): a scroll-snap carousel, one character per slide */
.carousel { width: 100%; display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; -webkit-overflow-scrolling: touch; overscroll-behavior-x: contain; }
.carousel::-webkit-scrollbar { display: none; }
.carslide { flex: none; width: 100%; scroll-snap-align: center; scroll-snap-stop: always; display: flex; justify-content: center; }
/* the dino is the button: frameless, on a soft glow, as tall as the phone allows. The art fills its
   canvas top to bottom with clear margins either side, so the image is sized by HEIGHT and its
   see-through margins may spill past the column (clipped here, so the carousel's width never grows). */
.dino { position: relative; display: flex; align-items: center; justify-content: center; width: 100%; height: 400px; height: clamp(260px, calc(100svh - 300px - env(safe-area-inset-top) - env(safe-area-inset-bottom)), 490px); overflow: hidden; }
.dino::before { content: ""; position: absolute; left: 50%; top: 50%; width: 76%; height: 84%; transform: translate(-50%, -50%); border-radius: 50%; background: radial-gradient(closest-side, color-mix(in srgb, var(--color-neutral-700) 90%, transparent), color-mix(in srgb, var(--color-neutral-700) 40%, transparent) 55%, transparent); pointer-events: none; transition: background var(--m-dur-slow) var(--m-curve-standard); }
.dino[data-mine="true"]::before { background: radial-gradient(closest-side, color-mix(in srgb, var(--gold) 30%, transparent), color-mix(in srgb, var(--gold) 10%, transparent) 55%, transparent); }
.dino img { position: relative; flex: none; height: 100%; width: auto; max-width: 136%; object-fit: contain; filter: drop-shadow(0 12px 24px rgba(0,0,0,.5)); pointer-events: none; transition: transform var(--m-dur-quick) var(--m-curve-spring-bouncy); }
.dino:active img { transform: scale(.96); }
.dino[aria-disabled="true"]:active img { transform: none; }
.dino .youtag { display: none; position: absolute; left: 58%; top: 3%; z-index: 1; background: var(--gold); color: #1b1730; font-family: var(--font-heading); font-size: 12px; padding: 5px 11px; border-radius: 999px; transform: rotate(6deg); box-shadow: 0 2px 4px rgba(0,0,0,.4); }
.dino[data-mine="true"] .youtag { display: block; }
.dino .bigog { position: relative; width: 78%; }
/* between the dino and the name: what a tap does (join / tap to pick / that's you now) */
.taphint { display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 20px; margin: 0; font-size: 11.5px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: color-mix(in srgb, var(--color-text) 55%, transparent); }
.taphint svg { flex: none; }
.taphint .mine { display: inline-flex; align-items: center; gap: 6px; color: var(--gold-200); }
.taphint .join { color: var(--color-accent-300); }
/* the name in gold, breaking a dashed rule that runs edge to edge */
.pickname { display: flex; align-items: center; gap: 14px; margin-top: 2px; }
.pickname::before, .pickname::after { content: ""; flex: 1; height: 2px; background: var(--pick-dash); }
.pickname h2 { flex: none; max-width: 72%; font-family: var(--font-heading); font-weight: var(--font-heading-weight); font-size: 30px; line-height: 1.1; margin: 0; text-align: center; color: var(--gold); }
.pickempty { margin: 8px 24px 0; border: 1.5px dashed var(--color-divider); border-radius: 28px; padding: 16px 18px; text-align: center; }
.pickempty .big { font-family: var(--font-heading); font-size: 18px; margin-bottom: 6px; }
.pickempty .sm { font-size: 14px; color: color-mix(in srgb, var(--page-fg) 55%, transparent); }
/* m-stampede-settle: the hint squashes and springs into "that's you now" (and nudges a non-member's tap) */
.taphint.m-settle { animation: m-stampede-settle var(--m-dur-slow) var(--m-curve-spring-bouncy); }
@keyframes m-stampede-settle { 40% { transform: scale(.92); } }
/* m-stampede (kind: keyframes): the character's rawr sticker bursts in everywhere, holds, drifts off */
.stampede { position: fixed; inset: 0; z-index: 85; overflow: hidden; }
.stomper { position: absolute; aspect-ratio: 540/465; background: center/contain no-repeat; filter: drop-shadow(0 8px 22px rgba(0,0,0,.4)); transform: rotate(var(--rot, 0deg)); animation: m-stampede var(--m-dur-stampede) var(--m-curve-spring-soft) var(--d, 0ms) both; }
@keyframes m-stampede {
  0% { opacity: 0; transform: scale(.2) rotate(var(--rot, 0deg)); }
  18% { opacity: 1; transform: scale(1.15) rotate(var(--rot, 0deg)); }
  35% { transform: scale(1) rotate(var(--rot, 0deg)); }
  80% { opacity: 1; transform: scale(1) rotate(var(--rot, 0deg)) translateY(0); }
  100% { opacity: 0; transform: scale(1.3) rotate(var(--rot, 0deg)) translateY(-40px); }
}
.stampede.one .stomper { animation: m-stampede-one var(--m-dur-hero) var(--m-curve-spring-bouncy) both; transform: translate(-50%, -50%); }
@keyframes m-stampede-one { from { opacity: 0; transform: translate(-50%, -50%) scale(.4); } to { opacity: 1; transform: translate(-50%, -50%) scale(1); } }

/* — the gear tab: a quiet orange nub on the right edge; settings panel slides in from it — */
.geartab { position: fixed; right: 0; top: 50%; transform: translateY(-50%); z-index: 45; width: 40px; height: 48px; border-radius: 14px 0 0 14px; background: var(--color-accent); color: #fff7ea; display: flex; align-items: center; justify-content: center; box-shadow: -2px 3px 8px rgba(15,12,28,.4); transition: transform var(--m-dur-quick) var(--m-curve-standard); }
.geartab:active { transform: translateY(-50%) scale(.94); }
.gearscrim { position: fixed; inset: 0; z-index: 60; background: color-mix(in srgb, #14120e 45%, transparent); animation: m-fade-in var(--m-dur-base) var(--m-curve-standard) both; }
/* m-gear-slide (kind: transition): the panel enters from the right edge, a fade with it */
.gearpanel { position: fixed; right: 0; top: 50%; transform: translateY(-50%); z-index: 61; width: 250px; border-radius: 24px 0 0 24px; background: var(--color-surface); box-shadow: 0 12px 32px rgba(15,12,28,.5); padding: 14px 14px 14px 16px; display: flex; flex-direction: column; gap: 8px; animation: m-gear-slide var(--m-dur-slow) var(--m-curve-spring-soft) both; }
@keyframes m-gear-slide { from { opacity: 0; transform: translate(100%, -50%); } to { opacity: 1; transform: translate(0, -50%); } }
.gearttl { display: flex; align-items: center; gap: 8px; color: var(--color-accent-300); font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; padding-left: 2px; }
.gearttl svg { width: 16px; height: 16px; }
.gearrow { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 48px; padding: 0 4px 0 6px; width: 100%; text-align: left; border-radius: 14px; }
.gearlbl { font-family: var(--font-heading); font-size: 16px; }
.gearsub { display: block; font-size: 12px; color: color-mix(in srgb, var(--color-text) 55%, transparent); }
.geartxt { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.geardiv { height: 1px; background: var(--color-divider); }
.gearpick:active { background: color-mix(in srgb, var(--color-text) 8%, transparent); }
.gearpick svg { color: var(--color-accent-300); flex: none; }
.gearav { display: block; width: 34px; aspect-ratio: 540/465; background: center/contain no-repeat; flex: none; filter: drop-shadow(0 1px 2px rgba(0,0,0,.3)); }

/* — m-rollcall (kind: layout, in-world "the Roll Call"): first saRAWRity open per session — the
   whole saRAWRity cast slams down as rubber stamps scattered across the page, each landing as its
   idle dino (spring squash) then roaring awake (idle -> rawr pop) on its own beat. An overlay,
   never a blocker: pointer-events none, page live beneath. JS (maybeRollCall) stamps each member
   only after its image decodes; a tap anywhere skips. — */
.rollcall { position: fixed; inset: 0; z-index: 84; overflow: hidden; pointer-events: none; transition: opacity 350ms var(--m-curve-standard); }
.rollcall.out { opacity: 0; }
.rcstamp { position: absolute; aspect-ratio: 540/465; transform: rotate(var(--rot, 0deg)); animation: m-rollcall-stamp var(--m-dur-slow) var(--m-curve-spring-bouncy) both; }
.rcstamp img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; filter: drop-shadow(0 6px 14px rgba(0,0,0,.35)); }
.rcstamp .face-rawr { opacity: 0; }
.rcstamp.roared .face-idle { opacity: 0; }
.rcstamp.roared .face-rawr { opacity: 1; animation: m-rollcall-roar var(--m-dur-quick) var(--m-curve-spring-bouncy); }
@keyframes m-rollcall-stamp { from { opacity: 0; transform: rotate(var(--rot, 0deg)) scale(1.8); } 60% { opacity: 1; transform: rotate(var(--rot, 0deg)) scale(.94); } to { opacity: 1; transform: rotate(var(--rot, 0deg)) scale(1); } }
@keyframes m-rollcall-roar { from { transform: scale(.8); } }

/* — reduced motion: one block, one line per motion id, matching the "reduced" field in motion-spec.json — */
@media (prefers-reduced-motion: reduce) {
  .gearpanel, .gearscrim { animation: m-fade-in var(--m-dur-base) both; }        /* gear-slide: fade */
  .taphint.m-settle { animation: none; }                                          /* stampede-settle: static */
  .dino img, .dino::before, .thumb, .carrow:active, .geartab { transition: none; } /* pick-press: keep is fine, but transforms off */
  .carousel, .thumbs { scroll-behavior: auto; }                                    /* thumb-snap + thumb pager: static */
  .rcstamp { animation: m-fade-in var(--m-dur-base) both; }   /* roll-call: stamps fade in, no slam — the flips and the layer fade remain */
  .js .actcard { transition: none; }                                    /* card-enter: static */
  .js .actcard:not(.in) { opacity: 1; transform: none; }
  .nowdot { animation: none; }                                          /* now-pulse: static */
  .acbodywrap { transition: opacity var(--m-dur-base), visibility var(--m-dur-base); }  /* card-expand: fade */
  .acbodywrap:not(.open) { opacity: 0; }
  .tabhalo { transition: none; }                                        /* tab-indicator: static */
  .view.m-day-fwd .actcard, .view.m-day-back .actcard, .view.m-day-fwd .comicimg, .view.m-day-back .comicimg, .view.m-day-fwd .noterow, .view.m-day-back .noterow { animation: none; }
  .view.m-day-fwd, .view.m-day-back { animation: m-fade-in var(--m-dur-base) both; }   /* ferry-ride: fade */
  .view.m-unfurl { animation: m-fade-in var(--m-dur-base) both; }                       /* unfurl: fade */
  .view.m-settle { animation: none; }
  .m-open .hdr, .m-open .col { animation: none; }                                       /* stomp: fade */
  .m-open .view, .m-open .absbar { animation: m-fade-in var(--m-dur-base) both; }
  .actcard.m-roar { animation: none; }                                                  /* roar: the row still fades */
  .vslot .rawr.lit.m-triple-roar, .vslot .rawr.dim.m-meteor, .vzero.m-meteor { animation: none; }  /* triple-roar, meteor: static */
  .ministars.m-tally > .rawr, .ministars.m-tally .mini-part > .rawr { animation: none; }           /* tally: static */
  .notebtn .nstar.m-wink { animation: none; }                                           /* wink: static */
  .rawrfly { display: none; }                                           /* rawr-fly: static */
  .dlgback.open .dlg { animation: m-fade-in var(--m-dur-base) both; }   /* dialog-open: fade */
  .rawrstep.slidefwd, .rawrstep.slideback, .rawrstep.slideup { animation: m-fade-in var(--m-dur-base) both; } /* step-slide, takeover-enter: fade */
  .rawrtake.m-enter .rawrbar, .rawrtake.m-enter .rawrcta { animation: none; }           /* cta-rise: static */
  .rawrtake.m-leave .rawrstep, .rawrtake.m-leave .rawrbar, .rawrtake.m-leave .rawrcta { animation: none; } /* takeover-exit: static */
  .rawrview > .crest { animation: none; }                               /* crest-idle: static */
  .rdstack .rawr { animation: none; }                                   /* demo-pop: static */
  .input.m-shake { animation: none; }                                   /* field-shake: static */
  .sis { animation: none; opacity: var(--sisop, 1); transform: none; }  /* sisters-rise: static */
  .crest.stamped { animation: m-fade-in var(--m-dur-slow) both; }       /* crest-stamp: fade */
  .shimmer { display: none; }                                           /* crest-shimmer: static */
  .donettl, .donesub { animation: none; }                               /* done-copy: static */
  /* chev-rotate, press-states, toast: keep */
}

/* — "How do ratings work?" footnotes + banner slots + card More bar — */
.noterow { display: flex; justify-content: flex-start; }
.noterow.heronote { margin: 0 2px 17px; }
/* "Jump to the schedule": the hero art fills the first screen, so the first card starts below the fold (finding #7) */
.jumprow { display: flex; justify-content: center; margin: 0 0 8px; }
.jumpbtn { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; padding: 8px 16px; border-radius: 999px; border: 1.5px solid color-mix(in srgb, var(--color-accent-300) 55%, transparent); background: color-mix(in srgb, var(--color-surface) 70%, transparent); color: var(--color-accent-300); font-family: var(--font-heading); font-size: 14px; letter-spacing: .02em; }
.jumpbtn:active { background: color-mix(in srgb, var(--color-accent) 22%, transparent); }
.jumpbtn svg { flex: none; }
.acrange { font-size: 13px; font-weight: 600; letter-spacing: .04em; color: color-mix(in srgb, var(--color-text) 70%, transparent); font-variant-numeric: tabular-nums; }
.acrange .nextday { font-weight: 400; color: var(--color-accent-300); }
.noterow.bannernote { margin: 0 2px 0; }
.notebtn { display: flex; align-items: baseline; gap: 7px; min-height: 44px; padding: 8px 2px; font-family: var(--font-body); color: var(--color-accent-300); }
.notebtn:hover, .notebtn:active { color: var(--color-accent-200); }
.notebtn .nstar { font-family: var(--font-heading); font-size: 30px; line-height: 1; color: var(--color-accent); position: relative; top: 6px; }
.notebtn .ntxt { font-size: 20px; font-style: italic; letter-spacing: .01em; text-align: left; border-bottom: 1px dotted color-mix(in srgb, var(--color-accent-300) 45%, transparent); padding-bottom: 3px; }
.heartslot { margin: 10px 0 14px; }
.morebar { display: flex; align-items: center; justify-content: center; gap: 6px; width: 100%; min-height: 44px; padding: 8px 0; background: color-mix(in srgb, var(--color-text) 6%, transparent); color: color-mix(in srgb, var(--color-text) 62%, transparent); font-family: var(--font-heading); font-size: 13px; line-height: 1; }
.edit .morebar { display: none; }

/* ==================== the site edition: offline (2026-09-05) ==================== */
/* the Hatchery: first-visit introduction. A full-screen layer over the live, already-rendered page. */
/* the Hatchery (loading gate) styles live in src/hatchery.css, inlined into site/index.html by build.py */

/* gear panel: offline status, share, build hash */
.gearoff { padding: 10px 14px 4px; border-top: 1px solid color-mix(in srgb, var(--color-text) 12%, transparent); margin-top: 6px; }
.offline { margin: 0; font-size: 13px; line-height: 1.4; }
.offline.ready { color: var(--color-accent-2-300); font-weight: 700; }
.offlbl { display: inline-block; margin-right: 8px; font-size: 10.5px; letter-spacing: .08em; text-transform: uppercase; font-weight: 700; color: color-mix(in srgb, var(--color-text) 55%, transparent); }
.offhint, .offwarn { margin: 3px 0 0; font-size: 12px; color: color-mix(in srgb, var(--color-text) 60%, transparent); }
.offwarn { color: var(--color-accent-300); }
.offretry { margin-left: 6px; padding: 2px 9px; border-radius: 999px; border: 1px solid currentColor; background: none; color: inherit; font: inherit; font-size: 11.5px; font-weight: 700; }
.gearhash { margin: 6px 14px 10px; font-size: 11px; letter-spacing: .06em; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; color: color-mix(in srgb, var(--color-text) 45%, transparent); }

/* "new RAWRs available" — quiet, never a reload mid-use */
.newrawr { position: fixed; left: 50%; top: calc(env(safe-area-inset-top) + 10px); transform: translateX(-50%); z-index: 150; padding: 10px 16px; border-radius: 999px; border: 0; background: var(--color-accent); color: #1b1730; font: inherit; font-weight: 700; font-size: 13.5px; box-shadow: 0 8px 22px rgba(0,0,0,.35); animation: newrawr-in .5s var(--m-curve-spring-soft, ease) both; }
@keyframes newrawr-in { from { opacity: 0; transform: translate(-50%, -16px); } }

/* the home-screen nudge on the join screen */
.nudge { margin: 12px 0 0; padding: 12px 14px; border-radius: var(--radius-md); font-size: 13px; line-height: 1.45; background: color-mix(in srgb, var(--color-accent-2) 16%, transparent); border: 1px solid color-mix(in srgb, var(--color-accent-2) 40%, transparent); }
.nudge b { color: var(--color-accent-2-200); }
.nudgelink { display: inline-block; margin-top: 2px; padding: 4px 2px; min-height: 32px; font-family: var(--font-heading); font-size: 13.5px; color: var(--color-accent-300); text-decoration: underline; text-underline-offset: 3px; }
.nudgelink:hover, .nudgelink:active { color: var(--color-accent-200); }

/* — the Home Screen guide (iPhone "Add to Home Screen"): one dialog, opened from Settings — */
.gearhome .gearsub { white-space: normal; line-height: 1.35; }
.gearhomeic { display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; flex: none; border-radius: 10px; background: color-mix(in srgb, var(--color-accent) 18%, transparent); color: var(--color-accent-300); }
.gearhomeic.ok { background: color-mix(in srgb, var(--color-accent-2) 22%, transparent); color: var(--color-accent-2-300); }
.gearstatus { cursor: default; }
html.a2hsopen { overflow: hidden; }
.a2hsback {
  position: fixed; inset: 0; z-index: 80; display: grid; place-items: start center;
  /* sits high, its top edge over the bottom of the wood sign, so the banner peeks out above it */
  padding: clamp(96px, 16svh, 150px) 12px calc(env(safe-area-inset-bottom) + 12px);
  background: color-mix(in srgb, #14120e 34%, transparent);   /* light enough that the schedule is plainly still there */
  animation: m-dialog-scrim var(--m-dur-base) var(--m-curve-standard) both;
}
.a2hsback.bye { animation: a2hs-bye var(--m-dur-base) var(--m-curve-exit) both; pointer-events: none; }
@keyframes a2hs-bye { to { opacity: 0; } }
.a2hs {
  width: min(460px, 100%); max-height: calc(100dvh - clamp(96px, 16svh, 150px) - 12px - env(safe-area-inset-bottom)); max-height: calc(100svh - clamp(96px, 16svh, 150px) - 12px - env(safe-area-inset-bottom));
  display: flex; flex-direction: column; min-height: 0;
  color: var(--color-text); border-radius: calc(var(--radius-lg) * 1.15); box-shadow: var(--shadow-lg), 0 0 0 1px color-mix(in srgb, var(--color-text) 12%, transparent);
  /* frosted, not solid: the page shows through as soft shapes; the blur keeps the type on a calm ground */
  background: color-mix(in srgb, var(--color-surface) 86%, transparent); -webkit-backdrop-filter: blur(18px) saturate(1.1); backdrop-filter: blur(18px) saturate(1.1);
  font: 15px/1.5 var(--font-body);   /* fixed like the rest of the page (iOS Dynamic Type at accessibility sizes blew the header up to the whole screen); em-based inside so browser zoom still scales it */
  animation: m-dialog-open var(--m-dur-slow) var(--m-curve-spring-soft) both;
}
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) { .a2hs { background: color-mix(in srgb, var(--color-surface) 94%, transparent); } }
.a2hs:focus-visible { outline: none; }   /* the container takes focus on open; the dialog itself is the focus ring */
.a2hshd { display: grid; grid-template-columns: 56px 1fr 44px; gap: 12px; align-items: center; padding: 18px 12px 12px 18px; flex: none; max-height: 45%; overflow: hidden; border-bottom: 1px solid var(--color-divider); }   /* the header can never starve the steps of room */
.a2hsicon { width: 56px; height: 56px; border-radius: 13px; box-shadow: var(--shadow-sm); background: var(--color-bg); }
.a2hsttl { font-family: var(--font-heading); font-weight: var(--font-heading-weight); font-size: 1.27em; line-height: 1.15; letter-spacing: -0.015em; margin: 0; overflow-wrap: break-word; }
.a2hsx { width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center; border-radius: 999px; color: color-mix(in srgb, var(--color-text) 82%, transparent); background: color-mix(in srgb, var(--color-text) 8%, transparent); align-self: start; }
.a2hsx:hover, .a2hsx:active { background: color-mix(in srgb, var(--color-text) 10%, transparent); color: var(--color-text); }
.a2hsbody { overflow: auto; -webkit-overflow-scrolling: touch; overscroll-behavior: contain; padding: 14px 18px 6px; display: flex; flex-direction: column; gap: 14px; min-height: 0; }
.a2hsintro { font-size: 1em; line-height: 1.5; color: color-mix(in srgb, var(--color-text) 92%, transparent); }
.a2hslead { padding: 12px 14px; border-radius: var(--radius-md); background: color-mix(in srgb, var(--color-accent) 20%, var(--color-surface)); border: 1px solid color-mix(in srgb, var(--color-accent) 48%, transparent); display: flex; flex-direction: column; gap: 10px; }
.a2hslead p { font-size: .97em; line-height: 1.45; }
.a2hslead b { color: var(--color-accent-200); }
.a2hscopy { align-self: flex-start; min-height: 44px; padding: 9px 16px; font-size: .95em; border-color: color-mix(in srgb, var(--color-accent) 55%, transparent); color: var(--color-accent-200); }
.a2hscopy.copied { border-color: var(--color-accent-2-300); color: var(--color-accent-2-200); }
.a2hscopied { font-size: .87em; color: var(--color-accent-2-200); word-break: break-word; }
.a2hscopied:empty { display: none; }
.a2hssteps { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 14px; }
.a2hssteps li { display: grid; grid-template-columns: 30px 1fr; gap: 12px; align-items: start; }
.a2hssteps p { font-size: 1em; line-height: 1.5; padding-top: 3px; }
.a2hssteps b { color: var(--color-accent-200); }
.a2hsn { display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px; border-radius: 999px; background: var(--color-accent); color: var(--color-bg); font-family: var(--font-heading); font-size: 1em; }
.a2hsshare { display: inline-flex; align-items: center; justify-content: center; vertical-align: -6px; width: 30px; height: 30px; border-radius: 8px; margin: 0 1px; background: color-mix(in srgb, var(--color-text) 92%, transparent); color: #1a7cf0; box-shadow: 0 1px 2px rgba(15, 12, 28, .35); }
.a2hsshare svg { display: block; stroke-width: 2.2; }
.a2hsnote { font-size: .9em; line-height: 1.5; color: color-mix(in srgb, var(--color-text) 74%, transparent); padding-top: 4px; border-top: 1px solid var(--color-divider); }
.a2hsnote b { color: color-mix(in srgb, var(--color-text) 90%, transparent); }
.a2hsft { flex: none; padding: 10px 18px calc(16px); }
.a2hsgo { width: 100%; min-height: 50px; font-size: 1.07em; }
@media (max-width: 360px) { .a2hshd { grid-template-columns: 48px 1fr 44px; gap: 10px; padding: 14px 10px 10px 14px; } .a2hsicon { width: 48px; height: 48px; } .a2hsttl { font-size: 1.15em; } .a2hsbody { padding: 12px 14px 4px; } .a2hsft { padding: 8px 14px 14px; } }
@media (prefers-reduced-motion: reduce) { .a2hsback, .a2hs { animation: m-fade-in var(--m-dur-base) both; } .a2hsback.bye { animation: none; opacity: 0; } }

/* uncached art with no signal: a stable-sized placeholder, never a broken image */
img.missing { background: repeating-linear-gradient(135deg, color-mix(in srgb, var(--color-text) 8%, transparent) 0 8px, transparent 8px 16px); color: transparent; min-height: 60px; }
img.comicimg.missing { aspect-ratio: 1 / 1; }
img#mapimg.missing { aspect-ratio: 1240 / 1550; }
img.crest.missing { aspect-ratio: 1 / 1; }

/* Comic sticker lettering: warm ink, dark outline and a white die-cut edge. */
.rawr-word { position: absolute; display: block; pointer-events: none; user-select: none; white-space: nowrap; font-family: var(--font-heading, Impact), Impact, sans-serif; font-weight: 900; font-style: italic; line-height: 1; letter-spacing: -.035em; color: #ffd15b; -webkit-text-stroke: 1.5px #54231b; paint-order: stroke fill; filter: drop-shadow(2px 0 0 #fff6df) drop-shadow(-2px 0 0 #fff6df) drop-shadow(0 2px 0 #fff6df) drop-shadow(0 -2px 0 #fff6df) drop-shadow(1px 4px 0 #5a243c); z-index: 3; }

.rcstamp .rawr-word { left: 12%; top: 78%; font-size: clamp(23px, 5vw, 35px); animation: m-word-roar .6s ease-out both; }
.stomper .rawr-word { left: 8%; top: 78%; font-size: clamp(25px, 6vw, 44px); animation: m-word-roar .65s ease-out calc(var(--d, 0ms) + 180ms) both; }
@keyframes m-word-roar { 0% { opacity: 0; transform: rotate(-9deg) scale(.35); } 30% { opacity: 1; transform: rotate(-9deg) scale(1.18); } 60%, 100% { opacity: 1; transform: rotate(-9deg) scale(1); } }
.rawrfly::after { font-weight: 900; font-style: italic; color: #ffd15b; -webkit-text-stroke: .9px #54231b; paint-order: stroke fill; filter: drop-shadow(1px 1px 0 #fff6df) drop-shadow(-1px -1px 0 #fff6df); }
@media (prefers-reduced-motion: reduce) {
  .rcstamp .rawr-word, .stomper .rawr-word { animation: m-fade-in .3s both; }
  .rcstamp.roared .face-rawr { animation: none; }
}

/* Chosen lettering rides the existing rating flight; hide the old pseudo-label. */
.rawrfly.rawr-art::after { content:none; }
.rawrfly.rawr-art .rawr-word { left:50%;top:-13px;font-size:13px;transform:translateX(-50%) rotate(-8deg);opacity:0;animation:m-rawr-fly-text .9s var(--m-curve-standard) forwards; }
/* One call, three answers. The labels disappear before the explanatory copy settles. */
.rdstack.rawr-art { min-height:84px;gap:1px;align-items:flex-start;padding-top:8px; }
.rdbeat { position:relative;display:block; }
.rdstack .rdbeat .rawr { animation:m-demo-pop .32s var(--m-curve-spring-bouncy) var(--beat) both; }
.rdbeat .rawr-word { left:50%;top:46px;font-size:14px;transform:translateX(-50%) rotate(-8deg);animation:m-demo-word 1.2s ease-out var(--beat) both; }
@keyframes m-demo-word {0%{opacity:0;transform:translateX(-50%) scale(.4)}20%,65%{opacity:1;transform:translateX(-50%) rotate(-8deg) scale(1)}100%{opacity:0;transform:translateX(-50%) translateY(-5px) rotate(-8deg)}}
@media(prefers-reduced-motion:reduce){.rdstack .rdbeat .rawr{animation:none}.rdbeat .rawr-word{animation:m-demo-word-fade 1.2s ease var(--beat) both}}
@keyframes m-demo-word-fade{0%,100%{opacity:0}20%,70%{opacity:1}}

/* Editor access and its private build label. */
#editpassword { display: block; box-sizing: border-box; width: 100%; margin-top: 8px; padding: 12px; font-size: 16px; color: var(--color-text); background: var(--color-bg); border: 1px solid currentColor; border-radius: 12px; }
#editerror { color: var(--color-accent); }
.editbuild { position: absolute; bottom: calc(100% + 6px); left: 50%; transform: translateX(-50%); padding: 4px 10px; border-radius: 10px; background: var(--color-surface); color: var(--color-text); font-size: 11px; white-space: nowrap; }
/* Per-dino lettering, scaled from the approved selector treatments. */
@font-face{font-family:HRawr;src:url(data:font/woff2;base64,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)}
:is(.hatch,.rawr-art) .rawr-word { isolation:isolate; }
:is(.hatch,.rawr-art) .rawr-word:not(.hw-original) { filter:none; -webkit-text-stroke:0; font-weight:400; font-style:normal; letter-spacing:normal; }
:is(.hatch,.rawr-art) .hw-ink { position:relative;display:inline-block;white-space:nowrap;font:400 1em/1 var(--font-heading,HRawr);letter-spacing:-.06em;isolation:isolate;paint-order:stroke fill; }
:is(.hatch,.rawr-art) .hw-original .hw-ink { font:inherit;letter-spacing:inherit; }
:is(.hatch,.rawr-art) .hw-comic .hw-ink{font-family:Impact,'Arial Black',sans-serif;font-style:italic;font-weight:900;color:#fff36a;letter-spacing:-.035em;-webkit-text-stroke:0.037037em #301625;text-shadow:0.055556em 0.074074em 0 #301625;}
:is(.hatch,.rawr-art) .hw-comic .hw-ink:before{content:'';position:absolute;inset:-0.35185em -0.46296em;z-index:-1;background:#fa6259;clip-path:polygon(0 32%,20% 30%,15% 2%,37% 18%,48% 0,59% 19%,82% 0,80% 26%,100% 24%,89% 46%,100% 71%,78% 70%,84% 100%,58% 81%,45% 100%,34% 81%,10% 100%,17% 71%,0 75%,10% 51%)}
:is(.hatch,.rawr-art) .hw-bubble .hw-ink{color:#ff9acc;-webkit-text-stroke:0.12963em #fff0dc;filter:drop-shadow(0 0.11111em 0 #973d74);text-shadow:0 -0.037037em 0 #ffd5ed;letter-spacing:-.065em}
:is(.hatch,.rawr-art) .hw-wild .hw-ink{font-family:Impact,'Arial Black',sans-serif;font-style:italic;font-weight:900;color:#c2f360;-webkit-text-stroke:0.055556em #153c31;text-shadow:0.055556em 0.092593em 0 #277255;filter:drop-shadow(0.018519em 0 0 #e7f8b4) drop-shadow(-0.018519em -0.018519em 0 #e7f8b4)}
:is(.hatch,.rawr-art) .hw-wild .hw-ink:before{content:'';position:absolute;width:1.7593em;height:1.5185em;left:0.68519em;top:-0.37037em;z-index:-1;background:repeating-linear-gradient(110deg,transparent 0 0.2963em,#f9ab51 0.31481em 0.44444em,transparent 0.46296em 0.59259em);clip-path:polygon(8% 20%,100% 0,83% 100%,0 80%)}
:is(.hatch,.rawr-art) .hw-sunset .hw-ink{color:#ffd4a0;-webkit-text-stroke:0.018519em #602644;text-shadow:0.018519em 0.037037em 0 #ef9c43,0.037037em 0.074074em 0 #ef9c43,0.055556em 0.11111em 0 #df6253,0.074074em 0.14815em 0 #df6253,0.092593em 0.18519em 0 #b34269,0.11111em 0.22222em 0 #b34269,0.12963em 0.25926em 0 #67304e;letter-spacing:-.07em}
:is(.hatch,.rawr-art) .hw-neon .hw-ink{font-family:Impact,'Arial Black',sans-serif;font-weight:900;letter-spacing:.01em;color:#271534;-webkit-text-stroke:0.037037em #fac7ff;text-shadow:0 0 0.092593em #ff90ff,0 0 0.25926em #e668ff,0 0 0.51852em #983bde,0.074074em 0.092593em 0 #65d9dc;}
:is(.hatch,.rawr-art) .hw-liquid .hw-ink{letter-spacing:-.095em;font-style:italic;background:repeating-linear-gradient(165deg,#fff36a 0%,#ff852e 9%,#ff36a6 19%,#9b52ff 29%,#34eced 39%,#caff4d 49%,#fff36a 60%);background-size:100% 260%;background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-stroke:0.018519em #fff1b4;filter:drop-shadow(0.037037em 0 0 #ff22b1) drop-shadow(-0.037037em 0.018519em 0 #6326ed) drop-shadow(0 0.055556em 0 #34e7cb) drop-shadow(0 0.11111em 0 #721eb8) drop-shadow(0 0 0.18519em #f227bb80);animation:hr-liquid-flow 6s linear infinite}
@keyframes hr-liquid-flow{from{background-position:0 0}to{background-position:0 100%}}
:is(.hatch,.rawr-art) .hw-liquid .hw-ink:after{content:'';position:absolute;inset:-0.25926em -0.37037em;border:0.037037em solid #ff83cf85;border-radius:47% 53% 61% 39% / 45% 64% 36% 55%;box-shadow:0 0 0 0.092593em #5c25a966,0 0 0 0.14815em #54edce60;z-index:-1;transform:rotate(9deg);animation:hr-liquid-halo 5s ease-in-out infinite alternate}
@keyframes hr-liquid-halo{to{border-radius:65% 35% 38% 62% / 60% 32% 68% 40%;transform:rotate(-6deg) scale(1.04)}}
:is(.hatch,.rawr-art) .hw-kaleido .hw-ink{color:#ffed85;-webkit-text-stroke:0.022222em #7c2c92;text-shadow:0.018519em 0.037037em 0 #d724c2;letter-spacing:-.08em;filter:drop-shadow(0 0 0.11111em #ff87dd80)}
:is(.hatch,.rawr-art) .hw-kaleido .hw-ink:before,:is(.hatch,.rawr-art) .hw-kaleido .hw-ink:after{content:'RAWR!';position:absolute;inset:0;z-index:-1;pointer-events:none;color:transparent;-webkit-text-stroke:0.027778em #59f4ef;text-shadow:none;transform:translate(0.16667em,-0.18519em) rotate(9deg) scale(1.12);opacity:.85;animation:hr-portal-echo 4s ease-in-out infinite alternate}
:is(.hatch,.rawr-art) .hw-kaleido .hw-ink:after{-webkit-text-stroke-color:#ff57c8;transform:translate(-0.16667em,0.16667em) rotate(-10deg) scale(1.22);animation-direction:alternate-reverse;animation-delay:-2s}
@keyframes hr-portal-echo{to{transform:translate(-0.11111em,0.037037em) rotate(-5deg) scale(1.25);opacity:.55}}
:is(.hatch,.rawr-art) .hw-kaleido:before{content:'';position:absolute;width:4.3519em;height:2.5926em;top:-0.83333em;z-index:-1;border-radius:50%;background:repeating-conic-gradient(from 0deg,#a545ff00 0deg 12deg,#ed45b855 12deg 24deg,#72fdea55 24deg 26deg,#a545ff00 26deg 40deg);mask-image:radial-gradient(ellipse,transparent 36%,#000 38% 66%,transparent 69%);animation:hr-portal-orbit 18s linear infinite}
@keyframes hr-portal-orbit{to{transform:rotate(360deg)}}
:is(.hatch,.rawr-art) .hw-acid .hw-ink{font-style:italic;color:#d9ff40;-webkit-text-stroke:0.018519em #2c0757;letter-spacing:-.105em;text-shadow:0.037037em 0.037037em 0 #35f6d1,0.074074em 0.074074em 0 #8a3dff,0.11111em 0.11111em 0 #fa46da,0.14815em 0.14815em 0 #351077;filter:drop-shadow(0 0 0.12963em #a7ff4d55)}
:is(.hatch,.rawr-art) .hw-acid .hw-ink>i{font-style:inherit;display:inline-block;animation:hr-acid-jelly 2.8s ease-in-out calc(var(--letter)*-.3s) infinite;transform-origin:50% 75%}
@keyframes hr-acid-jelly{0%,100%{transform:translateY(0.018519em) rotate(-5deg) scaleY(.92)}50%{transform:translateY(-0.11111em) rotate(6deg) scaleY(1.13)}}
:is(.hatch,.rawr-art) .hw-acid:before,:is(.hatch,.rawr-art) .hw-acid:after{content:'';position:absolute;width:4.1667em;height:1.2963em;top:0.018519em;border:0.037037em solid #b9ff5455;border-radius:50%;transform:rotate(14deg);z-index:-1;box-shadow:0 0 0 0.12963em #a041f133,0 0 0 0.18519em #ff45c733}
:is(.hatch,.rawr-art) .hw-acid:after{transform:rotate(-15deg);border-color:#56eed966}
:is(.hatch,.rawr-art) .hw-opart .hw-ink{color:transparent;background:repeating-linear-gradient(112deg,#fff 0 0.11111em,#000 0.11111em 0.18519em,#fff 0.18519em 0.22222em,#000 0.22222em 0.27778em);background-clip:text;-webkit-background-clip:text;background-size:180% 100%;-webkit-text-stroke:0.027778em #fff;filter:drop-shadow(0.037037em 0.037037em 0 #000) drop-shadow(-0.037037em -0.037037em 0 #000) drop-shadow(0 0 0.018519em #fff);animation:hr-op-flow 12s linear infinite}
@keyframes hr-op-flow{from{background-position:0 0}to{background-position:100% 0}}
:is(.hatch,.rawr-art) .hw-opart .hw-ink:before{content:'';position:absolute;inset:-0.38889em -0.44444em;z-index:-1;border-radius:50%;background:repeating-radial-gradient(ellipse at center,#000 0 0.092593em,#fff 0.092593em 0.12963em,#000 0.12963em 0.22222em);mask-image:radial-gradient(ellipse,transparent 0 58%,#000 60% 94%,transparent 96%);transform:rotate(8deg);animation:hr-op-breathe 5s ease-in-out infinite alternate}
@keyframes hr-op-breathe{to{transform:rotate(-8deg) scaleX(1.06) scaleY(.91)}}
:is(.hatch,.rawr-art) .hw-ink .hw-ink{color:#000;-webkit-text-stroke:0.092593em #fff;font-style:italic;letter-spacing:-.09em;filter:drop-shadow(0.055556em 0.092593em 0 #000) drop-shadow(0 0 0.018519em #fff)}
:is(.hatch,.rawr-art) .hw-ink .hw-ink>i{display:inline-block;font-style:inherit;transform-origin:50% 80%;animation:hr-ink-melt 4s ease-in-out calc(var(--letter)*-.55s) infinite}
@keyframes hr-ink-melt{0%,100%{transform:skewX(-9deg) translateY(0.018519em) scaleY(.94)}50%{transform:skewX(10deg) translateY(-0.092593em) scaleY(1.17)}}
:is(.hatch,.rawr-art) .hw-ink .hw-ink:after{content:'';position:absolute;inset:-0.27778em -0.33333em;z-index:-1;border:0.037037em solid #fff;border-radius:63% 37% 48% 52% / 35% 64% 36% 65%;box-shadow:0 0 0 0.074074em #000,0 0 0 0.11111em #fff;animation:hr-ink-aura 7s ease-in-out infinite alternate}
@keyframes hr-ink-aura{to{border-radius:34% 66% 39% 61% / 61% 32% 68% 39%;transform:rotate(7deg)}}
:is(.hatch,.rawr-art) .hw-ghost .hw-ink{color:#fff;-webkit-text-stroke:0.027778em #000;text-shadow:0.037037em 0.055556em 0 #000;letter-spacing:-.075em}
:is(.hatch,.rawr-art) .hw-ghost .hw-ink:before,:is(.hatch,.rawr-art) .hw-ghost .hw-ink:after{content:'RAWR!';position:absolute;inset:0;z-index:-1;color:#000;-webkit-text-stroke:0.018519em #fff;text-shadow:none;transform:translate(0.12963em,-0.16667em) scale(1.12);animation:hr-ghost-tunnel 5s ease-in-out infinite alternate}
:is(.hatch,.rawr-art) .hw-ghost .hw-ink:after{z-index:-2;transform:translate(0.25926em,-0.33333em) scale(1.24);animation-name:hr-ghost-tunnel-far}
@keyframes hr-ghost-tunnel{to{transform:translate(-0.12963em,-0.11111em) scale(1.2)}}
@keyframes hr-ghost-tunnel-far{to{transform:translate(-0.25926em,-0.22222em) scale(1.4)}}
:is(.hatch,.rawr-art).rm .hw-ink,:is(.hatch,.rawr-art).rm .hw-ink:before,:is(.hatch,.rawr-art).rm .hw-ink:after,:is(.hatch,.rawr-art).rm .hw-ink>i,:is(.hatch,.rawr-art).rm .rawr-word:before,:is(.hatch,.rawr-art).rm .rawr-word:after { animation:none!important; }

@media(prefers-reduced-motion:reduce){.rawr-art .hw-ink,.rawr-art .hw-ink:before,.rawr-art .hw-ink:after,.rawr-art .hw-ink>i,.rawr-art .rawr-word:before,.rawr-art .rawr-word:after{animation:none!important}}
/* Psychedelic selection celebration, centered and bounded on small phones. */
.pick-swirl{background:radial-gradient(ellipse at 50% 44%,#512067bb,#191429dd 75%);isolation:isolate}
.pick-swirl .stomper.swirl-idle{position:absolute;left:50%;top:44%;width:min(42vw,32vh,300px);height:auto;z-index:4;aspect-ratio:540/465;object-fit:contain;transform:translate(-50%,-50%);animation:m-picked-grow 6.2s ease-in-out both;filter:drop-shadow(0 0 15px #f094d255)}
@keyframes m-picked-grow{0%{transform:translate(-50%,-50%) scale(1)}60%,100%{transform:translate(-50%,-50%) scale(1.18)}}
.swirl-orbit{position:absolute;left:50%;top:44%;width:0;height:0;pointer-events:none}
.swirl-orbit .rawr-word{left:0;top:0;font-size:clamp(20px,5vw,34px);transform:translate(-50%,-50%) rotate(-8deg)}
.swirl-aura{position:absolute;left:50%;top:44%;width:min(90vw,540px);height:min(65vh,400px);border-radius:50%;background:repeating-conic-gradient(from 15deg,#fb69d688 0deg,#764be777 35deg,#53e2dc77 65deg,#fadc7677 95deg,#fb69d688 120deg);mask-image:radial-gradient(ellipse,#0000 20%,#000 45%,#0000 72%);filter:blur(9px);z-index:1;animation:m-pick-vortex 6.2s linear both;pointer-events:none}
.swirl-ring{position:absolute;left:50%;top:44%;width:calc(min(60vw,360px) + var(--ring)*20px);height:calc(min(30vh,220px) + var(--ring)*18px);border:1px solid #df8aff77;border-radius:50%;z-index:1;box-shadow:0 0 12px #b167ff33;animation:m-pick-ring 6.2s ease-in-out both;--tilt:calc(-28deg + var(--ring)*28deg);pointer-events:none}
@keyframes m-pick-vortex{0%{transform:translate(-50%,-50%) rotate(-25deg) scale(.7);opacity:0}14%,80%{opacity:.85}100%{transform:translate(-50%,-50%) rotate(210deg) scale(1.18);opacity:0}}
@keyframes m-pick-ring{0%{transform:translate(-50%,-50%) rotate(var(--tilt)) scale(.65);opacity:0}18%,80%{opacity:.7}100%{transform:translate(-50%,-50%) rotate(calc(var(--tilt) + 165deg)) scale(1.15);opacity:0}}
.swirl-skip{position:absolute;bottom:calc(env(safe-area-inset-bottom) + 28px);left:50%;transform:translateX(-50%);z-index:10;min-height:44px;padding:10px 25px;border:1px solid #e8bb7a;border-radius:999px;background:#211a33;color:#fff5df}
@media(prefers-reduced-motion:reduce){.pick-swirl .stomper.swirl-idle{animation:m-fade-in .25s both}.swirl-aura,.swirl-ring{display:none}}
